diff --git a/.jenkins.sh b/.jenkins.sh index 2292aca1aee0aae15922015646a649b6e8bf94f9..428f50831afd7d442b5789bcceea2dffe572d8a7 100644 --- a/.jenkins.sh +++ b/.jenkins.sh @@ -11,8 +11,21 @@ IMG_NAME="sol006" VERSION=latest IMG="$IMG_NAME:$VERSION" +CMT=$(git rev-parse --short HEAD) + docker build --tag "$IMG" . docker run "$IMG" +echo "Building HTML tree" +docker run -v"$(pwd)/src/yang/:/yang/" mjethanandani/pyang \ + "/bin/sh" -c "cd /yang/ && pyang -f jstree -p /yang/ \ + /yang/etsi-nfv.yang > etsi-nfv.html" + +sed -r -i 's|||g' src/yang/etsi-nfv.html +sed -r -i 's|data\:image/gif\;base64,R0lGODlhS.*RCAA7|https://www.etsi.org/images/ETSILogoTwitter.png\" height=\"100|g' src/yang/etsi-nfv.html + +sed -r -i "s|
|

Commit: $CMT, Build:$BUILD_NUMBER

|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 {