Adds augments to Makefile and tests for descriptors validation
Change-Id: I418df68b5c8773cdf8dd639d8241f7dcfed0ccde
Signed-off-by: garciaale <agarcia@whitestack.com>
diff --git a/tests/examples/alternative_image_im.yaml b/tests/examples/alternative_image_im.yaml
new file mode 100644
index 0000000..db06e75
--- /dev/null
+++ b/tests/examples/alternative_image_im.yaml
@@ -0,0 +1,46 @@
+# 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:
+ - id: hackfest_basic-vnf
+ name: hackfest_basic-vnf
+ short-name: hackfest_basic-vnf
+ version: "1.0"
+ description: A basic VNF descriptor w/ one VDU
+ logo: osm.png
+ connection-point:
+ - name: vnf-cp0
+
+ vdu:
+ - id: hackfest_basic-VM
+ name: hackfest_basic-VM
+ image: ubuntu1604
+ alternative-images:
+ - vim-type: aws
+ image: ubuntu/images/hvm-ssd/ubuntu-artful-17.10-amd64-server-20180509
+ count: "1"
+ vm-flavor:
+ vcpu-count: "1"
+ memory-mb: "1024"
+ storage-gb: "10"
+ interface:
+ - name: vdu-eth0
+ type: EXTERNAL
+ virtual-interface:
+ type: PARAVIRT
+ external-connection-point-ref: vnf-cp0
+ mgmt-interface:
+ cp: vnf-cp0
diff --git a/tests/examples/alternative_image_sol006.yaml b/tests/examples/alternative_image_sol006.yaml
new file mode 100644
index 0000000..ac7650c
--- /dev/null
+++ b/tests/examples/alternative_image_sol006.yaml
@@ -0,0 +1,76 @@
+# 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: hackfest_basic-vnf
+ product-name: hackfest_basic-vnf
+ description: A basic VNF descriptor w/ one VDU
+ version: "1.0"
+ mgmt-cp: vnf-cp0
+
+ virtual-compute-desc:
+ - id: cirros-compute
+ virtual-cpu:
+ num-virtual-cpu: 1
+ virtual-memory:
+ size: 1 # Memory size in GB
+
+ virtual-storage-desc:
+ - id: cirros-storage
+ size-of-storage: 10
+
+ sw-image-desc:
+ - id: ubuntu1604
+ name: ubuntu1604
+ checksum:
+ hash: # Mandatory?
+ - id: ubuntu1604-aws
+ name: ubuntu1604-aws
+ image: ubuntu/images/hvm-ssd/ubuntu-artful-17.10-amd64-server-20180509
+ vim-type: aws
+ checksum:
+ hash: # Mandatory?
+
+ vdu:
+ - id: hackfest_basic-VM
+ name: hackfest_basic-VM
+ virtual-compute-desc: cirros-compute
+ virtual-storage-desc: cirros-storage
+ sw-image-desc: ubuntu1604
+ alternative-sw-image-desc:
+ - ubuntu1604-aws
+ int-cpd:
+ - id: eth0-int
+ virtual-network-interface-requirement:
+ - name: vdu-eth0
+ virtual-interface:
+ type: PARAVIRT
+
+ df:
+ - id: cirros_default
+ vdu-profile:
+ - id: hackfest_basic-VM
+ min-number-of-instances: 1
+ instantiation-level:
+ - id: default
+ vdu-level:
+ - vdu-id: hackfest_basic-VM
+ number-of-instances: 1
+
+ ext-cpd:
+ - id: vnf-cp0
+ int-cpd: # Connection to int-cpd
+ vdu-id: hackfest_basic-VM
+ cpd: eth0-int
diff --git a/tests/examples/cirros_nsd_im.yaml b/tests/examples/cirros_nsd_im.yaml
new file mode 100644
index 0000000..dcc832b
--- /dev/null
+++ b/tests/examples/cirros_nsd_im.yaml
@@ -0,0 +1,59 @@
+# 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:
+ - id: cirros_2vnf_nsd
+ name: cirros_2vnf_ns
+ short-name: cirros_2vnf_ns
+ description: Generated by OSM pacakage generator
+ vendor: OSM
+ version: "1.0"
+
+ # Place the logo as png in icons directory and provide the name here
+ logo: osm_2x.png
+
+ # Specify the VNFDs that are part of this NSD
+ constituent-vnfd:
+ # The member-vnf-index needs to be unique, starting from 1
+ # vnfd-id-ref is the id of the VNFD
+ # Multiple constituent VNFDs can be specified
+ - member-vnf-index: 1
+ vnfd-id-ref: cirros_vnfd
+ - member-vnf-index: 2
+ vnfd-id-ref: cirros_vnfd
+
+ vld:
+ # Networks for the VNFs
+ - id: cirros_2vnf_nsd_vld1
+ name: cirros_2vnf_nsd_vld1
+ short-name: cirros_2vnf_nsd_vld1
+ type: ELAN
+ mgmt-network: "true"
+ # vim-network-name: <update>
+ # provider-network:
+ # overlay-type: VLAN
+ # segmentation_id: <update>
+ vnfd-connection-point-ref:
+ # Specify the constituent VNFs
+ # member-vnf-index-ref - entry from constituent vnf
+ # vnfd-id-ref - VNFD id
+ # vnfd-connection-point-ref - connection point name in the VNFD
+ - member-vnf-index-ref: 1
+ vnfd-id-ref: cirros_vnfd
+ vnfd-connection-point-ref: eth0
+ - member-vnf-index-ref: 2
+ vnfd-id-ref: cirros_vnfd
+ vnfd-connection-point-ref: eth0
diff --git a/tests/examples/cirros_nsd_sol006.yaml b/tests/examples/cirros_nsd_sol006.yaml
new file mode 100644
index 0000000..a5575ef
--- /dev/null
+++ b/tests/examples/cirros_nsd_sol006.yaml
@@ -0,0 +1,43 @@
+# 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: cirros_2vnf_nsd
+ name: cirros_2vnf_nsd
+ description: Generated by OSM package generator
+ designer: OSM
+ version: "1.0"
+ vnfd-id:
+ - cirros_vnfd
+
+ virtual-link-desc:
+ - id: cirros_2vnf_nsd_vld1
+ mgmt-network: "true"
+
+ df:
+ - id: cirros_DF
+ vnf-profile:
+ - id: cirros_vnf1 # member-vnf-index-ref: 1
+ vnfd-id: cirros_vnfd
+ virtual-link-connectivity:
+ - virtual-link-profile-id: cirros_2vnf_nsd_vld1
+ 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
diff --git a/tests/examples/cirros_vnfd_im.yaml b/tests/examples/cirros_vnfd_im.yaml
new file mode 100644
index 0000000..fbfd5ee
--- /dev/null
+++ b/tests/examples/cirros_vnfd_im.yaml
@@ -0,0 +1,63 @@
+# 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:
+ - id: cirros_vnfd
+ name: cirros_vnf
+ short-name: cirros_vnf
+ description: Simple VNF example with a cirros
+ vendor: OSM
+ version: "1.0"
+
+ # Place the logo as png in icons directory and provide the name here
+ logo: cirros-64.png
+
+ # Management interface
+ mgmt-interface:
+ cp: eth0
+
+ # Atleast one VDU need to be specified
+ vdu:
+ - id: cirros_vnfd-VM
+ name: cirros_vnfd-VM
+ description: cirros_vnfd-VM
+ count: 1
+
+ # Flavour of the VM to be instantiated for the VDU
+ # flavor below can fit into m1.micro
+ vm-flavor:
+ vcpu-count: 1
+ memory-mb: 256
+ storage-gb: 2
+
+ # Image/checksum or image including the full path
+ image: cirros034
+ #checksum:
+
+ interface:
+ # Specify the external interfaces
+ # There can be multiple interfaces defined
+ - name: eth0
+ type: EXTERNAL
+ virtual-interface:
+ type: VIRTIO
+ bandwidth: "0"
+ vpci: 0000:00:0a.0
+ external-connection-point-ref: eth0
+
+ connection-point:
+ - name: eth0
+ type: VPORT
diff --git a/tests/examples/cirros_vnfd_sol006.yaml b/tests/examples/cirros_vnfd_sol006.yaml
new file mode 100644
index 0000000..e20faef
--- /dev/null
+++ b/tests/examples/cirros_vnfd_sol006.yaml
@@ -0,0 +1,70 @@
+# 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: cirros_vnfd
+ product-name: cirros_vnf
+ description: Simple VNF example with a cirros
+ provider: OSM
+ version: "1.0"
+ mgmt-cp: eth0-int
+
+ virtual-compute-desc:
+ - id: cirros-compute
+ virtual-cpu:
+ num-virtual-cpu: 1
+ virtual-memory:
+ size: 0.256 # Memory size in GB
+
+ virtual-storage-desc:
+ - id: cirros-storage
+ size-of-storage: 2
+
+ sw-image-desc:
+ - id: cirros034
+ name: cirros034
+
+ vdu:
+ - id: cirros_vnfd-VM
+ name: cirros_vnfd-VM
+ description: cirros_vnfd-VM
+ virtual-compute-desc: cirros-compute
+ virtual-storage-desc: cirros-storage
+ sw-image-desc: cirros034
+ int-cpd:
+ - id: eth0-int
+ virtual-network-interface-requirement:
+ - name: eth0
+ virtual-interface:
+ type: VIRTIO
+ bandwidth: "0"
+ vpci: 0000:00:0a.0
+
+ df:
+ - id: cirros_default
+ vdu-profile:
+ - id: cirros_vnfd-VM
+ min-number-of-instances: 1
+ instantiation-level:
+ - id: default
+ vdu-level:
+ - vdu-id: cirros_vnfd-VM
+ number-of-instances: 1
+
+ ext-cpd:
+ - id: eth0-ext
+ int-cpd: # Connection to int-cpd
+ vdu-id: cirros_vnfd-VM
+ cpd: eth0-int
diff --git a/tests/examples/epa_advanced_im.yaml b/tests/examples/epa_advanced_im.yaml
new file mode 100644
index 0000000..f13d08b
--- /dev/null
+++ b/tests/examples/epa_advanced_im.yaml
@@ -0,0 +1,154 @@
+# 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"
diff --git a/tests/examples/epa_im.yaml b/tests/examples/epa_im.yaml
new file mode 100644
index 0000000..12b0b4d
--- /dev/null
+++ b/tests/examples/epa_im.yaml
@@ -0,0 +1,36 @@
+# 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:
+ - id:
+ ...
+
+ vdu:
+ - id: dataVM
+ name: dataVM
+ count: "1"
+ description: ""
+ guest-epa:
+ cpu-pinning-policy: DEDICATED
+ cpu-thread-pinning-policy: PREFER
+ mempage-size: LARGE
+ numa-node-policy:
+ mem-policy: STRICT
+ node:
+ - id: "1"
+ node-cnt: "1"
+ ...
+
diff --git a/tests/examples/etsi_complex_vnfd_sol006.yaml b/tests/examples/etsi_complex_vnfd_sol006.yaml
new file mode 100644
index 0000000..962f58b
--- /dev/null
+++ b/tests/examples/etsi_complex_vnfd_sol006.yaml
@@ -0,0 +1,215 @@
+# 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.
+
+# Example adapted from official ETSI repo:
+# https://forge.etsi.org/rep/nfv/SOL006/blob/master/example-data/complex-vnfd.xml
+
+vnfd:
+ provider: My Company
+ product-name: complex-vnf
+ software-version: '1.0'
+ version: '1.0'
+ vnfm-info: netconf
+ id: complex-vnf
+ vdu:
+ - id: control-plane-active
+ name: control-plane-active
+ int-cpd:
+ - id: internal
+ int-virtual-link-desc: internal-vl
+ layer-protocol: ipv4
+ - id: mgmt
+ int-virtual-link-desc: mgmt
+ layer-protocol: ipv4
+ virtual-compute-desc: CP
+ virtual-storage-desc: root
+ sw-image-desc: CP
+ - id: control-plane-standby
+ name: control-plane-standby
+ int-cpd:
+ - id: internal
+ int-virtual-link-desc: internal-vl
+ layer-protocol: ipv4
+ - id: mgmt
+ int-virtual-link-desc: mgmt
+ layer-protocol: ipv4
+ virtual-compute-desc: CP
+ virtual-storage-desc: root
+ sw-image-desc: CP
+ - id: data-plane
+ name: data-plane
+ int-cpd:
+ - id: in
+ layer-protocol: ipv4
+ - id: internal
+ int-virtual-link-desc: internal-vl
+ layer-protocol: ipv4
+ - id: out
+ layer-protocol: ipv4
+ virtual-compute-desc: DP
+ virtual-storage-desc: root
+ sw-image-desc: DP
+ virtual-compute-desc:
+ - id: CP
+ virtual-memory:
+ size: '16.0'
+ virtual-cpu:
+ num-virtual-cpu: '8'
+ - id: DP
+ virtual-memory:
+ size: '32.0'
+ virtual-cpu:
+ num-virtual-cpu: '16'
+ virtual-storage-desc:
+ - id: root
+ type-of-storage: ephemeral-storage
+ size-of-storage: '10'
+ rdma-enabled: 'true'
+ sw-image-desc: CP
+ sw-image-desc:
+ - id: CP
+ name: CP
+ version: '1.1'
+ checksum:
+ algorithm: sha-224
+ hash: deadbeef
+ container-format: bare
+ disk-format: qcow2
+ min-disk: '1'
+ min-ram: '2.0'
+ size: '1'
+ image: 'http://mycompany.images.com/control-plane.qcow2'
+ - id: DP
+ name: DP
+ version: '1.1'
+ checksum:
+ algorithm: sha-224
+ hash: deadbeef
+ container-format: bare
+ disk-format: qcow2
+ min-disk: '1'
+ min-ram: '2.0'
+ size: '1'
+ image: 'http://mycompany.images.com/data-plane.qcow2'
+ int-virtual-link-desc:
+ - id: internal-vl
+ connectivity-type:
+ layer-protocol: ipv4
+ - id: mgmt
+ connectivity-type:
+ layer-protocol: ipv4
+ ext-cpd:
+ - id: in
+ int-cpd:
+ vdu-id: data-plane
+ cpd: in
+ layer-protocol: ipv4
+ - id: mgmt
+ int-virtual-link-desc: mgmt
+ layer-protocol: ipv4
+ - id: out
+ int-cpd:
+ vdu-id: data-plane
+ cpd: out
+ layer-protocol: ipv4
+ df:
+ - id: gold
+ vdu-profile:
+ - id: control-plane-active
+ min-number-of-instances: '1'
+ max-number-of-instances: '1'
+ affinity-or-anti-affinity-group:
+ - id: control-plane
+ - id: control-plane-standby
+ min-number-of-instances: '1'
+ max-number-of-instances: '1'
+ affinity-or-anti-affinity-group:
+ - id: control-plane
+ - id: data-plane
+ min-number-of-instances: '2'
+ max-number-of-instances: '8'
+ instantiation-level:
+ - id: il-1
+ vdu-level:
+ - vdu-id: control-plane-active
+ number-of-instances: '1'
+ - vdu-id: control-plane-standby
+ number-of-instances: '1'
+ - vdu-id: data-plane
+ number-of-instances: '2'
+ - id: il-2
+ vdu-level:
+ - vdu-id: control-plane-active
+ number-of-instances: '1'
+ - vdu-id: control-plane-standby
+ number-of-instances: '1'
+ - vdu-id: data-plane
+ number-of-instances: '4'
+ default-instantiation-level: il-1
+ lcm-operations-configuration:
+ scale-vnf-to-level-op-config:
+ arbitrary-target-levels-supported: 'true'
+ terminate-vnf-op-config:
+ min-graceful-termination: '1'
+ operate-vnf-op-config:
+ min-graceful-stop-timeout: '1'
+ affinity-or-anti-affinity-group:
+ - id: control-plane
+ type: anti-affinity
+ scope: nfvi-node
+ - id: silver
+ vdu-profile:
+ - id: control-plane-active
+ min-number-of-instances: '1'
+ max-number-of-instances: '1'
+ affinity-or-anti-affinity-group:
+ - id: control-plane
+ - id: control-plane-standby
+ min-number-of-instances: '1'
+ max-number-of-instances: '1'
+ affinity-or-anti-affinity-group:
+ - id: control-plane
+ - id: data-plane
+ min-number-of-instances: '1'
+ max-number-of-instances: '4'
+ instantiation-level:
+ - id: il-1
+ vdu-level:
+ - vdu-id: control-plane-active
+ number-of-instances: '1'
+ - vdu-id: control-plane-standby
+ number-of-instances: '1'
+ - vdu-id: data-plane
+ number-of-instances: '1'
+ - id: il-2
+ vdu-level:
+ - vdu-id: control-plane-active
+ number-of-instances: '1'
+ - vdu-id: control-plane-standby
+ number-of-instances: '1'
+ - vdu-id: data-plane
+ number-of-instances: '2'
+ default-instantiation-level: il-1
+ lcm-operations-configuration:
+ scale-vnf-to-level-op-config:
+ arbitrary-target-levels-supported: 'true'
+ terminate-vnf-op-config:
+ min-graceful-termination: '1'
+ operate-vnf-op-config:
+ min-graceful-stop-timeout: '1'
+ affinity-or-anti-affinity-group:
+ - id: control-plane
+ type: anti-affinity
+ scope: nfvi-node
\ No newline at end of file
diff --git a/tests/examples/etsi_nsd_sol006.yaml b/tests/examples/etsi_nsd_sol006.yaml
new file mode 100644
index 0000000..f5d33fa
--- /dev/null
+++ b/tests/examples/etsi_nsd_sol006.yaml
@@ -0,0 +1,40 @@
+# 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.
+
+# Example adapted from official ETSI repo:
+# https://forge.etsi.org/rep/nfv/SOL006/blob/master/example-data/nfv-nsd.xml
+
+nsd:
+ nsd:
+ - id: firewall-nsd
+ vnfd-id: ASA
+ sapd:
+ - id: inside
+ - id: management
+ - id: outside
+ df:
+ - id: firewall
+ vnf-profile:
+ - id: firewall
+ vnfd-id: ASA
+ flavour-id: normal
+ instantiation-level: single
+ min-number-of-instances: '1'
+ max-number-of-instances: '1'
+ ns-instantiation-level:
+ - id: single
+ vnf-to-level-mapping:
+ - vnf-profile-id: firewall
+ number-of-instances: '1'
diff --git a/tests/examples/magma_knf_im.yaml b/tests/examples/magma_knf_im.yaml
new file mode 100644
index 0000000..feefeba
--- /dev/null
+++ b/tests/examples/magma_knf_im.yaml
@@ -0,0 +1,35 @@
+# 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:
+ schema-version: "3.0"
+ vnfd:
+ - id: fb_magma_knf
+ name: fb_magma_knf
+ short-name: fb_magma_knf
+ description: KNF with KDU using a helm-chart for Facebook magma orc8r
+ vendor: ATOS
+ version: "1.0"
+ mgmt-interface:
+ cp: mgmt
+ connection-point:
+ - name: mgmt
+ k8s-cluster:
+ nets:
+ - id: mgmtnet
+ external-connection-point-ref: mgmt
+ kdu:
+ - name: orc8r
+ helm-chart: magma/orc8r
diff --git a/tests/examples/magma_knf_sol006.yaml b/tests/examples/magma_knf_sol006.yaml
new file mode 100644
index 0000000..925f350
--- /dev/null
+++ b/tests/examples/magma_knf_sol006.yaml
@@ -0,0 +1,44 @@
+# 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: fb_magma_knf
+ product-name: fb_magma_knf
+ description: KNF with KDU using a helm-chart for Facebook magma orc8r
+ provider: ATOS
+ version: "1.0"
+ mgmt-cp: mgmt
+
+ ext-cpd:
+ - id: mgmt-ext
+ k8s-cluster-net: mgmtnet
+
+ k8s-cluster:
+ nets:
+ - id: mgmtnet
+
+ kdu:
+ - name: orc8r
+
+ kdu-model:
+ - id: orc8r-model
+ kdu-model-type: helm-chart
+ kdu-model-locator: magma/orc8r
+
+ df:
+ - id: kdu-df
+ kdu-profile:
+ - name: orc8r
+ kdu-model-id: orc8r-model
\ No newline at end of file
diff --git a/tests/examples/vepc_im.yaml b/tests/examples/vepc_im.yaml
new file mode 100644
index 0000000..d816967
--- /dev/null
+++ b/tests/examples/vepc_im.yaml
@@ -0,0 +1,182 @@
+# 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:
+ - id: vEPC_vnfd
+ name: vEPC_vnfd # To product-name
+ short-name: vEPC_vnfd # Deprecated
+ description: Generated by OSM package generator
+ vendor: OSM_VNFONB_TF # To do provider
+ version: "1.0"
+ mgmt-interface: # To mgmt-cp
+ cp: spgwmme-mgmt
+ ip-profiles: # To deployment flavour (DF)
+ - name: s6a
+ description: s6a network
+ ip-profile-params:
+ ip-version: ipv4
+ subnet-address: 10.0.6.0/24
+ dhcp-params:
+ enabled: true
+ vdu:
+ - id: spgwmme
+ name: spgwmme
+ description: spgwmme
+ count: 1 # To DF vdu-profile or instantiation-level
+ vm-flavor:
+ vcpu-count: 2
+ memory-mb: 4096
+ storage-gb: 10
+ image: "nextepc-spgwmme-base"
+ cloud-init-file: spgwmme-init
+ interface:
+ - name: eth0
+ type: EXTERNAL
+ virtual-interface:
+ type: PARAVIRT
+ external-connection-point-ref: spgwmme-mgmt
+ - name: eth1
+ type: EXTERNAL
+ virtual-interface:
+ type: PARAVIRT
+ external-connection-point-ref: spgwmme-s1
+ - name: eth2
+ type: EXTERNAL
+ virtual-interface:
+ type: PARAVIRT
+ external-connection-point-ref: spgwmme-sgi
+ - name: eth3
+ type: INTERNAL
+ virtual-interface:
+ type: PARAVIRT
+ internal-connection-point-ref: spgwmme-s6a
+ internal-connection-point:
+ - id: spgwmme-s6a
+ name: spgwmme-s6a
+ type: VPORT
+ monitoring-param: # To be removed (feature 8157)
+ - id: "spgw_cpu_util"
+ nfvi-metric: "cpu_utilization"
+ - id: "spgw_memory_util"
+ nfvi-metric: "average_memory_utilization"
+ - id: hss
+ name: hss
+ description: hss
+ count: 1
+ vm-flavor:
+ vcpu-count: 1
+ memory-mb: 2048
+ storage-gb: 10
+ image: "nextepc-hss-base"
+ cloud-init-file: hss-init
+ interface:
+ - name: eth0
+ type: EXTERNAL
+ virtual-interface:
+ type: PARAVIRT
+ mgmt-interface: true
+ external-connection-point-ref: hss-mgmt
+ - name: eth1
+ type: INTERNAL
+ virtual-interface:
+ type: PARAVIRT
+ internal-connection-point-ref: hss-s6a
+ internal-connection-point:
+ - id: hss-s6a
+ name: hss-s6a
+ type: VPORT
+ vdu-configuration:
+ initial-config-primitive:
+ - seq: "1"
+ name: config
+ parameter:
+ - name: ssh-hostname
+ value: <rw_mgmt_ip>
+ - name: ssh-username
+ value: ubuntu
+ - name: ssh-password
+ value: <password>
+ - seq: "2"
+ name: configure-hss
+ parameter:
+ - name: spgw-ip
+ data-type: STRING
+ value: <spgw_ip>
+ - name: hss-ip
+ data-type: STRING
+ value: <hss_ip>
+ - seq: "3"
+ name: restart-hss
+ juju:
+ charm: hsscharm
+ internal-vld:
+ - id: s6a
+ ip-profile-ref: s6a
+ internal-connection-point:
+ - id-ref: spgwmme-s6a
+ - id-ref: hss-s6a
+ name: s6a
+ connection-point:
+ - name: spgwmme-mgmt
+ - name: spgwmme-s1
+ - name: spgwmme-sgi
+ - name: hss-mgmt
+ vnf-configuration:
+ initial-config-primitive:
+ - seq: "1"
+ name: config
+ parameter:
+ - name: ssh-hostname
+ value: <rw_mgmt_ip>
+ - name: ssh-username
+ value: ubuntu
+ - name: ssh-password
+ value: <password>
+ - seq: "2"
+ name: configure-spgw
+ parameter:
+ - name: spgw-ip
+ data-type: STRING
+ value: <spgw_ip>
+ - name: hss-ip
+ data-type: STRING
+ value: <hss_ip>
+ - seq: "3"
+ name: restart-spgw
+ config-primitive:
+ - name: add-route
+ parameter:
+ - name: external-prefix
+ data-type: STRING
+ default-value: "8.8.8.8/32"
+ - name: next-hop
+ data-type: STRING
+ default-value: "192.168.2.1"
+ juju:
+ charm: spgwcharm
+ monitoring-param:
+ - id: "spgw_cpu_util"
+ name: "spgw_cpu_util"
+ aggregation-type: AVERAGE
+ vdu-monitoring-param:
+ vdu-ref: "spgwmme"
+ vdu-monitoring-param-ref: "spgw_cpu_util"
+ - id: "spgw_memory_util"
+ name: "spgw_memory_util"
+ aggregation-type: AVERAGE
+ vdu-monitoring-param:
+ vdu-ref: "spgwmme"
+ vdu-monitoring-param-ref: "spgw_memory_util"
diff --git a/tests/examples/vepc_nsd_im.yaml b/tests/examples/vepc_nsd_im.yaml
new file mode 100644
index 0000000..2306936
--- /dev/null
+++ b/tests/examples/vepc_nsd_im.yaml
@@ -0,0 +1,62 @@
+# 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:
+ - id: vEPC_nsd
+ name: vEPC_nsd
+ short-name: vEPC_nsd # Deprecated
+ description: Generated by OSM package generator
+ vendor: OSM_VNFONB_TF # To designer
+ version: "1.0"
+ constituent-vnfd:
+ - member-vnf-index: 1
+ vnfd-id-ref: vEPC_vnfd
+
+ vld:
+ - id: management
+ name: management # Deprecated
+ short-name: management # Deprecated
+ type: ELAN # Deprecated
+ mgmt-network: "true"
+ vim-network-name: osm-ext
+
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: 1
+ vnfd-id-ref: vEPC_vnfd
+ vnfd-connection-point-ref: spgwmme-mgmt
+ - member-vnf-index-ref: 1
+ vnfd-id-ref: vEPC_vnfd
+ vnfd-connection-point-ref: hss-mgmt
+ - id: s1
+ name: s1
+ short-name: s1
+ type: ELAN
+ vim-network-name: s1
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: 1
+ vnfd-id-ref: vEPC_vnfd
+ vnfd-connection-point-ref: spgwmme-s1
+ ip-address: 192.168.0.11
+ - id: sgi
+ name: sgi
+ short-name: sgi
+ type: ELAN
+ vim-network-name: sgi
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: 1
+ vnfd-id-ref: vEPC_vnfd
+ vnfd-connection-point-ref: spgwmme-sgi
+ ip-address: 192.168.2.11
diff --git a/tests/examples/vepc_nsd_sol006.yaml b/tests/examples/vepc_nsd_sol006.yaml
new file mode 100644
index 0000000..21ea2dc
--- /dev/null
+++ b/tests/examples/vepc_nsd_sol006.yaml
@@ -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: vEPC_nsd
+ name: vEPC_nsd
+ description: Generated by OSM package generator
+ designer: OSM_VNFONB_TF
+ version: "1.0"
+ vnfd-id:
+ - vEPC_vnfd
+
+ virtual-link-desc:
+ - id: management
+ mgmt-network: "true"
+ provider-network:
+ physical-network: osm-ext
+ - id: s1
+ provider-network:
+ physical-network: s1
+ - id: sgi
+ provider-network:
+ physical-network: sgi
+
+ df:
+ - id: vEPC_DF
+ vnf-profile:
+ - id: vEPC-VNF
+ vnfd-id: vEPC_vnfd
+ virtual-link-connectivity:
+ - virtual-link-profile-id: management
+ constituent-cpd-id:
+ - constituent-base-element-id: vEPC_vnfd
+ constituent-cpd-id: spgwmme-mgmt
+ - constituent-base-element-id: vEPC_vnfd
+ constituent-cpd-id: hss-mgmt
+ - virtual-link-profile-id: s1
+ constituent-cpd-id:
+ - constituent-base-element-id: vEPC_vnfd
+ constituent-cpd-id: spgwmme-s1
+ - virtual-link-profile-id: sgi
+ constituent-cpd-id:
+ - constituent-base-element-id: vEPC_vnfd
+ constituent-cpd-id: spgwmme-sgi
diff --git a/tests/examples/vepc_sol006.yaml b/tests/examples/vepc_sol006.yaml
new file mode 100644
index 0000000..436f5cb
--- /dev/null
+++ b/tests/examples/vepc_sol006.yaml
@@ -0,0 +1,217 @@
+# 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: vEPC_vnfd
+ product-name: vEPC_vnfd
+ description: Generated by OSM package generator
+ provider: OSM_VNFONB_TF
+ version: "1.0"
+ mgmt-cp: spgwmme-mgmt-int #Simplified from mgmt-interface
+ virtual-compute-desc:
+ - id: spgwmme-compute
+ virtual-cpu:
+ num-virtual-cpu: 2
+ virtual-memory:
+ size: 4 # Memory size in GB
+ - id: hss-compute
+ virtual-cpu:
+ num-virtual-cpu: 1
+ virtual-memory:
+ size: 2 # Memory size in GB
+ virtual-storage-desc:
+ - id: spgwmme-storage
+ size-of-storage: 10
+ - id: hss-storage
+ size-of-storage: 10
+ sw-image-desc:
+ - id: nextepc-spgwmme-base
+ name: nextepc-spgwmme-base
+ checksum:
+ hash: # Mandatory?
+ - id: nextepc-hss-bas
+ name: nextepc-hss-bas
+ checksum:
+ hash: # Mandatory?
+ vdu:
+ - id: spgwmme
+ name: spgwmme
+ description: spgwmme
+ cloud-init-file: spgwmme-init
+ virtual-compute-desc: spgwmme-compute
+ virtual-storage-desc: spgwmme-storage
+ sw-image-desc: nextepc-spgwmme-base
+ int-cpd:
+ - id: spgwmme-mgmt-int
+ virtual-network-interface-requirement:
+ - name: eth0
+ virtual-interface:
+ type: PARAVIRT
+ - id: spgwmme-s1-int
+ virtual-network-interface-requirement:
+ - name: eth1
+ virtual-interface:
+ type: PARAVIRT
+ - id: spgwmme-sgi-int
+ virtual-network-interface-requirement:
+ - name: eth2
+ virtual-interface:
+ type: PARAVIRT
+ - id: spgwmme-s6a-int
+ int-virtual-link-desc: s6a # Connection to VLD!
+ virtual-network-interface-requirement:
+ - name: eth3
+ virtual-interface:
+ type: PARAVIRT
+ - id: hss
+ name: hss
+ description: hss
+ cloud-init-file: hss-init
+ virtual-compute-desc: hss-compute
+ virtual-storage-desc: hss-storage
+ sw-image-desc: nextepc-hss-bas
+ int-cpd:
+ - id: hss-mgmt-int
+ virtual-network-interface-requirement:
+ - name: eth0
+ virtual-interface:
+ type: PARAVIRT
+ - id: hss-s6a-int
+ int-virtual-link-desc: s6a # Connection to VLD!
+ virtual-network-interface-requirement:
+ - name: eth1
+ virtual-interface:
+ type: PARAVIRT
+ df:
+ - id: vepc_default
+ vnf-configuration-id: vnf-configuration-example
+ vdu-profile:
+ - id: spgwmme
+ min-number-of-instances: 1
+ - id: hss
+ min-number-of-instances: 1
+ vdu-configuration-id: vdu-configuration-example
+ instantiation-level:
+ - id: default
+ vdu-level:
+ - vdu-id: spgwmme
+ number-of-instances: 1
+ - vdu-id: hss
+ number-of-instances: 1
+ virtual-link-profile:
+ - id: s6a
+ flavour:
+ virtual-link-protocol-data:
+ l3-protocol-data:
+ name: s6a
+ description: s6a network
+ ip-version: ipv4
+ cidr: 10.0.6.0/24
+ dhcp-enabled: true
+ monitoring-parameter:
+ - id: "spgw_cpu_util"
+ name: "spgw_cpu_util"
+ performance-metric: "cpu_load"
+ collection-period: 123456
+ #aggregation-type: AVERAGE # Not included in augments
+ #vdu-monitoring-param: # Not included in augments
+ # vdu-ref: "spgwmme" # Not included in augments
+ # vdu-monitoring-param-ref: "spgw_cpu_util" # Not included in augments
+ - id: "spgw_memory_util"
+ name: "spgw_memory_util"
+ #aggregation-type: AVERAGE # Not included in augments
+ #vdu-monitoring-param: # Not included in augments
+ # vdu-ref: "spgwmme" # Not included in augments
+ # vdu-monitoring-param-ref: "spgw_memory_util" # Not included in augments
+ vdu-configuration:
+ - id: vdu-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: <password>
+ - seq: "2"
+ name: configure-hss
+ parameter:
+ - name: spgw-ip
+ data-type: STRING
+ value: <spgw_ip>
+ - name: hss-ip
+ data-type: STRING
+ value: <hss_ip>
+ - seq: "3"
+ name: restart-hss
+ juju:
+ charm: hsscharm
+ 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: <password>
+ - seq: "2"
+ name: configure-spgw
+ parameter:
+ - name: spgw-ip
+ data-type: STRING
+ value: <spgw_ip>
+ - name: hss-ip
+ data-type: STRING
+ value: <hss_ip>
+ - seq: "3"
+ name: restart-spgw
+ config-primitive:
+ - name: add-route
+ parameter:
+ - name: external-prefix
+ data-type: STRING
+ default-value: "8.8.8.8/32"
+ - name: next-hop
+ data-type: STRING
+ default-value: "192.168.2.1"
+ juju:
+ charm: spgwcharm
+ int-virtual-link-desc:
+ - id: s6a
+ ext-cpd:
+ # SPGWMME
+ - id: spgwmme-mgmt-ext
+ int-cpd: # Connection to int-cpd
+ vdu-id: spgwmme
+ cpd: spgwmme-mgmt-int
+ - id: spgwmme-s1-ext
+ int-cpd: # Connection to int-cpd
+ vdu-id: spgwmme
+ cpd: spgwmme-mgmt-int
+ - id: spgwmme-sgi-ext
+ int-cpd: # Connection to int-cpd
+ vdu-id: spgwmme
+ cpd: spgwmme-mgmt-int
+ # HSS
+ - id: hss-mgmt-ext
+ int-cpd: # Connection to int-cpd
+ vdu-id: spgwmme
+ cpd: spgwmme-mgmt-int
diff --git a/tests/examples/vnfd_im.yaml b/tests/examples/vnfd_im.yaml
new file mode 100644
index 0000000..587cb89
--- /dev/null
+++ b/tests/examples/vnfd_im.yaml
@@ -0,0 +1,87 @@
+# 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.
+
+# Using old OSM IM model
+
+vnfd:vnfd-catalog:
+ vnfd:
+ id: vnfd
+
+ mgmt-interface:
+ cp: vnf-mgmt
+
+ 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
+
+ internal-vld:
+ - id: internal
+ name: internal
+ short-name: internal
+ type: ELAN
+ internal-connection-point:
+ - id-ref: mgmtVM-internal
+ - id-ref: dataVM-internal
+
+ vdu:
+ - id: mgmtVM
+
+ interface:
+ - name: mgmtVM-eth0
+ position: "1"
+ type: EXTERNAL
+ virtual-interface:
+ type: VIRTIO
+ external-connection-point-ref: vnf-mgmt
+ - name: mgmtVM-eth1
+ position: "2"
+ type: INTERNAL
+ virtual-interface:
+ type: VIRTIO
+ internal-connection-point-ref: mgmtVM-internal
+
+ internal-connection-point:
+ - id: mgmtVM-internal
+ name: mgmtVM-internal
+ short-name: mgmtVM-internal
+ type: VPORT
+
+ - id: dataVM
+
+ interface:
+ - name: dataVM-eth0
+ position: "1"
+ type: INTERNAL
+ virtual-interface:
+ type: VIRTIO
+ internal-connection-point-ref: dataVM-internal
+ - name: dataVM-xe0
+ position: "2"
+ type: EXTERNAL
+ virtual-interface:
+ type: VIRTIO
+ external-connection-point-ref: vnf-data
+
+ internal-connection-point:
+ - id: dataVM-internal
+ name: dataVM-internal
+ short-name: dataVM-internal
+ type: VPORT
diff --git a/tests/examples/vnfd_sol006.yaml b/tests/examples/vnfd_sol006.yaml
new file mode 100644
index 0000000..f4e82a9
--- /dev/null
+++ b/tests/examples/vnfd_sol006.yaml
@@ -0,0 +1,66 @@
+# 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.
+
+# Using new SOL006-based OSM model
+
+vnfd:
+ id: vnfd
+ mgmt-cp: vnf-mgmt
+
+ ext-cpd:
+ - id: vnf-mgmt-ext
+ int-cpd:
+ vdu-id: mgmtVM
+ cpd: vnf-mgmt-int
+ - id: vnf-data-ext
+ int-cpd:
+ vdu-id: dataVM
+ cpd: vnf-data-int
+
+ int-virtual-link-desc:
+ - id: internal
+
+ vdu:
+ - id: mgmtVM
+ int-cpd:
+ - id: vnf-mgmt-int
+ 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
+ int-cpd:
+ - id: dataVM-internal
+ int-virtual-link-desc: internal
+ virtual-network-interface-requirement:
+ - name: dataVM-eth0
+ position: "1"
+ virtual-interface:
+ type: VIRTIO
+ - id: vnf-data-int
+ virtual-network-interface-requirement:
+ - name: dataVM-xe0
+ position: "2"
+ virtual-interface:
+ type: VIRTIO