From 76f275119b5005f6d6348d327db49e9f361f501a Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Mon, 28 Oct 2019 18:50:34 -0700 Subject: [PATCH 01/34] Issue#1 --- example-data/complex-vnfd.xml | 12 ++++-------- example-data/nfv-nsd.xml | 1 + example-data/nfv-vnfd.xml | 1 + src/yang/etsi-nfv-common.yang | 22 ++++++++++++++++++++++ src/yang/etsi-nfv-vnf.yang | 19 +++++++++++++++++-- 5 files changed, 45 insertions(+), 10 deletions(-) diff --git a/example-data/complex-vnfd.xml b/example-data/complex-vnfd.xml index b10ec9f..39bbbaf 100644 --- a/example-data/complex-vnfd.xml +++ b/example-data/complex-vnfd.xml @@ -78,11 +78,11 @@ 16 - + root root-storage 10 - + CP CP @@ -116,17 +116,13 @@ internal-vl - - ipv4 - + ipv4 mgmt - - ipv4 - + ipv4 diff --git a/example-data/nfv-nsd.xml b/example-data/nfv-nsd.xml index ba4ec2d..03423e6 100644 --- a/example-data/nfv-nsd.xml +++ b/example-data/nfv-nsd.xml @@ -49,6 +49,7 @@ bare qcow2 + 1 2.0 1 http://www.cisco.com/asa.qcow2 diff --git a/example-data/nfv-vnfd.xml b/example-data/nfv-vnfd.xml index 7587240..6b76c43 100644 --- a/example-data/nfv-vnfd.xml +++ b/example-data/nfv-vnfd.xml @@ -48,6 +48,7 @@ bare qcow2 + 1 2.0 1 http://www.cisco.com/asa.qcow2 diff --git a/src/yang/etsi-nfv-common.yang b/src/yang/etsi-nfv-common.yang index 0a1c361..6ab9ea1 100644 --- a/src/yang/etsi-nfv-common.yang +++ b/src/yang/etsi-nfv-common.yang @@ -289,6 +289,28 @@ 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"; + } + } + + 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"; } } diff --git a/src/yang/etsi-nfv-vnf.yang b/src/yang/etsi-nfv-vnf.yang index 43c1109..6fb6653 100755 --- a/src/yang/etsi-nfv-vnf.yang +++ b/src/yang/etsi-nfv-vnf.yang @@ -2600,10 +2600,25 @@ submodule etsi-nfv-vnf { } leaf-list event { - type internal-lifecycle-management-script-event; + type union { + type internal-lifecycle-management-script-event; + type external-lifecycle-management-script-event; + } description "Describes VNF lifecycle event(s) or an external stimulus - detected on a VNFM reference point."; + detected on a VNFM reference point. + + If the event is of type + internal-lifecycle-management-script-event, then depending + on whether the event is of type start-* or end-*, the + script associated with the VNF LCM operation needs to be + executed before the event, or after the event, + respectively. + + On the other hand, if the event is of type + external-lifecycle-management-script-event, then the + script associated with the event needs to be executed + for the given VNF LCM operation."; reference "GS NFV IFA011: Section 7.1.13 LifeCycleManagementScript information element"; -- GitLab From 89d67e34389cb87e0b0ef451f7194f5a1666f062 Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Mon, 25 Nov 2019 16:15:11 -0800 Subject: [PATCH 02/34] Issue#2 --- example-data/complex-vnfd.xml | 20 ++-- example-data/nfv-nsd.xml | 7 +- example-data/nfv-vnfd.xml | 8 +- example-data/nfv.xml | 15 ++- src/yang/etsi-nfv-common.yang | 12 +- src/yang/etsi-nfv-vnf.yang | 219 +++++++++++++++++++++++++--------- 6 files changed, 202 insertions(+), 79 deletions(-) diff --git a/example-data/complex-vnfd.xml b/example-data/complex-vnfd.xml index b10ec9f..9aa8ec9 100644 --- a/example-data/complex-vnfd.xml +++ b/example-data/complex-vnfd.xml @@ -78,11 +78,15 @@ 16 - + root - root-storage - 10 - + block + + 10 + true + CP + + CP CP @@ -116,17 +120,13 @@ internal-vl - - ipv4 - + ipv4 mgmt - - ipv4 - + ipv4 diff --git a/example-data/nfv-nsd.xml b/example-data/nfv-nsd.xml index ba4ec2d..deae7b8 100644 --- a/example-data/nfv-nsd.xml +++ b/example-data/nfv-nsd.xml @@ -36,8 +36,10 @@ asa-vsd - nfv:root-storage - 0 + nfv:block + + 0 + asa-image @@ -49,6 +51,7 @@ bare qcow2 + 0 2.0 1 http://www.cisco.com/asa.qcow2 diff --git a/example-data/nfv-vnfd.xml b/example-data/nfv-vnfd.xml index 7587240..f25d6b1 100644 --- a/example-data/nfv-vnfd.xml +++ b/example-data/nfv-vnfd.xml @@ -35,8 +35,11 @@ asa-vsd - nfv:root-storage - 0 + nfv:file + + 0 + asa-image + asa-image @@ -48,6 +51,7 @@ bare qcow2 + 0 2.0 1 http://www.cisco.com/asa.qcow2 diff --git a/example-data/nfv.xml b/example-data/nfv.xml index 9273101..18a4260 100644 --- a/example-data/nfv.xml +++ b/example-data/nfv.xml @@ -36,8 +36,12 @@ asa-vsd - root-storage - 0 + block + + 1 + true + asa-image + asa-image @@ -150,8 +154,11 @@ csr-vsd - root-storage - 0 + file + + 1 + csr-image + csr-image diff --git a/src/yang/etsi-nfv-common.yang b/src/yang/etsi-nfv-common.yang index 0a1c361..1fa6a08 100644 --- a/src/yang/etsi-nfv-common.yang +++ b/src/yang/etsi-nfv-common.yang @@ -225,22 +225,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."; } /* diff --git a/src/yang/etsi-nfv-vnf.yang b/src/yang/etsi-nfv-vnf.yang index 43c1109..78e84c1 100755 --- a/src/yang/etsi-nfv-vnf.yang +++ b/src/yang/etsi-nfv-vnf.yang @@ -89,6 +89,62 @@ submodule etsi-nfv-vnf { } } + grouping block-storage-data { + leaf size-of-storage { + type uint64; + units "GB"; + default 0; + description + "Size of virtualized storage resource in GB."; + reference + "GS NFV IFA011: Section 7.1.9.4.3, BlockStorageData + Information element."; + } + + list vdu-storage-requirements { + key "key"; + + leaf key { + type string; + } + + leaf value { + type string; + } + description + "An array of key-value pairs that articulate + the storage deployment requirements."; + reference + "GS NFV IFA011: Section 7.1.9.4.3, BlockStorageData + Information element."; + } + + leaf rdma-enabled { + type boolean; + description + "Indicate if the storage support RDMA."; + reference + "GS NFV IFA011: Section 7.1.9.4.3, BlockStorageData + Information element."; + } + + leaf sw-image-desc { + type leafref { + path "../../../sw-image-desc/id"; + } + must "../size-of-storage >=" + + "../../../sw-image-desc[id=current()]/min-disk" { + } + description + "Software image to be loaded on the VirtualStorage + resource created based on this VirtualStorageDesc. + Shall be absent when used for virtual disks."; + reference + "GS NFV IFA011: Section 7.1.9.4.3, BlockStorageData + Information element."; + } + } + grouping vnfd { leaf id { type string; @@ -748,6 +804,24 @@ submodule etsi-nfv-vnf { VirtualCpuData information element."; } } + + list virtual-disk { + key "id"; + + description + "The local or ephemeral disk(s) of the virtualised compute."; + reference + "GS NFV IFA011: Section 7.1.9.2.2, VirtualComputeDesc + Information element."; + + leaf id { + type string; + description + "Unique identifier for the list of virtual disks."; + } + + uses block-storage-data; + } } list virtual-storage-desc { @@ -767,70 +841,105 @@ submodule etsi-nfv-vnf { leaf type-of-storage { // Needed to be able to onboard images - default root-storage; type identityref { base storage-type; } + default "nfv:block"; description - "Type of virtualised storage resource (e.g. volume, - object)."; - reference - "GS NFV IFA011: Section 7.1.9.4, Information elements - related to Virtual Storage."; - } - - leaf size-of-storage { - type uint64; - units "GB"; - default 0; - description - "Size of virtualised storage resource (e.g. size of - volume, in GB)"; - reference - "GS NFV IFA011: Section 7.1.9.4, Information elements - related to Virtual Storage."; - } - - list vdu-storage-requirements { - key "key"; - - leaf key { - type string; - } - - leaf value { - type string; - } - description - "Array of key-value pairs that articulate the storage - deployment requirements."; - reference - "GS NFV IFA011: Section 7.1.9.4.2, VirtualStorageDesc - information element."; - } - - leaf rdma-enabled { - type boolean; - description - "Indicate if the storage support RDMA."; + "Type of virtualised storage resource (BLOCK, OBJECT, + FILE)."; reference "GS NFV IFA011: Section 7.1.9.4, Information elements related to Virtual Storage."; } - leaf sw-image-desc { - type leafref { - path "../../sw-image-desc/id"; - } - must "../size-of-storage >=" + - "../../sw-image-desc[id=current()]/min-disk" { - } - description - "Software image to be loaded on the VirtualStorage - resource created based on this VirtualStorageDesc."; - reference - "GS NFV IFA011: Section 7.1.9.4, Information elements - related to Virtual Storage."; + choice storage { + container block-storage-data { + must '../type-of-storage = "nfv:block"' { + error-message "type-of-storage must be set to 'block'"; + } + description + "Specifies the details of block storage. It shall + be present when the 'typeOfStorage' attribute is set to + 'BLOCK'. It shall be absent otherwise."; + reference + "GS NFV IFA011: Section 7.1.9.4, Information elements + related to Virtual Storage."; + + uses block-storage-data; + } + + container object-storage-data { + must '../type-of-storage = "nfv:object"' { + error-message "type-of-storage must be set to 'object'"; + } + description + "Specifies the details of object storage. It shall be + present when the 'typeOfStorage' attribute is set to + 'OBJECT'. It shall be absent otherwise."; + reference + "GS NFV IFA011: Section 7.1.9.4, Information elements + related to Virtual Storage."; + + leaf max-size-of-storage { + type uint64; + units "GB"; + default 0; + description + "Max size of virtualised storage resource in GB."; + reference + "GS NFV IFA011: Section 7.1.9.4.4, ObjectStorage Information + element."; + } + } + + container file-storage-data { + must '../type-of-storage = "nfv:file"' { + error-message "type-of-storage must be set to 'file'"; + } + description + "Specifies the details of file storage. It shall be present + when the 'typeOfStorage' attribute is set to 'FILE'. It + shall be absent otherwise."; + reference + "GS NFV IFA011: Section 7.1.9.4, Information elements + related to Virtual Storage."; + + leaf size-of-storage { + type uint64; + units "GB"; + default 0; + description + "Size of virtualised storage resource in GB."; + reference + "GS NFV IFA011: Section 7.1.9.4.5, FileStorageData + Information element."; + } + + leaf file-system-protocol { + type string; + default "cifs"; + description + "The shared file system protocol (e.g. NFS, CIFS)."; + reference + "GS NFV IFA011: Section 7.1.9.4.5, FileStorageData + Information element."; + } + + leaf int-virtual-link-desc { + type leafref { + path "../../../sw-image-desc/id"; + } + mandatory true; + description + "Reference of the internal VLD which this file storage + connects to. The attached VDUs shall connect to the + same internal VLD."; + reference + "GS NFV IFA011: Section 7.1.9.4.5, FileStorageData + Information element."; + } + } } } -- GitLab From b34017eb081db9ff63766f5c88e283a90daca978 Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Tue, 26 Nov 2019 15:28:07 -0800 Subject: [PATCH 03/34] Changing must to a when statement. --- src/yang/etsi-nfv-vnf.yang | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/src/yang/etsi-nfv-vnf.yang b/src/yang/etsi-nfv-vnf.yang index 78e84c1..5544a81 100755 --- a/src/yang/etsi-nfv-vnf.yang +++ b/src/yang/etsi-nfv-vnf.yang @@ -855,9 +855,7 @@ submodule etsi-nfv-vnf { choice storage { container block-storage-data { - must '../type-of-storage = "nfv:block"' { - error-message "type-of-storage must be set to 'block'"; - } + when '../type-of-storage = "nfv:block"'; description "Specifies the details of block storage. It shall be present when the 'typeOfStorage' attribute is set to @@ -870,9 +868,7 @@ submodule etsi-nfv-vnf { } container object-storage-data { - must '../type-of-storage = "nfv:object"' { - error-message "type-of-storage must be set to 'object'"; - } + when '../type-of-storage = "nfv:object"'; description "Specifies the details of object storage. It shall be present when the 'typeOfStorage' attribute is set to @@ -894,9 +890,7 @@ submodule etsi-nfv-vnf { } container file-storage-data { - must '../type-of-storage = "nfv:file"' { - error-message "type-of-storage must be set to 'file'"; - } + when '../type-of-storage = "nfv:file"'; description "Specifies the details of file storage. It shall be present when the 'typeOfStorage' attribute is set to 'FILE'. It -- GitLab From c8dbd6025326a2ba8a7e847fb97b60368ce81ff7 Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Thu, 28 Nov 2019 06:50:33 -0800 Subject: [PATCH 04/34] Issue#3 --- example-data/nfv-nsd.xml | 5 +++-- src/yang/etsi-nfv-nsd.yang | 16 ++++++++++++++++ src/yang/etsi-nfv-vnf.yang | 17 +++++++++++++++++ 3 files changed, 36 insertions(+), 2 deletions(-) diff --git a/example-data/nfv-nsd.xml b/example-data/nfv-nsd.xml index 57f7c7c..c52f36d 100644 --- a/example-data/nfv-nsd.xml +++ b/example-data/nfv-nsd.xml @@ -1,4 +1,5 @@ - + + ASA My Company @@ -133,4 +134,4 @@ - + diff --git a/src/yang/etsi-nfv-nsd.yang b/src/yang/etsi-nfv-nsd.yang index 304fc30..7185203 100644 --- a/src/yang/etsi-nfv-nsd.yang +++ b/src/yang/etsi-nfv-nsd.yang @@ -28,10 +28,26 @@ module etsi-nfv-nsd { } container nsd { + list vnfd { + key "id"; + + description + "A VNF Descriptor (VNFD) is a deployment template which + describes a VNF in terms of deployment and operational + behaviour requirements. It also contains connectivity, + interface and virtualised resource requirements"; + reference + "GS NFV-IFA011: Section 7.1.2, VNFD information element"; + + uses nfv:vnfd; + } + list nsd { key "id"; + max-elements 1; uses nfv:nsd; + description "The NSD information element is a deployment template whose instances are used by the NFVO for the lifecycle management diff --git a/src/yang/etsi-nfv-vnf.yang b/src/yang/etsi-nfv-vnf.yang index 283217a..25c7bbb 100755 --- a/src/yang/etsi-nfv-vnf.yang +++ b/src/yang/etsi-nfv-vnf.yang @@ -95,6 +95,23 @@ submodule etsi-nfv-vnf { "GS NFV-IFA011: Section 7.1.6.6, VirtualNetworkInterfaceRequirements information element"; } + + leaf nic-io-requirements { + type leafref { + path "/nfv:nfv/nfv:vnfd/nfv:virtual-compute-desc/" + + "nfv:logical-node/nfv:id"; + } + description + "This references (couples) the CPD with any logical node + I/O requirements (for network devices) that may have been + created. Linking these attributes is necessary so that I/O + requirements that need to be articulated at the logical + node level can be associated with the network interface + requirements associated with the CPD."; + reference + "GS NFV-IFA011: Section 7.1.6.6, + VirtualNetworkInterfaceRequirements information element"; + } } } -- GitLab From 096c5439dcf7208fd887a0958794641b53c2e383 Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Thu, 28 Nov 2019 07:30:10 -0800 Subject: [PATCH 05/34] Issue#4 - Implement NFVIFA(18)000627 - IFA011ed311 Remove element groups --- example-data/nfv-nsd.xml | 4 ++-- src/yang/etsi-nfv-vnf.yang | 7 ++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/example-data/nfv-nsd.xml b/example-data/nfv-nsd.xml index 57f7c7c..8241604 100644 --- a/example-data/nfv-nsd.xml +++ b/example-data/nfv-nsd.xml @@ -1,4 +1,4 @@ - + ASA My Company @@ -133,4 +133,4 @@ - + diff --git a/src/yang/etsi-nfv-vnf.yang b/src/yang/etsi-nfv-vnf.yang index 283217a..2fcc971 100755 --- a/src/yang/etsi-nfv-vnf.yang +++ b/src/yang/etsi-nfv-vnf.yang @@ -2931,10 +2931,15 @@ submodule etsi-nfv-vnf { } list element-group { + status deprecated; key "id"; description "Describes the associated elements of a VNFD for a certain - purpose during VNF lifecycle management."; + purpose during VNF lifecycle management. + + Reason for deprecating this node - Information about which + VDU and VLD are involved in scaling is better defined by + ScalingDelta."; reference "GS NFV IFA011: Section 7.1.2 VNFD information element"; -- GitLab From befcbe6c86277ee23f8517ceffbdacf240f5ba1a Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Sat, 30 Nov 2019 15:16:59 -0800 Subject: [PATCH 06/34] Issue#5 --- example-data/complex-vnfd.xml | 24 ++++++++++++++ example-data/nfv-nsd.xml | 18 +++++++++-- example-data/nfv-vnfd.xml | 14 +++++++++ example-data/nfv.xml | 24 ++++++++++++++ src/yang/etsi-nfv-common.yang | 4 +++ src/yang/etsi-nfv-vnf.yang | 59 +++++++++++++++++++++++++++++++++++ 6 files changed, 141 insertions(+), 2 deletions(-) diff --git a/example-data/complex-vnfd.xml b/example-data/complex-vnfd.xml index 39bbbaf..33cbe84 100644 --- a/example-data/complex-vnfd.xml +++ b/example-data/complex-vnfd.xml @@ -210,6 +210,18 @@ 1 + + + 1 + 1 + + + + + 1 + 1 + + control-plane @@ -281,6 +293,18 @@ 1 + + + 1 + 1 + + + + + 1 + 1 + + control-plane diff --git a/example-data/nfv-nsd.xml b/example-data/nfv-nsd.xml index 57f7c7c..f834ad4 100644 --- a/example-data/nfv-nsd.xml +++ b/example-data/nfv-nsd.xml @@ -1,4 +1,4 @@ - + ASA My Company @@ -100,6 +100,20 @@ single + + + + 1 + 1 + + + + + 1 + 1 + + + @@ -133,4 +147,4 @@ - + diff --git a/example-data/nfv-vnfd.xml b/example-data/nfv-vnfd.xml index f9ffa74..8a53ada 100644 --- a/example-data/nfv-vnfd.xml +++ b/example-data/nfv-vnfd.xml @@ -87,5 +87,19 @@ single + + + + 1 + 1 + + + + + 1 + 1 + + + diff --git a/example-data/nfv.xml b/example-data/nfv.xml index fef928e..125aaaa 100644 --- a/example-data/nfv.xml +++ b/example-data/nfv.xml @@ -141,6 +141,18 @@ 1 + + + 1 + 1 + + + + + 1 + 1 + + @@ -255,6 +267,18 @@ 1 + + + 1 + 1 + + + + + 1 + 1 + + diff --git a/src/yang/etsi-nfv-common.yang b/src/yang/etsi-nfv-common.yang index 7077b5c..d96c76c 100644 --- a/src/yang/etsi-nfv-common.yang +++ b/src/yang/etsi-nfv-common.yang @@ -390,6 +390,10 @@ 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"; } } diff --git a/src/yang/etsi-nfv-vnf.yang b/src/yang/etsi-nfv-vnf.yang index 283217a..1169d4e 100755 --- a/src/yang/etsi-nfv-vnf.yang +++ b/src/yang/etsi-nfv-vnf.yang @@ -2214,6 +2214,65 @@ submodule etsi-nfv-vnf { "GS NFV IFA011: Section 7.1.5.2 VnfLcmOperationsConfiguration information element"; } + + container create-snapshot-vnf-op-config { + list parameter { + key "key"; + min-elements 1; + + leaf key { + type string; + } + + leaf value { + type string; + } + description + "Array of KVP requirements for VNF-specific parameters + to be passed when invoking the + CreateSnapshotVnfOpConfig operation."; + reference + "GS NFV IFA011: Section 7.1.5.11 + CreateSnapshotVnfOpConfig information + element"; + } + description + "Configuration parameters for the Create VNF Snapshot + operation."; + reference + "GS NFV IFA011: Section 7.1.5.2 + VnfLcmOperationsConfiguration information element"; + } + + container revert-to-snapshot-vnf-op-config { + description + "Configuration parameters for the Revert-To VNF Snapshot + operation."; + reference + "GS NFV IFA011: Section 7.1.5.2 + VnfLcmOperationsConfiguration information element"; + + list parameter { + key "key"; + min-elements 1; + + leaf key { + type string; + } + + leaf value { + type string; + } + description + "Array of KVP requirements for VNF-specific parameters + to be passed when invoking the + RevertToSnapshotVnfOpConfig operation."; + reference + "GS NFV IFA011: Section 7.1.5.12 + RevertToSnapshotVnfOpConfig information + element"; + } + } } list affinity-or-anti-affinity-group { -- GitLab From be2f97817b4de6a6ff7db0290f7be0d2fcaaf299 Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Sat, 30 Nov 2019 15:50:05 -0800 Subject: [PATCH 07/34] Issue#6 --- example-data/nfv-nsd.xml | 4 ++-- src/yang/etsi-nfv-vnf.yang | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/example-data/nfv-nsd.xml b/example-data/nfv-nsd.xml index 57f7c7c..8241604 100644 --- a/example-data/nfv-nsd.xml +++ b/example-data/nfv-nsd.xml @@ -1,4 +1,4 @@ - + ASA My Company @@ -133,4 +133,4 @@ - + diff --git a/src/yang/etsi-nfv-vnf.yang b/src/yang/etsi-nfv-vnf.yang index 283217a..a8279bb 100755 --- a/src/yang/etsi-nfv-vnf.yang +++ b/src/yang/etsi-nfv-vnf.yang @@ -770,6 +770,22 @@ submodule etsi-nfv-vnf { "GS NFV IFA011: Section 7.1.9.2.4, VirtualCpuPinningData information element."; } + + leaf-list cpu-policy { + type enumeration { + enum "dedicated"; + enum "shared"; + } + description + "Shows the list of dedicated virtual CPU cores and + shared virtual CPU cores in a VM. Dedicated refers to + a virtual CPU core occupies one physical CPU core. + Shared refers to multi virtual CPU cores shared one + physical CPU core."; + reference + "GS NFV IFA011: Section 7.1.9.2.4, + VirtualCpuPinningData information element."; + } description "The virtual CPU pinning configuration for the virtualised compute resource."; -- GitLab From 8f3572d74bc5c273c369125aa6841771a40bad12 Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Wed, 4 Dec 2019 15:28:20 +0900 Subject: [PATCH 08/34] Removed vnfd from within nsd. --- src/yang/etsi-nfv-nsd.yang | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/src/yang/etsi-nfv-nsd.yang b/src/yang/etsi-nfv-nsd.yang index 7185203..0175854 100644 --- a/src/yang/etsi-nfv-nsd.yang +++ b/src/yang/etsi-nfv-nsd.yang @@ -28,20 +28,6 @@ module etsi-nfv-nsd { } container nsd { - list vnfd { - key "id"; - - description - "A VNF Descriptor (VNFD) is a deployment template which - describes a VNF in terms of deployment and operational - behaviour requirements. It also contains connectivity, - interface and virtualised resource requirements"; - reference - "GS NFV-IFA011: Section 7.1.2, VNFD information element"; - - uses nfv:vnfd; - } - list nsd { key "id"; -- GitLab From e6af2d7a2510655297d743394520b9a88511d22a Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Wed, 4 Dec 2019 17:03:53 +0900 Subject: [PATCH 09/34] Remove events that are not part of 2.7.1 --- src/yang/etsi-nfv-common.yang | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/yang/etsi-nfv-common.yang b/src/yang/etsi-nfv-common.yang index 6ab9ea1..a0359f0 100644 --- a/src/yang/etsi-nfv-common.yang +++ b/src/yang/etsi-nfv-common.yang @@ -289,12 +289,6 @@ 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"; } } @@ -308,9 +302,6 @@ submodule etsi-nfv-common { 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"; } } -- GitLab From 9abf81835d73a2363f4509a43d65be292a4e37ab Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Thu, 5 Dec 2019 06:59:36 +0900 Subject: [PATCH 10/34] Match the cardinality for logicalNodeRequirementDetail --- src/yang/etsi-nfv-vnf.yang | 1 + 1 file changed, 1 insertion(+) diff --git a/src/yang/etsi-nfv-vnf.yang b/src/yang/etsi-nfv-vnf.yang index 25c7bbb..bdc9306 100755 --- a/src/yang/etsi-nfv-vnf.yang +++ b/src/yang/etsi-nfv-vnf.yang @@ -508,6 +508,7 @@ submodule etsi-nfv-vnf { list requirement-detail { key "key"; + min-elements 1; leaf key { type string; -- GitLab From 6a9e5ef89f7b4f61a9a1315c863e3a499ea53df1 Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Fri, 6 Dec 2019 10:21:07 +0900 Subject: [PATCH 11/34] Issue#7 - SOL006ed331 FEAT02 Vnf Software Modification --- example-data/nfv-nsd.xml | 4 +- src/yang/etsi-nfv-common.yang | 2 + src/yang/etsi-nfv-vnf.yang | 297 ++++++++++++++++++++++++++++++++-- 3 files changed, 290 insertions(+), 13 deletions(-) diff --git a/example-data/nfv-nsd.xml b/example-data/nfv-nsd.xml index 57f7c7c..8241604 100644 --- a/example-data/nfv-nsd.xml +++ b/example-data/nfv-nsd.xml @@ -1,4 +1,4 @@ - + ASA My Company @@ -133,4 +133,4 @@ - + diff --git a/src/yang/etsi-nfv-common.yang b/src/yang/etsi-nfv-common.yang index 7077b5c..aaa8d06 100644 --- a/src/yang/etsi-nfv-common.yang +++ b/src/yang/etsi-nfv-common.yang @@ -390,6 +390,8 @@ submodule etsi-nfv-common { enum "end-vnf-ext-conn-change"; enum "start-vnfinfo-modification"; enum "end-vnfinfo-modification"; + enum "start-change-current-vnf-package"; + enum "end-change-current-vnf-package"; } } diff --git a/src/yang/etsi-nfv-vnf.yang b/src/yang/etsi-nfv-vnf.yang index 283217a..52425ef 100755 --- a/src/yang/etsi-nfv-vnf.yang +++ b/src/yang/etsi-nfv-vnf.yang @@ -64,7 +64,7 @@ submodule etsi-nfv-vnf { } leaf support-mandatory { - status "deprecated"; + status "deprecated"; default "false"; type boolean; description @@ -303,11 +303,11 @@ submodule etsi-nfv-vnf { } leaf vnic-type { - type identityref { - base vnic-type; - } - description - "Describes the type of the virtual network interface + type identityref { + base vnic-type; + } + description + "Describes the type of the virtual network interface realizing the CPs instantiated from this CPD. This is used to determine which mechanism driver(s) to be used to bind the port. Value: @@ -1642,17 +1642,17 @@ submodule etsi-nfv-vnf { L2ProtocolData information element."; } - leaf segmentation-id { - type string; - description + leaf segmentation-id { + type string; + description "If present, specifies a specific virtualised network segment, which depends on the network type. For e.g., VLAN ID for VLAN network type and tunnel ID for GRE/VXLAN network types."; - reference + reference "GS NFV IFA011: Section 7.1.8.14, L2ProtocolData information element."; - } + } description "Specifies the L2 protocol data for this virtual link. @@ -2214,6 +2214,33 @@ submodule etsi-nfv-vnf { "GS NFV IFA011: Section 7.1.5.2 VnfLcmOperationsConfiguration information element"; } + + container change-current-vnf-package-op-config { + list parameter { + key "key"; + + leaf key { + type string; + } + leaf value { + type string; + } + description + "Array of KVP requirements for VNF-specific parameters + to be passed when invoking the change current VNF + Package operation."; + reference + "GS NFV IFA011: Section 7.1.5.13 + ChangeCurrentVnfPackageOpConfig information + element"; + } + description + "Configuration parameters for the ModifyVnfSoftware + operation."; + reference + "GS NFV IFA011: Section 7.1.5.2 + VnfLcmOperationsConfiguration information element"; + } } list affinity-or-anti-affinity-group { @@ -2843,6 +2870,7 @@ submodule etsi-nfv-vnf { list lifecycle-management-script { key "id"; + description "Includes a list of events and corresponding management scripts performed for the VNF."; @@ -3047,5 +3075,252 @@ submodule etsi-nfv-vnf { reference "GS NFV IFA011: Section 7.1.2 VNFD information element"; } + + list vnf-package-change-info { + key "src-vnfd-id dst-vnfd-id src-flavour-id"; + + leaf src-vnfd-id { + type string; + description + "Identifier of the source VNFD and the source VNF + package. Either the srcVnfdId or the dstVnfdId shall be + equal to the vnfdId of the VNFD containing this version + selector."; + reference + "GS NFV IFA011: Section 7.1.15.3 VersionSelector + information element"; + } + + leaf dst-vnfd-id { + type string; + description + "Identifier of the destination VNFD and the destination + VNF package. Either the srcVnfdId or the dstVnfdId shall + be equal to the vnfdId of the VNFD containing this version + selector."; + reference + "GS NFV IFA011: Section 7.1.15.3 VersionSelector + information element"; + } + + leaf src-flavour-id { + type string; + description + "Identifier of the deployment flavour in the source VNF + package for which this modification applies. It is up to + protocol design stage to decide whether there is further + optimization potential to apply one modification for + multiple srcFlavourIds."; + reference + "GS NFV IFA011: Section 7.1.15.3 VersionSelector + information element"; + } + + leaf additional-params-id { + type leafref { + path "../../df/lcm-operations-configuration/" + + "change-current-vnf-package-op-config/parameter/key"; + } + description + "References the ChangeCurrentVnfPackageOpConfig information + element that defines the valid additional parameters for + the change."; + reference + "GS NFV IFA011: Section 7.1.15.2 VnfPackageChangeInfo + information element"; + } + + leaf-list modification-qualifier { + type enumeration { + enum "up"; + enum "down"; + enum "vnf-upgrade"; + enum "vnf-update"; + enum "vnf-downgrade"; + } + description + "When present, it specifies the type of modification + resulting from transitioning from srcVnfdId to dstVnfdId. + The possible values include at least: + + UP - indicating that the destination VNF version is newer + than the source version, + DOWN - indicating that the destination VNF version is + older than the source version. + + When provided, UP and DOWN values shall always be + supported as the first value. In addition, a vendor may + specify additional values and provide such values to + qualify further the change between the two versions such + as VNF_UPGRADE, VNF_UPDATE, VNF_DOWNGRADE, etc."; + reference + "GS NFV IFA011: Section 7.1.15.2 VnfPackageChangeInfo + information element"; + } + + list component-mapping { + key "type"; + + leaf type { + type string; + description + "The type of component or property. Possible values + differentiate whether changes concern to some VNF + component (e.g., VDU, internal VLD, etc.) or property + (e.g., a Scaling Aspect, etc.)."; + reference + "GS NFV IFA011: Section 7.1.15.4 ComponentMapping + information element"; + } + + leaf source-desc-id { + type string; + description + "Identifier of the component or property in the source + VNFD."; + reference + "GS NFV IFA011: Section 7.1.15.4 ComponentMapping + information element"; + } + + leaf dst-desc-id { + type string; + description + "Identifier of the component or property in the + destination VNFD."; + reference + "GS NFV IFA011: Section 7.1.15.4 ComponentMapping + information element"; + } + + leaf description { + type string; + description + "Human readable description of the component changes."; + reference + "GS NFV IFA011: Section 7.1.15.4 ComponentMapping + information element"; + } + + description + "Mapping information related to identifiers of components in + source VNFD and destination VNFD that concern to the change + process."; + reference + "GS NFV IFA011: Section 7.1.15.2 VnfPackageChangeInfo + information element"; + } + + leaf lcm-script-id { + type leafref { + path "../../lifecycle-management-script/id"; + } + description + "Reference to a lifecycle management script that is executed + as part of this 'change current VNF Package' process."; + reference + "GS NFV IFA011: Section 7.1.15.2 VnfPackageChangeInfo + information element"; + } + + leaf coordination-id { + type leafref { + path "../../lcm-operations-coordination/id"; + } + description + "Reference to applicable VNF LCM operation coordination + actions."; + reference + "GS NFV IFA011: Section 7.1.15.2 VnfPackageChangeInfo + information element"; + } + + leaf dst-flavour-id { + type leafref { + path "../../df/id"; + } + description + "Identifies the deployment flavour in the destination VNF + package for which this change applies. The flavour ID is + defined in the destination VNF package."; + reference + "GS NFV IFA011: Section 7.1.15.2 VnfPackageChangeInfo + information element"; + } + description + "Information used for performing the change of the current + VNF Package. More than one VNF Package Change Info construct + is possible to cater the possibility that changes of the + current VNF Package can be performed for different source + VNFDs."; + reference + "GS NFV IFA011: Section 7.1.2 VNFD information element"; + } + + list lcm-operations-coordination { + key "id"; + + leaf id { + type string; + description + "Identifies the specific VNF LCM operation coordination + action."; + reference + "GS NFV IFA011: Section 7.1.16.2 VnfLcmOperationCoordination + information element"; + } + + leaf description { + type string; + description + "Human readable description of the coordination action."; + reference + "GS NFV IFA011: Section 7.1.16.2 VnfLcmOperationCoordination + information element"; + } + + leaf endpoint-type { + type enumeration { + enum "mgmt"; + enum "vnf"; + } + description + "Specifies the type of the endpoint exposing the LCM + operation coordination such as other operations supporting + or management systems (e.g. an EM) or the VNF instance. + Allowed values: + • MGMT: coordination with other operation supporting + management systems. + • VNF: coordination with the VNF instance."; + reference + "GS NFV IFA011: Section 7.1.16.2 VnfLcmOperationCoordination + information element"; + } + + leaf coordination-stage { + type string; + description + "Indicates the coordination stage during the VNF LCM + operation."; + reference + "GS NFV IFA011: Section 7.1.16.2 VnfLcmOperationCoordination + information element"; + } + + leaf coordination-params { + type string; + description + "Input information needed by the external coordinating + entity."; + reference + "GS NFV IFA011: Section 7.1.16.2 VnfLcmOperationCoordination + information element"; + } + description + "Provides information used for the coordination in VNF LCM + operations."; + reference + "GS NFV IFA011: Section 7.1.2 VNFD information element"; + } } } -- GitLab From a18d3aa1e7b13dfe1cd3e54f5822c14bd023f464 Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Mon, 9 Dec 2019 16:13:29 -0800 Subject: [PATCH 12/34] nfv/SOL006#8 --- src/yang/etsi-nfv-common.yang | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/yang/etsi-nfv-common.yang b/src/yang/etsi-nfv-common.yang index 7077b5c..4c5356d 100644 --- a/src/yang/etsi-nfv-common.yang +++ b/src/yang/etsi-nfv-common.yang @@ -393,6 +393,14 @@ submodule etsi-nfv-common { } } + typedef external-lifecycle-management-script-event { + type enumeration { + enum "vnf-snapshot-creation"; + enum "vnf-snapshot-reverting-to"; + enum "change-current-vnf-package"; + } + } + grouping local-affinity-or-anti-affinity-rule { list local-affinity-or-anti-affinity-rule { key "type scope"; -- GitLab From 38a956947d7b2254479c04ed16b507e3a9145ae1 Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Thu, 12 Dec 2019 16:25:42 -0800 Subject: [PATCH 13/34] nfv/SOL006#9 - Fix the change in NFVIFA(18)00503 that changed the layerProtocol attribute from 1 to 1..N --- src/yang/etsi-nfv-common.yang | 1 + 1 file changed, 1 insertion(+) diff --git a/src/yang/etsi-nfv-common.yang b/src/yang/etsi-nfv-common.yang index 841e03b..dc28e78 100644 --- a/src/yang/etsi-nfv-common.yang +++ b/src/yang/etsi-nfv-common.yang @@ -437,6 +437,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 -- GitLab From 3d8f2e5c7aef3051f149c872568f402f9c3ba973 Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Thu, 12 Dec 2019 17:37:34 -0800 Subject: [PATCH 14/34] Added explanation for keys and for additional-modification-description --- src/yang/etsi-nfv-vnf.yang | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/yang/etsi-nfv-vnf.yang b/src/yang/etsi-nfv-vnf.yang index 52425ef..4f1e081 100755 --- a/src/yang/etsi-nfv-vnf.yang +++ b/src/yang/etsi-nfv-vnf.yang @@ -3077,6 +3077,11 @@ submodule etsi-nfv-vnf { } list vnf-package-change-info { + // IFA011ed332 defines the key as VersionSelector, which is + // nothing but a combination of src-vnfd-id, dst-vnfd-id and + // src-flavour-id. YANG cannot use a composite as a key, and + // therefore the model breaks it out as three elements that + // form the key. key "src-vnfd-id dst-vnfd-id src-flavour-id"; leaf src-vnfd-id { @@ -3158,6 +3163,18 @@ submodule etsi-nfv-vnf { information element"; } + leaf-list additional-modification-description { + type string; + description + "A VNF provider may define additional information to + qualify further the change between the two versions, + such as 'VNF upgrade', 'VNF update', 'VNF downgrade', + etc."; + reference + "GS NFV IFA011: Section 7.1.15.2 VnfPackageChangeInfo + information element"; + } + list component-mapping { key "type"; -- GitLab From 7ca96d927f1e4a6323c4fd5476f7ad081270ac15 Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Thu, 12 Dec 2019 17:57:09 -0800 Subject: [PATCH 15/34] nfv/SOL006#10 - NFVIFA(19)000154: FEAT02 IFA011 Review declare LCM coordination interface in VnfInterfaceDetails --- src/yang/etsi-nfv-vnf.yang | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/yang/etsi-nfv-vnf.yang b/src/yang/etsi-nfv-vnf.yang index 8c91b07..f1dca72 100755 --- a/src/yang/etsi-nfv-vnf.yang +++ b/src/yang/etsi-nfv-vnf.yang @@ -2412,12 +2412,14 @@ submodule etsi-nfv-vnf { type enumeration { enum vnf-configuration; enum vnf-indicator; + enum vnf-lcm-coordination; } description "Identifies an interface produced by the VNF. Valid values: - VNF_CONFIGURATION - - VNF_INDICATOR"; + - VNF_INDICATOR + - VNF_LCM_COORDINATION"; reference "GS NFV IFA011: Section 7.1.8.16 VnfInterfaceDetails information element"; -- GitLab From f9b844244b40421a6404d7b6a9d77195b6eb30f2 Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Thu, 12 Dec 2019 18:37:36 -0800 Subject: [PATCH 16/34] Indentation fixes --- src/yang/etsi-nfv-descriptors.yang | 2 +- src/yang/etsi-nfv-ns.yang | 26 +++---- src/yang/etsi-nfv-nsd.yang | 2 +- src/yang/etsi-nfv-vnf.yang | 106 ++++++++++++++--------------- 4 files changed, 68 insertions(+), 68 deletions(-) diff --git a/src/yang/etsi-nfv-descriptors.yang b/src/yang/etsi-nfv-descriptors.yang index 0f2b64c..a696931 100644 --- a/src/yang/etsi-nfv-descriptors.yang +++ b/src/yang/etsi-nfv-descriptors.yang @@ -61,7 +61,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 diff --git a/src/yang/etsi-nfv-ns.yang b/src/yang/etsi-nfv-ns.yang index 8aa781a..7667b7b 100644 --- a/src/yang/etsi-nfv-ns.yang +++ b/src/yang/etsi-nfv-ns.yang @@ -578,7 +578,7 @@ submodule etsi-nfv-ns { list position-desc { key "id"; - min-elements 1; + min-elements 1; leaf id { type string; @@ -756,7 +756,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 @@ -1268,7 +1268,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 +1306,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 +1327,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 +1348,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 +1367,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 +1400,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 +1413,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 +1428,7 @@ submodule etsi-nfv-ns { element"; } - leaf min-number-of-instances { + leaf min-number-of-instances { type uint16; default 1; description @@ -1440,7 +1440,7 @@ submodule etsi-nfv-ns { element"; } - leaf max-number-of-instances { + leaf max-number-of-instances { type uint16; default 1; description @@ -1553,7 +1553,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 +1591,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"; diff --git a/src/yang/etsi-nfv-nsd.yang b/src/yang/etsi-nfv-nsd.yang index 304fc30..01c5bef 100644 --- a/src/yang/etsi-nfv-nsd.yang +++ b/src/yang/etsi-nfv-nsd.yang @@ -33,7 +33,7 @@ module etsi-nfv-nsd { 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 diff --git a/src/yang/etsi-nfv-vnf.yang b/src/yang/etsi-nfv-vnf.yang index 8c91b07..93ae4e7 100755 --- a/src/yang/etsi-nfv-vnf.yang +++ b/src/yang/etsi-nfv-vnf.yang @@ -64,7 +64,7 @@ submodule etsi-nfv-vnf { } leaf support-mandatory { - status "deprecated"; + status "deprecated"; default "false"; type boolean; description @@ -303,11 +303,11 @@ submodule etsi-nfv-vnf { } leaf vnic-type { - type identityref { - base vnic-type; - } - description - "Describes the type of the virtual network interface + type identityref { + base vnic-type; + } + description + "Describes the type of the virtual network interface realizing the CPs instantiated from this CPD. This is used to determine which mechanism driver(s) to be used to bind the port. Value: @@ -771,13 +771,13 @@ submodule etsi-nfv-vnf { VirtualCpuPinningData information element."; } - leaf-list cpu-policy { - type enumeration { - enum "dedicated"; - enum "shared"; - } - description - "Shows the list of dedicated virtual CPU cores and + leaf-list cpu-policy { + type enumeration { + enum "dedicated"; + enum "shared"; + } + description + "Shows the list of dedicated virtual CPU cores and shared virtual CPU cores in a VM. Dedicated refers to a virtual CPU core occupies one physical CPU core. Shared refers to multi virtual CPU cores shared one @@ -785,7 +785,7 @@ submodule etsi-nfv-vnf { reference "GS NFV IFA011: Section 7.1.9.2.4, VirtualCpuPinningData information element."; - } + } description "The virtual CPU pinning configuration for the virtualised compute resource."; @@ -1658,17 +1658,17 @@ submodule etsi-nfv-vnf { L2ProtocolData information element."; } - leaf segmentation-id { - type string; - description + leaf segmentation-id { + type string; + description "If present, specifies a specific virtualised network segment, which depends on the network type. For e.g., VLAN ID for VLAN network type and tunnel ID for GRE/VXLAN network types."; - reference + reference "GS NFV IFA011: Section 7.1.8.14, L2ProtocolData information element."; - } + } description "Specifies the L2 protocol data for this virtual link. @@ -2231,64 +2231,64 @@ submodule etsi-nfv-vnf { VnfLcmOperationsConfiguration information element"; } - container create-snapshot-vnf-op-config { - list parameter { - key "key"; - min-elements 1; + container create-snapshot-vnf-op-config { + list parameter { + key "key"; + min-elements 1; - leaf key { - type string; - } + leaf key { + type string; + } - leaf value { - type string; - } - description - "Array of KVP requirements for VNF-specific parameters + leaf value { + type string; + } + description + "Array of KVP requirements for VNF-specific parameters to be passed when invoking the CreateSnapshotVnfOpConfig operation."; - reference + reference "GS NFV IFA011: Section 7.1.5.11 CreateSnapshotVnfOpConfig information element"; - } - description - "Configuration parameters for the Create VNF Snapshot + } + description + "Configuration parameters for the Create VNF Snapshot operation."; reference "GS NFV IFA011: Section 7.1.5.2 VnfLcmOperationsConfiguration information element"; - } + } - container revert-to-snapshot-vnf-op-config { - description - "Configuration parameters for the Revert-To VNF Snapshot + container revert-to-snapshot-vnf-op-config { + description + "Configuration parameters for the Revert-To VNF Snapshot operation."; reference "GS NFV IFA011: Section 7.1.5.2 VnfLcmOperationsConfiguration information element"; - list parameter { - key "key"; - min-elements 1; + list parameter { + key "key"; + min-elements 1; - leaf key { - type string; - } + leaf key { + type string; + } - leaf value { - type string; - } - description - "Array of KVP requirements for VNF-specific parameters + leaf value { + type string; + } + description + "Array of KVP requirements for VNF-specific parameters to be passed when invoking the RevertToSnapshotVnfOpConfig operation."; - reference + reference "GS NFV IFA011: Section 7.1.5.12 RevertToSnapshotVnfOpConfig information element"; - } - } + } + } } list affinity-or-anti-affinity-group { -- GitLab From 75f56bdd28e12e2775c16b8e22722314ae925737 Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Sun, 15 Dec 2019 20:52:32 -0800 Subject: [PATCH 17/34] nfv/SOL006#11 - Implement IFA014 MegaCR FEAT05 - Add priority to NSD --- src/yang/etsi-nfv-ns.yang | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/yang/etsi-nfv-ns.yang b/src/yang/etsi-nfv-ns.yang index 7667b7b..fd41598 100644 --- a/src/yang/etsi-nfv-ns.yang +++ b/src/yang/etsi-nfv-ns.yang @@ -1655,6 +1655,22 @@ submodule etsi-nfv-ns { } } } + + leaf priority { + type uint32; + description + "Specifies the priority for the NS instance. + + The allowed range will be reasonably high. The 'zero' + value will express the highest priority and the fact + that the NS instance based on this DF cannot be + pre-empted during resource allocation. + + Examples for the usage of priority include conflict + resolution in case of resource shortage."; + reference + "GS NFV IFA014: Section 6.3.2.2 NsDf information element"; + } } uses security-parameters; } -- GitLab From 4327978a4ab75c8981f68fad727db7306d503edc Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Thu, 19 Dec 2019 12:17:33 -0800 Subject: [PATCH 18/34] nfv/SOL006#12 - SOL006ed331 FEAT03 - NFVI MOD --- example-data/complex-vnfd.xml | 24 ++++++ example-data/nfv-nsd.xml | 3 + example-data/nfv-vnfd.xml | 3 + example-data/nfv.xml | 9 +++ src/yang/etsi-nfv-common.yang | 134 ++++++++++++++++++++++++++++++++++ src/yang/etsi-nfv-vnf.yang | 23 ++++++ 6 files changed, 196 insertions(+) diff --git a/example-data/complex-vnfd.xml b/example-data/complex-vnfd.xml index 33cbe84..b4191b5 100644 --- a/example-data/complex-vnfd.xml +++ b/example-data/complex-vnfd.xml @@ -118,12 +118,18 @@ ipv4 + + 1 + mgmt ipv4 + + 1 + in @@ -155,6 +161,9 @@ control-plane + + 1 + control-plane-standby @@ -163,11 +172,17 @@ control-plane + + 1 + data-plane 2 8 + + 1 + il-1 @@ -238,6 +253,9 @@ control-plane + + 1 + control-plane-standby @@ -246,11 +264,17 @@ control-plane + + 1 + data-plane 1 4 + + 1 + il-1 diff --git a/example-data/nfv-nsd.xml b/example-data/nfv-nsd.xml index f834ad4..3c67dd9 100644 --- a/example-data/nfv-nsd.xml +++ b/example-data/nfv-nsd.xml @@ -84,6 +84,9 @@ firewall 1 2 + + 1 + double diff --git a/example-data/nfv-vnfd.xml b/example-data/nfv-vnfd.xml index 8a53ada..d96c434 100644 --- a/example-data/nfv-vnfd.xml +++ b/example-data/nfv-vnfd.xml @@ -71,6 +71,9 @@ firewall 1 2 + + 1 + double diff --git a/example-data/nfv.xml b/example-data/nfv.xml index 125aaaa..6636d0a 100644 --- a/example-data/nfv.xml +++ b/example-data/nfv.xml @@ -67,6 +67,9 @@ ethernet + + 1 + inside @@ -95,6 +98,9 @@ firewall 1 2 + + 1 + inside-vl @@ -241,6 +247,9 @@ router 1 2 + + 1 + double diff --git a/src/yang/etsi-nfv-common.yang b/src/yang/etsi-nfv-common.yang index d96c76c..a4eb255 100644 --- a/src/yang/etsi-nfv-common.yang +++ b/src/yang/etsi-nfv-common.yang @@ -3,6 +3,13 @@ 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)"; @@ -397,9 +404,125 @@ submodule etsi-nfv-common { } } + 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 + "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.17, NfviMaintenanceInfo + information element"; + } + + leaf min-recovery-time-between-impacts { + type yang:timeticks; + description + "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.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"; + } + } + } + } + grouping local-affinity-or-anti-affinity-rule { list local-affinity-or-anti-affinity-rule { key "type scope"; + leaf type { type affinity-type; description @@ -419,6 +542,17 @@ submodule etsi-nfv-common { "GS NFV IFA011: Section 7.1.8.11, LocalAffinityOrAntiAffinityRule information element."; } + + uses nfvi-maintenance-info { + description + "When present, provides information on the impact tolerance + and rules to be observed when a group of instances based + on the same VDU is impacted during NFVI operation and + maintenance (e.g. NFVI resource upgrades)."; + reference + "GS NFV IFA011: Section 7.1.8.11, + LocalAffinityOrAntiAffinityRule information element."; + } } } diff --git a/src/yang/etsi-nfv-vnf.yang b/src/yang/etsi-nfv-vnf.yang index 93ae4e7..9952e3d 100755 --- a/src/yang/etsi-nfv-vnf.yang +++ b/src/yang/etsi-nfv-vnf.yang @@ -1256,6 +1256,17 @@ submodule etsi-nfv-vnf { } uses monitoring-parameter; } + + uses nfvi-maintenance-info { + description + "When present, provides information on the rules to be + observed when an instance based on this + VnfVirtualLinkDesc is impacted during NFVI operation and + maintenance (e.g. NFVI resource upgrades)."; + reference + "GS NFV IFA011: Section 7.1.7.2, VnfVirtualLinkDesc + information element."; + } } uses security-group-rule; @@ -1470,6 +1481,7 @@ submodule etsi-nfv-vnf { reference "GS NFV IFA011: Section 7.1.8.3, VduProfile information element."; + leaf id { type leafref { path "../../../" + @@ -1483,6 +1495,17 @@ submodule etsi-nfv-vnf { information element."; } } + + uses nfvi-maintenance-info { + description + "When present, provides information on the impact + tolerance and rules to be observed when instance(s) of + the VDU are impacted during NFVI operation and + maintenance (e.g. NFVI resource upgrades)."; + reference + "GS NFV IFA011: Section 7.1.8.3, VduProfile information + element."; + } } list virtual-link-profile { -- GitLab From 8a2fe68ca418974abfe0f571ae9aa1dd241a9857 Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Thu, 9 Jan 2020 18:16:59 -0800 Subject: [PATCH 19/34] nfv/SOL006#13 --- src/yang/etsi-nfv-ns.yang | 1 - 1 file changed, 1 deletion(-) diff --git a/src/yang/etsi-nfv-ns.yang b/src/yang/etsi-nfv-ns.yang index fd41598..5423646 100644 --- a/src/yang/etsi-nfv-ns.yang +++ b/src/yang/etsi-nfv-ns.yang @@ -355,7 +355,6 @@ submodule etsi-nfv-ns { "GS NFV IFA014: Section 6.5.2.2 NsVirtualLinkDesc information element"; } - uses security-parameters; } list vnffgd { -- GitLab From 061e826b6b7ff19a0424be808762c9e67ea36a52 Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Thu, 9 Jan 2020 18:36:09 -0800 Subject: [PATCH 20/34] Deprecate rather than remove the security attribute. --- src/yang/etsi-nfv-ns.yang | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/yang/etsi-nfv-ns.yang b/src/yang/etsi-nfv-ns.yang index 5423646..16833da 100644 --- a/src/yang/etsi-nfv-ns.yang +++ b/src/yang/etsi-nfv-ns.yang @@ -355,6 +355,9 @@ submodule etsi-nfv-ns { "GS NFV IFA014: Section 6.5.2.2 NsVirtualLinkDesc information element"; } + uses security-parameters { + status deprecated; + } } list vnffgd { -- GitLab From 4444296c38da6774a7cd50507af2fc8017192b6d Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Mon, 13 Jan 2020 12:56:46 -0800 Subject: [PATCH 21/34] Issue#14 --- example-data/nfv-nsd.xml | 4 ++-- src/yang/etsi-nfv-ns.yang | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/example-data/nfv-nsd.xml b/example-data/nfv-nsd.xml index 57f7c7c..8241604 100644 --- a/example-data/nfv-nsd.xml +++ b/example-data/nfv-nsd.xml @@ -1,4 +1,4 @@ - + ASA My Company @@ -133,4 +133,4 @@ - + diff --git a/src/yang/etsi-nfv-ns.yang b/src/yang/etsi-nfv-ns.yang index 8aa781a..78fb223 100644 --- a/src/yang/etsi-nfv-ns.yang +++ b/src/yang/etsi-nfv-ns.yang @@ -355,7 +355,9 @@ submodule etsi-nfv-ns { "GS NFV IFA014: Section 6.5.2.2 NsVirtualLinkDesc information element"; } - uses security-parameters; + uses security-parameters { + status deprecated; + } } list vnffgd { -- GitLab From 057e109d84b203d60c23af6f8103ae9c36ac67a5 Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Wed, 15 Jan 2020 13:14:54 -0800 Subject: [PATCH 22/34] nfv/SOL006#15 --- src/yang/etsi-nfv-ns.yang | 52 +++++++++++++++++++++++++++++++-------- 1 file changed, 42 insertions(+), 10 deletions(-) diff --git a/src/yang/etsi-nfv-ns.yang b/src/yang/etsi-nfv-ns.yang index fd41598..a453c2f 100644 --- a/src/yang/etsi-nfv-ns.yang +++ b/src/yang/etsi-nfv-ns.yang @@ -316,17 +316,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"; @@ -868,6 +867,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 { @@ -1671,6 +1685,24 @@ submodule etsi-nfv-ns { reference "GS NFV IFA014: Section 6.3.2.2 NsDf information element"; } + + 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; } -- GitLab From a2a98e0e34a785ba4cacd494eb6d5c5a85e02998 Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Wed, 15 Jan 2020 14:12:22 -0800 Subject: [PATCH 23/34] nfv/SOL006#16 --- src/yang/etsi-nfv-common.yang | 37 ------------------------------- src/yang/etsi-nfv-ns.yang | 29 +++++++++++++++++++++++-- src/yang/etsi-nfv-vnf.yang | 41 +++++++++++++++++++++++++++++++++-- 3 files changed, 66 insertions(+), 41 deletions(-) diff --git a/src/yang/etsi-nfv-common.yang b/src/yang/etsi-nfv-common.yang index 2c9acf9..b1b93cb 100644 --- a/src/yang/etsi-nfv-common.yang +++ b/src/yang/etsi-nfv-common.yang @@ -537,43 +537,6 @@ submodule etsi-nfv-common { } } - grouping 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 IFA011: Section 7.1.8.11, - LocalAffinityOrAntiAffinityRule information element."; - } - - leaf scope { - type affinity-scope; - description - "Specifies the scope of the rule, possible values are - 'NFVI-PoP', 'Zone', 'ZoneGroup', 'NFVI-node'."; - reference - "GS NFV IFA011: Section 7.1.8.11, - LocalAffinityOrAntiAffinityRule information element."; - } - - uses nfvi-maintenance-info { - description - "When present, provides information on the impact tolerance - and rules to be observed when a group of instances based - on the same VDU is impacted during NFVI operation and - maintenance (e.g. NFVI resource upgrades)."; - reference - "GS NFV IFA011: Section 7.1.8.11, - LocalAffinityOrAntiAffinityRule information element."; - } - } - } - grouping connectivity-type { container connectivity-type { leaf-list layer-protocol { diff --git a/src/yang/etsi-nfv-ns.yang b/src/yang/etsi-nfv-ns.yang index fd41598..dd6b1aa 100644 --- a/src/yang/etsi-nfv-ns.yang +++ b/src/yang/etsi-nfv-ns.yang @@ -41,6 +41,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', 'Zone', 'ZoneGroup', 'NFVI-node'."; + reference + "GS NFV IFA014: Section 6.3.8.2, + LocalAffinityOrAntiAffinityRule information element."; + } + } + } grouping nsd { leaf id { @@ -790,7 +815,7 @@ submodule etsi-nfv-ns { element"; } - uses local-affinity-or-anti-affinity-rule; + uses ns-local-affinity-or-anti-affinity-rule; list affinity-or-anti-affinity-group { key "id"; @@ -1002,7 +1027,7 @@ submodule etsi-nfv-ns { information element"; } - uses local-affinity-or-anti-affinity-rule; + uses ns-local-affinity-or-anti-affinity-rule; list affinity-or-anti-affinity-group { key "id"; diff --git a/src/yang/etsi-nfv-vnf.yang b/src/yang/etsi-nfv-vnf.yang index 135b36d..50a9a90 100755 --- a/src/yang/etsi-nfv-vnf.yang +++ b/src/yang/etsi-nfv-vnf.yang @@ -171,6 +171,43 @@ submodule etsi-nfv-vnf { } } + grouping vnf-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 IFA011: Section 7.1.8.11, + LocalAffinityOrAntiAffinityRule information element."; + } + + leaf scope { + type affinity-scope; + description + "Specifies the scope of the rule, possible values are + 'NFVI-PoP', 'Zone', 'ZoneGroup', 'NFVI-node'."; + reference + "GS NFV IFA011: Section 7.1.8.11, + LocalAffinityOrAntiAffinityRule information element."; + } + + uses nfvi-maintenance-info { + description + "When present, provides information on the impact tolerance + and rules to be observed when a group of instances based + on the same VDU is impacted during NFVI operation and + maintenance (e.g. NFVI resource upgrades)."; + reference + "GS NFV IFA011: Section 7.1.8.11, + LocalAffinityOrAntiAffinityRule information element."; + } + } + } + grouping vnfd { leaf id { type string; @@ -1591,7 +1628,7 @@ submodule etsi-nfv-vnf { "GS NFV IFA011: Section 7.1.8.3, VduProfile information element."; } - uses local-affinity-or-anti-affinity-rule; + uses vnf-local-affinity-or-anti-affinity-rule; list affinity-or-anti-affinity-group { key "id"; @@ -1660,7 +1697,7 @@ submodule etsi-nfv-vnf { "GS NFV IFA011: Section 7.1.8.4, VirtualLinkProfile information element."; } - uses local-affinity-or-anti-affinity-rule; + uses vnf-local-affinity-or-anti-affinity-rule; list affinity-or-anti-affinity-group { key "id"; -- GitLab From d5540561c08fd4ec57be2c4ed9c8fdae158582ef Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Wed, 15 Jan 2020 15:17:11 -0800 Subject: [PATCH 24/34] nfv/SOL006#17 --- example-data/complex-vnfd.xml | 16 ++++---------- src/yang/etsi-nfv-ns.yang | 39 +++++++++++------------------------ src/yang/etsi-nfv-vnf.yang | 31 +++++++--------------------- 3 files changed, 24 insertions(+), 62 deletions(-) diff --git a/example-data/complex-vnfd.xml b/example-data/complex-vnfd.xml index a4bdf47..cf8048d 100644 --- a/example-data/complex-vnfd.xml +++ b/example-data/complex-vnfd.xml @@ -162,9 +162,7 @@ control-plane-active 1 1 - - control-plane - + control-plane 1 @@ -173,9 +171,7 @@ control-plane-standby 1 1 - - control-plane - + control-plane 1 @@ -254,9 +250,7 @@ control-plane-active 1 1 - - control-plane - + control-plane 1 @@ -265,9 +259,7 @@ control-plane-standby 1 1 - - control-plane - + control-plane 1 diff --git a/src/yang/etsi-nfv-ns.yang b/src/yang/etsi-nfv-ns.yang index fd41598..ad022ad 100644 --- a/src/yang/etsi-nfv-ns.yang +++ b/src/yang/etsi-nfv-ns.yang @@ -792,21 +792,16 @@ submodule etsi-nfv-ns { uses local-affinity-or-anti-affinity-rule; - list affinity-or-anti-affinity-group { - key "id"; - + 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 { @@ -1004,9 +999,10 @@ submodule etsi-nfv-ns { uses local-affinity-or-anti-affinity-rule; - list affinity-or-anti-affinity-group { - 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 VLs instantiated according to the VlProfile belong @@ -1014,12 +1010,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 { @@ -1452,21 +1442,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 { diff --git a/src/yang/etsi-nfv-vnf.yang b/src/yang/etsi-nfv-vnf.yang index 135b36d..37017c0 100755 --- a/src/yang/etsi-nfv-vnf.yang +++ b/src/yang/etsi-nfv-vnf.yang @@ -1593,28 +1593,16 @@ submodule etsi-nfv-vnf { } uses local-affinity-or-anti-affinity-rule; - list affinity-or-anti-affinity-group { - key "id"; - + 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 VDU belongs to."; reference "GS NFV IFA011: Section 7.1.8.3, VduProfile information element."; - - leaf id { - type leafref { - path "../../../" + - "affinity-or-anti-affinity-group/id"; - } - description - "Identifies an affinity or anti-affinity group to - which the affinity or anti-affinity rule applies."; - reference - "GS NFV IFA011: Section 7.1.8.12, AffinityOrAntiAffinity - information element."; - } } uses nfvi-maintenance-info { @@ -1662,13 +1650,10 @@ submodule etsi-nfv-vnf { } uses local-affinity-or-anti-affinity-rule; - list affinity-or-anti-affinity-group { - key "id"; - leaf id { - type leafref { - path "../../../affinity-or-anti-affinity-group/id"; - } - } + 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 VnfVirtualLinkDesc belongs to."; -- GitLab From 8d3b8f5b6648f97734aaac44efaffceb546c655d Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Thu, 16 Jan 2020 10:22:56 -0800 Subject: [PATCH 25/34] Remove security-parameters instead of deprecating them --- src/yang/etsi-nfv-ns.yang | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/yang/etsi-nfv-ns.yang b/src/yang/etsi-nfv-ns.yang index 16833da..5423646 100644 --- a/src/yang/etsi-nfv-ns.yang +++ b/src/yang/etsi-nfv-ns.yang @@ -355,9 +355,6 @@ submodule etsi-nfv-ns { "GS NFV IFA014: Section 6.5.2.2 NsVirtualLinkDesc information element"; } - uses security-parameters { - status deprecated; - } } list vnffgd { -- GitLab From 7b6e00bdc6ce6be422035f8e12fbd11e6a82fa31 Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Thu, 16 Jan 2020 10:53:16 -0800 Subject: [PATCH 26/34] nfv/SOL006#18 --- example-data/complex-vnfd.xml | 16 ++++---------- src/yang/etsi-nfv-ns.yang | 39 +++++++++++------------------------ src/yang/etsi-nfv-vnf.yang | 28 +++++++------------------ 3 files changed, 23 insertions(+), 60 deletions(-) diff --git a/example-data/complex-vnfd.xml b/example-data/complex-vnfd.xml index 9aa8ec9..56ef89a 100644 --- a/example-data/complex-vnfd.xml +++ b/example-data/complex-vnfd.xml @@ -156,17 +156,13 @@ control-plane-active 1 1 - - control-plane - + control-plane control-plane-standby 1 1 - - control-plane - + control-plane data-plane @@ -227,17 +223,13 @@ control-plane-active 1 1 - - control-plane - + control-plane control-plane-standby 1 1 - - control-plane - + control-plane data-plane diff --git a/src/yang/etsi-nfv-ns.yang b/src/yang/etsi-nfv-ns.yang index 8aa781a..8ca1f3e 100644 --- a/src/yang/etsi-nfv-ns.yang +++ b/src/yang/etsi-nfv-ns.yang @@ -792,21 +792,16 @@ submodule etsi-nfv-ns { uses local-affinity-or-anti-affinity-rule; - list affinity-or-anti-affinity-group { - key "id"; - + 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 { @@ -1004,9 +999,10 @@ submodule etsi-nfv-ns { uses local-affinity-or-anti-affinity-rule; - list affinity-or-anti-affinity-group { - 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 VLs instantiated according to the VlProfile belong @@ -1014,12 +1010,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 { @@ -1452,21 +1442,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 { diff --git a/src/yang/etsi-nfv-vnf.yang b/src/yang/etsi-nfv-vnf.yang index 26cb574..ef91949 100755 --- a/src/yang/etsi-nfv-vnf.yang +++ b/src/yang/etsi-nfv-vnf.yang @@ -1566,27 +1566,16 @@ submodule etsi-nfv-vnf { } uses local-affinity-or-anti-affinity-rule; - list affinity-or-anti-affinity-group { - key "id"; - + 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 VDU belongs to."; reference "GS NFV IFA011: Section 7.1.8.3, VduProfile information element."; - leaf id { - type leafref { - path "../../../" + - "affinity-or-anti-affinity-group/id"; - } - description - "Identifies an affinity or anti-affinity group to - which the affinity or anti-affinity rule applies."; - reference - "GS NFV IFA011: Section 7.1.8.12, AffinityOrAntiAffinity - information element."; - } } } @@ -1623,12 +1612,9 @@ submodule etsi-nfv-vnf { } uses local-affinity-or-anti-affinity-rule; - list affinity-or-anti-affinity-group { - key "id"; - leaf id { - type leafref { - path "../../../affinity-or-anti-affinity-group/id"; - } + 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 -- GitLab From 6c5f6a72485726bf5ba8594a3dfc2c28db4c9b1c Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Wed, 22 Jan 2020 12:57:10 -0800 Subject: [PATCH 27/34] Deleted rather than deprecated security-parameters --- src/yang/etsi-nfv-ns.yang | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/yang/etsi-nfv-ns.yang b/src/yang/etsi-nfv-ns.yang index 78fb223..79c3ba1 100644 --- a/src/yang/etsi-nfv-ns.yang +++ b/src/yang/etsi-nfv-ns.yang @@ -355,9 +355,6 @@ submodule etsi-nfv-ns { "GS NFV IFA014: Section 6.5.2.2 NsVirtualLinkDesc information element"; } - uses security-parameters { - status deprecated; - } } list vnffgd { -- GitLab From b5f2bb69d7e17e8a8b5ec7cc36019cfd14d6a84e Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Tue, 11 Feb 2020 15:57:17 -0800 Subject: [PATCH 28/34] Updated revision --- src/yang/etsi-nfv-common.yang | 10 ++++++++++ src/yang/etsi-nfv-descriptors.yang | 10 ++++++++++ src/yang/etsi-nfv-ns.yang | 14 +++++++++++--- src/yang/etsi-nfv-nsd.yang | 17 +++++++++++++---- src/yang/etsi-nfv-pnf.yang | 16 ++++++++++++---- src/yang/etsi-nfv-pnfd.yang | 12 ++++++++++-- src/yang/etsi-nfv-vnf.yang | 16 ++++++++++++---- src/yang/etsi-nfv-vnfd.yang | 8 ++++++++ 8 files changed, 86 insertions(+), 17 deletions(-) diff --git a/src/yang/etsi-nfv-common.yang b/src/yang/etsi-nfv-common.yang index b1b93cb..b91ebf8 100644 --- a/src/yang/etsi-nfv-common.yang +++ b/src/yang/etsi-nfv-common.yang @@ -16,6 +16,15 @@ submodule etsi-nfv-common { description "Common data types for ETSI data models."; + revision 2020-02-11 { + description + "Version 3.3.1 + + Common data structures to support VNFD and NSD according to: + ETSI GS NFV-IFA 014 Ed341v333 + ETSI GS NFV-IFA 011 Ed341v332."; + } + revision 2019-10-01 { description "Version 2.7.1. @@ -24,6 +33,7 @@ submodule etsi-nfv-common { ETSI GS NFV-IFA 014 Ed271v264 ETSI GS NFV-IFA 011 Ed271v264"; } + revision 2019-04-25 { description "Initial revision diff --git a/src/yang/etsi-nfv-descriptors.yang b/src/yang/etsi-nfv-descriptors.yang index a696931..396d7c8 100644 --- a/src/yang/etsi-nfv-descriptors.yang +++ b/src/yang/etsi-nfv-descriptors.yang @@ -14,6 +14,14 @@ module etsi-nfv-descriptors { description "Network Function Virtualization Descriptors"; + revision 2020-02-11 { + description + "Version 3.3.1 + + NSD and PNFD according to ETSI GS NFV-IFA 014 Ed341v333 + VNFD according to ETSI GS NFV-IFA 011 Ed341v332."; + } + revision 2019-10-01 { description "Version 2.7.1. @@ -21,9 +29,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"; } diff --git a/src/yang/etsi-nfv-ns.yang b/src/yang/etsi-nfv-ns.yang index 56ffeb5..d5dedb9 100644 --- a/src/yang/etsi-nfv-ns.yang +++ b/src/yang/etsi-nfv-ns.yang @@ -11,14 +11,22 @@ submodule etsi-nfv-ns { description "Models for NS according to ETSI GS NFV-IFA 014."; + revision 2020-02-11 { + description + "Version 3.3.1 + + Common data structures to support NSD according to: + ETSI GS NFV-IFA 014 Ed341v333."; + } + 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 diff --git a/src/yang/etsi-nfv-nsd.yang b/src/yang/etsi-nfv-nsd.yang index 3a6a301..108d5d5 100644 --- a/src/yang/etsi-nfv-nsd.yang +++ b/src/yang/etsi-nfv-nsd.yang @@ -13,18 +13,27 @@ module etsi-nfv-nsd { description "Network Services Descriptors"; + revision 2020-02-11 { + description + "Version 3.3.1 + + Common data structures to support NSD according to: + ETSI GS NFV-IFA 014 Ed341v333."; + } + 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 { diff --git a/src/yang/etsi-nfv-pnf.yang b/src/yang/etsi-nfv-pnf.yang index 170e963..e2a0940 100644 --- a/src/yang/etsi-nfv-pnf.yang +++ b/src/yang/etsi-nfv-pnf.yang @@ -12,19 +12,27 @@ submodule etsi-nfv-pnf { description "Models for PNFD according to GS NFV-IFA 014."; + revision 2020-02-11 { + description + "Version 3.3.1 + + Common data structures to support PNFD according to: + ETSI GS NFV-IFA 014 Ed341v333."; + } + 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 diff --git a/src/yang/etsi-nfv-pnfd.yang b/src/yang/etsi-nfv-pnfd.yang index 8b3e46e..005c5de 100644 --- a/src/yang/etsi-nfv-pnfd.yang +++ b/src/yang/etsi-nfv-pnfd.yang @@ -13,16 +13,24 @@ module etsi-nfv-pnfd { description "Physcial Network Function Descriptor."; + revision 2020-02-11 { + description + "Version 3.3.1 + + PNFD according to ETSI GS NFV-IFA 014 Ed341v333."; + } + 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 { diff --git a/src/yang/etsi-nfv-vnf.yang b/src/yang/etsi-nfv-vnf.yang index f2a3ef0..3805f59 100755 --- a/src/yang/etsi-nfv-vnf.yang +++ b/src/yang/etsi-nfv-vnf.yang @@ -16,20 +16,28 @@ submodule etsi-nfv-vnf { description "Models for VNFD according to GS NFV-IFA 011."; + revision 2020-02-11 { + description + "Version 3.3.1 + + Data structures to support VNFD according to: + ETSI GS NFV-IFA 011 Ed341v332."; + } + 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 + Data structures to support VNFD according to: ETSI GS NFV-IFA 011 Ed271v264"; } + revision 2019-03-18 { description "Initial revision. - Common data structure to support VNFD according to: - VNFD according to ETSI GS NFV-IFA 011 Ed261v254"; + Data structure to support VNFD according to: + ETSI GS NFV-IFA 011 Ed261v254"; reference "ETSI GS NFV-IFA 011 Ed261v254"; diff --git a/src/yang/etsi-nfv-vnfd.yang b/src/yang/etsi-nfv-vnfd.yang index f5fcc62..d43182a 100644 --- a/src/yang/etsi-nfv-vnfd.yang +++ b/src/yang/etsi-nfv-vnfd.yang @@ -13,12 +13,20 @@ module etsi-nfv-vnfd { description "Virtual Network Function Descriptor."; + revision 2020-02-11 { + description + "Version 3.3.1 + + VNFD according to ETSI GS NFV-IFA 011 Ed341v332."; + } + 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. -- GitLab From 415f0a3228ebab99fb018f016a662dd063d84823 Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Tue, 11 Feb 2020 18:46:58 -0800 Subject: [PATCH 29/34] nfv/SOL006#19 --- src/yang/etsi-nfv-common.yang | 1 + src/yang/etsi-nfv-ns.yang | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/yang/etsi-nfv-common.yang b/src/yang/etsi-nfv-common.yang index b91ebf8..0b09fc4 100644 --- a/src/yang/etsi-nfv-common.yang +++ b/src/yang/etsi-nfv-common.yang @@ -386,6 +386,7 @@ submodule etsi-nfv-common { enum "zone-group"; enum "zone"; enum "nfvi-pop"; + enum "network-link-and-node"; } } diff --git a/src/yang/etsi-nfv-ns.yang b/src/yang/etsi-nfv-ns.yang index d5dedb9..bca0abd 100644 --- a/src/yang/etsi-nfv-ns.yang +++ b/src/yang/etsi-nfv-ns.yang @@ -67,7 +67,7 @@ submodule etsi-nfv-ns { type affinity-scope; description "Specifies the scope of the rule, possible values are - 'NFVI-PoP', 'Zone', 'ZoneGroup', 'NFVI-node'."; + 'NFVI-PoP', 'NFVI-node' network-link-and-node etc."; reference "GS NFV IFA014: Section 6.3.8.2, LocalAffinityOrAntiAffinityRule information element."; @@ -1168,7 +1168,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"; -- GitLab From 9969b96f83da76a1be7f7e6f41d861ca22f26500 Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Fri, 14 Feb 2020 13:01:33 -0800 Subject: [PATCH 30/34] Update description in VNFD. --- src/yang/etsi-nfv-vnf.yang | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/yang/etsi-nfv-vnf.yang b/src/yang/etsi-nfv-vnf.yang index 3805f59..a28592e 100755 --- a/src/yang/etsi-nfv-vnf.yang +++ b/src/yang/etsi-nfv-vnf.yang @@ -196,8 +196,9 @@ submodule etsi-nfv-vnf { leaf scope { type affinity-scope; description - "Specifies the scope of the rule, possible values are - 'NFVI-PoP', 'Zone', 'ZoneGroup', 'NFVI-node'."; + "Specifies the scope of the rule. Possible values are + 'NFVI-PoP', 'Zone', 'ZoneGroup', 'NFVI-node', and + 'network-link-and-node'."; reference "GS NFV IFA011: Section 7.1.8.11, LocalAffinityOrAntiAffinityRule information element."; @@ -2520,8 +2521,8 @@ submodule etsi-nfv-vnf { leaf id { type string; description - "Identifies an affinity or anti-affinity group to which - the affinity or anti-affinity rule applies."; + "Identifier of this AffinityOrAntiAffinityGroup + information element."; reference "GS NFV IFA011: Section 7.1.8.12 AffinityOrAntiAffinityGroup information element"; @@ -2531,8 +2532,8 @@ submodule etsi-nfv-vnf { mandatory true; type affinity-type; description - "Specifies whether the rule is an affinity rule or an - anti-affinity rule."; + "Specifies the type of relationship that the members of + the group have: 'affinity' or 'anti-affinity'."; reference "GS NFV IFA011: Section 7.1.8.12 AffinityOrAntiAffinityGroup information element"; @@ -2542,8 +2543,9 @@ submodule etsi-nfv-vnf { mandatory true; type affinity-scope; description - "Specifies the scope of the rule, possible values are - 'NFVI-PoP', 'Zone', 'ZoneGroup', 'NFVI-node'."; + "Specifies the scope of the affinity or anti-affinity + relationship. Possible values are 'NFVI-PoP', 'Zone', + 'ZoneGroup', 'NFVI-node' and 'network-link-and-node'."; reference "GS NFV IFA011: Section 7.1.8.12 AffinityOrAntiAffinityGroup information element"; -- GitLab From 6f83cbf0571064567810350d79b3a12365a5c81d Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Tue, 10 Mar 2020 18:35:31 -0700 Subject: [PATCH 31/34] Added a README --- README.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..1fa3fc6 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +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 -- GitLab From 80f67eba4cfc4cbd9f9beaa0aa7ee1685a3b6fd4 Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Mon, 8 Jun 2020 12:12:19 -0700 Subject: [PATCH 32/34] Issue #20 --- src/yang/etsi-nfv-ns.yang | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/src/yang/etsi-nfv-ns.yang b/src/yang/etsi-nfv-ns.yang index bca0abd..4a98455 100644 --- a/src/yang/etsi-nfv-ns.yang +++ b/src/yang/etsi-nfv-ns.yang @@ -1688,22 +1688,6 @@ submodule etsi-nfv-ns { } } - leaf priority { - type uint32; - description - "Specifies the priority for the NS instance. - - The allowed range will be reasonably high. The 'zero' - value will express the highest priority and the fact - that the NS instance based on this DF cannot be - pre-empted during resource allocation. - - Examples for the usage of priority include conflict - resolution in case of resource shortage."; - reference - "GS NFV IFA014: Section 6.3.2.2 NsDf information element"; - } - leaf service-availability-level { type uint32; description -- GitLab From befd2a5391ac236f0dab639c7b6994c085afea88 Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Thu, 11 Jun 2020 15:42:30 -0700 Subject: [PATCH 33/34] Issue #21: Update version in all the models in 2.8.1. --- src/yang/etsi-nfv-common.yang | 9 +++++++++ src/yang/etsi-nfv-descriptors.yang | 9 +++++++++ src/yang/etsi-nfv-ns.yang | 16 +++++++++++----- src/yang/etsi-nfv-nsd.yang | 13 ++++++++++--- src/yang/etsi-nfv-pnf.yang | 15 ++++++++++----- src/yang/etsi-nfv-pnfd.yang | 9 +++++++++ src/yang/etsi-nfv-vnf.yang | 13 +++++++++---- src/yang/etsi-nfv-vnfd.yang | 9 +++++++++ 8 files changed, 76 insertions(+), 17 deletions(-) diff --git a/src/yang/etsi-nfv-common.yang b/src/yang/etsi-nfv-common.yang index dc28e78..e0921af 100644 --- a/src/yang/etsi-nfv-common.yang +++ b/src/yang/etsi-nfv-common.yang @@ -9,6 +9,15 @@ submodule etsi-nfv-common { description "Common data types for ETSI data models."; + 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. diff --git a/src/yang/etsi-nfv-descriptors.yang b/src/yang/etsi-nfv-descriptors.yang index 0f2b64c..3b93f12 100644 --- a/src/yang/etsi-nfv-descriptors.yang +++ b/src/yang/etsi-nfv-descriptors.yang @@ -14,6 +14,14 @@ module etsi-nfv-descriptors { description "Network Function Virtualization Descriptors"; + 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. @@ -24,6 +32,7 @@ module etsi-nfv-descriptors { 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"; } diff --git a/src/yang/etsi-nfv-ns.yang b/src/yang/etsi-nfv-ns.yang index 303a525..c096d1e 100644 --- a/src/yang/etsi-nfv-ns.yang +++ b/src/yang/etsi-nfv-ns.yang @@ -11,19 +11,25 @@ submodule etsi-nfv-ns { description "Models for NS according to ETSI GS NFV-IFA 014."; + 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"; + 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"; diff --git a/src/yang/etsi-nfv-nsd.yang b/src/yang/etsi-nfv-nsd.yang index 0175854..c23e31c 100644 --- a/src/yang/etsi-nfv-nsd.yang +++ b/src/yang/etsi-nfv-nsd.yang @@ -13,17 +13,24 @@ module etsi-nfv-nsd { description "Network Services Descriptors"; + 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"; + 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."; } diff --git a/src/yang/etsi-nfv-pnf.yang b/src/yang/etsi-nfv-pnf.yang index 170e963..aa1313e 100644 --- a/src/yang/etsi-nfv-pnf.yang +++ b/src/yang/etsi-nfv-pnf.yang @@ -12,20 +12,25 @@ submodule etsi-nfv-pnf { description "Models for PNFD according to GS NFV-IFA 014."; + 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"; + PNFD according to ETSI GS NFV-IFA 014 Ed271v264."; } + revision 2019-04-25 { description "Initial revision. - Common data structure to support VNFD according to: - ETSI GS NFV-IFA 014 Ed261v252"; + PNFD according to ETSI GS NFV-IFA 014 Ed261v252."; reference "ETSI GS NFV-IFA 014 Ed261v252"; diff --git a/src/yang/etsi-nfv-pnfd.yang b/src/yang/etsi-nfv-pnfd.yang index 8b3e46e..66147c9 100644 --- a/src/yang/etsi-nfv-pnfd.yang +++ b/src/yang/etsi-nfv-pnfd.yang @@ -13,15 +13,24 @@ module etsi-nfv-pnfd { description "Physcial Network Function Descriptor."; + 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."; } + revision 2019-04-25 { description "Initial revision. + NSD according to ETSI GS NFV-IFA 014 Ed261v252."; } diff --git a/src/yang/etsi-nfv-vnf.yang b/src/yang/etsi-nfv-vnf.yang index ef91949..16f77c9 100755 --- a/src/yang/etsi-nfv-vnf.yang +++ b/src/yang/etsi-nfv-vnf.yang @@ -16,19 +16,24 @@ submodule etsi-nfv-vnf { description "Models for VNFD according to GS NFV-IFA 011."; + revision 2020-06-01 { + description + "Version 2.8.1. + + VNFD according to ETSI GS NFV-IFA 011 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"; + VNFD according to ETSI GS NFV-IFA 011 Ed271v264"; } + revision 2019-03-18 { description "Initial revision. - Common data structure to support VNFD according to: VNFD according to ETSI GS NFV-IFA 011 Ed261v254"; reference diff --git a/src/yang/etsi-nfv-vnfd.yang b/src/yang/etsi-nfv-vnfd.yang index f5fcc62..279dfba 100644 --- a/src/yang/etsi-nfv-vnfd.yang +++ b/src/yang/etsi-nfv-vnfd.yang @@ -13,15 +13,24 @@ module etsi-nfv-vnfd { description "Virtual Network Function Descriptor."; + 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."; } -- GitLab From ba5ede15e3db3c65d6239905b1738f46e93557fc Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Thu, 11 Jun 2020 15:58:43 -0700 Subject: [PATCH 34/34] Issue #22: Update version in all the models in 3.3.1. --- src/yang/etsi-nfv-common.yang | 8 ++++---- src/yang/etsi-nfv-descriptors.yang | 8 ++++---- src/yang/etsi-nfv-ns.yang | 7 +++---- src/yang/etsi-nfv-nsd.yang | 7 +++---- src/yang/etsi-nfv-pnf.yang | 7 +++---- src/yang/etsi-nfv-pnfd.yang | 6 +++--- src/yang/etsi-nfv-vnf.yang | 8 ++++---- src/yang/etsi-nfv-vnfd.yang | 6 +++--- 8 files changed, 27 insertions(+), 30 deletions(-) diff --git a/src/yang/etsi-nfv-common.yang b/src/yang/etsi-nfv-common.yang index 0b09fc4..81b128f 100644 --- a/src/yang/etsi-nfv-common.yang +++ b/src/yang/etsi-nfv-common.yang @@ -16,13 +16,13 @@ submodule etsi-nfv-common { description "Common data types for ETSI data models."; - revision 2020-02-11 { + revision 2020-06-10 { description - "Version 3.3.1 + "Version 3.3.1. Common data structures to support VNFD and NSD according to: - ETSI GS NFV-IFA 014 Ed341v333 - ETSI GS NFV-IFA 011 Ed341v332."; + ETSI GS NFV-IFA 014 Release 3 + ETSI GS NFV-IFA 011 Release 3."; } revision 2019-10-01 { diff --git a/src/yang/etsi-nfv-descriptors.yang b/src/yang/etsi-nfv-descriptors.yang index 396d7c8..e62d24a 100644 --- a/src/yang/etsi-nfv-descriptors.yang +++ b/src/yang/etsi-nfv-descriptors.yang @@ -14,12 +14,12 @@ module etsi-nfv-descriptors { description "Network Function Virtualization Descriptors"; - revision 2020-02-11 { + revision 2020-06-10 { description - "Version 3.3.1 + "Version 3.3.1. - NSD and PNFD according to ETSI GS NFV-IFA 014 Ed341v333 - VNFD according to ETSI GS NFV-IFA 011 Ed341v332."; + NSD and PNFD according to ETSI GS NFV-IFA 014 Release 3 + VNFD according to ETSI GS NFV-IFA 011 Release 3."; } revision 2019-10-01 { diff --git a/src/yang/etsi-nfv-ns.yang b/src/yang/etsi-nfv-ns.yang index bca0abd..db8b618 100644 --- a/src/yang/etsi-nfv-ns.yang +++ b/src/yang/etsi-nfv-ns.yang @@ -11,12 +11,11 @@ submodule etsi-nfv-ns { description "Models for NS according to ETSI GS NFV-IFA 014."; - revision 2020-02-11 { + revision 2020-06-10 { description - "Version 3.3.1 + "Version 3.3.1. - Common data structures to support NSD according to: - ETSI GS NFV-IFA 014 Ed341v333."; + NSD according to ETSI GS NFV-IFA 014 Release 3."; } revision 2019-10-01 { diff --git a/src/yang/etsi-nfv-nsd.yang b/src/yang/etsi-nfv-nsd.yang index 108d5d5..df09195 100644 --- a/src/yang/etsi-nfv-nsd.yang +++ b/src/yang/etsi-nfv-nsd.yang @@ -13,12 +13,11 @@ module etsi-nfv-nsd { description "Network Services Descriptors"; - revision 2020-02-11 { + revision 2020-06-10 { description - "Version 3.3.1 + "Version 3.3.1. - Common data structures to support NSD according to: - ETSI GS NFV-IFA 014 Ed341v333."; + NSD according to ETSI GS NFV-IFA 014 Release 3."; } revision 2019-10-01 { diff --git a/src/yang/etsi-nfv-pnf.yang b/src/yang/etsi-nfv-pnf.yang index e2a0940..80d44e7 100644 --- a/src/yang/etsi-nfv-pnf.yang +++ b/src/yang/etsi-nfv-pnf.yang @@ -12,12 +12,11 @@ submodule etsi-nfv-pnf { description "Models for PNFD according to GS NFV-IFA 014."; - revision 2020-02-11 { + revision 2020-06-10 { description - "Version 3.3.1 + "Version 3.3.1. - Common data structures to support PNFD according to: - ETSI GS NFV-IFA 014 Ed341v333."; + PNFD according to ETSI GS NFV-IFA 014 Release 3."; } revision 2019-10-01 { diff --git a/src/yang/etsi-nfv-pnfd.yang b/src/yang/etsi-nfv-pnfd.yang index 005c5de..6afbfd0 100644 --- a/src/yang/etsi-nfv-pnfd.yang +++ b/src/yang/etsi-nfv-pnfd.yang @@ -13,11 +13,11 @@ module etsi-nfv-pnfd { description "Physcial Network Function Descriptor."; - revision 2020-02-11 { + revision 2020-06-10 { description - "Version 3.3.1 + "Version 3.3.1. - PNFD according to ETSI GS NFV-IFA 014 Ed341v333."; + PNFD according to ETSI GS NFV-IFA 014 Release 3."; } revision 2019-10-01 { diff --git a/src/yang/etsi-nfv-vnf.yang b/src/yang/etsi-nfv-vnf.yang index a28592e..6e04e1f 100755 --- a/src/yang/etsi-nfv-vnf.yang +++ b/src/yang/etsi-nfv-vnf.yang @@ -16,12 +16,12 @@ submodule etsi-nfv-vnf { description "Models for VNFD according to GS NFV-IFA 011."; - revision 2020-02-11 { + revision 2020-06-10 { description - "Version 3.3.1 + "Version 3.3.1. - Data structures to support VNFD according to: - ETSI GS NFV-IFA 011 Ed341v332."; + Data structures to support VNFD according to + ETSI GS NFV-IFA 011 Release 3."; } revision 2019-10-01 { diff --git a/src/yang/etsi-nfv-vnfd.yang b/src/yang/etsi-nfv-vnfd.yang index d43182a..06f76bf 100644 --- a/src/yang/etsi-nfv-vnfd.yang +++ b/src/yang/etsi-nfv-vnfd.yang @@ -13,11 +13,11 @@ module etsi-nfv-vnfd { description "Virtual Network Function Descriptor."; - revision 2020-02-11 { + revision 2020-06-10 { description - "Version 3.3.1 + "Version 3.3.1. - VNFD according to ETSI GS NFV-IFA 011 Ed341v332."; + VNFD according to ETSI GS NFV-IFA 011 Release 3."; } revision 2019-10-01 { -- GitLab