--- /dev/null
+# 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