Loading example-data/nfv-vnf-pkg.xml→example-data/nfv-vnfd.xml +2 −2 Original line number Diff line number Diff line <pkg xmlns="urn:etsi:nfv:yang:etsi-nfv-pkg"> <vnfd xmlns="urn:etsi:nfv:yang:etsi-nfv-vnfd"> <id>ASA</id> <provider>My Company</provider> <product-name>My Company ASAv</product-name> Loading Loading @@ -87,4 +87,4 @@ </instantiation-level> <default-instantiation-level>single</default-instantiation-level> </df> </pkg> </vnfd> example-data/nfv.xml +12 −12 Original line number Diff line number Diff line <nfv xmlns="urn:etsi:nfv:yang:etsi-nfv-descriptors"> <vnfd> <vnfds> <id>ASA</id> <provider>My Company</provider> <product-name>My Company ASAv</product-name> Loading Loading @@ -100,8 +100,8 @@ </instantiation-level> <default-instantiation-level>single</default-instantiation-level> </df> </vnfd> <vnfd> </vnfds> <vnfds> <id>CSR</id> <provider>My Company</provider> <product-name>My Company CSR 1000v</product-name> Loading Loading @@ -202,8 +202,8 @@ </instantiation-level> <default-instantiation-level>single</default-instantiation-level> </df> </vnfd> <nsd> </vnfds> <nsds> <id>firewall-nsd</id> <vnfd-id>ASA</vnfd-id> <sapd> Loading Loading @@ -233,8 +233,8 @@ </vnf-to-level-mapping> </ns-instantiation-level> </df> </nsd> <nsd> </nsds> <nsds> <id>service-chain-1</id> <vnfd-id>ASA</vnfd-id> <vnfd-id>CSR</vnfd-id> Loading Loading @@ -483,8 +483,8 @@ </vnf-to-level-mapping> </ns-instantiation-level> </df> </nsd> <nsd> </nsds> <nsds> <id>service-chain-2</id> <nested-nsd-id>firewall-nsd</nested-nsd-id> <vnfd-id>CSR</vnfd-id> Loading Loading @@ -570,13 +570,13 @@ </virtual-link-connectivity> </ns-profile> </df> </nsd> <pnfd> </nsds> <pnfds> <id>physical-dpi</id> <version>1.0</version> <ext-cpd> <id>outside</id> <layer-protocol>ethernet</layer-protocol> </ext-cpd> </pnfd> </pnfds> </nfv> run-test.sh +2 −2 Original line number Diff line number Diff line Loading @@ -11,7 +11,7 @@ CONFD_OPTS="--fail-on-warnings" CONFD_OPTS="" echo "Testing compilations of pkg." confdc -c $CONFD_OPTS -o /opt/confd/etc/confd/etsi-nfv-pkg.fxs etsi-nfv-pkg.yang confdc -c $CONFD_OPTS -o /opt/confd/etc/confd/etsi-nfv-vnfd.fxs etsi-nfv-vnfd.yang echo "Testing compilations of descriptors." confdc -c $CONFD_OPTS -o /opt/confd/etc/confd/etsi-nfv-descriptors.fxs etsi-nfv-descriptors.yang Loading @@ -19,7 +19,7 @@ echo "Starting ConfD" confd echo "Loading Data for pkg" confd_load -l -m nfv-vnf-pkg.xml confd_load -l -m nfv-vnfd.xml echo "Loading Data for descriptors" confd_load -l -m nfv.xml Loading src/yang/etsi-nfv-descriptors.yang +27 −3 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ module etsi-nfv-descriptors { } container nfv { list vnfd { list vnfds { key "id"; description "A VNF Descriptor (VNFD) is a deployment template which Loading @@ -35,7 +35,31 @@ module etsi-nfv-descriptors { uses vnfd; } list nsds { key "id"; description "The NSD information element is a deployment template whose instances are used by the NFVO for the lifecycle management of NSs."; reference "GS NFV-IFA014: Section 6.2.2, Network Service Descriptor information element."; uses nsd; } list pnfds { key "id"; description "The Pnfd information element is a deployment template enabling on-boarding PNFs and referencing them from an NSD. It focuses on connectivity aspects only."; reference "GS NFV-IFA014: Section 6.6.2, Pnfd information element."; uses pnfd; } } } src/yang/etsi-nfv-ns.yang +1165 −1155 Original line number Diff line number Diff line Loading @@ -35,9 +35,6 @@ submodule etsi-nfv-ns { grouping nsd { list nsd { key "id"; leaf id { type string; description Loading @@ -47,6 +44,7 @@ submodule etsi-nfv-ns { "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor information element"; } leaf designer { type string; description Loading @@ -55,6 +53,7 @@ submodule etsi-nfv-ns { "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor information element"; } leaf version { type string; description Loading @@ -63,6 +62,7 @@ submodule etsi-nfv-ns { "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor information element"; } leaf name { type string; description Loading @@ -71,6 +71,7 @@ submodule etsi-nfv-ns { "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor information element"; } leaf invariant-id { type string; description Loading @@ -85,7 +86,7 @@ submodule etsi-nfv-ns { leaf-list nested-nsd-id { must ". != ../id"; type leafref { path "../../nsd/id"; path "../../nsds/id"; } description "References the NSD of a constituent nested NS."; Loading @@ -96,7 +97,7 @@ submodule etsi-nfv-ns { leaf-list vnfd-id { type leafref { path "../../vnfd/id"; path "../../vnfds/id"; } description "References the VNFD of a constituent VNF."; Loading @@ -107,7 +108,7 @@ submodule etsi-nfv-ns { leaf-list pnfd-id { type leafref { path "../../pnfd/id"; path "../../pnfds/id"; } description "References the PNFD of a constituent PNF."; Loading Loading @@ -163,7 +164,7 @@ submodule etsi-nfv-ns { leaf vnfd-id { mandatory true; type leafref { path "../../../../nfv:vnfd/nfv:id"; path "../../../../nfv:vnfds/nfv:id"; } must "boolean(../../../vnfd-id[.=current()])"; } Loading @@ -180,7 +181,7 @@ submodule etsi-nfv-ns { leaf pnfd-id { mandatory true; type leafref { path "../../../../nfv:pnfd/nfv:id"; path "../../../../nfv:pnfds/nfv:id"; } must "boolean(../pnfd-id[.=current()])"; } Loading @@ -196,7 +197,7 @@ submodule etsi-nfv-ns { leaf nsd-id { mandatory true; type leafref { path "../../../../nfv:nsd/nfv:id"; path "../../../../nfv:nsds/nfv:id"; } must "boolean(../nsd-id[.=current()])"; } Loading Loading @@ -436,7 +437,7 @@ submodule etsi-nfv-ns { must ". = deref(../../vnfd-profile-id)" { } type leafref { path "/nfv/nsd/df/vnf-profile/id"; path "/nfv/nsds/df/vnf-profile/id"; } } } Loading @@ -445,7 +446,7 @@ submodule etsi-nfv-ns { must ". = deref(../../pnfd-profile-id)" { } type leafref { path "/nfv/nsd/df/pnf-profile/id"; path "/nfv/nsds/df/pnf-profile/id"; } } } Loading @@ -454,7 +455,7 @@ submodule etsi-nfv-ns { must ". = deref(../../ns-profile-id)" { } type leafref { path "/nfv/nsd/df/ns-profile/id"; path "/nfv/nsds/df/ns-profile/id"; } } } Loading @@ -471,7 +472,7 @@ submodule etsi-nfv-ns { must ". = deref(../../vnfd-profile-id)/../vnfd-id" { } type leafref { path "/nfv/vnfd/id"; path "/nfv/vnfds/id"; } } leaf cpd-id { Loading @@ -485,7 +486,7 @@ submodule etsi-nfv-ns { must ". = deref(../../pnfd-profile-id)/../pnfd-id" { } type leafref { path "/nfv/pnfd/id"; path "/nfv/pnfds/id"; } } leaf pnf-cpd-id { Loading @@ -501,7 +502,7 @@ submodule etsi-nfv-ns { } type leafref { path "/nfv/nsd/id"; path "/nfv/nsds/id"; } } leaf sap-cpd-id { Loading Loading @@ -720,7 +721,7 @@ submodule etsi-nfv-ns { leaf vnfd-id { mandatory true; type leafref { path "/nfv/vnfd/id"; path "/nfv/vnfds/id"; } description "References a VNFD."; Loading Loading @@ -878,7 +879,7 @@ submodule etsi-nfv-ns { leaf pnfd-id { type leafref { path "/nfv/pnfd/id"; path "/nfv/pnfds/id"; } description "References a PNFD."; Loading Loading @@ -1255,7 +1256,8 @@ submodule etsi-nfv-ns { must "(count(vnf-to-level-mapping) + " + "count(virtual-link-to-level-mapping) + " + "count(ns-to-level-mapping)) > 0" { error-message "At least one attribute between " + error-message "At least one attribute between " + "vnf-to-level-mapping, " + "virtual-link-to-level-mapping and " + "ns-to-level-mapping shall be present."; Loading Loading @@ -1288,7 +1290,8 @@ submodule etsi-nfv-ns { "max-number-of-instances."; } must "boolean(../../nested-nsd-id[.=current()/nsd-id])" { error-message "PNFDs in the profile has to be listed as a " + error-message "PNFDs in the profile has to be listed as a " + "dependency of the network service " + "descriptor."; } Loading @@ -1307,10 +1310,11 @@ submodule etsi-nfv-ns { "GS NFV IFA014: Section 6.3.11.2 NsProfile information element"; } leaf nsd-id { mandatory true; type leafref { path "/nfv/nsd/id"; path "/nfv/nsds/id"; } description "Identifies the NSD applicable to NS instantiated Loading @@ -1319,6 +1323,7 @@ submodule etsi-nfv-ns { "GS NFV IFA014: Section 6.3.11.2 NsProfile information element"; } leaf ns-df-id { mandatory true; type leafref { Loading @@ -1331,6 +1336,7 @@ submodule etsi-nfv-ns { "GS NFV IFA014: Section 6.3.11.2 NsProfile information element"; } leaf instantiation-level-id { mandatory true; type leafref { Loading @@ -1345,6 +1351,7 @@ submodule etsi-nfv-ns { "GS NFV IFA014: Section 6.3.11.2 NsProfile information element"; } leaf min-number-of-instances { type uint16; default 1; Loading @@ -1356,6 +1363,7 @@ submodule etsi-nfv-ns { "GS NFV IFA014: Section 6.3.11.2 NsProfile information element"; } leaf max-number-of-instances { type uint16; default 1; Loading Loading @@ -1450,6 +1458,7 @@ submodule etsi-nfv-ns { leaf id { type string; } choice primary-id { leaf primary-vnf-profile { type leafref { Loading @@ -1467,6 +1476,7 @@ submodule etsi-nfv-ns { "GS NFV IFA014: Section 6.3.12.2 Dependencies information element"; } choice secondary-id { leaf secondary-vnf-profile { type leafref { Loading Loading @@ -1496,7 +1506,7 @@ submodule etsi-nfv-ns { container vnf-indicator-info { leaf vnfd-id { type leafref { path "/nfv/vnfd/id"; path "/nfv/vnfds/id"; } description "Identifies a VNFD."; Loading @@ -1504,6 +1514,7 @@ submodule etsi-nfv-ns { "GS NFV IFA014: Section 6.2.7.2 VnfIndicatorData information element"; } leaf vnf-indicator { mandatory true; type leafref { Loading Loading @@ -1572,4 +1583,3 @@ submodule etsi-nfv-ns { uses security-parameters; } } } Loading
example-data/nfv-vnf-pkg.xml→example-data/nfv-vnfd.xml +2 −2 Original line number Diff line number Diff line <pkg xmlns="urn:etsi:nfv:yang:etsi-nfv-pkg"> <vnfd xmlns="urn:etsi:nfv:yang:etsi-nfv-vnfd"> <id>ASA</id> <provider>My Company</provider> <product-name>My Company ASAv</product-name> Loading Loading @@ -87,4 +87,4 @@ </instantiation-level> <default-instantiation-level>single</default-instantiation-level> </df> </pkg> </vnfd>
example-data/nfv.xml +12 −12 Original line number Diff line number Diff line <nfv xmlns="urn:etsi:nfv:yang:etsi-nfv-descriptors"> <vnfd> <vnfds> <id>ASA</id> <provider>My Company</provider> <product-name>My Company ASAv</product-name> Loading Loading @@ -100,8 +100,8 @@ </instantiation-level> <default-instantiation-level>single</default-instantiation-level> </df> </vnfd> <vnfd> </vnfds> <vnfds> <id>CSR</id> <provider>My Company</provider> <product-name>My Company CSR 1000v</product-name> Loading Loading @@ -202,8 +202,8 @@ </instantiation-level> <default-instantiation-level>single</default-instantiation-level> </df> </vnfd> <nsd> </vnfds> <nsds> <id>firewall-nsd</id> <vnfd-id>ASA</vnfd-id> <sapd> Loading Loading @@ -233,8 +233,8 @@ </vnf-to-level-mapping> </ns-instantiation-level> </df> </nsd> <nsd> </nsds> <nsds> <id>service-chain-1</id> <vnfd-id>ASA</vnfd-id> <vnfd-id>CSR</vnfd-id> Loading Loading @@ -483,8 +483,8 @@ </vnf-to-level-mapping> </ns-instantiation-level> </df> </nsd> <nsd> </nsds> <nsds> <id>service-chain-2</id> <nested-nsd-id>firewall-nsd</nested-nsd-id> <vnfd-id>CSR</vnfd-id> Loading Loading @@ -570,13 +570,13 @@ </virtual-link-connectivity> </ns-profile> </df> </nsd> <pnfd> </nsds> <pnfds> <id>physical-dpi</id> <version>1.0</version> <ext-cpd> <id>outside</id> <layer-protocol>ethernet</layer-protocol> </ext-cpd> </pnfd> </pnfds> </nfv>
run-test.sh +2 −2 Original line number Diff line number Diff line Loading @@ -11,7 +11,7 @@ CONFD_OPTS="--fail-on-warnings" CONFD_OPTS="" echo "Testing compilations of pkg." confdc -c $CONFD_OPTS -o /opt/confd/etc/confd/etsi-nfv-pkg.fxs etsi-nfv-pkg.yang confdc -c $CONFD_OPTS -o /opt/confd/etc/confd/etsi-nfv-vnfd.fxs etsi-nfv-vnfd.yang echo "Testing compilations of descriptors." confdc -c $CONFD_OPTS -o /opt/confd/etc/confd/etsi-nfv-descriptors.fxs etsi-nfv-descriptors.yang Loading @@ -19,7 +19,7 @@ echo "Starting ConfD" confd echo "Loading Data for pkg" confd_load -l -m nfv-vnf-pkg.xml confd_load -l -m nfv-vnfd.xml echo "Loading Data for descriptors" confd_load -l -m nfv.xml Loading
src/yang/etsi-nfv-descriptors.yang +27 −3 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ module etsi-nfv-descriptors { } container nfv { list vnfd { list vnfds { key "id"; description "A VNF Descriptor (VNFD) is a deployment template which Loading @@ -35,7 +35,31 @@ module etsi-nfv-descriptors { uses vnfd; } list nsds { key "id"; description "The NSD information element is a deployment template whose instances are used by the NFVO for the lifecycle management of NSs."; reference "GS NFV-IFA014: Section 6.2.2, Network Service Descriptor information element."; uses nsd; } list pnfds { key "id"; description "The Pnfd information element is a deployment template enabling on-boarding PNFs and referencing them from an NSD. It focuses on connectivity aspects only."; reference "GS NFV-IFA014: Section 6.6.2, Pnfd information element."; uses pnfd; } } }
src/yang/etsi-nfv-ns.yang +1165 −1155 Original line number Diff line number Diff line Loading @@ -35,9 +35,6 @@ submodule etsi-nfv-ns { grouping nsd { list nsd { key "id"; leaf id { type string; description Loading @@ -47,6 +44,7 @@ submodule etsi-nfv-ns { "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor information element"; } leaf designer { type string; description Loading @@ -55,6 +53,7 @@ submodule etsi-nfv-ns { "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor information element"; } leaf version { type string; description Loading @@ -63,6 +62,7 @@ submodule etsi-nfv-ns { "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor information element"; } leaf name { type string; description Loading @@ -71,6 +71,7 @@ submodule etsi-nfv-ns { "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor information element"; } leaf invariant-id { type string; description Loading @@ -85,7 +86,7 @@ submodule etsi-nfv-ns { leaf-list nested-nsd-id { must ". != ../id"; type leafref { path "../../nsd/id"; path "../../nsds/id"; } description "References the NSD of a constituent nested NS."; Loading @@ -96,7 +97,7 @@ submodule etsi-nfv-ns { leaf-list vnfd-id { type leafref { path "../../vnfd/id"; path "../../vnfds/id"; } description "References the VNFD of a constituent VNF."; Loading @@ -107,7 +108,7 @@ submodule etsi-nfv-ns { leaf-list pnfd-id { type leafref { path "../../pnfd/id"; path "../../pnfds/id"; } description "References the PNFD of a constituent PNF."; Loading Loading @@ -163,7 +164,7 @@ submodule etsi-nfv-ns { leaf vnfd-id { mandatory true; type leafref { path "../../../../nfv:vnfd/nfv:id"; path "../../../../nfv:vnfds/nfv:id"; } must "boolean(../../../vnfd-id[.=current()])"; } Loading @@ -180,7 +181,7 @@ submodule etsi-nfv-ns { leaf pnfd-id { mandatory true; type leafref { path "../../../../nfv:pnfd/nfv:id"; path "../../../../nfv:pnfds/nfv:id"; } must "boolean(../pnfd-id[.=current()])"; } Loading @@ -196,7 +197,7 @@ submodule etsi-nfv-ns { leaf nsd-id { mandatory true; type leafref { path "../../../../nfv:nsd/nfv:id"; path "../../../../nfv:nsds/nfv:id"; } must "boolean(../nsd-id[.=current()])"; } Loading Loading @@ -436,7 +437,7 @@ submodule etsi-nfv-ns { must ". = deref(../../vnfd-profile-id)" { } type leafref { path "/nfv/nsd/df/vnf-profile/id"; path "/nfv/nsds/df/vnf-profile/id"; } } } Loading @@ -445,7 +446,7 @@ submodule etsi-nfv-ns { must ". = deref(../../pnfd-profile-id)" { } type leafref { path "/nfv/nsd/df/pnf-profile/id"; path "/nfv/nsds/df/pnf-profile/id"; } } } Loading @@ -454,7 +455,7 @@ submodule etsi-nfv-ns { must ". = deref(../../ns-profile-id)" { } type leafref { path "/nfv/nsd/df/ns-profile/id"; path "/nfv/nsds/df/ns-profile/id"; } } } Loading @@ -471,7 +472,7 @@ submodule etsi-nfv-ns { must ". = deref(../../vnfd-profile-id)/../vnfd-id" { } type leafref { path "/nfv/vnfd/id"; path "/nfv/vnfds/id"; } } leaf cpd-id { Loading @@ -485,7 +486,7 @@ submodule etsi-nfv-ns { must ". = deref(../../pnfd-profile-id)/../pnfd-id" { } type leafref { path "/nfv/pnfd/id"; path "/nfv/pnfds/id"; } } leaf pnf-cpd-id { Loading @@ -501,7 +502,7 @@ submodule etsi-nfv-ns { } type leafref { path "/nfv/nsd/id"; path "/nfv/nsds/id"; } } leaf sap-cpd-id { Loading Loading @@ -720,7 +721,7 @@ submodule etsi-nfv-ns { leaf vnfd-id { mandatory true; type leafref { path "/nfv/vnfd/id"; path "/nfv/vnfds/id"; } description "References a VNFD."; Loading Loading @@ -878,7 +879,7 @@ submodule etsi-nfv-ns { leaf pnfd-id { type leafref { path "/nfv/pnfd/id"; path "/nfv/pnfds/id"; } description "References a PNFD."; Loading Loading @@ -1255,7 +1256,8 @@ submodule etsi-nfv-ns { must "(count(vnf-to-level-mapping) + " + "count(virtual-link-to-level-mapping) + " + "count(ns-to-level-mapping)) > 0" { error-message "At least one attribute between " + error-message "At least one attribute between " + "vnf-to-level-mapping, " + "virtual-link-to-level-mapping and " + "ns-to-level-mapping shall be present."; Loading Loading @@ -1288,7 +1290,8 @@ submodule etsi-nfv-ns { "max-number-of-instances."; } must "boolean(../../nested-nsd-id[.=current()/nsd-id])" { error-message "PNFDs in the profile has to be listed as a " + error-message "PNFDs in the profile has to be listed as a " + "dependency of the network service " + "descriptor."; } Loading @@ -1307,10 +1310,11 @@ submodule etsi-nfv-ns { "GS NFV IFA014: Section 6.3.11.2 NsProfile information element"; } leaf nsd-id { mandatory true; type leafref { path "/nfv/nsd/id"; path "/nfv/nsds/id"; } description "Identifies the NSD applicable to NS instantiated Loading @@ -1319,6 +1323,7 @@ submodule etsi-nfv-ns { "GS NFV IFA014: Section 6.3.11.2 NsProfile information element"; } leaf ns-df-id { mandatory true; type leafref { Loading @@ -1331,6 +1336,7 @@ submodule etsi-nfv-ns { "GS NFV IFA014: Section 6.3.11.2 NsProfile information element"; } leaf instantiation-level-id { mandatory true; type leafref { Loading @@ -1345,6 +1351,7 @@ submodule etsi-nfv-ns { "GS NFV IFA014: Section 6.3.11.2 NsProfile information element"; } leaf min-number-of-instances { type uint16; default 1; Loading @@ -1356,6 +1363,7 @@ submodule etsi-nfv-ns { "GS NFV IFA014: Section 6.3.11.2 NsProfile information element"; } leaf max-number-of-instances { type uint16; default 1; Loading Loading @@ -1450,6 +1458,7 @@ submodule etsi-nfv-ns { leaf id { type string; } choice primary-id { leaf primary-vnf-profile { type leafref { Loading @@ -1467,6 +1476,7 @@ submodule etsi-nfv-ns { "GS NFV IFA014: Section 6.3.12.2 Dependencies information element"; } choice secondary-id { leaf secondary-vnf-profile { type leafref { Loading Loading @@ -1496,7 +1506,7 @@ submodule etsi-nfv-ns { container vnf-indicator-info { leaf vnfd-id { type leafref { path "/nfv/vnfd/id"; path "/nfv/vnfds/id"; } description "Identifies a VNFD."; Loading @@ -1504,6 +1514,7 @@ submodule etsi-nfv-ns { "GS NFV IFA014: Section 6.2.7.2 VnfIndicatorData information element"; } leaf vnf-indicator { mandatory true; type leafref { Loading Loading @@ -1572,4 +1583,3 @@ submodule etsi-nfv-ns { uses security-parameters; } } }