Commit d5e80ad4 authored by Mahesh Jethanandani's avatar Mahesh Jethanandani

Updates based on feedback from Bruno

parent 0269a8d8
Pipeline #811 passed with stage
in 0 seconds
<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>
......@@ -87,4 +87,4 @@
</instantiation-level>
<default-instantiation-level>single</default-instantiation-level>
</df>
</pkg>
</vnfd>
<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>
......@@ -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>
......@@ -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>
......@@ -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>
......@@ -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>
......@@ -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>
......@@ -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
......
......@@ -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;
}
}
}
......@@ -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