Fix of release name for config 69/122969/1
authorLukasz Rajewski <lukasz.rajewski@orange.com>
Thu, 29 Jul 2021 14:42:45 +0000 (16:42 +0200)
committerLukasz Rajewski <lukasz.rajewski@orange.com>
Thu, 29 Jul 2021 14:43:37 +0000 (16:43 +0200)
Fix of release name for config. It is taken now from
the instance first, and then from the profile.

Issue-ID: MULTICLOUD-1379
Signed-off-by: Lukasz Rajewski <lukasz.rajewski@orange.com>
Change-Id: I3bd41a1e51abf6326de1eda42361782bea3147b2

src/k8splugin/internal/app/config_backend.go
src/k8splugin/internal/app/config_test.go

index e2f802c..8187960 100644 (file)
@@ -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,
index 028895d..f20ef05 100644 (file)
@@ -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()