aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKiran Kamineni <kiran.k.kamineni@intel.com>2019-03-29 16:07:47 -0700
committerKiran Kamineni <kiran.k.kamineni@intel.com>2019-03-29 16:12:19 -0700
commitf3875e13c7a6675aa980c29580daae42a32eb97f (patch)
tree05cbe26f86ce0c3e1f936d724158223d8e522021
parent5f5aabfbaff227c3c134c27ecbd7ecd347f74c09 (diff)
Make profile key explicit
Using profilename instead of name in the db key protects it from getting overwritten by anything else that might use name as a key. Using explicit key names makes sure that we don't have to add bson structure tags in the code. Issue-ID: MULTICLOUD-558 Change-Id: I9bd6f757496af22d8662b0d114f0ef7d33a5784a Signed-off-by: Kiran Kamineni <kiran.k.kamineni@intel.com>
-rw-r--r--src/k8splugin/api/handler_test.go4
-rw-r--r--src/k8splugin/api/profilehandler.go2
-rw-r--r--src/k8splugin/api/profilehandler_test.go8
-rw-r--r--src/k8splugin/internal/app/vnfhelper.go4
-rw-r--r--src/k8splugin/internal/app/vnfhelper_test.go4
-rw-r--r--src/k8splugin/internal/rb/profile.go44
-rw-r--r--src/k8splugin/internal/rb/profile_test.go22
7 files changed, 44 insertions, 44 deletions
diff --git a/src/k8splugin/api/handler_test.go b/src/k8splugin/api/handler_test.go
index ee4a3005..eacefe65 100644
--- a/src/k8splugin/api/handler_test.go
+++ b/src/k8splugin/api/handler_test.go
@@ -127,7 +127,7 @@ func TestCreateHandler(t *testing.T) {
mockStore: &db.MockDB{
Items: map[string]map[string][]byte{
rb.ProfileKey{RBName: "testresourcebundle", RBVersion: "v1",
- Name: "profile1"}.String(): {
+ ProfileName: "profile1"}.String(): {
"metadata": []byte(
"{\"profile-name\":\"profile1\"," +
"\"release-name\":\"testprofilereleasename\"," +
@@ -272,7 +272,7 @@ func TestCreateHandler(t *testing.T) {
mockStore: &db.MockDB{
Items: map[string]map[string][]byte{
rb.ProfileKey{RBName: "test-rbdef", RBVersion: "v1",
- Name: "profile1"}.String(): {
+ ProfileName: "profile1"}.String(): {
"metadata": []byte(
"{\"profile-name\":\"profile1\"," +
"\"release-name\":\"testprofilereleasename\"," +
diff --git a/src/k8splugin/api/profilehandler.go b/src/k8splugin/api/profilehandler.go
index 2c15a440..362289ff 100644
--- a/src/k8splugin/api/profilehandler.go
+++ b/src/k8splugin/api/profilehandler.go
@@ -49,7 +49,7 @@ func (h rbProfileHandler) createHandler(w http.ResponseWriter, r *http.Request)
}
// Name is required.
- if p.Name == "" {
+ if p.ProfileName == "" {
http.Error(w, "Missing name in POST request", http.StatusBadRequest)
return
}
diff --git a/src/k8splugin/api/profilehandler_test.go b/src/k8splugin/api/profilehandler_test.go
index 4e346862..e6a87129 100644
--- a/src/k8splugin/api/profilehandler_test.go
+++ b/src/k8splugin/api/profilehandler_test.go
@@ -92,7 +92,7 @@ func TestRBProfileCreateHandler(t *testing.T) {
expected: rb.Profile{
RBName: "testresource_bundle_definition",
RBVersion: "v1",
- Name: "profile1",
+ ProfileName: "profile1",
ReleaseName: "testprofilereleasename",
Namespace: "default",
KubernetesVersion: "1.12.3",
@@ -103,7 +103,7 @@ func TestRBProfileCreateHandler(t *testing.T) {
{
RBName: "testresource_bundle_definition",
RBVersion: "v1",
- Name: "profile1",
+ ProfileName: "profile1",
ReleaseName: "testprofilereleasename",
Namespace: "default",
KubernetesVersion: "1.12.3",
@@ -156,7 +156,7 @@ func TestRBProfileGetHandler(t *testing.T) {
expected: rb.Profile{
RBName: "testresource_bundle_definition",
RBVersion: "v1",
- Name: "profile1",
+ ProfileName: "profile1",
ReleaseName: "testprofilereleasename",
Namespace: "default",
KubernetesVersion: "1.12.3",
@@ -168,7 +168,7 @@ func TestRBProfileGetHandler(t *testing.T) {
{
RBName: "testresource_bundle_definition",
RBVersion: "v1",
- Name: "profile1",
+ ProfileName: "profile1",
ReleaseName: "testprofilereleasename",
Namespace: "default",
KubernetesVersion: "1.12.3",
diff --git a/src/k8splugin/internal/app/vnfhelper.go b/src/k8splugin/internal/app/vnfhelper.go
index 0a867090..c5783d69 100644
--- a/src/k8splugin/internal/app/vnfhelper.go
+++ b/src/k8splugin/internal/app/vnfhelper.go
@@ -47,7 +47,7 @@ func ensuresNamespace(namespace string, kubeclient kubernetes.Interface) error {
return pkgerrors.Wrap(err, "Error fetching get namespace function")
}
- ns, _ := symGetNamespaceFunc.(func(string, string, kubernetes.Interface) (string, error))(
+ ns, _ := symGetNamespaceFunc.(func(string, string, kubernetes.Interface) (string, error))(
namespace, namespace, kubeclient)
if ns == "" {
@@ -80,7 +80,7 @@ var CreateVNF = func(csarID string, cloudRegionID string, profile rb.Profile, ku
externalVNFID := generateExternalVNFID()
internalVNFID := cloudRegionID + "-" + profile.Namespace + "-" + externalVNFID
- metaMap, err := rb.NewProfileClient().Resolve(profile.RBName, profile.RBVersion, profile.Name, overrideValues)
+ metaMap, err := rb.NewProfileClient().Resolve(profile.RBName, profile.RBVersion, profile.ProfileName, overrideValues)
if err != nil {
return "", nil, pkgerrors.Wrap(err, "Error resolving helm charts")
}
diff --git a/src/k8splugin/internal/app/vnfhelper_test.go b/src/k8splugin/internal/app/vnfhelper_test.go
index 06866150..0ed67e5d 100644
--- a/src/k8splugin/internal/app/vnfhelper_test.go
+++ b/src/k8splugin/internal/app/vnfhelper_test.go
@@ -86,7 +86,7 @@ func TestCreateVNF(t *testing.T) {
db.DBconn = &db.MockDB{
Items: map[string]map[string][]byte{
rb.ProfileKey{RBName: "test-rbdef", RBVersion: "v1",
- Name: "profile1"}.String(): {
+ ProfileName: "profile1"}.String(): {
"metadata": []byte(
"{\"profile-name\":\"profile1\"," +
"\"release-name\":\"testprofilereleasename\"," +
@@ -196,7 +196,7 @@ func TestCreateVNF(t *testing.T) {
rb.Profile{
RBName: "test-rbdef",
RBVersion: "v1",
- Name: "profile1",
+ ProfileName: "profile1",
ReleaseName: "testprofilereleasename",
Namespace: "testnamespace",
KubernetesVersion: "1.12.3",
diff --git a/src/k8splugin/internal/rb/profile.go b/src/k8splugin/internal/rb/profile.go
index 572a175c..679815ac 100644
--- a/src/k8splugin/internal/rb/profile.go
+++ b/src/k8splugin/internal/rb/profile.go
@@ -33,7 +33,7 @@ import (
type Profile struct {
RBName string `json:"rb-name"`
RBVersion string `json:"rb-version"`
- Name string `json:"profile-name"`
+ ProfileName string `json:"profile-name"`
ReleaseName string `json:"release-name"`
Namespace string `json:"namespace"`
KubernetesVersion string `json:"kubernetes-version"`
@@ -49,9 +49,9 @@ type ProfileManager interface {
}
type ProfileKey struct {
- RBName string `json:"rb-name"`
- RBVersion string `json:"rb-version"`
- Name string `json:"profile-name"`
+ RBName string `json:"rb-name"`
+ RBVersion string `json:"rb-version"`
+ ProfileName string `json:"profile-name"`
}
// We will use json marshalling to convert to string to
@@ -88,12 +88,12 @@ func NewProfileClient() *ProfileClient {
func (v *ProfileClient) Create(p Profile) (Profile, error) {
// Name is required
- if p.Name == "" {
+ if p.ProfileName == "" {
return Profile{}, pkgerrors.New("Name is required for Resource Bundle Profile")
}
//Check if profile already exists
- _, err := v.Get(p.RBName, p.RBVersion, p.Name)
+ _, err := v.Get(p.RBName, p.RBVersion, p.ProfileName)
if err == nil {
return Profile{}, pkgerrors.New("Profile already exists for this Definition")
}
@@ -106,13 +106,13 @@ func (v *ProfileClient) Create(p Profile) (Profile, error) {
//If release-name is not provided, we store name instead
if p.ReleaseName == "" {
- p.ReleaseName = p.Name
+ p.ReleaseName = p.ProfileName
}
key := ProfileKey{
- RBName: p.RBName,
- RBVersion: p.RBVersion,
- Name: p.Name,
+ RBName: p.RBName,
+ RBVersion: p.RBVersion,
+ ProfileName: p.ProfileName,
}
err = db.DBconn.Create(v.storeName, key, v.tagMeta, p)
@@ -126,9 +126,9 @@ func (v *ProfileClient) Create(p Profile) (Profile, error) {
// Get returns the Resource Bundle Profile for corresponding ID
func (v *ProfileClient) Get(rbName, rbVersion, prName string) (Profile, error) {
key := ProfileKey{
- RBName: rbName,
- RBVersion: rbVersion,
- Name: prName,
+ RBName: rbName,
+ RBVersion: rbVersion,
+ ProfileName: prName,
}
value, err := db.DBconn.Read(v.storeName, key, v.tagMeta)
if err != nil {
@@ -151,9 +151,9 @@ func (v *ProfileClient) Get(rbName, rbVersion, prName string) (Profile, error) {
// Delete the Resource Bundle Profile from database
func (v *ProfileClient) Delete(rbName, rbVersion, prName string) error {
key := ProfileKey{
- RBName: rbName,
- RBVersion: rbVersion,
- Name: prName,
+ RBName: rbName,
+ RBVersion: rbVersion,
+ ProfileName: prName,
}
err := db.DBconn.Delete(v.storeName, key, v.tagMeta)
if err != nil {
@@ -183,9 +183,9 @@ func (v *ProfileClient) Upload(rbName, rbVersion, prName string, inp []byte) err
}
key := ProfileKey{
- RBName: rbName,
- RBVersion: rbVersion,
- Name: prName,
+ RBName: rbName,
+ RBVersion: rbVersion,
+ ProfileName: prName,
}
//Encode given byte stream to text for storage
encodedStr := base64.StdEncoding.EncodeToString(inp)
@@ -210,9 +210,9 @@ func (v *ProfileClient) Download(rbName, rbVersion, prName string) ([]byte, erro
}
key := ProfileKey{
- RBName: rbName,
- RBVersion: rbVersion,
- Name: prName,
+ RBName: rbName,
+ RBVersion: rbVersion,
+ ProfileName: prName,
}
value, err := db.DBconn.Read(v.storeName, key, v.tagContent)
if err != nil {
diff --git a/src/k8splugin/internal/rb/profile_test.go b/src/k8splugin/internal/rb/profile_test.go
index 5d41b019..856e139b 100644
--- a/src/k8splugin/internal/rb/profile_test.go
+++ b/src/k8splugin/internal/rb/profile_test.go
@@ -39,7 +39,7 @@ func TestCreateProfile(t *testing.T) {
{
label: "Create Resource Bundle Profile",
inp: Profile{
- Name: "testprofile1",
+ ProfileName: "testprofile1",
ReleaseName: "testprofilereleasename",
Namespace: "testnamespace",
KubernetesVersion: "1.12.3",
@@ -47,7 +47,7 @@ func TestCreateProfile(t *testing.T) {
RBVersion: "v1",
},
expected: Profile{
- Name: "testprofile1",
+ ProfileName: "testprofile1",
ReleaseName: "testprofilereleasename",
Namespace: "testnamespace",
KubernetesVersion: "1.12.3",
@@ -70,7 +70,7 @@ func TestCreateProfile(t *testing.T) {
{
label: "Create Resource Bundle Profile With Non-Existing Definition",
inp: Profile{
- Name: "testprofile1",
+ ProfileName: "testprofile1",
ReleaseName: "testprofilereleasename",
Namespace: "testnamespace",
KubernetesVersion: "1.12.3",
@@ -136,7 +136,7 @@ func TestGetProfile(t *testing.T) {
rbversion: "v1",
prname: "testprofile1",
expected: Profile{
- Name: "testprofile1",
+ ProfileName: "testprofile1",
ReleaseName: "testprofilereleasename",
Namespace: "testnamespace",
KubernetesVersion: "1.12.3",
@@ -146,7 +146,7 @@ func TestGetProfile(t *testing.T) {
expectedError: "",
mockdb: &db.MockDB{
Items: map[string]map[string][]byte{
- ProfileKey{RBName: "testresourcebundle", RBVersion: "v1", Name: "testprofile1"}.String(): {
+ ProfileKey{RBName: "testresourcebundle", RBVersion: "v1", ProfileName: "testprofile1"}.String(): {
"metadata": []byte(
"{\"profile-name\":\"testprofile1\"," +
"\"release-name\":\"testprofilereleasename\"," +
@@ -266,7 +266,7 @@ func TestUploadProfile(t *testing.T) {
},
mockdb: &db.MockDB{
Items: map[string]map[string][]byte{
- ProfileKey{RBName: "testresourcebundle", RBVersion: "v1", Name: "testprofile1"}.String(): {
+ ProfileKey{RBName: "testresourcebundle", RBVersion: "v1", ProfileName: "testprofile1"}.String(): {
"metadata": []byte(
"{\"profile-name\":\"testprofile1\"," +
"\"release-name\":\"testprofilereleasename\"," +
@@ -307,7 +307,7 @@ func TestUploadProfile(t *testing.T) {
},
mockdb: &db.MockDB{
Items: map[string]map[string][]byte{
- ProfileKey{RBName: "testresourcebundle", RBVersion: "v1", Name: "testprofile2"}.String(): {
+ ProfileKey{RBName: "testresourcebundle", RBVersion: "v1", ProfileName: "testprofile2"}.String(): {
"metadata": []byte(
"{\"profile-name\":\"testprofile1\"," +
"\"release-name\":\"testprofilereleasename\"," +
@@ -331,7 +331,7 @@ func TestUploadProfile(t *testing.T) {
},
mockdb: &db.MockDB{
Items: map[string]map[string][]byte{
- ProfileKey{RBName: "testresourcebundle", RBVersion: "v1", Name: "testprofile1"}.String(): {
+ ProfileKey{RBName: "testresourcebundle", RBVersion: "v1", ProfileName: "testprofile1"}.String(): {
"metadata": []byte(
"{\"profile-name\":\"testprofile1\"," +
"\"release-name\":\"testprofilereleasename\"," +
@@ -426,7 +426,7 @@ func TestDownloadProfile(t *testing.T) {
},
mockdb: &db.MockDB{
Items: map[string]map[string][]byte{
- ProfileKey{RBName: "testresourcebundle", RBVersion: "v1", Name: "testprofile1"}.String(): {
+ ProfileKey{RBName: "testresourcebundle", RBVersion: "v1", ProfileName: "testprofile1"}.String(): {
"metadata": []byte(
"{\"profile-name\":\"testprofile1\"," +
"\"release-name\":\"testprofilereleasename\"," +
@@ -450,7 +450,7 @@ func TestDownloadProfile(t *testing.T) {
expectedError: "Invalid Profile Name provided",
mockdb: &db.MockDB{
Items: map[string]map[string][]byte{
- ProfileKey{RBName: "testresourcebundle", RBVersion: "v1", Name: "testprofile2"}.String(): {
+ ProfileKey{RBName: "testresourcebundle", RBVersion: "v1", ProfileName: "testprofile2"}.String(): {
"metadata": []byte(
"{\"profile-name\":\"testprofile1\"," +
"\"release-name\":\"testprofilereleasename\"," +
@@ -513,7 +513,7 @@ func TestResolveProfile(t *testing.T) {
mockdb: &db.MockDB{
Items: map[string]map[string][]byte{
ProfileKey{RBName: "testresourcebundle", RBVersion: "v1",
- Name: "profile1"}.String(): {
+ ProfileName: "profile1"}.String(): {
"metadata": []byte(
"{\"profile-name\":\"profile1\"," +
"\"release-name\":\"testprofilereleasename\"," +