summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kud/hosting_providers/containerized/addons/README.md.tmpl6
-rw-r--r--kud/hosting_providers/containerized/addons/values.yaml.tmpl4
-rw-r--r--src/k8splugin/internal/app/config_backend.go16
-rw-r--r--src/k8splugin/internal/app/config_test.go7
4 files changed, 26 insertions, 7 deletions
diff --git a/kud/hosting_providers/containerized/addons/README.md.tmpl b/kud/hosting_providers/containerized/addons/README.md.tmpl
index 0cef7923..4ed4610a 100644
--- a/kud/hosting_providers/containerized/addons/README.md.tmpl
+++ b/kud/hosting_providers/containerized/addons/README.md.tmpl
@@ -27,6 +27,12 @@ cloud.
This deploys the addons listed in the \`Addons\` and
\`AddonResources\` values in values.yaml.
+NOTE: On a single node cluster, the SRIOV addon resource will trigger
+a drain of the worker node. KubeVirt will prevent the drain from
+completing due to its PodDisruptionBudget. The workaround is to scale
+down the KubeVirt operator before applying 04-addon-resources-app.yaml
+then scaling it back up after the node is ready again.
+
\`$ /opt/kud/multi-cluster/${CLUSTER_NAME}/artifacts/emcoctl.sh apply -f 03-addons-app.yaml -v values.yaml\`
\`$ /opt/kud/multi-cluster/${CLUSTER_NAME}/artifacts/emcoctl.sh apply -f 04-addon-resources-app.yaml -v values.yaml\`
diff --git a/kud/hosting_providers/containerized/addons/values.yaml.tmpl b/kud/hosting_providers/containerized/addons/values.yaml.tmpl
index 328c37de..f2a20f84 100644
--- a/kud/hosting_providers/containerized/addons/values.yaml.tmpl
+++ b/kud/hosting_providers/containerized/addons/values.yaml.tmpl
@@ -20,6 +20,8 @@ AddonsDeploymentIntentGroup: addons-deployment-intent-group
AddonsDeploymentIntent: addons-deployment-intent
AddonsPlacementIntent: addons-placement-intent
Addons:
+- kubevirt-operator
+- cdi-operator
- multus-cni
- ovn4nfv
- node-feature-discovery
@@ -35,3 +37,5 @@ AddonResourcesPlacementIntent: addon-resources-placement-intent
AddonResources:
- ovn4nfv-network
- sriov-network
+- kubevirt
+- cdi
diff --git a/src/k8splugin/internal/app/config_backend.go b/src/k8splugin/internal/app/config_backend.go
index e2f802c7..8187960f 100644
--- a/src/k8splugin/internal/app/config_backend.go
+++ b/src/k8splugin/internal/app/config_backend.go
@@ -353,12 +353,12 @@ func (c ConfigVersionStore) decrementVersion() error {
// Apply Config
func applyConfig(instanceID string, p Config, pChannel chan configResourceList, action string) error {
- rbName, rbVersion, profileName, _, err := resolveModelFromInstance(instanceID)
+ rbName, rbVersion, profileName, releaseName, err := resolveModelFromInstance(instanceID)
if err != nil {
return pkgerrors.Wrap(err, "Retrieving model info")
}
// Get Template and Resolve the template with values
- crl, err := resolve(rbName, rbVersion, profileName, p)
+ crl, err := resolve(rbName, rbVersion, profileName, p, releaseName)
if err != nil {
return pkgerrors.Wrap(err, "Resolve Config")
}
@@ -436,7 +436,7 @@ func scheduleResources(c chan configResourceList) {
//Resolve returns the path where the helm chart merged with
//configuration overrides resides.
-var resolve = func(rbName, rbVersion, profileName string, p Config) (configResourceList, error) {
+var resolve = func(rbName, rbVersion, profileName string, p Config, releaseName string) (configResourceList, error) {
var resTemplates []helm.KubernetesResourceTemplate
@@ -483,9 +483,17 @@ var resolve = func(rbName, rbVersion, profileName string, p Config) (configResou
return configResourceList{}, pkgerrors.Wrap(err, "Extracting Template")
}
+ var finalReleaseName string
+
+ if releaseName == "" {
+ finalReleaseName = profile.ReleaseName
+ } else {
+ finalReleaseName = releaseName
+ }
+
helmClient := helm.NewTemplateClient(profile.KubernetesVersion,
profile.Namespace,
- profile.ReleaseName)
+ finalReleaseName)
chartPath := filepath.Join(chartBasePath, t.ChartName)
resTemplates, _, err = helmClient.GenerateKubernetesArtifacts(chartPath,
diff --git a/src/k8splugin/internal/app/config_test.go b/src/k8splugin/internal/app/config_test.go
index 028895d7..f20ef055 100644
--- a/src/k8splugin/internal/app/config_test.go
+++ b/src/k8splugin/internal/app/config_test.go
@@ -19,10 +19,11 @@ package app
import (
"fmt"
- "github.com/onap/multicloud-k8s/src/k8splugin/internal/db"
"reflect"
"strings"
"testing"
+
+ "github.com/onap/multicloud-k8s/src/k8splugin/internal/db"
// pkgerrors "github.com/pkg/errors"
)
@@ -90,7 +91,7 @@ func TestCreateConfig(t *testing.T) {
db.Etcd = testCase.mockdb
db.DBconn = provideMockModelData(testCase.instanceID, testCase.rbName,
testCase.rbVersion, testCase.profileName)
- resolve = func(rbName, rbVersion, profileName string, p Config) (configResourceList, error) {
+ resolve = func(rbName, rbVersion, profileName string, p Config, releaseName string) (configResourceList, error) {
return configResourceList{}, nil
}
impl := NewConfigClient()
@@ -203,7 +204,7 @@ func TestRollbackConfig(t *testing.T) {
db.Etcd = testCase.mockdb
db.DBconn = provideMockModelData(testCase.instanceID, testCase.rbName,
testCase.rbVersion, testCase.profileName)
- resolve = func(rbName, rbVersion, profileName string, p Config) (configResourceList, error) {
+ resolve = func(rbName, rbVersion, profileName string, p Config, releaseName string) (configResourceList, error) {
return configResourceList{}, nil
}
impl := NewConfigClient()