Commit a39ca7e0 authored by moscatelli's avatar moscatelli
Browse files

SOL003_97: VnfInstance datatype updated

parent cbb9cf54
Loading
Loading
Loading
Loading
Loading
+54 −32
Original line number Diff line number Diff line
@@ -1430,7 +1430,6 @@ definitions:
      - vnfProductName
      - vnfSoftwareVersion
      - vnfdVersion
      - vnfPkgId
      - instantiationState
    properties:
      id:
@@ -1467,20 +1466,6 @@ definitions:
        description: >
          Identifies the version of the VNFD. The value is copied from the VNFD.
        $ref: "SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/Version"
      vnfPkgId:
        description: >
          Identifier of information held by the NFVO about the specific VNF
          package on which the VNF is based. This identifier was allocated by
          the NFVO. This attribute can be modified with the PATCH method.
          Modifying the value of this attribute shall not be performed when
          conflicts exist between the previous and the newly referred VNF
          package, i.e. when the new VNFD is not changed with respect to the
          previous VNFD apart from referencing to other VNF software images.
          In order to avoid misalignment of the VnfInstance with the current
          VNF's on-boarded VNF Package, the values of attributes in the
          VnfInstance that have corresponding attributes in the VNFD shall be
          kept in sync with the values in the VNFD.
        $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
      vnfConfigurableProperties:
        description: >
          Current values of the configurable properties of the VNF instance. 
@@ -1544,8 +1529,10 @@ definitions:
            $ref: "SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfOperationalStateType"
          scaleStatus:
            description: >
              Scale status of the VNF, one entry per aspect. Represents for every
              scaling aspect how "big" the VNF has been scaled w.r.t. that aspect.
              Scale status of the VNF, one entry per aspect.
              Represents for every scaling aspect how "big" the VNF has been scaled w.r.t. that aspect.
              This attribute shall be present if the VNF supports scaling.
              See clause B.2 for an explanation of VNF scaling.
            type: array
            items:
              $ref: "#/definitions/ScaleInfo"
@@ -1604,16 +1591,51 @@ definitions:
              $ref: "#/definitions/VirtualStorageResourceInfo"
      metadata:
        description: >
          Additional VNF-specific metadata describing the VNF instance.
          Metadata that are writeable are declared in the VNFD.
          This attribute can be modified with the PATCH method.
          Additional VNF-specific attributes that provide metadata describing the VNF instance.
          These attributes represent values that are stored persistently in the VnfInstance structure
          for consumption by functional blocks that invoke the VNF lifecycle management interface.
          They are not consumed by the VNFM, or the lifecycle management scripts.
          Modifying the values of these attributes has no effect on the VNF instance, it only affects
          the information represented in the VnfInstance structure.
          Metadata that are writeable are the VNF provider foresees are expected to be declared in the VNFD.
          The declaration of metadata in the VNFD can optionally contain the specification of initial values.
          The VNFM shall accept requests to write metadata that are not declared in the VNFD.
          These attributes can be initialized with default values from the VNFD or with values
          passed in the CreateVnfRequest structure (see clause 5.5.2.3).
          This attributeThese attributes can be created, modified or removed with the PATCH method.

          ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications.
          Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes
          of "vnfConfigurableProperties", "metadata" and "extensions" that were declared in the VNFD with
          a defined initial value. Child attributes of "vnfConfigurableProperties", "metadata" and "extensions"
          that have no declared initial value shall not be created, in order to be consistent with the semantics
          of the JSON Merge Patch method (see IETF RFC 7396) that interprets null values as deletion request.
        $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
      extensions:
        description: >
          VNF-specific attributes that affect the lifecycle management of this
          VNF instance by the VNFM, or the lifecycle management scripts.
          Extensions that are writeable are declared in the VNFD.
          This attribute can be modified with the PATCH method.
          Additional VNF-specific attributes that affect the lifecycle management of this VNF instance.
          These attributes represent values that are stored persistently in the VnfInstance structure
          for consumption by the VNFM or the lifecycle management scripts during the execution of
          VNF lifecycle management operations.
          All extensions that are allowed for the VNF are declared in the VNFD. The declaration of an extension
          in the VNFD contains information on whether its presence is optional or required, and optionally
          can specify an initial value. See note 2 and note 4. The VNFM shall reject requests to write extension
          attributes that are not declared in the VNFD with a "422 Unprocessable entity" error response as defined
          in clause 6.4 of ETSI GS NFV-SOL 013.
          Modifying the values of these attributes has no direct effect on the VNF instance; however, the modified
          attribute values can be considered during subsequent VNF lifecycle management operations, which means that
          the modified values can indirectly affect the configuration of the VNF instance.
          These attributes can be initialized with default values from the VNFD or with values passed in the
          InstantiateVnfRequest structure (see clause 5.5.2.4).
          Attributes initialized with default values from the VNFD can be updated with values passed in the
          InstantiateVnfRequest structure.
          Further, these attributes can be created, modified or deleted with the PATCH method.

          Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes
          of "vnfConfigurableProperties", "metadata" and "extensions" that were declared in the VNFD with
          a defined initial value. Child attributes of "vnfConfigurableProperties", "metadata" and "extensions"
          that have no declared initial value shall not be created, in order to be consistent with the semantics
          of the JSON Merge Patch method (see IETF RFC 7396) that interprets null values as deletion request.
        $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
      _links:
        description: >
@@ -1630,54 +1652,54 @@ definitions:
            $ref: "SOL002SOL003_def.yaml#/definitions/Link"
          instantiate:
            description: >
              Link to the "instantiate" task resource, if the related operation
              Link to the "Instantiate VNF task" resource, if the related operation
              is possible based on the current status of this VNF instance
              resource (i.e. VNF instance in NOT_INSTANTIATED state).
            $ref: "SOL002SOL003_def.yaml#/definitions/Link"
          terminate:
            description: >
              Link to the "terminate" task resource, if the related operation
              Link to the "Terminate VNF task" resource, if the related operation
              is possible based on the current status of this VNF instance
              resource (i.e. VNF instance is in INSTANTIATED state).
            $ref: "SOL002SOL003_def.yaml#/definitions/Link"
          scale:
            description: >
              Link to the "scale" task resource, if the related operation is
              Link to the "Scale VNF task" resource, if the related operation is
              supported for this VNF instance, and is possible based on the
              current status of this VNF instance resource (i.e. VNF instance
              is in INSTANTIATED state).
            $ref: "SOL002SOL003_def.yaml#/definitions/Link"
          scaleToLevel:
            description: >
              Link to the "scale_to_level" task resource, if the related
              Link to the "Scale VNF to level task" resource, if the related
              operation is supported for this VNF instance, and is possible
              based on the current status of this VNF instance resource
              (i.e. VNF instance is in INSTANTIATED state).
            $ref: "SOL002SOL003_def.yaml#/definitions/Link"
          changeFlavour:
            description: >
              Link to the "change_flavour" task resource, if the related
              Link to the "Change VNF flavour task" resource, if the related
              operation is supported for this VNF instance, and is possible
              based on the current status of this VNF instance resource
              (i.e. VNF instance is in INSTANTIATED state).
            $ref: "SOL002SOL003_def.yaml#/definitions/Link"
          heal:
            description: >
              Link to the "heal" task resource, if the related operation is
              Link to the "Heal VNF task" resource, if the related operation is
              supported for this VNF instance, and is possible based on the
              current status of this VNF instance resource
              (i.e. VNF instance is in INSTANTIATED state).
            $ref: "SOL002SOL003_def.yaml#/definitions/Link"
          operate:
            description: >
              Link to the "operate" task resource, if the related operation is
              Link to the "Operate VNF task" resource, if the related operation is
              supported for this VNF instance, and is possible based on the
              current status of this VNF instance resource
              (i.e. VNF instance is in INSTANTIATED state).
            $ref: "SOL002SOL003_def.yaml#/definitions/Link"
          changeExtConn:
            description: >
              Link to the "change_ext_conn" task resource, if the related
              Link to the "Change external VNF connectivity task" resource, if the related
              operation is possible based on the current status of this VNF
              instance resource (i.e. VNF instance is in INSTANTIATED state).
            $ref: "SOL002SOL003_def.yaml#/definitions/Link"