From 76f275119b5005f6d6348d327db49e9f361f501a Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Mon, 28 Oct 2019 18:50:34 -0700 Subject: [PATCH 01/13] 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/13] 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/13] 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/13] 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/13] 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 8f3572d74bc5c273c369125aa6841771a40bad12 Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Wed, 4 Dec 2019 15:28:20 +0900 Subject: [PATCH 06/13] 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 07/13] 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 08/13] 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 38a956947d7b2254479c04ed16b507e3a9145ae1 Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Thu, 12 Dec 2019 16:25:42 -0800 Subject: [PATCH 09/13] 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 4444296c38da6774a7cd50507af2fc8017192b6d Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Mon, 13 Jan 2020 12:56:46 -0800 Subject: [PATCH 10/13] 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 7b6e00bdc6ce6be422035f8e12fbd11e6a82fa31 Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Thu, 16 Jan 2020 10:53:16 -0800 Subject: [PATCH 11/13] 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 12/13] 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 befd2a5391ac236f0dab639c7b6994c085afea88 Mon Sep 17 00:00:00 2001 From: Mahesh Jethanandani Date: Thu, 11 Jun 2020 15:42:30 -0700 Subject: [PATCH 13/13] 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