Fix Network and ProviderNetwork yaml formatting 00/107900/5
authorEric Multanen <eric.w.multanen@intel.com>
Tue, 19 May 2020 16:44:44 +0000 (09:44 -0700)
committerEric Multanen <eric.w.multanen@intel.com>
Fri, 29 May 2020 00:39:07 +0000 (17:39 -0700)
Correct yaml format of Network and ProviderNetwork
CRs produced by ncm so that they can be deployed in
a cluster.

Issue-ID: MULTICLOUD-1072
Signed-off-by: Eric Multanen <eric.w.multanen@intel.com>
Change-Id: I27e55c0c7428ccee6ddb720445e104054eefcee3

kud/tests/ncm-test.sh
src/ncm/api/providernethandler.go
src/ncm/pkg/module/module_definitions.go
src/ncm/pkg/module/network.go
src/ncm/pkg/module/providernet.go

index 363a181..78069b1 100755 (executable)
@@ -128,7 +128,7 @@ providernetworkdata="$(cat<<EOF
       ],
       "providerNetType": "VLAN",
       "vlan": {
-          "vlanId": 100,
+          "vlanId": "100",
           "providerInterfaceName": "eth1",
           "logicalInterfaceName": "eth1.100",
           "vlanNodeSelector": "specific",
index b38a16c..23310c3 100644 (file)
@@ -80,7 +80,7 @@ func validateProviderNetInputs(p moduleLib.ProviderNet) error {
        }
 
        // validate the VLAN ID
-       errs = validation.IsValidNumber(p.Spec.Vlan.VlanId, 0, 4095)
+       errs = validation.IsValidNumberStr(p.Spec.Vlan.VlanId, 0, 4095)
        if len(errs) > 0 {
                return pkgerrors.Errorf("Invalid VlAN ID %v - error: %v", p.Spec.Vlan.VlanId, errs)
        }
index 36c865a..8d4b3ad 100644 (file)
@@ -65,7 +65,7 @@ const VLAN_NODE_SPECIFIC = "specific"
 var VLAN_NODE_SELECTORS = [...]string{VLAN_NODE_ANY, VLAN_NODE_SPECIFIC}
 
 type Vlan struct {
-       VlanId                int      `json:"vlanID" yaml:"vlanId"`
+       VlanId                string   `json:"vlanID" yaml:"vlanId"`
        ProviderInterfaceName string   `json:"providerInterfaceName" yaml:"providerInterfaceName"`
        LogicalInterfaceName  string   `json:"logicalInterfaceName" yaml:"logicalInterfaceName"`
        VlanNodeSelector      string   `json:"vlanNodeSelector" yaml:"vlanNodeSelector"`
index cfb414c..e753905 100644 (file)
@@ -29,8 +29,8 @@ type Network struct {
 }
 
 type NetworkSpec struct {
-       CniType     string       `json:"cniType"`
-       Ipv4Subnets []Ipv4Subnet `json:"ipv4Subnets"`
+       CniType     string       `json:"cniType" yaml:"cniType"`
+       Ipv4Subnets []Ipv4Subnet `json:"ipv4Subnets" yaml:"ipv4Subnets"`
 }
 
 // NetworkKey is the key structure that is used in the database
@@ -42,9 +42,9 @@ type NetworkKey struct {
 
 // structure for the Network Custom Resource
 type CrNetwork struct {
-       ApiVersion string `yaml:"apiVersion"`
-       Kind       string `yaml:"kind"`
-       Network    Network
+       ApiVersion string  `yaml:"apiVersion"`
+       Kind       string  `yaml:"kind"`
+       Network    Network `yaml:",inline"`
 }
 
 const NETWORK_APIVERSION = "k8s.plugin.opnfv.org/v1alpha1"
index 0435f2b..a1cbe94 100644 (file)
@@ -37,9 +37,9 @@ type ProviderNetSpec struct {
 
 // structure for the Network Custom Resource
 type CrProviderNet struct {
-       ApiVersion  string `yaml:"apiVersion"`
-       Kind        string `yaml:"kind"`
-       ProviderNet ProviderNet
+       ApiVersion  string      `yaml:"apiVersion"`
+       Kind        string      `yaml:"kind"`
+       ProviderNet ProviderNet `yaml:",inline"`
 }
 
 const PROVIDER_NETWORK_APIVERSION = "k8s.plugin.opnfv.org/v1alpha1"