|g" src/yang/etsi-nfv.html
+
+
exit $?
diff --git a/example-data/complex-vnfd.xml b/example-data/complex-vnfd.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b10ec9f35eae5c54180a1a66505a10e1408db47b
--- /dev/null
+++ b/example-data/complex-vnfd.xml
@@ -0,0 +1,296 @@
+
+
+ complex-vnf
+ My Company
+ complex-vnf
+ 1.0
+ 1.0
+ netconf
+
+ control-plane-active
+ control-plane-active
+
+ internal
+ internal-vl
+ ipv4
+
+
+ mgmt
+ mgmt
+ ipv4
+
+ CP
+ root
+ CP
+
+
+ control-plane-standby
+ control-plane-standby
+
+ internal
+ internal-vl
+ ipv4
+
+
+ mgmt
+ mgmt
+ ipv4
+
+ CP
+ root
+ CP
+
+
+ data-plane
+ data-plane
+
+ in
+ ipv4
+
+
+ internal
+ internal-vl
+ ipv4
+
+
+ out
+ ipv4
+
+ DP
+ root
+ DP
+
+
+ CP
+
+ 16.0
+
+
+ 8
+
+
+
+ DP
+
+ 32.0
+
+
+ 16
+
+
+
+ root
+ root-storage
+ 10
+
+
+ CP
+ CP
+ 1.1
+
+ sha-224
+ deadbeef
+
+ bare
+ qcow2
+ 1
+ 2.0
+ 1
+ http://mycompany.images.com/control-plane.qcow2
+
+
+ DP
+ DP
+ 1.1
+
+ sha-224
+ deadbeef
+
+ bare
+ qcow2
+ 1
+ 2.0
+ 1
+ http://mycompany.images.com/data-plane.qcow2
+
+
+ internal-vl
+
+
+ ipv4
+
+
+
+
+ mgmt
+
+
+ ipv4
+
+
+
+
+ in
+
+ data-plane
+ in
+
+ ipv4
+
+
+ mgmt
+ mgmt
+ ipv4
+
+
+ out
+
+ data-plane
+ out
+
+ ipv4
+
+
+ gold
+
+ control-plane-active
+ 1
+ 1
+
+ control-plane
+
+
+
+ control-plane-standby
+ 1
+ 1
+
+ control-plane
+
+
+
+ data-plane
+ 2
+ 8
+
+
+ il-1
+
+ control-plane-active
+ 1
+
+
+ control-plane-standby
+ 1
+
+
+ data-plane
+ 2
+
+
+
+ il-2
+
+ control-plane-active
+ 1
+
+
+ control-plane-standby
+ 1
+
+
+ data-plane
+ 4
+
+
+ il-1
+
+
+ true
+
+
+ 1
+
+
+ 1
+
+
+
+ control-plane
+ anti-affinity
+ nfvi-node
+
+
+
+ silver
+
+ control-plane-active
+ 1
+ 1
+
+ control-plane
+
+
+
+ control-plane-standby
+ 1
+ 1
+
+ control-plane
+
+
+
+ data-plane
+ 1
+ 4
+
+
+ il-1
+
+ control-plane-active
+ 1
+
+
+ control-plane-standby
+ 1
+
+
+ data-plane
+ 1
+
+
+
+ il-2
+
+ control-plane-active
+ 1
+
+
+ control-plane-standby
+ 1
+
+
+ data-plane
+ 2
+
+
+ il-1
+
+
+ true
+
+
+ 1
+
+
+ 1
+
+
+
+ control-plane
+ anti-affinity
+ nfvi-node
+
+
+
+
diff --git a/example-data/nfv.xml b/example-data/nfv.xml
index 729a2841e371e362ae967a1a9b745308816cabf1..92731014a95ae724ed26a40eb703cf7928f157c3 100644
--- a/example-data/nfv.xml
+++ b/example-data/nfv.xml
@@ -49,9 +49,10 @@
bare
qcow2
+
1
2.0
1
-
http://www.cisco.com/asa.qcow2
+
http://mycompany.images.com/asa.qcow2
inside
@@ -99,6 +100,17 @@
single
+
+
+ true
+
+
+ 1
+
+
+ 1
+
+
@@ -151,9 +163,10 @@
bare
qcow2
+ 1
2.0
1
- http://www.cisco.com/csr.qcow2
+ http://mycompany.images.com/csr.qcow2
left
@@ -201,6 +214,17 @@
single
+
+
+ true
+
+
+ 1
+
+
+ 1
+
+
diff --git a/run-test.sh b/run-test.sh
index b726bb5461cf186ef43f6f2d36558926b91b8dba..9fad42dcaf0e07f3ca82d184ef5a3451b171c8b5 100755
--- a/run-test.sh
+++ b/run-test.sh
@@ -33,6 +33,8 @@ confd_load -l -m nfv-nsd.xml
echo "Loading Data for descriptors"
confd_load -l -m nfv.xml
+echo "Loading data for the complex Vnfd example"
+confd_load -l -m complex-vnfd.xml
# Don't do this in the actual test, just waste of cycles
diff --git a/src/yang/etsi-nfv-common.yang b/src/yang/etsi-nfv-common.yang
index da377dcca1815a77ace55ac4a4fcf329fa35b51c..0a1c361eddba042598317e1bec71d6797a287d03 100644
--- a/src/yang/etsi-nfv-common.yang
+++ b/src/yang/etsi-nfv-common.yang
@@ -531,7 +531,7 @@ submodule etsi-nfv-common {
when "../type='mac-address'";
leaf mac-address-assignment {
type boolean;
- default true;
+ mandatory true;
description
"Specify if the MAC address assignment is the
responsibility of management and orchestration function
@@ -557,7 +557,7 @@ submodule etsi-nfv-common {
when "../type='ip-address'";
leaf ip-address-assignment {
type boolean;
- default "true";
+ mandatory true;
description
"Specify if the address assignment is the responsibility
of management and orchestration function or not. If it
@@ -570,7 +570,7 @@ submodule etsi-nfv-common {
leaf floating-ip-activated {
type boolean;
- default "true";
+ mandatory true;
description
"Specify if the floating IP scheme is activated on the CP
or not.";
diff --git a/src/yang/etsi-nfv-vnf.yang b/src/yang/etsi-nfv-vnf.yang
index ff16652d0c5752664f892f63d4b0acc6c8a03131..43c11095fa644be600e48c843e9c5fca838e2be8 100755
--- a/src/yang/etsi-nfv-vnf.yang
+++ b/src/yang/etsi-nfv-vnf.yang
@@ -1004,20 +1004,20 @@ submodule etsi-nfv-vnf {
the underlying disk image.";
}
- leaf min-disk {
- type uint64;
- units "GB";
- default 0;
- description
- "The minimal disk size requirement for this software
- image. The value of the 'size of storage' attribute
- of the VirtualStorageDesc referencing this
- SwImageDesc shall not be smaller than the value of
- minDisk.";
- reference
- "GS NFV IFA011: Section 7.1.6.5, SwImageDesc
- information element.";
- }
+ leaf min-disk {
+ type uint64;
+ units "GB";
+ mandatory true;
+ description
+ "The minimal disk size requirement for this software
+ image. The value of the 'size of storage' attribute
+ of the VirtualStorageDesc referencing this
+ SwImageDesc shall not be smaller than the value of
+ minDisk.";
+ reference
+ "GS NFV IFA011: Section 7.1.6.5, SwImageDesc
+ information element.";
+ }
leaf min-ram {
type decimal64 {
@@ -2648,6 +2648,17 @@ submodule etsi-nfv-vnf {
leaf key {
type string;
+ description
+ "Includes a VNF LCM script (e.g. written in a DSL as
+ specified in requirement VNF_PACK.LCM.001) triggered to
+ react to one of the events listed in the event
+ attribute.
+
+ The string value specified here is a path to a file in
+ the VNF package.";
+ reference
+ "GS NFV IFA011: Section 7.1.13 LifeCycleManagementScript
+ information element";
}
leaf value {