Adds more descriptor examples for validations 20/9920/6
authorgarciaale <agarcia@whitestack.com>
Tue, 27 Oct 2020 18:06:50 +0000 (15:06 -0300)
committerguzman <jmguzman@whitestack.com>
Tue, 10 Nov 2020 14:10:54 +0000 (15:10 +0100)
Change-Id: Ib8c37d568b75af2e7b06d3693032ac1d9fe6d5e0
Signed-off-by: garciaale <agarcia@whitestack.com>
15 files changed:
tests/examples/alternative_image_sol006.yaml
tests/examples/cirros_nsd_sol006.yaml
tests/examples/cirros_vnfd_sol006.yaml
tests/examples/epa_advanced_im.yaml [deleted file]
tests/examples/epa_im.yaml
tests/examples/epa_sol006.yaml [new file with mode: 0644]
tests/examples/etsi_complex_vnfd_sol006.yaml
tests/examples/hackfest_charmed_nsd_im.yaml [new file with mode: 0644]
tests/examples/hackfest_charmed_nsd_sol006.yaml [new file with mode: 0644]
tests/examples/hackfest_charmed_vnfd_im.yaml [new file with mode: 0644]
tests/examples/hackfest_charmed_vnfd_sol006.yaml [new file with mode: 0644]
tests/examples/magma_knf_sol006.yaml
tests/examples/vepc_sol006.yaml
tests/examples/vnfd_sol006.yaml
tests/test_validation.py

index ac7650c..446eae4 100644 (file)
@@ -47,7 +47,8 @@ vnfd:
     - id: hackfest_basic-VM
       name: hackfest_basic-VM
       virtual-compute-desc: cirros-compute
-      virtual-storage-desc: cirros-storage
+      virtual-storage-desc:
+        - cirros-storage
       sw-image-desc: ubuntu1604
       alternative-sw-image-desc:
         - ubuntu1604-aws
index a5575ef..ee279ca 100644 (file)
@@ -37,7 +37,10 @@ nsd:
                   constituent-cpd-id:
                     - constituent-base-element-id: cirros_vnf1
                       constituent-cpd-id: eth0-ext
-                    - constituent-base-element-id: cirros_vnf2
-                      constituent-cpd-id: eth0-ext
             - id: cirros_vnf2 # member-vnf-index-ref: 2
               vnfd-id: cirros_vnfd
+              virtual-link-connectivity:
+                - virtual-link-profile-id: cirros_2vnf_nsd_vld1
+                  constituent-cpd-id:
+                    - constituent-base-element-id: cirros_vnf2
+                      constituent-cpd-id: eth0-ext
index e20faef..9ecdd7b 100644 (file)
@@ -19,7 +19,7 @@ vnfd:
   description: Simple VNF example with a cirros
   provider: OSM
   version: "1.0"
-  mgmt-cp: eth0-int
+  mgmt-cp: eth0-ext
 
   virtual-compute-desc:
     - id: cirros-compute
@@ -41,7 +41,8 @@ vnfd:
       name: cirros_vnfd-VM
       description: cirros_vnfd-VM
       virtual-compute-desc: cirros-compute
-      virtual-storage-desc: cirros-storage
+      virtual-storage-desc:
+        - cirros-storage
       sw-image-desc: cirros034
       int-cpd:
         - id: eth0-int
diff --git a/tests/examples/epa_advanced_im.yaml b/tests/examples/epa_advanced_im.yaml
deleted file mode 100644 (file)
index f13d08b..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
-#  Copyright 2020 Whitestack LLC
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-#  implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-vnfd-catalog:
-  vnfd:
-    - connection-point:
-        - name: eth0
-          type: VPORT
-        - name: xe0
-          type: VPORT
-        - name: xe1
-          type: VPORT
-        - name: xe2
-          type: VPORT
-        - name: xe3
-          type: VPORT
-        - name: xe4
-          type: VPORT
-        - name: xe5
-          type: VPORT
-        - name: xe6
-          type: VPORT
-        - name: xe7
-          type: VPORT
-      description: vBNG VNF for performance tests, with 34 HTs
-      id: vbng34
-      logo: intel.png
-      mgmt-interface:
-        cp: eth0
-      name: vbng34
-      service-function-chain: UNAWARE
-      short-name: vbng34
-      vdu:
-        - count: "1"
-          description: vbng34-VM
-          guest-epa:
-            cpu-pinning-policy: DEDICATED
-            cpu-thread-pinning-policy: PREFER
-            mempage-size: LARGE
-            numa-node-policy:
-              mem-policy: STRICT
-              node:
-                - id: "0"
-                  paired-threads:
-                    num-paired-threads: "17"
-              node-cnt: "1"
-          host-epa:
-            om-cpu-feature:
-              - feature: 64b
-              - feature: iommu
-              - feature: lps
-              - feature: tlbps
-              - feature: hwsv
-              - feature: dioc
-              - feature: ht
-            om-cpu-model-string: Intel(R) Xeon(R) CPU E5-4620 0 @ 2.20GHz
-          hypervisor-epa:
-            type: REQUIRE_KVM
-            version: 10002|12001|2.6.32-358.el6.x86_64
-          id: vbng34-VM
-          image: intel_vbng34
-          interface:
-            - external-connection-point-ref: eth0
-              name: eth0
-              position: "1"
-              type: EXTERNAL
-              virtual-interface:
-                bandwidth: "1000000"
-                type: PARAVIRT
-                vpci: 0000:00:0a.0
-            - external-connection-point-ref: xe0
-              name: xe0
-              position: "2"
-              type: EXTERNAL
-              virtual-interface:
-                bandwidth: "10000000000"
-                type: PCI-PASSTHROUGH
-                vpci: "0000:00:10.0"
-            - external-connection-point-ref: xe1
-              name: xe1
-              position: "3"
-              type: EXTERNAL
-              virtual-interface:
-                bandwidth: "10000000000"
-                type: PCI-PASSTHROUGH
-                vpci: "0000:00:11.0"
-            - external-connection-point-ref: xe2
-              name: xe2
-              position: "4"
-              type: EXTERNAL
-              virtual-interface:
-                bandwidth: "10000000000"
-                type: PCI-PASSTHROUGH
-                vpci: "0000:00:12.0"
-            - external-connection-point-ref: xe3
-              name: xe3
-              position: "5"
-              type: EXTERNAL
-              virtual-interface:
-                bandwidth: "10000000000"
-                type: PCI-PASSTHROUGH
-                vpci: "0000:00:13.0"
-            - external-connection-point-ref: xe4
-              name: xe4
-              position: "6"
-              type: EXTERNAL
-              virtual-interface:
-                bandwidth: "10000000000"
-                type: PCI-PASSTHROUGH
-                vpci: "0000:00:14.0"
-            - external-connection-point-ref: xe5
-              name: xe5
-              position: "7"
-              type: EXTERNAL
-              virtual-interface:
-                bandwidth: "10000000000"
-                type: PCI-PASSTHROUGH
-                vpci: "0000:00:15.0"
-            - external-connection-point-ref: xe6
-              name: xe6
-              position: "8"
-              type: EXTERNAL
-              virtual-interface:
-                bandwidth: "10000000000"
-                type: PCI-PASSTHROUGH
-                vpci: "0000:00:16.0"
-            - external-connection-point-ref: xe7
-              name: xe7
-              position: "9"
-              type: EXTERNAL
-              virtual-interface:
-                bandwidth: "10000000000"
-                type: PCI-PASSTHROUGH
-                vpci: "0000:00:17.0"
-          name: vbng34-VM
-          supplemental-boot-data:
-            boot-data-drive: "false"
-          vm-flavor:
-            memory-mb: "32768"
-            storage-gb: "15"
-      vendor: Intel
-      version: "1.0"
index 12b0b4d..f13d08b 100644 (file)
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
 
-vnfd:vnfd-catalog:
+vnfd-catalog:
   vnfd:
-    - id: 
-      ...
-      
+    - connection-point:
+        - name: eth0
+          type: VPORT
+        - name: xe0
+          type: VPORT
+        - name: xe1
+          type: VPORT
+        - name: xe2
+          type: VPORT
+        - name: xe3
+          type: VPORT
+        - name: xe4
+          type: VPORT
+        - name: xe5
+          type: VPORT
+        - name: xe6
+          type: VPORT
+        - name: xe7
+          type: VPORT
+      description: vBNG VNF for performance tests, with 34 HTs
+      id: vbng34
+      logo: intel.png
+      mgmt-interface:
+        cp: eth0
+      name: vbng34
+      service-function-chain: UNAWARE
+      short-name: vbng34
       vdu:
-        - id: dataVM
-          name: dataVM
-          count: "1"
-          description: ""
+        - count: "1"
+          description: vbng34-VM
           guest-epa:
             cpu-pinning-policy: DEDICATED
             cpu-thread-pinning-policy: PREFER
@@ -30,7 +52,103 @@ vnfd:vnfd-catalog:
             numa-node-policy:
               mem-policy: STRICT
               node:
-                - id: "1"
+                - id: "0"
+                  paired-threads:
+                    num-paired-threads: "17"
               node-cnt: "1"
-      ...
-          
+          host-epa:
+            om-cpu-feature:
+              - feature: 64b
+              - feature: iommu
+              - feature: lps
+              - feature: tlbps
+              - feature: hwsv
+              - feature: dioc
+              - feature: ht
+            om-cpu-model-string: Intel(R) Xeon(R) CPU E5-4620 0 @ 2.20GHz
+          hypervisor-epa:
+            type: REQUIRE_KVM
+            version: 10002|12001|2.6.32-358.el6.x86_64
+          id: vbng34-VM
+          image: intel_vbng34
+          interface:
+            - external-connection-point-ref: eth0
+              name: eth0
+              position: "1"
+              type: EXTERNAL
+              virtual-interface:
+                bandwidth: "1000000"
+                type: PARAVIRT
+                vpci: 0000:00:0a.0
+            - external-connection-point-ref: xe0
+              name: xe0
+              position: "2"
+              type: EXTERNAL
+              virtual-interface:
+                bandwidth: "10000000000"
+                type: PCI-PASSTHROUGH
+                vpci: "0000:00:10.0"
+            - external-connection-point-ref: xe1
+              name: xe1
+              position: "3"
+              type: EXTERNAL
+              virtual-interface:
+                bandwidth: "10000000000"
+                type: PCI-PASSTHROUGH
+                vpci: "0000:00:11.0"
+            - external-connection-point-ref: xe2
+              name: xe2
+              position: "4"
+              type: EXTERNAL
+              virtual-interface:
+                bandwidth: "10000000000"
+                type: PCI-PASSTHROUGH
+                vpci: "0000:00:12.0"
+            - external-connection-point-ref: xe3
+              name: xe3
+              position: "5"
+              type: EXTERNAL
+              virtual-interface:
+                bandwidth: "10000000000"
+                type: PCI-PASSTHROUGH
+                vpci: "0000:00:13.0"
+            - external-connection-point-ref: xe4
+              name: xe4
+              position: "6"
+              type: EXTERNAL
+              virtual-interface:
+                bandwidth: "10000000000"
+                type: PCI-PASSTHROUGH
+                vpci: "0000:00:14.0"
+            - external-connection-point-ref: xe5
+              name: xe5
+              position: "7"
+              type: EXTERNAL
+              virtual-interface:
+                bandwidth: "10000000000"
+                type: PCI-PASSTHROUGH
+                vpci: "0000:00:15.0"
+            - external-connection-point-ref: xe6
+              name: xe6
+              position: "8"
+              type: EXTERNAL
+              virtual-interface:
+                bandwidth: "10000000000"
+                type: PCI-PASSTHROUGH
+                vpci: "0000:00:16.0"
+            - external-connection-point-ref: xe7
+              name: xe7
+              position: "9"
+              type: EXTERNAL
+              virtual-interface:
+                bandwidth: "10000000000"
+                type: PCI-PASSTHROUGH
+                vpci: "0000:00:17.0"
+          name: vbng34-VM
+          supplemental-boot-data:
+            boot-data-drive: "false"
+          vm-flavor:
+            memory-mb: "32768"
+            storage-gb: "15"
+      vendor: Intel
+      version: "1.0"
diff --git a/tests/examples/epa_sol006.yaml b/tests/examples/epa_sol006.yaml
new file mode 100644 (file)
index 0000000..275cfcb
--- /dev/null
@@ -0,0 +1,164 @@
+#  Copyright 2020 Whitestack LLC
+#
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+#  implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+
+vnfd:
+  id: epa-advanced-vnfd
+  description: vBNG VNF for performance tests, with 34 HTs
+  product-name: vbng34
+  provider: Intel
+  version: "1.0"
+  mgmt-cp: eth0-ext
+  sw-image-desc:
+    - id: intel_vbng34
+      name: intel_vbng34
+  virtual-compute-desc:
+    - id: epa-compute
+      virtual-cpu:
+        pinning: # Generic key/value pairs
+          policy: static
+          thread-policy: PREFER
+      virtual-memory:
+        size: 32
+        mempage-size: LARGE
+        numa-enabled: true # Replaces NUMA aware/unaware choice
+        numa-node-policy:
+          mem-policy: STRICT
+          node:
+            - id: "1"
+              paired-threads:
+                num-paired-threads: "17"
+          node-cnt: "1"
+  virtual-storage-desc:
+    - id: epa-storage
+      size-of-storage: 10
+  vdu:
+    - id: epa-vdu
+      name: epa-vdu
+      sw-image-desc: intel_vbng34
+      virtual-compute-desc: epa-compute
+      virtual-storage-desc:
+        - epa-storage
+      int-cpd:
+        - id: eth0
+          virtual-network-interface-requirement:
+            - name: eth0
+              position: 1
+              virtual-interface:
+                type: PARAVIRT
+                bandwidth: 1000000
+                vpci: 0000:00:0a.0
+        - id: xe0
+          virtual-network-interface-requirement:
+            - name: xe0
+              position: 2
+              virtual-interface:
+                type: PCI-PASSTHROUGH
+                bandwidth: 10000000000
+                vpci: 0000:00:10.0
+        - id: xe1
+          virtual-network-interface-requirement:
+            - name: xe1
+              position: 3
+              virtual-interface:
+                type: PCI-PASSTHROUGH
+                bandwidth: 10000000000
+                vpci: 0000:00:11.0
+        - id: xe2
+          virtual-network-interface-requirement:
+            - name: xe2
+              position: 4
+              virtual-interface:
+                type: PCI-PASSTHROUGH
+                bandwidth: 10000000000
+                vpci: 0000:00:12.0
+        - id: xe3
+          virtual-network-interface-requirement:
+            - name: xe3
+              position: 5
+              virtual-interface:
+                type: PCI-PASSTHROUGH
+                bandwidth: 10000000000
+                vpci: 0000:00:13.0
+        - id: xe4
+          virtual-network-interface-requirement:
+            - name: xe4
+              position: 6
+              virtual-interface:
+                type: PCI-PASSTHROUGH
+                bandwidth: 10000000000
+                vpci: 0000:00:14.0
+        - id: xe5
+          virtual-network-interface-requirement:
+            - name: xe5
+              position: 7
+              virtual-interface:
+                type: PCI-PASSTHROUGH
+                bandwidth: 10000000000
+                vpci: 0000:00:15.0
+        - id: xe6
+          virtual-network-interface-requirement:
+            - name: xe6
+              position: 8
+              virtual-interface:
+                type: PCI-PASSTHROUGH
+                bandwidth: 10000000000
+                vpci: 0000:00:16.0
+        - id: xe7
+          virtual-network-interface-requirement:
+            - name: xe7
+              position: 9
+              virtual-interface:
+                type: VIRTIO
+                bandwidth: 10000000000
+                vpci: 0000:00:17.0
+      supplemental-boot-data:
+        boot-data-drive: false
+  ext-cpd:
+    - id: eth0-ext
+      int-cpd:
+        vdu-id: epa-vdu
+        cpd: eth0
+    - id: xe0-ext
+      int-cpd:
+        vdu-id: epa-vdu
+        cpd: xe0
+    - id: xe1-ext
+      int-cpd:
+        vdu-id: epa-vdu
+        cpd: xe1
+    - id: xe2-ext
+      int-cpd:
+        vdu-id: epa-vdu
+        cpd: xe2
+    - id: xe3-ext
+      int-cpd:
+        vdu-id: epa-vdu
+        cpd: xe3
+    - id: xe4-ext
+      int-cpd:
+        vdu-id: epa-vdu
+        cpd: xe4
+    - id: xe5-ext
+      int-cpd:
+        vdu-id: epa-vdu
+        cpd: xe5
+    - id: xe6-ext
+      int-cpd:
+        vdu-id: epa-vdu
+        cpd: xe6
+    - id: xe7-ext
+      int-cpd:
+        vdu-id: epa-vdu
+        cpd: xe7
\ No newline at end of file
index 962f58b..189557a 100644 (file)
@@ -34,7 +34,8 @@ vnfd:
           int-virtual-link-desc: mgmt
           layer-protocol: ipv4
       virtual-compute-desc: CP
-      virtual-storage-desc: root
+      virtual-storage-desc:
+        - root
       sw-image-desc: CP
     - id: control-plane-standby
       name: control-plane-standby
@@ -46,7 +47,8 @@ vnfd:
           int-virtual-link-desc: mgmt
           layer-protocol: ipv4
       virtual-compute-desc: CP
-      virtual-storage-desc: root
+      virtual-storage-desc:
+        - root
       sw-image-desc: CP
     - id: data-plane
       name: data-plane
@@ -59,7 +61,8 @@ vnfd:
         - id: out
           layer-protocol: ipv4
       virtual-compute-desc: DP
-      virtual-storage-desc: root
+      virtual-storage-desc:
+        - root
       sw-image-desc: DP
   virtual-compute-desc:
     - id: CP
diff --git a/tests/examples/hackfest_charmed_nsd_im.yaml b/tests/examples/hackfest_charmed_nsd_im.yaml
new file mode 100644 (file)
index 0000000..cb90dbc
--- /dev/null
@@ -0,0 +1,54 @@
+#  Copyright 2020 Whitestack LLC
+#
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+#  implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+
+nsd:nsd-catalog:
+  nsd:
+    - constituent-vnfd:
+        - member-vnf-index: '1'
+          vnfd-id-ref: hackfest3charmed-vnf
+        - member-vnf-index: '2'
+          vnfd-id-ref: hackfest3charmed-vnf
+      description: NS with 2 VNFs hackfest3charmed-vnf connected by datanet and mgmtnet VLs
+      id: hackfest3charmed-ns
+      logo: osm.png
+      name: hackfest3charmed-ns
+      short-name: hackfest3charmed-ns
+      version: '1.0'
+      vld:
+        - id: mgmt
+          mgmt-network: true
+          name: mgmt
+          short-name: mgmt
+          type: ELAN
+          vim-network-name: mgmt
+          vnfd-connection-point-ref:
+            - member-vnf-index-ref: '1'
+              vnfd-connection-point-ref: vnf-mgmt
+              vnfd-id-ref: hackfest3charmed-vnf
+            - member-vnf-index-ref: '2'
+              vnfd-connection-point-ref: vnf-mgmt
+              vnfd-id-ref: hackfest3charmed-vnf
+        - id: datanet
+          name: datanet
+          short-name: datanet
+          type: ELAN
+          vnfd-connection-point-ref:
+            - member-vnf-index-ref: '1'
+              vnfd-connection-point-ref: vnf-data
+              vnfd-id-ref: hackfest3charmed-vnf
+            - member-vnf-index-ref: '2'
+              vnfd-connection-point-ref: vnf-data
+              vnfd-id-ref: hackfest3charmed-vnf
+
diff --git a/tests/examples/hackfest_charmed_nsd_sol006.yaml b/tests/examples/hackfest_charmed_nsd_sol006.yaml
new file mode 100644 (file)
index 0000000..0d6533e
--- /dev/null
@@ -0,0 +1,57 @@
+#  Copyright 2020 Whitestack LLC
+#
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+#  implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+
+nsd:
+  nsd:
+    - id: hackfest3charmed-ns
+      name: hackfest3charmed-ns
+      description: NS with 2 VNFs hackfest3charmed-vnf connected by datanet and mgmtnet VLs
+      designer: OSM
+      version: '1.0'
+
+      vnfd-id:
+        - hackfest3charmed-vnf
+
+      virtual-link-desc:
+        - id: mgmt
+          mgmt-network: "true"
+        - id: datanet
+          mgmt-network: "false"
+
+      df:
+        - id: hackfest_charmed_DF
+          vnf-profile:
+            - id: hackfest_vnf1 # member-vnf-index-ref: 1
+              vnfd-id: hackfest3charmed-vnf
+              virtual-link-connectivity:
+                - virtual-link-profile-id: mgmt
+                  constituent-cpd-id:
+                    - constituent-base-element-id: hackfest_vnf1
+                      constituent-cpd-id: vnf-mgmt-ext
+                - virtual-link-profile-id: datanet
+                  constituent-cpd-id:
+                    - constituent-base-element-id: hackfest_vnf1
+                      constituent-cpd-id: vnf-data-ext
+            - id: hackfest_vnf2 # member-vnf-index-ref: 2
+              vnfd-id: hackfest3charmed-vnf
+              virtual-link-connectivity:
+                - virtual-link-profile-id: mgmt
+                  constituent-cpd-id:
+                    - constituent-base-element-id: hackfest_vnf2
+                      constituent-cpd-id: vnf-mgmt-ext
+                - virtual-link-profile-id: datanet
+                  constituent-cpd-id:
+                    - constituent-base-element-id: hackfest_vnf2
+                      constituent-cpd-id: vnf-data-ext
\ No newline at end of file
diff --git a/tests/examples/hackfest_charmed_vnfd_im.yaml b/tests/examples/hackfest_charmed_vnfd_im.yaml
new file mode 100644 (file)
index 0000000..f7828fe
--- /dev/null
@@ -0,0 +1,157 @@
+#  Copyright 2020 Whitestack LLC
+#
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+#  implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+
+vnfd:vnfd-catalog:
+  vnfd:
+    - connection-point:
+        - id: vnf-mgmt
+          name: vnf-mgmt
+          short-name: vnf-mgmt
+          type: VPORT
+        - id: vnf-data
+          name: vnf-data
+          short-name: vnf-data
+          type: VPORT
+      description: >-
+        A VNF consisting of 2 VDUs connected to an internal VL, and one VDU with
+        cloud-init
+      id: hackfest3charmed-vnf
+      internal-vld:
+        - id: internal
+          internal-connection-point:
+            - id-ref: mgmtVM-internal
+            - id-ref: dataVM-internal
+          name: internal
+          short-name: internal
+          type: ELAN
+      logo: osm.png
+      mgmt-interface:
+        cp: vnf-mgmt
+      monitoring-param:
+        - aggregation-type: AVERAGE
+          id: monitor1
+          name: monitor1
+          vdu-monitoring-param:
+            vdu-monitoring-param-ref: dataVM_cpu_util
+            vdu-ref: dataVM
+      name: hackfest3charmed-vnf
+      scaling-group-descriptor:
+        - max-instance-count: 10
+          name: scale_dataVM
+          scaling-config-action:
+            - trigger: post-scale-out
+              vnf-config-primitive-name-ref: touch
+            - trigger: pre-scale-in
+              vnf-config-primitive-name-ref: touch
+          scaling-policy:
+            - cooldown-time: 60
+              name: auto_cpu_util_above_threshold
+              scaling-criteria:
+                - name: cpu_util_above_threshold
+                  scale-in-relational-operation: LE
+                  scale-in-threshold: '15.0000000000'
+                  scale-out-relational-operation: GE
+                  scale-out-threshold: '60.0000000000'
+                  vnf-monitoring-param-ref: monitor1
+              scaling-type: automatic
+              threshold-time: 0
+          vdu:
+            - count: 1
+              vdu-id-ref: dataVM
+      short-name: hackfest3charmed-vnf
+      vdu:
+        - count: '1'
+          cloud-init-file: cloud-config.txt
+          id: mgmtVM
+          image: hackfest3-mgmt
+          interface:
+            - external-connection-point-ref: vnf-mgmt
+              name: mgmtVM-eth0
+              position: 1
+              type: EXTERNAL
+              virtual-interface:
+                type: VIRTIO
+            - internal-connection-point-ref: mgmtVM-internal
+              name: mgmtVM-eth1
+              position: 2
+              type: INTERNAL
+              virtual-interface:
+                type: VIRTIO
+          internal-connection-point:
+            - id: mgmtVM-internal
+              name: mgmtVM-internal
+              short-name: mgmtVM-internal
+              type: VPORT
+          name: mgmtVM
+          vm-flavor:
+            memory-mb: '1024'
+            storage-gb: '10'
+            vcpu-count: 1
+        - count: '1'
+          id: dataVM
+          image: hackfest3-mgmt
+          interface:
+            - internal-connection-point-ref: dataVM-internal
+              name: dataVM-eth0
+              position: 1
+              type: INTERNAL
+              virtual-interface:
+                type: VIRTIO
+            - external-connection-point-ref: vnf-data
+              name: dataVM-xe0
+              position: 2
+              type: EXTERNAL
+              virtual-interface:
+                type: VIRTIO
+          internal-connection-point:
+            - id: dataVM-internal
+              name: dataVM-internal
+              short-name: dataVM-internal
+              type: VPORT
+          monitoring-param:
+            - id: dataVM_cpu_util
+              nfvi-metric: cpu_utilization
+          name: dataVM
+          vm-flavor:
+            memory-mb: '1024'
+            storage-gb: '10'
+            vcpu-count: 1
+      version: '1.0'
+      vnf-configuration:
+        config-primitive:
+          - name: touch
+            parameter:
+              - data-type: STRING
+                default-value: <touch_filename2>
+                name: filename
+        initial-config-primitive:
+          - name: config
+            parameter:
+              - name: ssh-hostname
+                value: <rw_mgmt_ip>
+              - name: ssh-username
+                value: ubuntu
+              - name: ssh-password
+                value: osm4u
+            seq: '1'
+          - name: touch
+            parameter:
+              - name: filename
+                value: <touch_filename>
+            seq: '2'
+        juju:
+          charm: simple
+
+
diff --git a/tests/examples/hackfest_charmed_vnfd_sol006.yaml b/tests/examples/hackfest_charmed_vnfd_sol006.yaml
new file mode 100644 (file)
index 0000000..f73264f
--- /dev/null
@@ -0,0 +1,177 @@
+#  Copyright 2020 Whitestack LLC
+#
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+#  implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+
+vnfd:
+  id: hackfest3charmed-vnf
+  description: >-
+    A VNF consisting of 2 VDUs connected to an internal VL, and one VDU with
+    cloud-init
+  product-name: hackfest3charmed-vnf
+  version: '1.0'
+  mgmt-cp: vnf-mgmt-ext
+
+  virtual-compute-desc:
+    - id: mgmt-compute
+      virtual-cpu:
+        num-virtual-cpu: 1
+      virtual-memory:
+        size: 1
+    - id: data-compute
+      virtual-cpu:
+        num-virtual-cpu: 1
+      virtual-memory:
+        size: 1
+
+  virtual-storage-desc:
+    - id: mgmt-storage
+      size-of-storage: 10
+    - id: data-storage
+      size-of-storage: 10
+
+  sw-image-desc:
+    - id: hackfest3-mgmt
+      name: hackfest3-mgmt
+
+  vdu:
+    - id: mgmtVM
+      name: mgmtVM
+      cloud-init-file: cloud-config.txt
+      sw-image-desc: hackfest3-mgmt
+      virtual-compute-desc: mgmt-compute
+      virtual-storage-desc:
+        - mgmt-storage
+      int-cpd:
+        - id: vnf-mgmt
+          virtual-network-interface-requirement:
+            - name: mgmtVM-eth0
+              position: 1
+              virtual-interface:
+                type: VIRTIO
+        - id: mgmtVM-internal
+          int-virtual-link-desc: internal
+          virtual-network-interface-requirement:
+            - name: mgmtVM-eth1
+              position: 2
+              virtual-interface:
+                type: VIRTIO
+    - id: dataVM
+      name: dataVM
+      sw-image-desc: hackfest3-mgmt
+      virtual-compute-desc: data-compute
+      virtual-storage-desc:
+        - data-storage
+      int-cpd:
+        - id: dataVM-internal
+          int-virtual-link-desc: internal
+          virtual-network-interface-requirement:
+            - name: dataVM-eth1
+              position: 1
+              virtual-interface:
+                type: VIRTIO
+        - id: vnf-data
+          virtual-network-interface-requirement:
+            - name: dataVM-eth0
+              position: 2
+              virtual-interface:
+                type: VIRTIO
+      monitoring-parameter:
+        - id: dataVM_cpu_util
+          name: dataVM_cpu_util
+          performance-metric: cpu_utilization
+
+  int-virtual-link-desc:
+    - id: internal
+
+  ext-cpd:
+    - id: vnf-mgmt-ext
+      int-cpd: # Connection to int-cpd
+        vdu-id: mgmtVM
+        cpd: vnf-mgmt
+    - id: vnf-data-ext
+      int-cpd: # Connection to int-cpd
+        vdu-id: dataVM
+        cpd: vnf-data
+
+  df:
+    - id: hackfest_default
+      vnf-configuration-id: vnf-configuration-example
+      vdu-profile:
+        - id: mgmtVM
+          min-number-of-instances: 1
+        - id: dataVM
+          min-number-of-instances: 1
+          max-number-of-instances: 10
+          vdu-configuration-id: vdu-configuration-example
+      instantiation-level:
+        - id: default
+          vdu-level:
+            - vdu-id: mgmtVM
+              number-of-instances: 1
+            - vdu-id: dataVM
+              number-of-instances: 1
+      scaling-aspect:
+        - id: scale_dataVM
+          name: scale_dataVM
+          max-scale-level: 10
+          aspect-delta-details:
+            deltas:
+              - id: delta1
+                vdu-delta:
+                  - id: vdudelta1
+                    number-of-instances: 1
+          scaling-policy:
+            - name: auto_cpu_util_above_threshold
+              scaling-type: automatic
+              enabled: true
+              threshold-time: 0
+              cooldown-time: 60
+              scaling-criteria:
+                - name: cpu_util_above_threshold
+                  scale-in-relational-operation: LE
+                  scale-in-threshold: '15.0000000000'
+                  scale-out-relational-operation: GE
+                  scale-out-threshold: '60.0000000000'
+                  vnf-monitoring-param-ref: dataVM_cpu_util
+          scaling-config-action:
+            - trigger: post-scale-out
+              vnf-config-primitive-name-ref: touch
+            - trigger: pre-scale-in
+              vnf-config-primitive-name-ref: touch
+
+  vnf-configuration:
+    - id: vnf-configuration-example
+      initial-config-primitive:
+        - seq: "1"
+          name: config
+          parameter:
+            - name: ssh-hostname
+              value: <rw_mgmt_ip>
+            - name: ssh-username
+              value: ubuntu
+            - name: ssh-password
+              value: osm4u
+        - seq: "2"
+          name: touch
+          parameter:
+            - name: filename
+              value: <touch_filename>
+      config-primitive:
+        - name: touch
+          parameter:
+            - data-type: STRING
+              default-value: <touch_filename2>
+              name: filename
+      juju:
+        charm: simple
index 925f350..58bdb96 100644 (file)
@@ -19,7 +19,7 @@ vnfd:
   description: KNF with KDU using a helm-chart for Facebook magma orc8r
   provider: ATOS
   version: "1.0"
-  mgmt-cp: mgmt
+  mgmt-cp: mgmt-ext
 
   ext-cpd:
     - id: mgmt-ext
index 436f5cb..b4e43c2 100644 (file)
@@ -19,7 +19,7 @@ vnfd:
   description: Generated by OSM package generator
   provider: OSM_VNFONB_TF
   version: "1.0"
-  mgmt-cp: spgwmme-mgmt-int #Simplified from mgmt-interface
+  mgmt-cp: spgwmme-mgmt-ext #Simplified from mgmt-interface
   virtual-compute-desc:
     - id: spgwmme-compute
       virtual-cpu:
@@ -51,7 +51,8 @@ vnfd:
       description: spgwmme
       cloud-init-file: spgwmme-init
       virtual-compute-desc: spgwmme-compute
-      virtual-storage-desc: spgwmme-storage
+      virtual-storage-desc:
+        - spgwmme-storage
       sw-image-desc: nextepc-spgwmme-base
       int-cpd:
         - id: spgwmme-mgmt-int
@@ -80,7 +81,8 @@ vnfd:
       description: hss
       cloud-init-file: hss-init
       virtual-compute-desc: hss-compute
-      virtual-storage-desc: hss-storage
+      virtual-storage-desc:
+        - hss-storage
       sw-image-desc: nextepc-hss-bas
       int-cpd:
         - id: hss-mgmt-int
index f4e82a9..6ecbb82 100644 (file)
@@ -17,7 +17,7 @@
 
 vnfd:
   id: vnfd
-  mgmt-cp: vnf-mgmt
+  mgmt-cp: vnf-mgmt-ext
 
   ext-cpd:
     - id: vnf-mgmt-ext
index 997e2af..d763b3e 100644 (file)
@@ -21,7 +21,9 @@ TESTS_EXAMPLES_FOLDER = 'tests/examples/'
 VNFD_FILES = [
     'alternative_image_sol006.yaml',
     'cirros_vnfd_sol006.yaml',
+    'epa_sol006.yaml',
     'etsi_complex_vnfd_sol006.yaml',
+    'hackfest_charmed_vnfd_sol006.yaml',
     'magma_knf_sol006.yaml',
     'vepc_sol006.yaml',
     'vnfd_sol006.yaml'
@@ -30,6 +32,7 @@ VNFD_FILES = [
 NSD_FILES = [
     'cirros_nsd_sol006.yaml',
     'etsi_nsd_sol006.yaml',
+    'hackfest_charmed_nsd_sol006.yaml',
     'vepc_nsd_sol006.yaml'
 ]