diff --git a/example-data/nfv-vnf-pkg.xml b/example-data/nfv-vnfd.xml similarity index 98% rename from example-data/nfv-vnf-pkg.xml rename to example-data/nfv-vnfd.xml index 9f31cbc18d340c5679e36736b1a6b39e758364ef..7587240efcd281a762527e1b7fa1e6a49049ee9e 100644 --- a/example-data/nfv-vnf-pkg.xml +++ b/example-data/nfv-vnfd.xml @@ -1,4 +1,4 @@ - + ASA My Company My Company ASAv @@ -87,4 +87,4 @@ single - + diff --git a/example-data/nfv.xml b/example-data/nfv.xml index 729a2841e371e362ae967a1a9b745308816cabf1..1b0c9014750597ccfa1d1f3873b23a0ac3cf7aab 100644 --- a/example-data/nfv.xml +++ b/example-data/nfv.xml @@ -1,5 +1,5 @@ - + ASA My Company My Company ASAv @@ -100,8 +100,8 @@ single - - + + CSR My Company My Company CSR 1000v @@ -202,8 +202,8 @@ single - - + + firewall-nsd ASA @@ -233,8 +233,8 @@ - - + + service-chain-1 ASA CSR @@ -483,8 +483,8 @@ - - + + service-chain-2 firewall-nsd CSR @@ -570,13 +570,13 @@ - - + + physical-dpi 1.0 outside ethernet - + diff --git a/run-test.sh b/run-test.sh index 241379e40b0731567eddf71707db517b570707a6..555e80cd701191efdb99129ad1b3c2d7bcf54b74 100755 --- a/run-test.sh +++ b/run-test.sh @@ -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 @@ -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 diff --git a/src/yang/etsi-nfv-descriptors.yang b/src/yang/etsi-nfv-descriptors.yang index e2725a8b5efbadacb672dc7bcdb10a3a9a7a57e0..bdd46b5367f8a3abdb9c5ccc6b270eb2899844db 100644 --- a/src/yang/etsi-nfv-descriptors.yang +++ b/src/yang/etsi-nfv-descriptors.yang @@ -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 @@ -35,7 +35,31 @@ module etsi-nfv-descriptors { uses vnfd; } - uses nsd; - uses pnfd; + 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; + } } } diff --git a/src/yang/etsi-nfv-ns.yang b/src/yang/etsi-nfv-ns.yang index 60f99febf9704d317d90d1c6559b483aa4e39c6f..52b887f7a8a2db41753b91b7f66dc971d96cf56a 100644 --- a/src/yang/etsi-nfv-ns.yang +++ b/src/yang/etsi-nfv-ns.yang @@ -35,1541 +35,1551 @@ submodule etsi-nfv-ns { grouping nsd { - list nsd { - key "id"; + leaf id { + type string; + description + "Identifier of this NSD information element. It Globally + uniquely identifies an instance of the NSD."; + reference + "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor + information element"; + } - leaf id { - type string; - description - "Identifier of this NSD information element. It Globally - uniquely identifies an instance of the NSD."; - reference - "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor - information element"; - } - leaf designer { - type string; - description - "Identifies the designer of the NSD."; - reference - "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor - information element"; - } - leaf version { - type string; - description - "Identifies the version of the NSD."; - reference - "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor - information element"; - } - leaf name { - type string; - description - "Provides the human readable name of the NSD."; - reference - "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor - information element"; - } - leaf invariant-id { - type string; - description - "Identifies an NSD in a version independent manner. This - attribute is invariant across versions of the network - service descriptor."; - reference - "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor - information element"; + leaf designer { + type string; + description + "Identifies the designer of the NSD."; + reference + "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor + information element"; + } + + leaf version { + type string; + description + "Identifies the version of the NSD."; + reference + "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor + information element"; + } + + leaf name { + type string; + description + "Provides the human readable name of the NSD."; + reference + "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor + information element"; + } + + leaf invariant-id { + type string; + description + "Identifies an NSD in a version independent manner. This + attribute is invariant across versions of the network + service descriptor."; + reference + "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor + information element"; + } + + leaf-list nested-nsd-id { + must ". != ../id"; + type leafref { + path "../../nsds/id"; } + description + "References the NSD of a constituent nested NS."; + reference + "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor + information element"; + } - leaf-list nested-nsd-id { - must ". != ../id"; - type leafref { - path "../../nsd/id"; - } - description - "References the NSD of a constituent nested NS."; - reference - "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor - information element"; + leaf-list vnfd-id { + type leafref { + path "../../vnfds/id"; } + description + "References the VNFD of a constituent VNF."; + reference + "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor + information element"; + } - leaf-list vnfd-id { - type leafref { - path "../../vnfd/id"; - } - description - "References the VNFD of a constituent VNF."; - reference - "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor - information element"; + leaf-list pnfd-id { + type leafref { + path "../../pnfds/id"; } + description + "References the PNFD of a constituent PNF."; + reference + "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor + information element"; + } + + list sapd { + key "id"; + description + "Provides the descriptor of a service access point of the + network service."; + reference + "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor + information element"; - leaf-list pnfd-id { - type leafref { - path "../../pnfd/id"; - } + leaf id { + type string; description - "References the PNFD of a constituent PNF."; + "Identifier of this Cpd information element."; reference - "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor - information element"; + "GS NFV IFA014: Section 6.6.3.1 Cpd information element"; } - list sapd { - key "id"; + leaf address-assignment { + type boolean; description - "Provides the descriptor of a service access point of the - network service."; + "Specify whether the SAP address assignment is under the + responsibility of management and orchestration functions + or not. If it is set to True, management and + orchestration functions are responsible for assigning + addresses to the access points instantiated from this + SAPD."; reference - "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor - information element"; - - leaf id { - type string; - description - "Identifier of this Cpd information element."; - reference - "GS NFV IFA014: Section 6.6.3.1 Cpd information element"; - } + "GS NFV IFA014: Section 6.2.3.2 Sapd information element"; + } - leaf address-assignment { - type boolean; + choice cpd-or-virtual-link { + leaf virtual-link-desc { + type leafref { + path "../../virtual-link-desc/id"; + } description - "Specify whether the SAP address assignment is under the - responsibility of management and orchestration functions - or not. If it is set to True, management and - orchestration functions are responsible for assigning - addresses to the access points instantiated from this - SAPD."; + "References the descriptor of the NS VL instance to + which the SAP instantiated from this SAPD connects to."; reference "GS NFV IFA014: Section 6.2.3.2 Sapd information element"; } - choice cpd-or-virtual-link { - leaf virtual-link-desc { - type leafref { - path "../../virtual-link-desc/id"; - } - description - "References the descriptor of the NS VL instance to - which the SAP instantiated from this SAPD connects to."; - reference - "GS NFV IFA014: Section 6.2.3.2 Sapd information element"; - } - - choice associated-cpd-id { - container vnf { - leaf vnfd-id { - mandatory true; - type leafref { - path "../../../../nfv:vnfd/nfv:id"; - } - must "boolean(../../../vnfd-id[.=current()])"; + choice associated-cpd-id { + container vnf { + leaf vnfd-id { + mandatory true; + type leafref { + path "../../../../nfv:vnfds/nfv:id"; } + must "boolean(../../../vnfd-id[.=current()])"; + } - leaf ext-cpd-id { - mandatory true; - type leafref { - path "deref(../vnfd-id)/../nfv:ext-cpd/nfv:id"; - } + leaf ext-cpd-id { + mandatory true; + type leafref { + path "deref(../vnfd-id)/../nfv:ext-cpd/nfv:id"; } } + } - container pnf { - leaf pnfd-id { - mandatory true; - type leafref { - path "../../../../nfv:pnfd/nfv:id"; - } - must "boolean(../pnfd-id[.=current()])"; + container pnf { + leaf pnfd-id { + mandatory true; + type leafref { + path "../../../../nfv:pnfds/nfv:id"; } + must "boolean(../pnfd-id[.=current()])"; + } - leaf ext-cpd-id { - mandatory true; - type leafref { - path "deref(../pnfd-id)/../nfv:ext-cpd/nfv:id"; - } + leaf ext-cpd-id { + mandatory true; + type leafref { + path "deref(../pnfd-id)/../nfv:ext-cpd/nfv:id"; } } - container ns { - leaf nsd-id { - mandatory true; - type leafref { - path "../../../../nfv:nsd/nfv:id"; - } - must "boolean(../nsd-id[.=current()])"; + } + container ns { + leaf nsd-id { + mandatory true; + type leafref { + path "../../../../nfv:nsds/nfv:id"; } + must "boolean(../nsd-id[.=current()])"; + } - leaf ext-cpd-id { - mandatory true; - type leafref { - path "deref(../nsd-id)/../nfv:sapd/nfv:id"; - } + leaf ext-cpd-id { + mandatory true; + type leafref { + path "deref(../nsd-id)/../nfv:sapd/nfv:id"; } } } } } + } + + list virtual-link-desc { + key "id"; + description + "Provides the constituent VLDs."; + reference + "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor + information element"; + leaf id { + type string; + description + "Identifier of the NsVirtualLinkDesc information element. + It uniquely identifies a VLD."; + reference + "GS NFV IFA014: Section 6.5.2.2 NsVirtualLinkDesc + information element"; + } - list virtual-link-desc { + uses connectivity-type; + + list df { key "id"; + description - "Provides the constituent VLDs."; + "The VirtualLinkDf information element specifies + properties for instantiating a VL according to a + specific flavour."; reference - "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor + "GS NFV IFA014: Section 6.5.2.2 NsVirtualLinkDesc information element"; + leaf id { type string; description - "Identifier of the NsVirtualLinkDesc information element. - It uniquely identifies a VLD."; + "Identifies this VirtualLinkDf information element + within a VLD."; reference - "GS NFV IFA014: Section 6.5.2.2 NsVirtualLinkDesc + "GS NFV IFA014: Section 6.5.4.2 VirtualLinkDf information element"; } - uses connectivity-type; - - list df { - key "id"; - + container qos { + presence "VL QoS parameters"; description - "The VirtualLinkDf information element specifies - properties for instantiating a VL according to a - specific flavour."; + "The QoS information element specifies quality of + service parameters applicable to a VL."; reference - "GS NFV IFA014: Section 6.5.2.2 NsVirtualLinkDesc + "GS NFV IFA014: Section 6.5.4.2 VirtualLinkDf information element"; - leaf id { - type string; + leaf latency { + mandatory true; + type uint32; + units "ms"; description - "Identifies this VirtualLinkDf information element - within a VLD."; + "Specifies the maximum latency in ms."; reference - "GS NFV IFA014: Section 6.5.4.2 VirtualLinkDf - information element"; + "GS NFV IFA014: Section 6.5.6.2 QoS information + element"; } - container qos { - presence "VL QoS parameters"; + leaf packet-delay-variation { + mandatory true; + type uint32; + units "ms"; description - "The QoS information element specifies quality of - service parameters applicable to a VL."; + "Specifies the maximum jitter in ms."; reference - "GS NFV IFA014: Section 6.5.4.2 VirtualLinkDf - information element"; - - leaf latency { - mandatory true; - type uint32; - units "ms"; - description - "Specifies the maximum latency in ms."; - reference - "GS NFV IFA014: Section 6.5.6.2 QoS information - element"; - } - - leaf packet-delay-variation { - mandatory true; - type uint32; - units "ms"; - description - "Specifies the maximum jitter in ms."; - reference - "GS NFV IFA014: Section 6.5.6.2 QoS information - element"; - } - - leaf packet-loss-ratio { - type decimal64 { - fraction-digits "2"; - range "0..1.00"; - } - description - "Specifies the maximum packet loss ratio."; - reference - "GS NFV IFA014: Section 6.5.6.2 QoS information - element"; - } + "GS NFV IFA014: Section 6.5.6.2 QoS information + element"; + } - leaf priority { - type uint32; - description - "Specifies the priority level in case of - congestion on the underlying physical links."; - reference - "GS NFV IFA014: Section 6.5.6.2 QoS information - element"; + leaf packet-loss-ratio { + type decimal64 { + fraction-digits "2"; + range "0..1.00"; } + description + "Specifies the maximum packet loss ratio."; + reference + "GS NFV IFA014: Section 6.5.6.2 QoS information + element"; } - leaf service-availability-level { - type enumeration { - enum "level-1"; - enum "level-2"; - enum "level-3"; - } + leaf priority { + type uint32; description - "Specifies one of the three levels defined in ETSI - ETSI GS NFV-REL 001 [i.5] - * Level 1. - * Level 2. - * Level 3."; + "Specifies the priority level in case of + congestion on the underlying physical links."; reference - "GS NFV IFA014: Section 6.5.4.2 VirtualLinkDf - information element"; + "GS NFV IFA014: Section 6.5.6.2 QoS information + element"; } } - leaf test-access { + leaf service-availability-level { type enumeration { - enum none; - enum passive-monitoring; - enum active; + enum "level-1"; + enum "level-2"; + enum "level-3"; } description - "Specifies test access facilities expected on the VL."; + "Specifies one of the three levels defined in ETSI + ETSI GS NFV-REL 001 [i.5] + * Level 1. + * Level 2. + * Level 3."; reference - "GS NFV IFA014: Section 6.5.2.2 NsVirtualLinkDesc + "GS NFV IFA014: Section 6.5.4.2 VirtualLinkDf information element"; } + } - leaf description { - type string; - description - "Provides human-readable information on the purpose of - the virtual link (e.g. VL for control plane traffic)."; - reference - "GS NFV IFA014: Section 6.5.2.2 NsVirtualLinkDesc - information element"; + leaf test-access { + type enumeration { + enum none; + enum passive-monitoring; + enum active; } - uses security-parameters; + description + "Specifies test access facilities expected on the VL."; + reference + "GS NFV IFA014: Section 6.5.2.2 NsVirtualLinkDesc + information element"; } - list vnffgd { - key "id"; - + leaf description { + type string; description - "Provides the descriptors of the applicable forwarding - graphs."; + "Provides human-readable information on the purpose of + the virtual link (e.g. VL for control plane traffic)."; reference - "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor + "GS NFV IFA014: Section 6.5.2.2 NsVirtualLinkDesc information element"; + } + uses security-parameters; + } - leaf id { - type string; - description - "Identifier of this Vnffgd information element. It - uniquely identifies a VNFFGD."; - reference - "GS NFV IFA014: Section 6.4.2.2 Vnffgd information - element"; - } + list vnffgd { + key "id"; - leaf-list vnf-profile-id { - type leafref { - path "../../df/vnf-profile/id"; - } - description - "References the VnfProfile of a constituent VNF."; - reference - "GS NFV IFA014: Section 6.4.2.2 Vnffgd information + description + "Provides the descriptors of the applicable forwarding + graphs."; + reference + "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor + information element"; + + leaf id { + type string; + description + "Identifier of this Vnffgd information element. It + uniquely identifies a VNFFGD."; + reference + "GS NFV IFA014: Section 6.4.2.2 Vnffgd information element"; + } + + leaf-list vnf-profile-id { + type leafref { + path "../../df/vnf-profile/id"; } + description + "References the VnfProfile of a constituent VNF."; + reference + "GS NFV IFA014: Section 6.4.2.2 Vnffgd information + element"; + } - leaf-list pnf-profile-id { - type leafref { - path "../../df/pnf-profile/id"; - } - description - "References the PnfProfile of a constituent PNF."; - reference - "GS NFV IFA014: Section 6.4.2.2 Vnffgd information - element"; + leaf-list pnf-profile-id { + type leafref { + path "../../df/pnf-profile/id"; } + description + "References the PnfProfile of a constituent PNF."; + reference + "GS NFV IFA014: Section 6.4.2.2 Vnffgd information + element"; + } - leaf-list nested-ns-profile-id { - type leafref { - path "../../df/ns-profile/id"; - } - description - "References the NsProfile of a nestedNS."; - reference - "GS NFV IFA014: Section 6.4.2.2 Vnffgd information - element"; + leaf-list nested-ns-profile-id { + type leafref { + path "../../df/ns-profile/id"; } + description + "References the NsProfile of a nestedNS."; + reference + "GS NFV IFA014: Section 6.4.2.2 Vnffgd information + element"; + } - leaf virtual-link-profile-id { - type leafref { - path "../../df/virtual-link-profile/id"; - } - description - "References the Virtual Link Profile of a constituent - VL."; - reference - "GS NFV IFA014: Section 6.4.2.2 Vnffgd information - element"; + leaf virtual-link-profile-id { + type leafref { + path "../../df/virtual-link-profile/id"; } + description + "References the Virtual Link Profile of a constituent + VL."; + reference + "GS NFV IFA014: Section 6.4.2.2 Vnffgd information + element"; + } - list cpd-pool { - key "id"; + list cpd-pool { + key "id"; - description - "Describes a pool of descriptors of connection points - attached to one of the constituent VNFs and PNFs and/or - one of the SAPs of the parent NS or of a nested NS."; - reference - "GS NFV IFA014: Section 6.4.2.2 Vnffgd information - element"; + description + "Describes a pool of descriptors of connection points + attached to one of the constituent VNFs and PNFs and/or + one of the SAPs of the parent NS or of a nested NS."; + reference + "GS NFV IFA014: Section 6.4.2.2 Vnffgd information + element"; - leaf id { - type string; - } + leaf id { + type string; + } - choice constituent-base-element-id { - mandatory "true"; - container vnf-profile { - leaf vnf-profile-id { - must ". = deref(../../vnfd-profile-id)" { - } - type leafref { - path "/nfv/nsd/df/vnf-profile/id"; - } + choice constituent-base-element-id { + mandatory "true"; + container vnf-profile { + leaf vnf-profile-id { + must ". = deref(../../vnfd-profile-id)" { + } + type leafref { + path "/nfv/nsds/df/vnf-profile/id"; } } - container pnf-profile { - leaf pnf-profile-id { - must ". = deref(../../pnfd-profile-id)" { - } - type leafref { - path "/nfv/nsd/df/pnf-profile/id"; - } + } + container pnf-profile { + leaf pnf-profile-id { + must ". = deref(../../pnfd-profile-id)" { + } + type leafref { + path "/nfv/nsds/df/pnf-profile/id"; } } - container ns-profile { - leaf ns-profile-id { - must ". = deref(../../ns-profile-id)" { - } - type leafref { - path "/nfv/nsd/df/ns-profile/id"; - } + } + container ns-profile { + leaf ns-profile-id { + must ". = deref(../../ns-profile-id)" { + } + type leafref { + path "/nfv/nsds/df/ns-profile/id"; } } - description - "Reference to the profile of an NS constituent."; - reference - "GS NFV IFA014: Section 6.4.8 CpdInConstituentElement - information element"; } + description + "Reference to the profile of an NS constituent."; + reference + "GS NFV IFA014: Section 6.4.8 CpdInConstituentElement + information element"; + } - choice constituent-cpd-id { - container vnf { - leaf vnfd-id { - must ". = deref(../../vnfd-profile-id)/../vnfd-id" { - } - type leafref { - path "/nfv/vnfd/id"; - } + choice constituent-cpd-id { + container vnf { + leaf vnfd-id { + must ". = deref(../../vnfd-profile-id)/../vnfd-id" { } - leaf cpd-id { - type leafref { - path "deref(../vnfd-id)/../nfv:ext-cpd/nfv:id"; - } + type leafref { + path "/nfv/vnfds/id"; } } - container pnf { - leaf pnfd-id { - must ". = deref(../../pnfd-profile-id)/../pnfd-id" { - } - type leafref { - path "/nfv/pnfd/id"; - } - } - leaf pnf-cpd-id { - type leafref { - path "deref(../pnfd-id)/../nfv:ext-cpd/nfv:id"; - } + leaf cpd-id { + type leafref { + path "deref(../vnfd-id)/../nfv:ext-cpd/nfv:id"; } } - container ns { - leaf nsd-id { - must ". = deref(../../nested-ns-profile-id)/" + - "../nsd-id" { - } - - type leafref { - path "/nfv/nsd/id"; - } + } + container pnf { + leaf pnfd-id { + must ". = deref(../../pnfd-profile-id)/../pnfd-id" { + } + type leafref { + path "/nfv/pnfds/id"; } - leaf sap-cpd-id { - type leafref { - path "deref(../nsd-id)/../nfv:sapd/nfv:id"; - } + } + leaf pnf-cpd-id { + type leafref { + path "deref(../pnfd-id)/../nfv:ext-cpd/nfv:id"; } } - description - "A reference to the descriptor of a connection point - attached to one of the constituent VNFs and PNFs or to - the descriptor of a NS SAP."; - reference - "GS NFV IFA014: Section 6.4.4.2 CpdPool information - element"; } - } + container ns { + leaf nsd-id { + must ". = deref(../../nested-ns-profile-id)/" + + "../nsd-id" { + } - list nfpd { + type leafref { + path "/nfv/nsds/id"; + } + } + leaf sap-cpd-id { + type leafref { + path "deref(../nsd-id)/../nfv:sapd/nfv:id"; + } + } + } + description + "A reference to the descriptor of a connection point + attached to one of the constituent VNFs and PNFs or to + the descriptor of a NS SAP."; + reference + "GS NFV IFA014: Section 6.4.4.2 CpdPool information + element"; + } + } + + list nfpd { + key "id"; + + description + "The network forwarding path associated to the VNFFG."; + reference + "GS NFV IFA014: Section 6.4.2.2 Vnffgd information + element"; + + leaf id { + type string; + description + "Identifies this nfpd information element within a + VNFFGD."; + reference + "GS NFV IFA014: Section 6.4.3.2 Nfpd information + element"; + } + + leaf rule { + type string; + description + "Provides an NFP classification and selection rule. + The rule may be expressed as a criteria constructed + out of atomic assertions linked by Boolean operators + AND, OR and NOT."; + reference + "GS NFV IFA014: Section 6.4.3.2 Nfpd information + element"; + } + + list position-desc-id { key "id"; description - "The network forwarding path associated to the VNFFG."; + "Describes a position in the NFP in terms of one or + more CP profiles and rules for distributing the + traffic among CP and SAP instances created from the + CPD or SAPD associated to these profiles. This shall + be connection point profile, which is either a CPD + associated with the VnfProfile of a constituent VNF, + or a CPD associated with the PnfProfile of a + constituent PNF, or a SAPD associated with the + NsProfile of a nested NS. The related VnfProfile, + PnfProfile and NsProfile shall be included in the + parent VNFFGD."; reference - "GS NFV IFA014: Section 6.4.2.2 Vnffgd information + "GS NFV IFA014: Section 6.4.3.2 Nfpd information element"; leaf id { type string; description - "Identifies this nfpd information element within a - VNFFGD."; - reference - "GS NFV IFA014: Section 6.4.3.2 Nfpd information - element"; - } - - leaf rule { - type string; - description - "Provides an NFP classification and selection rule. - The rule may be expressed as a criteria constructed - out of atomic assertions linked by Boolean operators - AND, OR and NOT."; + "Identifier of this NfpPositionDesc element."; reference - "GS NFV IFA014: Section 6.4.3.2 Nfpd information - element"; + "GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc + information element"; } - list position-desc-id { + list cp-profile-id { key "id"; description - "Describes a position in the NFP in terms of one or - more CP profiles and rules for distributing the - traffic among CP and SAP instances created from the - CPD or SAPD associated to these profiles. This shall - be connection point profile, which is either a CPD - associated with the VnfProfile of a constituent VNF, - or a CPD associated with the PnfProfile of a - constituent PNF, or a SAPD associated with the - NsProfile of a nested NS. The related VnfProfile, - PnfProfile and NsProfile shall be included in the - parent VNFFGD."; + "References the profile of a connection point to be + traversed by the traffic flows matching the criteria. + This shall be a connection point attached to one of + the constituent VNFs and PNFs of the parent VNFFG, + or a SAP of one of the constituent nested NSs of the + parent VNFFG."; reference - "GS NFV IFA014: Section 6.4.3.2 Nfpd information - element"; + "GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc + information element"; leaf id { type string; description - "Identifier of this NfpPositionDesc element."; + "Identifier of this CpProfile information element. + It uniquely identifies a CpProfile."; reference - "GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc + "GS NFV IFA014: Section 6.4.6.2 CpProfile information element"; } - list cp-profile-id { + list constituent-profile-elements { key "id"; description - "References the profile of a connection point to be - traversed by the traffic flows matching the criteria. - This shall be a connection point attached to one of - the constituent VNFs and PNFs of the parent VNFFG, - or a SAP of one of the constituent nested NSs of the - parent VNFFG."; + "Specifies the constituents of the CpProfile."; reference - "GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc + "GS NFV IFA014: Section 6.4.6.2 CpProfile information element"; leaf id { type string; description - "Identifier of this CpProfile information element. - It uniquely identifies a CpProfile."; + "Specifies the constituents of the CpProfile."; reference - "GS NFV IFA014: Section 6.4.6.2 CpProfile - information element"; + "GS NFV IFA014: Section 6.4.7.2 + ConstituentProfileElements information element"; } - list constituent-profile-elements { - key "id"; - + leaf cpd-id { + type string; description - "Specifies the constituents of the CpProfile."; + "References the VNF external CPD for a given + VnfProfile, or the PNF external CPD for a given + PnfProfile, or a NS SAPD for a give NsProfile + identified by the constituentBasedElementId."; reference - "GS NFV IFA014: Section 6.4.6.2 CpProfile - information element"; - - leaf id { - type string; - description - "Specifies the constituents of the CpProfile."; - reference - "GS NFV IFA014: Section 6.4.7.2 - ConstituentProfileElements information element"; - } - - leaf cpd-id { - type string; - description - "References the VNF external CPD for a given - VnfProfile, or the PNF external CPD for a given - PnfProfile, or a NS SAPD for a give NsProfile - identified by the constituentBasedElementId."; - reference - "GS NFV IFA014: Section 6.4.7.2 - ConstituentProfileElements information element"; - } + "GS NFV IFA014: Section 6.4.7.2 + ConstituentProfileElements information element"; } } } } } + } - leaf-list autoscale-rule { + leaf-list autoscale-rule { + type string; + } + list lifecycle-management-script { + key "event"; + leaf event { type string; } - list lifecycle-management-script { - key "event"; - leaf event { - type string; - } - leaf script { - type string; - } + leaf script { + type string; } + } - list df { - min-elements 1; - must "default-instantiation-level or " + - "count(ns-instantiation-level) = 1" { - error-message - "default-instantiation-level must be present if there " + - "multiple instantion-level"; - reference - "GS NFV IFA014: Section 6.3.2.2 NsDf information element"; + list df { + min-elements 1; + must "default-instantiation-level or " + + "count(ns-instantiation-level) = 1" { + error-message + "default-instantiation-level must be present if there " + + "multiple instantion-level"; + reference + "GS NFV IFA014: Section 6.3.2.2 NsDf information element"; + } + + key "id"; + description + "Identifies a DF within the scope of an NSD."; + reference + "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor + information element"; + + leaf id { + type string; + description + "Identifies this NsDf information element. It identifies + a NS DF within the NSD."; + reference + "GS NFV IFA014: Section 6.3.2.2 NsDf information element"; + } + + leaf flavour-key { + type leafref { + path "../monitored-info/id"; } + description + "Assurance parameter against which this flavour is being + described. + The key can be a combination of multiple assurance + parameters with a logical relationship between them. + The parameters should be present as a monitoredInfo + attribute in the NSD."; + reference + "GS NFV IFA014: Section 6.3.2.2 NsDf information element"; + } + + list vnf-profile { + must "min-number-of-instances <= max-number-of-instances"; + must "boolean(../../vnfd-id[.=current()/vnfd-id])" { + error-message "VNFDs in the profile has to be listed as a " + + "dependency of the network service " + + "descriptor."; + } key "id"; description - "Identifies a DF within the scope of an NSD."; + "VNF profile to be used for the NS flavour."; reference - "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor - information element"; + "GS NFV IFA014: Section 6.3.2.2 NsDf information element"; leaf id { type string; description - "Identifies this NsDf information element. It identifies - a NS DF within the NSD."; + "Identifier of this vnfProfile information element. It + uniquely identifies a VnfProfile."; reference - "GS NFV IFA014: Section 6.3.2.2 NsDf information element"; + "GS NFV IFA014: Section 6.3.3.2 VnfProfile information + element"; } - leaf flavour-key { + leaf vnfd-id { + mandatory true; type leafref { - path "../monitored-info/id"; + path "/nfv/vnfds/id"; } description - "Assurance parameter against which this flavour is being - described. + "References a VNFD."; + reference + "GS NFV IFA014: Section 6.3.3.2 VnfProfile information + element"; + } - The key can be a combination of multiple assurance - parameters with a logical relationship between them. - The parameters should be present as a monitoredInfo - attribute in the NSD."; + leaf flavour-id { + mandatory true; + type leafref { + path "deref(../vnfd-id)/../df/id"; + } + description + "Identifies a flavour within the VNFD."; reference - "GS NFV IFA014: Section 6.3.2.2 NsDf information element"; + "GS NFV IFA014: Section 6.3.3.2 VnfProfile information + element"; } - list vnf-profile { - must "min-number-of-instances <= max-number-of-instances"; - must "boolean(../../vnfd-id[.=current()/vnfd-id])" { - error-message "VNFDs in the profile has to be listed as a " + - "dependency of the network service " + - "descriptor."; + leaf instantiation-level { + mandatory true; + type leafref { + path "deref(../flavour-id)/../instantiation-level/id"; } + description + "Identifier of the instantiation level of the VNF DF + to be used for instantiation. If not present, the + default instantiation level as declared in the VNFD + shall be used."; + reference + "GS NFV IFA014: Section 6.3.3.2 VnfProfile information + element"; + } + + leaf min-number-of-instances { + default 1; + type uint16; + description + "Minimum number of instances of the VNF based on this + VNFD that is permitted to exist for this VnfProfile."; + reference + "GS NFV IFA014: Section 6.3.3.2 VnfProfile information + element"; + } + + leaf max-number-of-instances { + default 1; + type uint16; + description + "Maximum number of instances of the VNF based on this + VNFD that is permitted to exist for this VnfProfile."; + reference + "GS NFV IFA014: Section 6.3.3.2 VnfProfile information + element"; + } + + uses local-affinity-or-anti-affinity-rule; + + list affinity-or-anti-affinity-group { key "id"; + description - "VNF profile to be used for the NS flavour."; + "Identifier(s) of the affinity or anti-affinity + group(s) the VnfProfile belongs to."; reference - "GS NFV IFA014: Section 6.3.2.2 NsDf information element"; + "GS NFV IFA014: Section 6.3.3.2 VnfProfile information + element"; leaf id { - type string; - description - "Identifier of this vnfProfile information element. It - uniquely identifies a VnfProfile."; - reference - "GS NFV IFA014: Section 6.3.3.2 VnfProfile information - element"; - } - - leaf vnfd-id { - mandatory true; type leafref { - path "/nfv/vnfd/id"; + path "../../../affinity-or-anti-affinity-group/id"; } - description - "References a VNFD."; - reference - "GS NFV IFA014: Section 6.3.3.2 VnfProfile information - element"; } + } - leaf flavour-id { - mandatory true; - type leafref { - path "deref(../vnfd-id)/../df/id"; - } - description - "Identifies a flavour within the VNFD."; - reference - "GS NFV IFA014: Section 6.3.3.2 VnfProfile information + list virtual-link-connectivity { + key "virtual-link-profile-id"; + + description + "Defines the connection information of the VNF, it + contains connection relationship between a VNF + connection point and a NS Virtual Link."; + reference + "GS NFV IFA014: Section 6.3.3.2 VnfProfile information element"; - } - leaf instantiation-level { - mandatory true; + leaf virtual-link-profile-id { type leafref { - path "deref(../flavour-id)/../instantiation-level/id"; + path "../../../virtual-link-profile/id"; } description - "Identifier of the instantiation level of the VNF DF - to be used for instantiation. If not present, the - default instantiation level as declared in the VNFD - shall be used."; - reference - "GS NFV IFA014: Section 6.3.3.2 VnfProfile information - element"; - } - - leaf min-number-of-instances { - default 1; - type uint16; - description - "Minimum number of instances of the VNF based on this - VNFD that is permitted to exist for this VnfProfile."; - reference - "GS NFV IFA014: Section 6.3.3.2 VnfProfile information - element"; - } - - leaf max-number-of-instances { - default 1; - type uint16; - description - "Maximum number of instances of the VNF based on this - VNFD that is permitted to exist for this VnfProfile."; + "Reference an NS VL profile."; reference - "GS NFV IFA014: Section 6.3.3.2 VnfProfile information - element"; + "GS NFV IFA014: Section 6.3.7.2, NsVirutalLinkConnectivity + information element."; } - uses local-affinity-or-anti-affinity-rule; - - list affinity-or-anti-affinity-group { - key "id"; + list constituent-cpd-id { + key "constituent-base-element-id"; description - "Identifier(s) of the affinity or anti-affinity - group(s) the VnfProfile belongs to."; + "Describes a connection point on a VNF/PNF or a SAP + which connects to virtual links instantiated from + the profile identified in the virtualLinkProfileId + attribute."; reference - "GS NFV IFA014: Section 6.3.3.2 VnfProfile information - element"; + "GS NFV IFA014: Section 6.3.7 + NsVirtualLinkConnectivity information element"; - leaf id { + leaf constituent-base-element-id { type leafref { - path "../../../affinity-or-anti-affinity-group/id"; + path "../../../id"; } + description + "Reference to the profile of an NS constituent."; + reference + "GS NFV IFA014: Section 6.4.8 + CpdInConstituentElement information element"; } - } - - list virtual-link-connectivity { - key "virtual-link-profile-id"; - - description - "Defines the connection information of the VNF, it - contains connection relationship between a VNF - connection point and a NS Virtual Link."; - reference - "GS NFV IFA014: Section 6.3.3.2 VnfProfile information - element"; - leaf virtual-link-profile-id { + leaf constituent-cpd-id { type leafref { - path "../../../virtual-link-profile/id"; + path "deref(../../../vnfd-id)/../nfv:ext-cpd/nfv:id"; } description - "Reference an NS VL profile."; + "A reference to the descriptor of a connection point + attached to one of the constituent VNFs and PNFs or to + the descriptor of a NS SAP."; reference - "GS NFV IFA014: Section 6.3.7.2, NsVirutalLinkConnectivity - information element."; + "GS NFV IFA014: Section 6.4.4.2 CpdPool information + element"; } + } + } + } - list constituent-cpd-id { - key "constituent-base-element-id"; - - description - "Describes a connection point on a VNF/PNF or a SAP - which connects to virtual links instantiated from - the profile identified in the virtualLinkProfileId - attribute."; - reference - "GS NFV IFA014: Section 6.3.7 - NsVirtualLinkConnectivity information element"; + list pnf-profile { + key "id"; + must "boolean(../../pnfd-id[.=current()/pnfd-id])" { + error-message "PNFDs in the profile has to be listed as a " + + "dependency of the network service " + + "descriptor."; + } - leaf constituent-base-element-id { - type leafref { - path "../../../id"; - } - description - "Reference to the profile of an NS constituent."; - reference - "GS NFV IFA014: Section 6.4.8 - CpdInConstituentElement information element"; - } + leaf id { + type string; + description + "Identifier of this PnfProfile information element. + It uniquely identifies a PnfProfile."; + reference + "GS NFV IFA014: Section 6.3.6.2 PnfProfile information + element"; + } - leaf constituent-cpd-id { - type leafref { - path "deref(../../../vnfd-id)/../nfv:ext-cpd/nfv:id"; - } - description - "A reference to the descriptor of a connection point - attached to one of the constituent VNFs and PNFs or to - the descriptor of a NS SAP."; - reference - "GS NFV IFA014: Section 6.4.4.2 CpdPool information - element"; - } - } + leaf pnfd-id { + type leafref { + path "/nfv/pnfds/id"; } + description + "References a PNFD."; + reference + "GS NFV IFA014: Section 6.3.6.2 PnfProfile information + element"; } - list pnf-profile { - key "id"; - must "boolean(../../pnfd-id[.=current()/pnfd-id])" { - error-message "PNFDs in the profile has to be listed as a " + - "dependency of the network service " + - "descriptor."; - } + list virtual-link-connectivity { + key "virtual-link-profile-id"; - leaf id { - type string; - description - "Identifier of this PnfProfile information element. - It uniquely identifies a PnfProfile."; - reference - "GS NFV IFA014: Section 6.3.6.2 PnfProfile information - element"; - } + description + "Defines the connection information of the PNF, it + contains connection relationship between a PNF + connection point and a NS Virtual Link."; + reference + "GS NFV IFA014: Section 6.3.6.2 PnfProfile information + element"; - leaf pnfd-id { + leaf virtual-link-profile-id { type leafref { - path "/nfv/pnfd/id"; + path "../../../virtual-link-profile/id"; } description - "References a PNFD."; + "Reference an NS VL profile."; reference - "GS NFV IFA014: Section 6.3.6.2 PnfProfile information - element"; + "GS NFV IFA014: Section 6.3.7.2, NsVirutalLinkConnectivity + information element."; } - list virtual-link-connectivity { - key "virtual-link-profile-id"; + list constituent-cpd-id { + key "constituent-base-element-id"; description - "Defines the connection information of the PNF, it - contains connection relationship between a PNF - connection point and a NS Virtual Link."; + "Describes a connection point on a VNF/PNF or a SAP + which connects to virtual links instantiated from + the profile identified in the virtualLinkProfileId + attribute."; reference - "GS NFV IFA014: Section 6.3.6.2 PnfProfile information - element"; + "GS NFV IFA014: Section 6.3.7 + NsVirtualLinkConnectivity information element"; - leaf virtual-link-profile-id { + leaf constituent-base-element-id { type leafref { - path "../../../virtual-link-profile/id"; + path "../../../id"; } description - "Reference an NS VL profile."; + "Reference to the profile of an NS constituent."; reference - "GS NFV IFA014: Section 6.3.7.2, NsVirutalLinkConnectivity - information element."; + "GS NFV IFA014: Section 6.4.8 + CpdInConstituentElement information element"; } - list constituent-cpd-id { - key "constituent-base-element-id"; - + leaf constituent-cpd-id { + type leafref { + path "deref(../../../pnfd-id)/../nfv:ext-cpd/nfv:id"; + } description - "Describes a connection point on a VNF/PNF or a SAP - which connects to virtual links instantiated from - the profile identified in the virtualLinkProfileId - attribute."; + "A reference to the descriptor of a connection point + attached to one of the constituent VNFs and PNFs or to + the descriptor of a NS SAP."; reference - "GS NFV IFA014: Section 6.3.7 - NsVirtualLinkConnectivity information element"; - - leaf constituent-base-element-id { - type leafref { - path "../../../id"; - } - description - "Reference to the profile of an NS constituent."; - reference - "GS NFV IFA014: Section 6.4.8 - CpdInConstituentElement information element"; - } - - leaf constituent-cpd-id { - type leafref { - path "deref(../../../pnfd-id)/../nfv:ext-cpd/nfv:id"; - } - description - "A reference to the descriptor of a connection point - attached to one of the constituent VNFs and PNFs or to - the descriptor of a NS SAP."; - reference - "GS NFV IFA014: Section 6.4.4.2 CpdPool information - element"; - } + "GS NFV IFA014: Section 6.4.4.2 CpdPool information + element"; } } } + } - list virtual-link-profile { - key "id"; + list virtual-link-profile { + key "id"; + description + "VL profile to be used for the NS flavour."; + reference + "GS NFV IFA014: Section 6.3.2.2 NsDf information element"; + + leaf id { + type string; description - "VL profile to be used for the NS flavour."; + "Uniquely identifies this VirtualLinkProfile + information element."; reference - "GS NFV IFA014: Section 6.3.2.2 NsDf information element"; + "GS NFV IFA014: Section 6.3.2.2 VirtualLinkProfile + information element"; + } - leaf id { - type string; - description - "Uniquely identifies this VirtualLinkProfile - information element."; - reference - "GS NFV IFA014: Section 6.3.2.2 VirtualLinkProfile - information element"; + leaf virtual-link-desc-id { + mandatory true; + type leafref { + path "../../../virtual-link-desc/id"; } + description + "Uniquely references a VLD."; + reference + "GS NFV IFA014: Section 6.3.2.2 VirtualLinkProfile + information element"; + } - leaf virtual-link-desc-id { - mandatory true; - type leafref { - path "../../../virtual-link-desc/id"; - } - description - "Uniquely references a VLD."; - reference - "GS NFV IFA014: Section 6.3.2.2 VirtualLinkProfile - information element"; + leaf flavour-id { + mandatory true; + type leafref { + path "deref(../virtual-link-desc-id)/../df/id"; } + description + "Identifies a flavour within the VLD."; + reference + "GS NFV IFA014: Section 6.3.2.2 VirtualLinkProfile + information element"; + } - leaf flavour-id { - mandatory true; + uses local-affinity-or-anti-affinity-rule; + + list affinity-or-anti-affinity-group { + key "id"; + + description + "Identifies an affinity or anti-affinity group the + VLs instantiated according to the VlProfile belong + to."; + reference + "GS NFV IFA014: Section 6.3.4.2 VirtualLinkProfile + information element"; + + leaf id { type leafref { - path "deref(../virtual-link-desc-id)/../df/id"; + path "../../../affinity-or-anti-affinity-group/id"; } - description - "Identifies a flavour within the VLD."; - reference - "GS NFV IFA014: Section 6.3.2.2 VirtualLinkProfile - information element"; } + } - uses local-affinity-or-anti-affinity-rule; - - list affinity-or-anti-affinity-group { - key "id"; - - description - "Identifies an affinity or anti-affinity group the - VLs instantiated according to the VlProfile belong - to."; - reference - "GS NFV IFA014: Section 6.3.4.2 VirtualLinkProfile - information element"; + container max-bitrate-requirements { + description + "Specifies the maximum bitrate requirements for a VL + instantiated according to this profile."; + reference + "GS NFV IFA014: Section 6.3.4.2 VirtualLinkProfile + information element"; + uses link-bitrate-requirements; + } + container min-bitrate-requirements { + description + "Specifies the minimum bitrate requirements for a VL + instantiated according to this profile."; + reference + "GS NFV IFA014: Section 6.3.4.2 VirtualLinkProfile + information element"; + uses link-bitrate-requirements; + } + } - leaf id { - type leafref { - path "../../../affinity-or-anti-affinity-group/id"; - } - } - } + list scaling-aspect { + key "id"; - container max-bitrate-requirements { - description - "Specifies the maximum bitrate requirements for a VL - instantiated according to this profile."; - reference - "GS NFV IFA014: Section 6.3.4.2 VirtualLinkProfile - information element"; - uses link-bitrate-requirements; - } - container min-bitrate-requirements { - description - "Specifies the minimum bitrate requirements for a VL - instantiated according to this profile."; - reference - "GS NFV IFA014: Section 6.3.4.2 VirtualLinkProfile - information element"; - uses link-bitrate-requirements; - } + description + "The scaling aspects supported by this DF of the NS."; + reference + "GS NFV IFA014: Section 6.3.2.2 NsDf information element"; + + leaf id { + type string; + description + "Identifier of this NsScalingAspect information element. + It uniquely identifies the NS scaling aspect in an + NSD."; + reference + "GS NFV IFA014: Section 6.7.2.2 NsScalingAspect + information element"; } - list scaling-aspect { - key "id"; + leaf name { + type string; + description + "Provides a human readable name of the NS scaling + aspect."; + reference + "GS NFV IFA014: Section 6.7.2.2 NsScalingAspect + information element"; + } + leaf description { + type string; description - "The scaling aspects supported by this DF of the NS."; + "Provides a human readable description of the NS + scaling aspect."; reference - "GS NFV IFA014: Section 6.3.2.2 NsDf information element"; + "GS NFV IFA014: Section 6.7.2.2 NsScalingAspect + information element"; + } - leaf id { - type string; - description - "Identifier of this NsScalingAspect information element. - It uniquely identifies the NS scaling aspect in an - NSD."; - reference - "GS NFV IFA014: Section 6.7.2.2 NsScalingAspect - information element"; + leaf scaling-level { + type leafref { + path "../../ns-instantiation-level/id"; } + description + "Describes the details of an NS level."; + reference + "GS NFV IFA014: Section 6.7.2.2 NsScalingAspect + information element"; + } + } - leaf name { - type string; - description - "Provides a human readable name of the NS scaling - aspect."; - reference - "GS NFV IFA014: Section 6.7.2.2 NsScalingAspect - information element"; - } + list affinity-or-anti-affinity-group { + key "id"; - leaf description { - type string; - description - "Provides a human readable description of the NS - scaling aspect."; - reference - "GS NFV IFA014: Section 6.7.2.2 NsScalingAspect - information element"; - } + description + "Specifies affinity or anti-affinity relationship + applicable between the VNF instances created using + different VNFDs, the Virtual Link instances created + using different NsVirtualLinkDescs or the nested NS + instances created using different NSDs in the same + affinity or anti-affinity group."; + reference + "GS NFV IFA014: Section 6.3.2.2 NsDf information element"; - leaf scaling-level { - type leafref { - path "../../ns-instantiation-level/id"; - } - description - "Describes the details of an NS level."; - reference - "GS NFV IFA014: Section 6.7.2.2 NsScalingAspect - information element"; - } + leaf id { + type string; + description + "Identifier of Identifier of this + AffinityOrAntiAffinityGroup information element."; + reference + "GS NFV IFA014: Section 6.3.5.2 AffinityOrAntiAffinity + information element"; } - list affinity-or-anti-affinity-group { - key "id"; + leaf affinity-type { + mandatory true; + type affinity-type; + description + "Specifies the type of relationship that the members of + the group have: 'affinity' or 'anti-affinity.'"; + reference + "GS NFV IFA014: Section 6.3.5.2 AffinityOrAntiAffinity + information element"; + } + leaf affinity-scope { + mandatory true; + type affinity-scope; description - "Specifies affinity or anti-affinity relationship - applicable between the VNF instances created using - different VNFDs, the Virtual Link instances created - using different NsVirtualLinkDescs or the nested NS - instances created using different NSDs in the same - affinity or anti-affinity group."; + "Specifies the scope of the affinity or anti-affinity + relationship e.g. a NFVI node, an NFVI PoP, etc."; reference - "GS NFV IFA014: Section 6.3.2.2 NsDf information element"; + "GS NFV IFA014: Section 6.3.5.2 AffinityOrAntiAffinity + information element"; + } + } - leaf id { - type string; - description - "Identifier of Identifier of this - AffinityOrAntiAffinityGroup information element."; - reference - "GS NFV IFA014: Section 6.3.5.2 AffinityOrAntiAffinity - information element"; - } + list ns-instantiation-level { + min-elements 1; + key "id"; - leaf affinity-type { - mandatory true; - type affinity-type; + description + "Describes the details of an NS level."; + reference + "GS NFV IFA014: Section 6.3.2.2 NsDf information element + GS NFV IFA014: Section 6.7.2.2 NsScaling information + element"; + + leaf id { + type string; + description + "Identifier of this NsLevel information element. It + uniquely identifies an NS level within the DF."; + reference + "GS NFV IFA014: Section 6.3.9.2 NsLevel information + element"; + } + + leaf description { + type string; + description + "Human readable description of the NS level."; + reference + "GS NFV IFA014: Section 6.3.9.2 NsLevel information + element"; + } + + list vnf-to-level-mapping { + key "vnf-profile-id"; + + description + "Specifies the profile of the VNFs involved in this NS + level and, for each of them, the required number of + instances."; + reference + "GS NFV IFA014: Section 6.3.9.2 NsLevel information + element"; + + leaf vnf-profile-id { + type leafref { + path "../../../vnf-profile/id"; + } description - "Specifies the type of relationship that the members of - the group have: 'affinity' or 'anti-affinity.'"; + "Identifies the profile to be used for a VNF + involved in an NS level."; reference - "GS NFV IFA014: Section 6.3.5.2 AffinityOrAntiAffinity + "GS NFV IFA014: Section 6.7.4.2 VnfToLevelMapping information element"; } - leaf affinity-scope { - mandatory true; - type affinity-scope; + leaf number-of-instances { + default 1; + type uint32; description - "Specifies the scope of the affinity or anti-affinity - relationship e.g. a NFVI node, an NFVI PoP, etc."; + "Specifies the number of VNF instances required for + an NS level."; reference - "GS NFV IFA014: Section 6.3.5.2 AffinityOrAntiAffinity + "GS NFV IFA014: Section 6.7.4.2 VnfToLevelMapping information element"; } } - list ns-instantiation-level { - min-elements 1; - key "id"; + list virtual-link-to-level-mapping { + key "virtual-link-profile-id"; description - "Describes the details of an NS level."; + "Specifies the profile of the VLs involved in this NS + level and, for each of them, the needed bandwidth."; reference - "GS NFV IFA014: Section 6.3.2.2 NsDf information element - GS NFV IFA014: Section 6.7.2.2 NsScaling information + "GS NFV IFA014: Section 6.3.9.2 NsLevel information element"; - leaf id { - type string; + leaf virtual-link-profile-id { + type leafref { + path "../../../virtual-link-profile/id"; + } description - "Identifier of this NsLevel information element. It - uniquely identifies an NS level within the DF."; + "Identifies the profile to be used for a VL involved + in an NS level."; reference - "GS NFV IFA014: Section 6.3.9.2 NsLevel information - element"; + "GS NFV IFA014: Section 6.7.5.2 + VirtualLinkToLevelMapping information element"; } - leaf description { - type string; - description - "Human readable description of the NS level."; - reference - "GS NFV IFA014: Section 6.3.9.2 NsLevel information - element"; - } + uses link-bitrate-requirements; + } + + list ns-to-level-mapping { + key "ns-profile-id"; - list vnf-to-level-mapping { - key "vnf-profile-id"; + description + "Specifies the profile of the nested NSs involved in + this NS level and, for each of them, the required + number of instances."; + reference + "GS NFV IFA014: Section 6.3.9.2 NsLevel information + element"; + leaf ns-profile-id { + type leafref { + path "../../../ns-profile/id"; + } description - "Specifies the profile of the VNFs involved in this NS - level and, for each of them, the required number of - instances."; + "Identifies the profile to be used for a nested NS + involved in the NS level."; reference - "GS NFV IFA014: Section 6.3.9.2 NsLevel information + "GS NFV IFA014: Section 6.7.6.2 NsToLevel information element"; - - leaf vnf-profile-id { - type leafref { - path "../../../vnf-profile/id"; - } - description - "Identifies the profile to be used for a VNF - involved in an NS level."; - reference - "GS NFV IFA014: Section 6.7.4.2 VnfToLevelMapping - information element"; - } - - leaf number-of-instances { - default 1; - type uint32; - description - "Specifies the number of VNF instances required for - an NS level."; - reference - "GS NFV IFA014: Section 6.7.4.2 VnfToLevelMapping - information element"; - } } - list virtual-link-to-level-mapping { - key "virtual-link-profile-id"; - + leaf number-of-instances { + default 1; + type uint32; description - "Specifies the profile of the VLs involved in this NS - level and, for each of them, the needed bandwidth."; + "Specifies the number of nested NS instances required + for the NS scale level."; reference - "GS NFV IFA014: Section 6.3.9.2 NsLevel information + "GS NFV IFA014: Section 6.7.6.2 NsToLevel information element"; + } + } - leaf virtual-link-profile-id { - type leafref { - path "../../../virtual-link-profile/id"; - } - description - "Identifies the profile to be used for a VL involved - in an NS level."; - reference - "GS NFV IFA014: Section 6.7.5.2 - VirtualLinkToLevelMapping information element"; - } + 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 " + + "vnf-to-level-mapping, " + + "virtual-link-to-level-mapping and " + + "ns-to-level-mapping shall be present."; + description + "At least one attribute between vnfToLevelMapping, + vlirtualLinkToLevelMapping and nsToLevelMapping shall + be present."; + reference + "GS NFV IFA014: Section 6.3.9.2 NsLevel information + element"; + } + } - uses link-bitrate-requirements; - } + leaf default-instantiation-level { + type leafref { + path "../ns-instantiation-level/id"; + } + description + "Identifies the NS level which represents the default NS + instantiation level for this DF. It shall be present if + there are multiple 'nsIinstantiationLevel' entries."; + reference + "GS NFV IFA014: Section 6.3.2.2 NsDf information element"; + } - list ns-to-level-mapping { - key "ns-profile-id"; + list ns-profile { + must "min-number-of-instances <= max-number-of-instances" { + error-message + "min-number-of-instances has to be less than or equal" + + "max-number-of-instances."; + } + must "boolean(../../nested-nsd-id[.=current()/nsd-id])" { + error-message + "PNFDs in the profile has to be listed as a " + + "dependency of the network service " + + "descriptor."; + } + key "id"; - description - "Specifies the profile of the nested NSs involved in - this NS level and, for each of them, the required - number of instances."; - reference - "GS NFV IFA014: Section 6.3.9.2 NsLevel information - element"; + description + "Specifies a NS Profile supported by this NS DF."; + reference + "GS NFV IFA014: Section 6.3.2.2 NsDf information element"; - leaf ns-profile-id { - type leafref { - path "../../../ns-profile/id"; - } - description - "Identifies the profile to be used for a nested NS - involved in the NS level."; - reference - "GS NFV IFA014: Section 6.7.6.2 NsToLevel information - element"; - } + leaf id { + type string; + description + "Identifies an NS profile."; + reference + "GS NFV IFA014: Section 6.3.11.2 NsProfile information + element"; + } - leaf number-of-instances { - default 1; - type uint32; - description - "Specifies the number of nested NS instances required - for the NS scale level."; - reference - "GS NFV IFA014: Section 6.7.6.2 NsToLevel information - element"; - } + leaf nsd-id { + mandatory true; + type leafref { + path "/nfv/nsds/id"; } + description + "Identifies the NSD applicable to NS instantiated + according to this profile."; + reference + "GS NFV IFA014: Section 6.3.11.2 NsProfile information + element"; + } - 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 " + - "vnf-to-level-mapping, " + - "virtual-link-to-level-mapping and " + - "ns-to-level-mapping shall be present."; - description - "At least one attribute between vnfToLevelMapping, - vlirtualLinkToLevelMapping and nsToLevelMapping shall - be present."; - reference - "GS NFV IFA014: Section 6.3.9.2 NsLevel information - element"; + leaf ns-df-id { + mandatory true; + type leafref { + path "deref(../nsd-id)/../df/id"; } + description + "Identifies the applicable network service DF within + the scope of the NSD."; + reference + "GS NFV IFA014: Section 6.3.11.2 NsProfile information + element"; } - leaf default-instantiation-level { + leaf instantiation-level-id { + mandatory true; type leafref { - path "../ns-instantiation-level/id"; + path "deref(../ns-df-id)/../ns-instantiation-level/id"; } description - "Identifies the NS level which represents the default NS - instantiation level for this DF. It shall be present if - there are multiple 'nsIinstantiationLevel' entries."; + "Identifies the NS level within the referenced NS DF to + be used in the context of the parent NS instantiation. + If not present, the default NS instantiation level as + declared in the referenced NSD shall be used."; reference - "GS NFV IFA014: Section 6.3.2.2 NsDf information element"; + "GS NFV IFA014: Section 6.3.11.2 NsProfile information + element"; } - list ns-profile { - must "min-number-of-instances <= max-number-of-instances" { - error-message - "min-number-of-instances has to be less than or equal" + - "max-number-of-instances."; - } - must "boolean(../../nested-nsd-id[.=current()/nsd-id])" { - error-message "PNFDs in the profile has to be listed as a " + - "dependency of the network service " + - "descriptor."; - } + leaf min-number-of-instances { + type uint16; + default 1; + description + "Minimum number of nested NS instances based on the + referenced NSD that is permitted to exist for this + NsProfile."; + reference + "GS NFV IFA014: Section 6.3.11.2 NsProfile information + element"; + } + + leaf max-number-of-instances { + type uint16; + default 1; + description + "Maximum number of nested NS instances based on the + referenced NSD that is permitted to exist for this + NsProfile."; + reference + "GS NFV IFA014: Section 6.3.11.2 NsProfile information + element"; + } + + list affinity-or-anti-affinity-group-id { key "id"; description - "Specifies a NS Profile supported by this NS DF."; + "Identifies an affinity or anti-affinity group the NSs + created according to this NsProfile belongs to."; reference - "GS NFV IFA014: Section 6.3.2.2 NsDf information element"; + "GS NFV IFA014: Section 6.3.11.2 NsProfile information + element"; leaf id { - type string; - description - "Identifies an NS profile."; - reference - "GS NFV IFA014: Section 6.3.11.2 NsProfile information - element"; - } - leaf nsd-id { - mandatory true; type leafref { - path "/nfv/nsd/id"; + path "../../../affinity-or-anti-affinity-group/id"; } - description - "Identifies the NSD applicable to NS instantiated - according to this profile."; - reference - "GS NFV IFA014: Section 6.3.11.2 NsProfile information - element"; } - leaf ns-df-id { - mandatory true; - type leafref { - path "deref(../nsd-id)/../df/id"; - } - description - "Identifies the applicable network service DF within - the scope of the NSD."; - reference - "GS NFV IFA014: Section 6.3.11.2 NsProfile information - element"; - } - leaf instantiation-level-id { - mandatory true; + } + + list virtual-link-connectivity { + key "virtual-link-profile-id"; + + leaf virtual-link-profile-id { type leafref { - path "deref(../ns-df-id)/../ns-instantiation-level/id"; + path "../../../virtual-link-profile/id"; } description - "Identifies the NS level within the referenced NS DF to - be used in the context of the parent NS instantiation. - If not present, the default NS instantiation level as - declared in the referenced NSD shall be used."; - reference - "GS NFV IFA014: Section 6.3.11.2 NsProfile information - element"; - } - leaf min-number-of-instances { - type uint16; - default 1; - description - "Minimum number of nested NS instances based on the - referenced NSD that is permitted to exist for this - NsProfile."; - reference - "GS NFV IFA014: Section 6.3.11.2 NsProfile information - element"; - } - leaf max-number-of-instances { - type uint16; - default 1; - description - "Maximum number of nested NS instances based on the - referenced NSD that is permitted to exist for this - NsProfile."; + "Reference an NS VL profile."; reference - "GS NFV IFA014: Section 6.3.11.2 NsProfile information - element"; + "GS NFV IFA014: Section 6.3.7.2, NsVirutalLinkConnectivity + information element."; } - list affinity-or-anti-affinity-group-id { - key "id"; + list constituent-cpd-id { + key "constituent-base-element-id"; description - "Identifies an affinity or anti-affinity group the NSs - created according to this NsProfile belongs to."; + "Describes a connection point on a VNF/PNF or a SAP + which connects to virtual links instantiated from + the profile identified in the virtualLinkProfileId + attribute."; reference - "GS NFV IFA014: Section 6.3.11.2 NsProfile information - element"; + "GS NFV IFA014: Section 6.3.7 + NsVirtualLinkConnectivity information element"; - leaf id { + leaf constituent-base-element-id { type leafref { - path "../../../affinity-or-anti-affinity-group/id"; + path "../../../id"; } + description + "Reference to the profile of an NS constituent."; + reference + "GS NFV IFA014: Section 6.4.8 + CpdInConstituentElement information element"; } - } - - list virtual-link-connectivity { - key "virtual-link-profile-id"; - leaf virtual-link-profile-id { + leaf constituent-cpd-id { type leafref { - path "../../../virtual-link-profile/id"; + path "deref(../../../nsd-id)/../nfv:sapd/nfv:id"; } description - "Reference an NS VL profile."; + "A reference to the descriptor of a connection point + attached to one of the constituent VNFs and PNFs or to + the descriptor of a NS SAP."; reference - "GS NFV IFA014: Section 6.3.7.2, NsVirutalLinkConnectivity - information element."; + "GS NFV IFA014: Section 6.4.4.2 CpdPool information + element"; } + } + } + } - list constituent-cpd-id { - key "constituent-base-element-id"; + list dependencies { + key "id"; - description - "Describes a connection point on a VNF/PNF or a SAP - which connects to virtual links instantiated from - the profile identified in the virtualLinkProfileId - attribute."; - reference - "GS NFV IFA014: Section 6.3.7 - NsVirtualLinkConnectivity information element"; + description + "Specifies the order in which instances of the VNFs and/or + nested NSs have to be created."; + reference + "GS NFV IFA014: Section 6.3.2.2 NsDf information element"; - leaf constituent-base-element-id { - type leafref { - path "../../../id"; - } - description - "Reference to the profile of an NS constituent."; - reference - "GS NFV IFA014: Section 6.4.8 - CpdInConstituentElement information element"; - } + leaf id { + type string; + } - leaf constituent-cpd-id { - type leafref { - path "deref(../../../nsd-id)/../nfv:sapd/nfv:id"; - } - description - "A reference to the descriptor of a connection point - attached to one of the constituent VNFs and PNFs or to - the descriptor of a NS SAP."; - reference - "GS NFV IFA014: Section 6.4.4.2 CpdPool information - element"; - } + choice primary-id { + leaf primary-vnf-profile { + type leafref { + path "../../vnf-profile/vnfd-id"; } - } - } - - list dependencies { - key "id"; - + } + leaf primary-ns-profile { + type leafref { + path "../../ns-profile/nsd-id"; + } + } description - "Specifies the order in which instances of the VNFs and/or - nested NSs have to be created."; + "References a VnfProfile or NsProfile."; reference - "GS NFV IFA014: Section 6.3.2.2 NsDf information element"; + "GS NFV IFA014: Section 6.3.12.2 Dependencies + information element"; + } - leaf id { - type string; + choice secondary-id { + leaf secondary-vnf-profile { + type leafref { + path "../../vnf-profile/vnfd-id"; + } } - choice primary-id { - leaf primary-vnf-profile { - type leafref { - path "../../vnf-profile/vnfd-id"; - } + leaf secondary-ns-profile { + type leafref { + path "../../ns-profile/nsd-id"; } - leaf primary-ns-profile { - type leafref { - path "../../ns-profile/nsd-id"; - } + } + description + "References a VnfProfile or NsProfile."; + reference + "GS NFV IFA014: Section 6.3.12.2 Dependencies + information element"; + } + } + + list monitored-info { + key "id"; + + leaf id { + type string; + } + + container vnf-indicator-info { + leaf vnfd-id { + type leafref { + path "/nfv/vnfds/id"; } description - "References a VnfProfile or NsProfile."; + "Identifies a VNFD."; reference - "GS NFV IFA014: Section 6.3.12.2 Dependencies + "GS NFV IFA014: Section 6.2.7.2 VnfIndicatorData information element"; } - choice secondary-id { - leaf secondary-vnf-profile { - type leafref { - path "../../vnf-profile/vnfd-id"; - } - } - leaf secondary-ns-profile { - type leafref { - path "../../ns-profile/nsd-id"; - } + + leaf vnf-indicator { + mandatory true; + type leafref { + path "deref(../vnfd-id)/../indicator/id"; } description - "References a VnfProfile or NsProfile."; + "Identifies a VNF indicator within the VNFD."; reference - "GS NFV IFA014: Section 6.3.12.2 Dependencies + "GS NFV IFA014: Section 6.2.7.2 VnfIndicatorData information element"; } + description + "Uniquely identifies this VNF Indicator information + element."; + reference + "GS NFV IFA014: Section 6.2.6.2 MonitoredData + information element"; } - list monitored-info { - key "id"; - + // monitoringParameter in IFA014 is defined by MonitoredData + // whereas monitoringParameter in IFA011 is defined by + // MonitoringParameter. + container monitoring-parameter { leaf id { type string; + description + "Unique identifier of this monitoring parameter + information element."; + reference + "GS NFV IFA014: Section 6.2.8.2 MonitoringParameter + information element"; } - container vnf-indicator-info { - leaf vnfd-id { - type leafref { - path "/nfv/vnfd/id"; - } - description - "Identifies a VNFD."; - reference - "GS NFV IFA014: Section 6.2.7.2 VnfIndicatorData - information element"; - } - leaf vnf-indicator { - mandatory true; - type leafref { - path "deref(../vnfd-id)/../indicator/id"; - } - description - "Identifies a VNF indicator within the VNFD."; - reference - "GS NFV IFA014: Section 6.2.7.2 VnfIndicatorData - information element"; - } + leaf name { + type string; description - "Uniquely identifies this VNF Indicator information - element."; + "Human readable name of the monitoring parameter."; reference - "GS NFV IFA014: Section 6.2.6.2 MonitoredData + "GS NFV IFA014: Section 6.2.8.2 MonitoringParameter information element"; } - // monitoringParameter in IFA014 is defined by MonitoredData - // whereas monitoringParameter in IFA011 is defined by - // MonitoringParameter. - container monitoring-parameter { - leaf id { - type string; - description - "Unique identifier of this monitoring parameter - information element."; - reference - "GS NFV IFA014: Section 6.2.8.2 MonitoringParameter - information element"; - } - - leaf name { - type string; - description - "Human readable name of the monitoring parameter."; - reference - "GS NFV IFA014: Section 6.2.8.2 MonitoringParameter - information element"; - } - - leaf performance-metric { - mandatory true; - type string; - description - "Defines the virtualised resource-related performance - metric."; - reference - "GS NFV IFA014: Section 6.2.8.2 MonitoringParameter - information element"; - } + leaf performance-metric { + mandatory true; + type string; + description + "Defines the virtualised resource-related performance + metric."; + reference + "GS NFV IFA014: Section 6.2.8.2 MonitoringParameter + information element"; + } - leaf collection-period { - type string; - description - "An attribute that describes the periodicity at - which to collect the performance information."; - reference - "GS NFV IFA014: Section 6.2.8.2 MonitoringParameter - information element"; - } + leaf collection-period { + type string; + description + "An attribute that describes the periodicity at + which to collect the performance information."; + reference + "GS NFV IFA014: Section 6.2.8.2 MonitoringParameter + information element"; } } } - uses security-parameters; } + uses security-parameters; } } diff --git a/src/yang/etsi-nfv-pnf.yang b/src/yang/etsi-nfv-pnf.yang index 48499039c3757431b4ed89d5a83bccc246d73d3e..e2cc14a1a073ee13b76b78cab9e0ef861a0fee4a 100644 --- a/src/yang/etsi-nfv-pnf.yang +++ b/src/yang/etsi-nfv-pnf.yang @@ -31,87 +31,91 @@ submodule etsi-nfv-pnf { reference "GS NFV-IFA014: Section 6.6.2, Pnfd information element"; - list pnfd { + leaf id { + type string; + description + "Identifier of this Pnfd information element. It uniquely + identifies the PNFD."; + reference + "GS NFV-IFA014: Section 6.6.2, Pnfd information element"; + } + + leaf function-description { + type string; + description + "Describes the PNF function."; + reference + "GS NFV-IFA014: Section 6.6.2, Pnfd information element"; + } + + leaf provider { + type string; + description + "Identifies the provider of the PNFD."; + reference + "GS NFV-IFA014: Section 6.6.2, Pnfd information element"; + } + + leaf version { + type string; + mandatory true; + description + "Identifies the version of the PNFD."; + reference + "GS NFV-IFA014: Section 6.6.2, Pnfd information element"; + } + + leaf invariant-id { + type string; + description + "Identifies a PNFD in a version independent manner. This + attribute is invariant across versions of PNFD."; + reference + "GS NFV-IFA014: Section 6.6.2, Pnfd information element"; + } + + leaf name { + type string; + description + "Provides the human readable name of the PNFD."; + reference + "GS NFV-IFA014: Section 6.6.2, Pnfd information element"; + } + + list ext-cpd { key "id"; + uses cpd; + description + "Specifies the characteristics of one or more connection + points where to connect the PNF to a VL."; + reference + "GS NFV-IFA014: Section 6.6.2, Pnfd information element"; + } + + list security { + key "signature"; + uses security-parameters; + description + "Provides a signature to prevent tampering. + Editor's Note: While IFA014 does specify that the PNFD + includes a security parameter. SOL001 does not have one. + We need to harmonize SOL001 & SOL006 on this point."; + reference + "GS NFV-IFA014: Section 6.6.2, Pnfd information element"; + } - leaf id { - type string; - description - "Identifier of this Pnfd information element. It uniquely - identifies the PNFD."; - reference - "GS NFV-IFA014: Section 6.6.2, Pnfd information element"; - } - leaf function-description { - type string; - description - "Describes the PNF function."; - reference - "GS NFV-IFA014: Section 6.6.2, Pnfd information element"; - } - leaf provider { - type string; - description - "Identifies the provider of the PNFD."; - reference - "GS NFV-IFA014: Section 6.6.2, Pnfd information element"; - } - leaf version { - type string; - mandatory true; - description - "Identifies the version of the PNFD."; - reference - "GS NFV-IFA014: Section 6.6.2, Pnfd information element"; - } - leaf invariant-id { - type string; - description - "Identifies a PNFD in a version independent manner. This - attribute is invariant across versions of PNFD."; - reference - "GS NFV-IFA014: Section 6.6.2, Pnfd information element"; - } - leaf name { - type string; - description - "Provides the human readable name of the PNFD."; - reference - "GS NFV-IFA014: Section 6.6.2, Pnfd information element"; - } - list ext-cpd { - key "id"; - uses cpd; - description - "Specifies the characteristics of one or more connection - points where to connect the PNF to a VL."; - reference - "GS NFV-IFA014: Section 6.6.2, Pnfd information element"; - } - list security { - key "signature"; - uses security-parameters; - description - "Provides a signature to prevent tampering. - Editor's Note: While IFA014 does specify that the PNFD - includes a security parameter. SOL001 does not have one. - We need to harmonize SOL001 & SOL006 on this point."; - reference - "GS NFV-IFA014: Section 6.6.2, Pnfd information element"; - } - leaf geographical-location-info { - type string; - description - "It provides information about the geographical location - (e.g. geographic coordinates or address of the building, - etc.) of the PNF. The cardinality 0 is used when the - location is unknown. - Editor's Note: The type is TBD in SOL001. We need to make - a common SOL001/SOL006 decision."; - reference - "GS NFV-IFA014: Section 6.6.2, Pnfd information element"; - } - uses security-group-rule; + leaf geographical-location-info { + type string; + description + "It provides information about the geographical location + (e.g. geographic coordinates or address of the building, + etc.) of the PNF. The cardinality 0 is used when the + location is unknown. + Editor's Note: The type is TBD in SOL001. We need to make + a common SOL001/SOL006 decision."; + reference + "GS NFV-IFA014: Section 6.6.2, Pnfd information element"; } + uses security-group-rule; } } diff --git a/src/yang/etsi-nfv-pkg.yang b/src/yang/etsi-nfv-vnfd.yang similarity index 66% rename from src/yang/etsi-nfv-pkg.yang rename to src/yang/etsi-nfv-vnfd.yang index 62448d2ae6d04f0001ea3c809e4c24e55c651653..04598dc8efedbf473fc49c071e5fbb1ed962ce26 100644 --- a/src/yang/etsi-nfv-pkg.yang +++ b/src/yang/etsi-nfv-vnfd.yang @@ -1,6 +1,6 @@ -module etsi-nfv-pkg { +module etsi-nfv-vnfd { yang-version 1.1; - namespace "urn:etsi:nfv:yang:etsi-nfv-pkg"; + namespace "urn:etsi:nfv:yang:etsi-nfv-vnfd"; prefix pkg; import etsi-nfv-descriptors { @@ -11,7 +11,7 @@ module etsi-nfv-pkg { "European Telecommunications Standards Institute (ETSI)"; description - "Network Function Virtualization Package."; + "Virtual Network Function Descriptor."; revision 2019-03-18 { description @@ -19,8 +19,8 @@ module etsi-nfv-pkg { VNFD according to ETSI GS NFV-IFA 011 Ed261v254."; } - container pkg { - presence "Package container."; + container vnfd { + presence "VNFD container."; uses vnf:vnfd; } }