diff --git a/src/yang/etsi-nfv-common.yang b/src/yang/etsi-nfv-common.yang index d96c76cc51b18b0e04e18630b7909f5125371835..14dcc297090e2a394aef1611628536bc12a69b07 100644 --- a/src/yang/etsi-nfv-common.yang +++ b/src/yang/etsi-nfv-common.yang @@ -394,6 +394,8 @@ submodule etsi-nfv-common { 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"; } } diff --git a/src/yang/etsi-nfv-vnf.yang b/src/yang/etsi-nfv-vnf.yang index 93ae4e70a63dbeaf96fa507e113b66ae22dc2977..ac97d3066ea009cfb3b50ad3640c7884ea2da9ab 100755 --- a/src/yang/etsi-nfv-vnf.yang +++ b/src/yang/etsi-nfv-vnf.yang @@ -2232,6 +2232,13 @@ submodule etsi-nfv-vnf { } container create-snapshot-vnf-op-config { + description + "Configuration parameters for the Create VNF Snapshot + operation."; + reference + "GS NFV IFA011: Section 7.1.5.2 + VnfLcmOperationsConfiguration information element"; + list parameter { key "key"; min-elements 1; @@ -2252,12 +2259,6 @@ submodule etsi-nfv-vnf { 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 { @@ -2289,6 +2290,35 @@ submodule etsi-nfv-vnf { element"; } } + + container change-current-vnf-package-op-config { + description + "Configuration parameters for the + ChangeCurrentVnfPackageOpConfig operation."; + reference + "GS NFV IFA011: Section 7.1.5.2 + VnfLcmOperationsConfiguration information element"; + + 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"; + } + } } list affinity-or-anti-affinity-group { @@ -2918,6 +2948,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."; @@ -3122,5 +3153,269 @@ submodule etsi-nfv-vnf { reference "GS NFV IFA011: Section 7.1.2 VNFD information element"; } + + 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 { + 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"; + } + + 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"; + + 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"; + } } }