Commit bf933431 authored by jethanandani's avatar jethanandani
Browse files

Merge branch 'issue#7' into 'dev-v3.3.1'

Issue#7 - SOL006ed331 FEAT02 Vnf Software Modification

See merge request !62
parents f9b84424 b7019d01
Loading
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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";
    }
  }

+301 −6
Original line number Diff line number Diff line
@@ -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";
    }
  }
}