Commit 4269fabb authored by Ayesha Ayub's avatar Ayesha Ayub
Browse files

update/add attributes for SOL002 VNF LCM API

parent 60bbf159
Loading
Loading
Loading
Loading
Loading
+126 −17
Original line number Diff line number Diff line
@@ -170,6 +170,14 @@ definitions:
            type: array
            items:
              $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VipCpInfo"
          virtualCpInfo:
            description: >
              Virtual CPs that are part of the VNF instance. Shall be present when a particular virtual CP is 
              associated to an external CP of the VNF instance.
              May be present otherwise.
            type: array
            items: 
              $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VirtualCpInfo"
          extVirtualLinkInfo:
            description: >
              Information about the external VLs the VNF instance is connected to.
@@ -230,6 +238,13 @@ definitions:
            type: array
            items:
              $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfcInfo"
          mcioInfo:
            description: >
              Information on the MCIO(s) representing VNFC instance(s) realized by one or a set of OS containers 
              and created from the same VDU for the VNF instance.
            type: array
            items:
              $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/McioInfo"
      metadata:
        description: >
          Additional VNF-specific attributes that provide metadata describing the VNF instance.
@@ -976,7 +991,7 @@ definitions:
      computeSnapshotResource:
        description: >
          Reference to a compute snapshot resource. See note 1.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle"
        $ref: "#/definitions/ResourceHandle"
      storageSnapshotResources:
        description: >
          Mapping of the storage resources associated to the VNFC with the storage snapshot resources.
@@ -993,7 +1008,7 @@ definitions:
          storageSnapshotResource:
            description: >
              Reference to a storage snapshot resource. See note 2.
            $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle"
            $ref: "#/definitions/ResourceHandle"
      userDefinedData:
        description: >
          User defined data for the VNF snapshot.
@@ -1052,6 +1067,9 @@ definitions:
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVim"

  ExtManagedVirtualLinkInfo:
    description: >
      This type provides information about an externally-managed virtual link. It shall 
      comply with the provisions defined in table 5.5.3.5-1.
    type: object
    required:
      - id
@@ -1078,18 +1096,34 @@ definitions:
      networkResource:
        description: >
          Reference to the VirtualNetwork resource providing this VL.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle"
        $ref: "#/definitions/ResourceHandle"
      vnfLinkPorts:
        description: >
          Link ports of this VL.
        type: array
        items:
          $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLinkPortInfo"
      vnfNetAttDefResource:
        description: >
          Network attachment definition resources that provide the specification of the interface 
          to attach connection points to this VL.
        type: array
        items:
          $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/NetAttDefResourceInfo"

  VnfcResourceInfo:
    description: >
      This type represents the information on virtualised compute and storage
      resources used by a VNFC in a VNF instance.
      Depending on the form of virtualisation container of the VNFC:
        - For a VNFC based on VM, a reference to the corresponding VirtualCompute shall be provided, and
        - For a VNFC based on OS container(s), a reference to the Compute MCIO shall be provided. Hence, exposure 
          of information by the VNFM to the NFVO is at the MCIO level.
      In addition, the references to the storage resources depend on the form of the VNFC:
        - For a VNFC based on VM, storage resource identifiers shall refer to VirtualStorage resources, and
        - For a VNFC based on OS container(s), storage resource identifiers shall refer to Storage MCIOs.


      * NOTE 1:	ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications.
      * NOTE 2:	A VNFC CP is "connected to" an external CP if the VNFC CP is connected to an internal VL that
                exposes an external CP. A VNFC CP is "exposed as" an external CP if it is connected directly
@@ -1099,6 +1133,10 @@ definitions:
                an LCM operation occurrence, this does not represent a change that requires including a related "AffectedVnfc"
                structure in the VNF LCM operation occurrence notifications or the "VnfLcmOpOcc" structure related to 
                this LCM operation occurrence.
      * NOTE 5: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment 
                definition resource is needed to fulfil the connectivity requirements of the internal CP, e.g. to build 
                a link redundant mated pair in SR-IOV cases.
      * NOTE 6: When more than one netAttDefResourceId is indicated, all shall belong to the same namespace.
    type: object
    required:
      - id
@@ -1121,12 +1159,12 @@ definitions:
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      computeResource:
        description: >
          Reference to the VirtualCompute resource.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle"
          Reference to the VirtualCompute resource or reference to a Compute MCIO.
        $ref: "#/definitions/ResourceHandle"
      storageResourceIds:
        description: >
          References to the VirtualStorage resources. The value refers to a
          VirtualStorageResourceInfo item in the VnfInstance.
          References to the VirtualStorage resources or references to Storage MCIO(s). 
          The value refers to a VirtualStorageResourceInfo item in the VnfInstance.
        type: array
        items:
          $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
@@ -1179,11 +1217,20 @@ definitions:
                Identifier of another VNFC CP instance that corresponds to the parent port
                of a trunk that the present VNFC CP instance participates in.
                Shall be provided if the present CP instance participates in a trunk as subport.
              $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
              $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
            metadata:
              description: >
                Metadata about this CP.
              $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
            netAttDefResourceId:
              description: >
                Identifier of the “NetAttDefResourceInfo” structure that provides the specification of the interface 
                to attach the connection point to a secondary container cluster network. See notes 5 and 6.
                It shall be present if the internal CP is associated to a VNFC realized by one or a set of OS 
                containers and is connected to a secondary container cluster network. It shall not be present otherwise.
              type: array
              items:
                $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      metadata:
        description: >
          Metadata about this resource.
@@ -1220,8 +1267,8 @@ definitions:
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      networkResource:
        description: >
          Reference to the VirtualNetwork resource.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle"
          Reference to the VirtualNetwork resource or reference to a Network MCIO.
        $ref: "#/definitions/ResourceHandle"
      reservationId:
        description: >
          The reservation identifier applicable to the resource. It shall be
@@ -1272,8 +1319,8 @@ definitions:
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      storageResource:
        description: >
          Reference to the VirtualStorage resource.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle"
          Reference to the VirtualStorage resource or reference to a Storage MCIO.
        $ref: "#/definitions/ResourceHandle"
      reservationId:
        description: >
          The reservation identifier applicable to the resource. It shall be
@@ -1330,7 +1377,7 @@ definitions:
          Reference to the VirtualCompute resource. Detailed information is
          (for new and modified resources) or has been (for removed
          resources) available from the VIM.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle"
        $ref: "#/definitions/ResourceHandle"
      metadata:
        description: >
          Metadata about this resource.
@@ -1427,7 +1474,7 @@ definitions:
          Reference to the VirtualNetwork resource. Detailed information is
          (for new and modified resources) or has been (for removed
          resources) available from the VIM. See note.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle"
        $ref: "#/definitions/ResourceHandle"
      vnfLinkPortIds:
        description: >
          Identifiers of the link ports of the affected VL related to the change. Each identifier references a 
@@ -1495,7 +1542,7 @@ definitions:
          Reference to the VirtualStorage resource. Detailed information is
          (for new and modified resources) or has been (for removed
          resources) available from the VIM.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle"
        $ref: "#/definitions/ResourceHandle"
      metadata:
        description: >
          Metadata about this resource.
@@ -1861,7 +1908,7 @@ definitions:
        description: >
          Reference to the link port resource.
          Detailed information is (for added resources) or has been (for removed resources) available from the VIM.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle"
        $ref: "#/definitions/ResourceHandle"

  VnfInfoModifications:
    description: >
@@ -1938,3 +1985,65 @@ definitions:
        type: array
        items:
          $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfcInfoModifications"

  ResourceHandle:
    required:
      - resourceId
    type: object
    description: >
      This type represents the information that allows addressing a virtualised
      resource that is used by a VNF instance. Information about the resource
      is available from the VIM.

      * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the 
                VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId

      * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the 
                resource provider and can be used as information that complements the ResourceHandle. When the 
                container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of 
                resource, as would correspond to the ‘kind’ field if the resource is declared in its own Kubernetes® 
                manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

      * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated 
                in the following way:
                - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster 
                  wide per resource type. 
                - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                  i.e. the value of the ‘claimName’ field in the Kubernetes® manifest, or a compound name built by Kubernetes® 
                  if the persistent volume claim is defined inline in another template instead of in its own manifest.      
                - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                  the ‘metadata.name’ field in Kubernetes® manifest.   
    properties:
      vimConnectionId:
        description: >
          Identifier of the VIM or CISM connection to manage the resource.
          This attribute shall be supported when the resource is managed by a CISM.
          When the resource is managed by a VIM, this attribute shall only be supported and present if VNF--related
          resource management in direct mode is applicable.
          See note 1.
          
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      resourceProviderId:
        description: >
          Identifier of the entity responsible for the management of the resource. 
          This attribute shall only be supported and present when VNF-related resource management in indirect mode is applicable. The 
          identification scheme is outside the scope of the present document.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      resourceId:
        description: >
          Identifier of the resource in the scope of the VIM or the CISM or the resource provider. See note 3.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVim"
      vimLevelResourceType:
        description: >
          Type of the resource in the scope of the VIM or the CISM or the resource provider. See note 2.
        type: string
      vimLevelAdditionalResourceInfo:
        descriptions: >
          Additional resource information which is specific to this resource and its type, and which is available 
          from the VIM or the CISM or the resource provider.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/AdditionalResourceInfo"
      containerNamespace:
        description: >
          The value of the namespace in which the MCIO corresponding to the resource is deployed.
          This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise.
        type: string
 No newline at end of file
+8 −5
Original line number Diff line number Diff line
@@ -302,13 +302,13 @@ definitions:
        type: array
        items:
          $ref: "SOL002SOL003_def.yaml#/definitions/VnfExtCpData"
      extNetAttDefResourceData:
      extNetAttDefResource:
        description: >
          Network attachment definition resources that provide the specification of the interface to attach connection
          points to this VL.
          Network attachment definition resources that provide the specification of the interface to attach connection points 
          to this VL.
        type: array
        items:
          $ref: "SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/NetAttDefResourceInfo"
          $ref: "#/definitions/NetAttDefResourceInfo"

  VnfLinkPortInfo:
    description: >
@@ -1225,6 +1225,9 @@ definitions:
          5.5.4.9. Additional values are also permitted.
          See note 1.
        type: string
        enum:
          - Deployment
          - Statefulset
      desiredInstances: 
        description: >
          Number of desired MCIO instances.
@@ -1240,7 +1243,7 @@ definitions:
          See note 2. 
        $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs"

  virtualCpInfo:
  VirtualCpInfo:
    description: >
      This type provides information related to a virtual CP instance of a VNF. It shall comply with the provisions 
      in table 5.5.3.31-1.
+1 −1
Original line number Diff line number Diff line
@@ -497,7 +497,7 @@ definitions:
          - IP_OVER_ETHERNET
      ipOverEthernet:
        description: >
          Network address data for IP over Ethernet to assign to the extCP
          Network address data for IP over Ethernet to assign to the external CP
          instance. Shall be present if layerProtocol is equal to
          "IP_OVER_ETHERNET", and shall be absent otherwise.
        $ref: "#/definitions/IpOverEthernetAddressData"