Commits (66)
Note: At this time this document is in draft state, and subject to change till the final approval. As such, files accessed/used from this repository are subject to change. Do not use as reference material.
When approved, this README will be updated to reflect the status of the document.
\ No newline at end of file
......@@ -80,8 +80,12 @@
</virtual-compute-desc>
<virtual-storage-desc>
<id>root</id>
<type-of-storage>root-storage</type-of-storage>
<size-of-storage>10</size-of-storage>
<type-of-storage>block</type-of-storage>
<block-storage-data>
<size-of-storage>10</size-of-storage>
<rdma-enabled>true</rdma-enabled>
<sw-image-desc>CP</sw-image-desc>
</block-storage-data>
</virtual-storage-desc>
<sw-image-desc>
<id>CP</id>
......@@ -118,12 +122,18 @@
<connectivity-type>
<layer-protocol>ipv4</layer-protocol>
</connectivity-type>
<nfvi-maintenance-info>
<impact-notification-lead-time>1</impact-notification-lead-time>
</nfvi-maintenance-info>
</int-virtual-link-desc>
<int-virtual-link-desc>
<id>mgmt</id>
<connectivity-type>
<layer-protocol>ipv4</layer-protocol>
</connectivity-type>
<nfvi-maintenance-info>
<impact-notification-lead-time>1</impact-notification-lead-time>
</nfvi-maintenance-info>
</int-virtual-link-desc>
<ext-cpd>
<id>in</id>
......@@ -152,22 +162,27 @@
<id>control-plane-active</id>
<min-number-of-instances>1</min-number-of-instances>
<max-number-of-instances>1</max-number-of-instances>
<affinity-or-anti-affinity-group>
<id>control-plane</id>
</affinity-or-anti-affinity-group>
<affinity-or-anti-affinity-group-id>control-plane</affinity-or-anti-affinity-group-id>
<nfvi-maintenance-info>
<impact-notification-lead-time>1</impact-notification-lead-time>
</nfvi-maintenance-info>
</vdu-profile>
<vdu-profile>
<id>control-plane-standby</id>
<min-number-of-instances>1</min-number-of-instances>
<max-number-of-instances>1</max-number-of-instances>
<affinity-or-anti-affinity-group>
<id>control-plane</id>
</affinity-or-anti-affinity-group>
<affinity-or-anti-affinity-group-id>control-plane</affinity-or-anti-affinity-group-id>
<nfvi-maintenance-info>
<impact-notification-lead-time>1</impact-notification-lead-time>
</nfvi-maintenance-info>
</vdu-profile>
<vdu-profile>
<id>data-plane</id>
<min-number-of-instances>2</min-number-of-instances>
<max-number-of-instances>8</max-number-of-instances>
<nfvi-maintenance-info>
<impact-notification-lead-time>1</impact-notification-lead-time>
</nfvi-maintenance-info>
</vdu-profile>
<instantiation-level>
<id>il-1</id>
......@@ -210,6 +225,18 @@
<operate-vnf-op-config>
<min-graceful-stop-timeout>1</min-graceful-stop-timeout>
</operate-vnf-op-config>
<create-snapshot-vnf-op-config>
<parameter>
<key>1</key>
<value>1</value>
</parameter>
</create-snapshot-vnf-op-config>
<revert-to-snapshot-vnf-op-config>
<parameter>
<key>1</key>
<value>1</value>
</parameter>
</revert-to-snapshot-vnf-op-config>
</lcm-operations-configuration>
<affinity-or-anti-affinity-group>
<id>control-plane</id>
......@@ -223,22 +250,27 @@
<id>control-plane-active</id>
<min-number-of-instances>1</min-number-of-instances>
<max-number-of-instances>1</max-number-of-instances>
<affinity-or-anti-affinity-group>
<id>control-plane</id>
</affinity-or-anti-affinity-group>
<affinity-or-anti-affinity-group-id>control-plane</affinity-or-anti-affinity-group-id>
<nfvi-maintenance-info>
<impact-notification-lead-time>1</impact-notification-lead-time>
</nfvi-maintenance-info>
</vdu-profile>
<vdu-profile>
<id>control-plane-standby</id>
<min-number-of-instances>1</min-number-of-instances>
<max-number-of-instances>1</max-number-of-instances>
<affinity-or-anti-affinity-group>
<id>control-plane</id>
</affinity-or-anti-affinity-group>
<affinity-or-anti-affinity-group-id>control-plane</affinity-or-anti-affinity-group-id>
<nfvi-maintenance-info>
<impact-notification-lead-time>1</impact-notification-lead-time>
</nfvi-maintenance-info>
</vdu-profile>
<vdu-profile>
<id>data-plane</id>
<min-number-of-instances>1</min-number-of-instances>
<max-number-of-instances>4</max-number-of-instances>
<nfvi-maintenance-info>
<impact-notification-lead-time>1</impact-notification-lead-time>
</nfvi-maintenance-info>
</vdu-profile>
<instantiation-level>
<id>il-1</id>
......@@ -281,6 +313,18 @@
<operate-vnf-op-config>
<min-graceful-stop-timeout>1</min-graceful-stop-timeout>
</operate-vnf-op-config>
<create-snapshot-vnf-op-config>
<parameter>
<key>1</key>
<value>1</value>
</parameter>
</create-snapshot-vnf-op-config>
<revert-to-snapshot-vnf-op-config>
<parameter>
<key>1</key>
<value>1</value>
</parameter>
</revert-to-snapshot-vnf-op-config>
</lcm-operations-configuration>
<affinity-or-anti-affinity-group>
<id>control-plane</id>
......
<nsd xmlns="urn:etsi:nfv:yang:etsi-nfv-nsd">
<?xml version="1.0" encoding="UTF-8"?>
<nfv xmlns="urn:etsi:nfv:yang:etsi-nfv-descriptors">
<vnfd>
<id>ASA</id>
<provider>My Company</provider>
......@@ -36,8 +37,10 @@
</virtual-compute-desc>
<virtual-storage-desc>
<id>asa-vsd</id>
<type-of-storage xmlns:nfv="urn:etsi:nfv:yang:etsi-nfv-descriptors">nfv:root-storage</type-of-storage>
<size-of-storage>0</size-of-storage>
<type-of-storage xmlns:nfv="urn:etsi:nfv:yang:etsi-nfv-descriptors">nfv:block</type-of-storage>
<block-storage-data>
<size-of-storage>0</size-of-storage>
</block-storage-data>
</virtual-storage-desc>
<sw-image-desc>
<id>asa-image</id>
......@@ -49,7 +52,7 @@
</checksum>
<container-format>bare</container-format>
<disk-format>qcow2</disk-format>
<min-disk>20</min-disk>
<min-disk>0</min-disk>
<min-ram>2.0</min-ram>
<size>1</size>
<image>http://www.mycompany.com/asa.qcow2</image>
......@@ -84,6 +87,9 @@
<id>firewall</id>
<min-number-of-instances>1</min-number-of-instances>
<max-number-of-instances>2</max-number-of-instances>
<nfvi-maintenance-info>
<impact-notification-lead-time>1</impact-notification-lead-time>
</nfvi-maintenance-info>
</vdu-profile>
<instantiation-level>
<id>double</id>
......@@ -100,6 +106,20 @@
</vdu-level>
</instantiation-level>
<default-instantiation-level>single</default-instantiation-level>
<lcm-operations-configuration>
<create-snapshot-vnf-op-config>
<parameter>
<key>1</key>
<value>1</value>
</parameter>
</create-snapshot-vnf-op-config>
<revert-to-snapshot-vnf-op-config>
<parameter>
<key>1</key>
<value>1</value>
</parameter>
</revert-to-snapshot-vnf-op-config>
</lcm-operations-configuration>
</df>
</vnfd>
<nsd>
......@@ -133,4 +153,4 @@
</ns-instantiation-level>
</df>
</nsd>
</config>
</nfv>
......@@ -35,8 +35,11 @@
</virtual-compute-desc>
<virtual-storage-desc>
<id>asa-vsd</id>
<type-of-storage xmlns:nfv="urn:etsi:nfv:yang:etsi-nfv-descriptors">nfv:root-storage</type-of-storage>
<size-of-storage>0</size-of-storage>
<type-of-storage xmlns:nfv="urn:etsi:nfv:yang:etsi-nfv-descriptors">nfv:file</type-of-storage>
<file-storage-data>
<size-of-storage>0</size-of-storage>
<int-virtual-link-desc>asa-image</int-virtual-link-desc>
</file-storage-data>
</virtual-storage-desc>
<sw-image-desc>
<id>asa-image</id>
......@@ -48,7 +51,7 @@
</checksum>
<container-format>bare</container-format>
<disk-format>qcow2</disk-format>
<min-disk>20</min-disk>
<min-disk>0</min-disk>
<min-ram>2.0</min-ram>
<size>1</size>
<image>http://www.mycompany.com/asa.qcow2</image>
......@@ -71,6 +74,9 @@
<id>firewall</id>
<min-number-of-instances>1</min-number-of-instances>
<max-number-of-instances>2</max-number-of-instances>
<nfvi-maintenance-info>
<impact-notification-lead-time>1</impact-notification-lead-time>
</nfvi-maintenance-info>
</vdu-profile>
<instantiation-level>
<id>double</id>
......@@ -87,5 +93,19 @@
</vdu-level>
</instantiation-level>
<default-instantiation-level>single</default-instantiation-level>
<lcm-operations-configuration>
<create-snapshot-vnf-op-config>
<parameter>
<key>1</key>
<value>1</value>
</parameter>
</create-snapshot-vnf-op-config>
<revert-to-snapshot-vnf-op-config>
<parameter>
<key>1</key>
<value>1</value>
</parameter>
</revert-to-snapshot-vnf-op-config>
</lcm-operations-configuration>
</df>
</vnfd>
......@@ -36,8 +36,12 @@
</virtual-compute-desc>
<virtual-storage-desc>
<id>asa-vsd</id>
<type-of-storage>root-storage</type-of-storage>
<size-of-storage>0</size-of-storage>
<type-of-storage>block</type-of-storage>
<block-storage-data>
<size-of-storage>1</size-of-storage>
<rdma-enabled>true</rdma-enabled>
<sw-image-desc>asa-image</sw-image-desc>
</block-storage-data>
</virtual-storage-desc>
<sw-image-desc>
<id>asa-image</id>
......@@ -67,6 +71,9 @@
<connectivity-type>
<layer-protocol>ethernet</layer-protocol>
</connectivity-type>
<nfvi-maintenance-info>
<impact-notification-lead-time>1</impact-notification-lead-time>
</nfvi-maintenance-info>
</int-virtual-link-desc>
<ext-cpd>
<id>inside</id>
......@@ -95,6 +102,9 @@
<id>firewall</id>
<min-number-of-instances>1</min-number-of-instances>
<max-number-of-instances>2</max-number-of-instances>
<nfvi-maintenance-info>
<impact-notification-lead-time>1</impact-notification-lead-time>
</nfvi-maintenance-info>
</vdu-profile>
<virtual-link-profile>
<id>inside-vl</id>
......@@ -141,6 +151,18 @@
<operate-vnf-op-config>
<min-graceful-stop-timeout>1</min-graceful-stop-timeout>
</operate-vnf-op-config>
<create-snapshot-vnf-op-config>
<parameter>
<key>1</key>
<value>1</value>
</parameter>
</create-snapshot-vnf-op-config>
<revert-to-snapshot-vnf-op-config>
<parameter>
<key>1</key>
<value>1</value>
</parameter>
</revert-to-snapshot-vnf-op-config>
</lcm-operations-configuration>
</df>
</vnfd>
......@@ -181,8 +203,11 @@
</virtual-compute-desc>
<virtual-storage-desc>
<id>csr-vsd</id>
<type-of-storage>root-storage</type-of-storage>
<size-of-storage>0</size-of-storage>
<type-of-storage>file</type-of-storage>
<file-storage-data>
<size-of-storage>1</size-of-storage>
<int-virtual-link-desc>csr-image</int-virtual-link-desc>
</file-storage-data>
</virtual-storage-desc>
<sw-image-desc>
<id>csr-image</id>
......@@ -229,6 +254,9 @@
<id>router</id>
<min-number-of-instances>1</min-number-of-instances>
<max-number-of-instances>2</max-number-of-instances>
<nfvi-maintenance-info>
<impact-notification-lead-time>1</impact-notification-lead-time>
</nfvi-maintenance-info>
</vdu-profile>
<instantiation-level>
<id>double</id>
......@@ -255,6 +283,18 @@
<operate-vnf-op-config>
<min-graceful-stop-timeout>1</min-graceful-stop-timeout>
</operate-vnf-op-config>
<create-snapshot-vnf-op-config>
<parameter>
<key>1</key>
<value>1</value>
</parameter>
</create-snapshot-vnf-op-config>
<revert-to-snapshot-vnf-op-config>
<parameter>
<key>1</key>
<value>1</value>
</parameter>
</revert-to-snapshot-vnf-op-config>
</lcm-operations-configuration>
</df>
</vnfd>
......
......@@ -3,12 +3,37 @@ submodule etsi-nfv-common {
belongs-to etsi-nfv-descriptors {
prefix nfv;
}
import ietf-yang-types {
prefix yang;
reference
"RFC 6991: Common YANG Data Types.";
}
organization
"European Telecommunications Standards Institute (ETSI)";
description
"Common data types for ETSI data models.";
revision 2020-06-10 {
description
"Version 3.3.1.
Common data structures to support VNFD and NSD according to:
ETSI GS NFV-IFA 014 Release 3
ETSI GS NFV-IFA 011 Release 3.";
}
revision 2020-06-01 {
description
"Version 2.8.1.
Common data structures to support VNFD and NSD according to:
ETSI GS NFV-IFA 014 271
ETSI GS NFV-IFA 011 271.";
}
revision 2019-10-01 {
description
"Version 2.7.1.
......@@ -17,6 +42,7 @@ submodule etsi-nfv-common {
ETSI GS NFV-IFA 014 Ed271v264
ETSI GS NFV-IFA 011 Ed271v264";
}
revision 2019-04-25 {
description
"Initial revision
......@@ -233,22 +259,22 @@ submodule etsi-nfv-common {
"Base type of storage that identities can derive from.";
}
identity root-storage {
identity block {
base storage-type;
description
"Root type of storage.";
"Block type of storage.";
}
identity swap-storage {
identity object {
base storage-type;
description
"Swap type of storage.";
"Object type of storage.";
}
identity ephemeral-storage {
identity file {
base storage-type;
description
"Ephemeral type of storage.";
"File type of storage.";
}
identity forwarding-behaviour {
......@@ -369,6 +395,7 @@ submodule etsi-nfv-common {
enum "zone-group";
enum "zone";
enum "nfvi-pop";
enum "network-link-and-node";
}
}
......@@ -390,30 +417,142 @@ submodule etsi-nfv-common {
enum "end-vnf-ext-conn-change";
enum "start-vnfinfo-modification";
enum "end-vnfinfo-modification";
enum "start-vnf-snapshot-creation";
enum "end-vnf-snapshot-creation";
enum "start-vnf-snapshot-reverting-to";
enum "end-vnf-snapshot-reverting-to";
enum "start-change-current-vnf-package";
enum "end-change-current-vnf-package";
}
}
grouping local-affinity-or-anti-affinity-rule {
list local-affinity-or-anti-affinity-rule {
key "type scope";
leaf type {
type affinity-type;
typedef external-lifecycle-management-script-event {
type enumeration {
enum "instantiation";
enum "scaling";
enum "healing";
enum "termination";
enum "vnf-flavour-change";
enum "vnf-operation-change";
enum "vnf-ext-conn-change";
enum "vnfinfo-modification";
enum "vnf-snapshot-creation";
enum "vnf-snapshot-reverting-to";
enum "change-current-vnf-package";
}
}
grouping nfvi-maintenance-info {
container nfvi-maintenance-info {
leaf impact-notification-lead-time {
type yang:timeticks;
mandatory true;
description
"The value specifies the minimum notification lead time
requested for upcoming impact of the virtualised resource
or their group (i.e. between the notification and the
action causing the impact).";
reference
"GS NFV-IFA011: Section 7.1.8.17, NfviMaintenanceInfo
information element";
}
leaf is-impact-mitigation-requested {
type boolean;
description
"When set to True, it is requested that at the time of the
notification of an upcoming change that is expected to have
an impact on the VNF, virtualised resource(s) of the same
characteristics as the impacted ones is/are provided to
compensate for the impact. Cardinality 0 corresponds to the
value False.";
reference
"GS NFV-IFA011: Section 7.1.8.17, NfviMaintenanceInfo
information element";
}
leaf-list supported-migration-type {
type enumeration {
enum "no-migration";
enum "offline-migration";
enum "live-migration";
}
description
"Applicable to VirtualComputeDesc and VirtualStorageDesc.
When present, specifies the allowed migration types in the
order of preference in case of an impact starting with the
most preferred type. Possible values: NO_MIGRATION,
OFFLINE_MIGRATION, LIVE_MIGRATION.";
reference
"GS NFV-IFA011: Section 7.1.8.17, NfviMaintenanceInfo
information element";
}
leaf max-undetectable-interruption-time {
type yang:timeticks;
description
"Specifies whether the rule is an affinity rule or an
anti-affinity rule.";
"Applicable to VirtualComputeDesc and VirtualStorageDesc.
When present, it specifies the maximum interruption time
that can go undetected at the VNF level and therefore
which will not trigger VNFinternal recovery during live
migration.";
reference
"GS NFV IFA011: Section 7.1.8.11,
LocalAffinityOrAntiAffinityRule information element.";
"GS NFV-IFA011: Section 7.1.8.17, NfviMaintenanceInfo
information element";
}
leaf scope {
type affinity-scope;
leaf min-recovery-time-between-impacts {
type yang:timeticks;
description
"Specifies the scope of the rule, possible values are
'NFVI-PoP', 'Zone', 'ZoneGroup', 'NFVI-node'.";
"When present, it specifies the time required by the group
to recover from an impact, thus, the minimum time
requested between consecutive impacts of the group.";
reference
"GS NFV IFA011: Section 7.1.8.11,
LocalAffinityOrAntiAffinityRule information element.";
"GS NFV-IFA011: Section 7.1.8.17, NfviMaintenanceInfo
information element";
}
list max-number-of-impacted-instances {
key "group-size";
ordered-by user;
must "./max-number-of-impacted-instances <= ./group-size";
leaf group-size {
type uint32;
description
"When present, it determines the size of the group for
which the maxNumberOfImpactedInstances is specified.
Otherwise the size is not limited.
Each groupSize value specified for a group of virtual
resources shall be unique, and it shall be possible
to form an ascending ordered list of groupSizes.
The number of instances in the group for which the
maxNumberOfImpactedInstances is specified may be equal
to groupSize or less. When the number of instances is
less than the groupSize, it shall be at least 1 if this
is the first groupSize in the ordered list of groupSizes,
or it shall be greater by at least 1 than the previous
groupSize in the ordered list of groupSizes.";
reference
"GS NFV-IFA011: Section 7.1.8.17, NfviMaintenanceInfo
information element";
}
leaf max-number-of-impacted-instances {
type uint32 {
range "1 .. max";
}
description
"The maximum number of instances that can be impacted
simultaneously within the group of the specified size.";
reference
"GS NFV-IFA011: Section 7.1.8.17, NfviMaintenanceInfo
information element";
}
}
}
}
......@@ -424,6 +563,7 @@ submodule etsi-nfv-common {
type identityref {
base layer-protocol;
}
min-elements 1;
description
"Identifies the protocols that the VL uses (Ethernet,
MPLS, ODU2, IPV4, IPV6, Pseudo-Wire). The top layer
......
......@@ -14,6 +14,22 @@ module etsi-nfv-descriptors {
description
"Network Function Virtualization Descriptors";
revision 2020-06-10 {
description
"Version 3.3.1.
NSD and PNFD according to ETSI GS NFV-IFA 014 Release 3
VNFD according to ETSI GS NFV-IFA 011 Release 3.";
}
revision 2020-06-01 {
description
"Version 2.8.1.
NSD and PNFD according to ETSI GS NFV-IFA 014 271
VNFD according to ETSI GS NFV-IFA 011 271.";
}
revision 2019-10-01 {
description
"Version 2.7.1.
......@@ -21,9 +37,11 @@ module etsi-nfv-descriptors {
NSD and PNFD according to ETSI GS NFV-IFA 014 Ed271v264
VNFD according to ETSI GS NFV-IFA 011 Ed271v264.";
}
revision 2019-04-25 {
description
"Initial revision.
NSD and PNFD according to ETSI GS NFV-IFA 014 Ed261v252
VNFD according to ETSI GS NFV-IFA 011 Ed261v254";
}
......@@ -61,7 +79,7 @@ module etsi-nfv-descriptors {
key "id";
description
"The Pnfd information element is a deployment template
"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
......
......@@ -11,19 +11,33 @@ submodule etsi-nfv-ns {
description
"Models for NS according to ETSI GS NFV-IFA 014.";
revision 2020-06-10 {
description
"Version 3.3.1.
NSD according to ETSI GS NFV-IFA 014 Release 3.";
}
revision 2020-06-01 {
description
"Version 2.8.1.
NSD according to ETSI GS NFV-IFA 014 271.";
}
revision 2019-10-01 {
description
"Version 2.7.1.
Common data structures to support VNFD and NSD according to:
ETSI GS NFV-IFA 014 Ed271v264
ETSI GS NFV-IFA 011 Ed271v264";
Common data structures to support NSD according to:
ETSI GS NFV-IFA 014 Ed271v264.";
}
revision 2019-04-25 {
description
"Initial revision
Common data structure to support NSD according to:
ETSI GS NFV-IFA 014 Ed261v252";
NSD according to ETSI GS NFV-IFA 014 Ed261v252.";
reference
"ETSI GS NFV-IFA 014 Ed261v252";
......@@ -41,6 +55,31 @@ submodule etsi-nfv-ns {
}
}
grouping ns-local-affinity-or-anti-affinity-rule {
list local-affinity-or-anti-affinity-rule {
key "type scope";
leaf type {
type affinity-type;
description
"Specifies whether the rule is an affinity rule or an
anti-affinity rule.";
reference
"GS NFV IFA014: Section 6.3.8.2,
LocalAffinityOrAntiAffinityRule information element.";
}
leaf scope {
type affinity-scope;
description
"Specifies the scope of the rule, possible values are
'NFVI-PoP', 'NFVI-node' network-link-and-node etc.";
reference
"GS NFV IFA014: Section 6.3.8.2,
LocalAffinityOrAntiAffinityRule information element.";
}
}
}
grouping nsd {
leaf id {
......@@ -316,17 +355,16 @@ submodule etsi-nfv-ns {
}
leaf service-availability-level {
type enumeration {
enum "level-1";
enum "level-2";
enum "level-3";
}
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.";
"If present, specifies the service availability level
for the VL instance created from this DF.
THE FOLLOWING STATEMENT IS SUBJECT TO CHANGE:
Either the serviceAvailabilityLevel attribute of NS DF
or the serviceAvailabilityLevel attribute of the VL DF
may be provided, but not both.";
reference
"GS NFV IFA014: Section 6.5.4.2 VirtualLinkDf
information element";
......@@ -355,7 +393,6 @@ submodule etsi-nfv-ns {
"GS NFV IFA014: Section 6.5.2.2 NsVirtualLinkDesc
information element";
}
uses security-parameters;
}
list vnffgd {
......@@ -578,7 +615,7 @@ submodule etsi-nfv-ns {
list position-desc {
key "id";
min-elements 1;
min-elements 1;
leaf id {
type string;
......@@ -756,7 +793,7 @@ submodule etsi-nfv-ns {
mandatory true;
type leafref {
path "deref(../flavour-id)/../nfv:instantiation-level/" +
"nfv:id";
"nfv:id";
}
description
"Identifier of the instantiation level of the VNF DF
......@@ -790,23 +827,18 @@ submodule etsi-nfv-ns {
element";
}
uses local-affinity-or-anti-affinity-rule;
list affinity-or-anti-affinity-group {
key "id";
uses ns-local-affinity-or-anti-affinity-rule;
leaf-list affinity-or-anti-affinity-group-id {
type leafref {
path "../../affinity-or-anti-affinity-group/id";
}
description
"Identifier(s) of the affinity or anti-affinity
group(s) the VnfProfile belongs to.";
reference
"GS NFV IFA014: Section 6.3.3.2 VnfProfile information
element";
leaf id {
type leafref {
path "../../../affinity-or-anti-affinity-group/id";
}
}
}
list virtual-link-connectivity {
......@@ -868,6 +900,21 @@ submodule etsi-nfv-ns {
}
}
}
leaf service-availability-level {
must "not(../../service-availability-level)";
type uint32;
description
"If present, specifies the service availability level for
the VNF instance created from this profile.
Either the serviceAvailabilityLevel attribute of NS DF
or the serviceAvailabilityLevel attribute of the
VnfProfile may be provided, but not both.";
reference
"GS NFV IFA014: Section 6.3.3.2 VnfProfile information
element";
}
}
list pnf-profile {
......@@ -1002,11 +1049,12 @@ submodule etsi-nfv-ns {
information element";
}
uses local-affinity-or-anti-affinity-rule;
list affinity-or-anti-affinity-group {
key "id";
uses ns-local-affinity-or-anti-affinity-rule;
leaf-list affinity-or-anti-affinity-group-id {
type leafref {
path "../../affinity-or-anti-affinity-group/id";
}
description
"Identifies an affinity or anti-affinity group the
VLs instantiated according to the VlProfile belong
......@@ -1014,12 +1062,6 @@ submodule etsi-nfv-ns {
reference
"GS NFV IFA014: Section 6.3.4.2 VirtualLinkProfile
information element";
leaf id {
type leafref {
path "../../../affinity-or-anti-affinity-group/id";
}
}
}
container max-bitrate-requirements {
......@@ -1132,7 +1174,8 @@ submodule etsi-nfv-ns {
type affinity-scope;
description
"Specifies the scope of the affinity or anti-affinity
relationship e.g. a NFVI node, an NFVI PoP, etc.";
relationship e.g. a NFVI node, an NFVI PoP,
network-link-and-node etc.";
reference
"GS NFV IFA014: Section 6.3.5.2 AffinityOrAntiAffinity
information element";
......@@ -1268,7 +1311,7 @@ submodule etsi-nfv-ns {
"count(virtual-link-to-level-mapping) + " +
"count(ns-to-level-mapping)) > 0" {
error-message
"At least one attribute between " +
"At least one attribute between " +
"vnf-to-level-mapping, " +
"virtual-link-to-level-mapping and " +
"ns-to-level-mapping shall be present.";
......@@ -1306,7 +1349,7 @@ submodule etsi-nfv-ns {
leaf value {
type string;
}
description
description
"Array of KVP requirements for additional parameters
of NS to be passed when invoking the Instantiate Ns
operation.";
......@@ -1327,7 +1370,7 @@ submodule etsi-nfv-ns {
leaf value {
type string;
}
description
description
"Array of KVP requirements for additional parameters
of NS to be passed when invoking the Scale Ns
operation.";
......@@ -1348,7 +1391,7 @@ submodule etsi-nfv-ns {
leaf value {
type string;
}
description
description
"Array of KVP requirements for additional parameters
of NS to be passed when invoking the Heal Ns
operation.";
......@@ -1367,7 +1410,7 @@ submodule etsi-nfv-ns {
}
must "boolean(../../nested-nsd-id[.=current()/nsd-id])" {
error-message
"PNFDs in the profile has to be listed as a " +
"PNFDs in the profile has to be listed as a " +
"dependency of the network service " +
"descriptor.";
}
......@@ -1400,7 +1443,7 @@ submodule etsi-nfv-ns {
element";
}
leaf ns-df-id {
leaf ns-df-id {
mandatory true;
type leafref {
path "deref(../nsd-id)/../df/id";
......@@ -1413,7 +1456,7 @@ submodule etsi-nfv-ns {
element";
}
leaf instantiation-level-id {
leaf instantiation-level-id {
mandatory true;
type leafref {
path "deref(../ns-df-id)/../ns-instantiation-level/id";
......@@ -1428,7 +1471,7 @@ submodule etsi-nfv-ns {
element";
}
leaf min-number-of-instances {
leaf min-number-of-instances {
type uint16;
default 1;
description
......@@ -1440,7 +1483,7 @@ submodule etsi-nfv-ns {
element";
}
leaf max-number-of-instances {
leaf max-number-of-instances {
type uint16;
default 1;
description
......@@ -1452,21 +1495,16 @@ submodule etsi-nfv-ns {
element";
}
list affinity-or-anti-affinity-group-id {
key "id";
leaf-list affinity-or-anti-affinity-group-id {
type leafref {
path "../../affinity-or-anti-affinity-group/id";
}
description
"Identifies an affinity or anti-affinity group the NSs
created according to this NsProfile belongs to.";
reference
"GS NFV IFA014: Section 6.3.11.2 NsProfile information
element";
leaf id {
type leafref {
path "../../../affinity-or-anti-affinity-group/id";
}
}
}
list virtual-link-connectivity {
......@@ -1553,7 +1591,7 @@ submodule etsi-nfv-ns {
information element";
}
choice secondary-id {
choice secondary-id {
leaf secondary-vnf-profile {
type leafref {
path "../../vnf-profile/vnfd-id";
......@@ -1591,7 +1629,7 @@ submodule etsi-nfv-ns {
information element";
}
leaf vnf-indicator {
leaf vnf-indicator {
mandatory true;
type leafref {
path "deref(../vnfd-id)/../nfv:indicator/nfv:id";
......@@ -1655,6 +1693,24 @@ submodule etsi-nfv-ns {
}
}
}
leaf service-availability-level {
type uint32;
description
"If present, specifies the service availability level for
the NS instance created from this DF.
THE FOLLOWING STATEMENT IS SUBJECT TO CHANGE:
Either the serviceAvailabilityLevel attribute of NS DF or
the serviceAvailabilityLevel attribute of the NS
constituents of the NS may be provided, but not both.
When a SAL information is assigned to an NS, this
information does not apply to any constituents of type
‘nested NS’.";
reference
"GS NFV IFA014: Section 6.3.2.2 NsDf information element";
}
}
uses security-parameters;
}
......
......@@ -13,27 +13,44 @@ module etsi-nfv-nsd {
description
"Network Services Descriptors";
revision 2020-06-10 {
description
"Version 3.3.1.
NSD according to ETSI GS NFV-IFA 014 Release 3.";
}
revision 2020-06-01 {
description
"Version 2.8.1.
NSD according to ETSI GS NFV-IFA 014 271.";
}
revision 2019-10-01 {
description
"Version 2.7.1.
Common data structures to support VNFD and NSD according to:
ETSI GS NFV-IFA 014 Ed271v264
ETSI GS NFV-IFA 011 Ed271v264";
Common data structures to support NSD according to:
ETSI GS NFV-IFA 014 Ed271v264.";
}
revision 2019-04-25 {
description
"Initial revision.
NSD according to ETSI GS NFV-IFA 014 Ed261v252.";
Common data structures to support NSD according to:
ETSI GS NFV-IFA 014 Ed261v252.";
}
container nsd {
list nsd {
key "id";
max-elements 1;
uses nfv:nsd;
description
"The NSD information element is a deployment template whose
"The NSD information element is a deployment template whose
instances are used by the NFVO for the lifecycle management
of NSs.";
reference
......
......@@ -12,19 +12,33 @@ submodule etsi-nfv-pnf {
description
"Models for PNFD according to GS NFV-IFA 014.";
revision 2020-06-10 {
description
"Version 3.3.1.
PNFD according to ETSI GS NFV-IFA 014 Release 3.";
}
revision 2020-06-01 {
description
"Version 2.8.1.
PNFD according to ETSI GS NFV-IFA 014 271.";
}
revision 2019-10-01 {
description
"Version 2.7.1.
Common data structures to support VNFD and NSD according to:
ETSI GS NFV-IFA 014 Ed271v264
ETSI GS NFV-IFA 011 Ed271v264";
Common data structures to support PNFD according to:
ETSI GS NFV-IFA 014 Ed271v264";
}
revision 2019-04-25 {
description
"Initial revision.
Common data structure to support VNFD according to:
Common data structures to support PNFD according to:
ETSI GS NFV-IFA 014 Ed261v252";
reference
......
......@@ -13,16 +13,31 @@ module etsi-nfv-pnfd {
description
"Physcial Network Function Descriptor.";
revision 2020-06-10 {
description
"Version 3.3.1.
PNFD according to ETSI GS NFV-IFA 014 Release 3.";
}
revision 2020-06-01 {
description
"Version 2.8.1.
PNFD according to ETSI GS NFV-IFA 014 271.";
}
revision 2019-10-01 {
description
"Version 2.7.1.
NSD according to ETSI GS NFV-IFA 014 Ed271v264.";
PNFD according to ETSI GS NFV-IFA 014 Ed271v264.";
}
revision 2019-04-25 {
description
"Initial revision.
NSD according to ETSI GS NFV-IFA 014 Ed261v252.";
PNFD according to ETSI GS NFV-IFA 014 Ed261v252.";
}
container pnfd {
......
This diff is collapsed.
......@@ -13,15 +13,31 @@ module etsi-nfv-vnfd {
description
"Virtual Network Function Descriptor.";
revision 2020-06-10 {
description
"Version 3.3.1.
VNFD according to ETSI GS NFV-IFA 011 Release 3.";
}
revision 2020-06-01 {
description
"Version 2.8.1.
VNFD according to ETSI GS NFV-IFA 011 271.";
}
revision 2019-10-01 {
description
"Revision 2.7.1.
VNFD according to ETSI GS NFV-IFA 011 Ed271v264.";
}
revision 2019-03-18 {
description
"Initial revision.
VNFD according to ETSI GS NFV-IFA 011 Ed261v254.";
}
......