Fix special characters issue in quotas in DCM 42/113142/8
authorIgor D.C <igor.duarte.cardoso@intel.com>
Fri, 25 Sep 2020 00:15:58 +0000 (00:15 +0000)
committerIgor D.C <igor.duarte.cardoso@intel.com>
Mon, 28 Sep 2020 22:38:41 +0000 (22:38 +0000)
Before this patch, any resource quotas, say, with a dot (like
limits.cpu), would not be stored properly in the database and thus
unusable and ignored by DCM logical cloud apply operation.

Issue-ID: MULTICLOUD-1143
Change-Id: I178e66756bc9bb2798427233d15196d0e2559a99
Signed-off-by: Igor D.C <igor.duarte.cardoso@intel.com>
src/dcm/pkg/module/apply.go
src/dcm/pkg/module/quota.go

index dbcbf8a..1bc68c5 100644 (file)
@@ -51,8 +51,10 @@ type MetaDatas struct {
 type Specs struct {
        Request string   `yaml:"request,omitempty"`
        Usages  []string `yaml:"usages,omitempty"`
-       //Hard           logicalcloud.QSpec    `yaml:"hard,omitempty"`
-       Hard QSpec `yaml:"hard,omitempty"`
+       // TODO: validate quota keys
+       // //Hard           logicalcloud.QSpec    `yaml:"hard,omitempty"`
+       // Hard QSpec `yaml:"hard,omitempty"`
+       Hard map[string]string `yaml:"hard,omitempty"`
 }
 
 type RoleRules struct {
index 8e15a79..c961fdf 100644 (file)
@@ -22,8 +22,9 @@ import (
 
 // Quota contains the parameters needed for a Quota
 type Quota struct {
-       MetaData      QMetaDataList `json:"metadata"`
-       Specification QSpec         `json:"spec"`
+       MetaData QMetaDataList `json:"metadata"`
+       // Specification QSpec         `json:"spec"`
+       Specification map[string]string `json:"spec"`
 }
 
 // MetaData contains the parameters needed for metadata
@@ -32,6 +33,7 @@ type QMetaDataList struct {
        Description string `json:"description"`
 }
 
+// TODO: use QSpec fields to validate quota keys
 // Spec contains the parameters needed for spec
 type QSpec struct {
        LimitsCPU                   string `json:"limits.cpu"`