Commit a39ca7e0 authored by moscatelli's avatar moscatelli
Browse files

SOL003_97: VnfInstance datatype updated

parent cbb9cf54
Pipeline #1177 passed with stage
in 0 seconds
...@@ -1430,7 +1430,6 @@ definitions: ...@@ -1430,7 +1430,6 @@ definitions:
- vnfProductName - vnfProductName
- vnfSoftwareVersion - vnfSoftwareVersion
- vnfdVersion - vnfdVersion
- vnfPkgId
- instantiationState - instantiationState
properties: properties:
id: id:
...@@ -1467,20 +1466,6 @@ definitions: ...@@ -1467,20 +1466,6 @@ definitions:
description: > description: >
Identifies the version of the VNFD. The value is copied from the VNFD. Identifies the version of the VNFD. The value is copied from the VNFD.
$ref: "SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/Version" $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: vnfConfigurableProperties:
description: > description: >
Current values of the configurable properties of the VNF instance. Current values of the configurable properties of the VNF instance.
...@@ -1544,8 +1529,10 @@ definitions: ...@@ -1544,8 +1529,10 @@ definitions:
$ref: "SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfOperationalStateType" $ref: "SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfOperationalStateType"
scaleStatus: scaleStatus:
description: > description: >
Scale status of the VNF, one entry per aspect. Represents for every Scale status of the VNF, one entry per aspect.
scaling aspect how "big" the VNF has been scaled w.r.t. that 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 type: array
items: items:
$ref: "#/definitions/ScaleInfo" $ref: "#/definitions/ScaleInfo"
...@@ -1604,16 +1591,51 @@ definitions: ...@@ -1604,16 +1591,51 @@ definitions:
$ref: "#/definitions/VirtualStorageResourceInfo" $ref: "#/definitions/VirtualStorageResourceInfo"
metadata: metadata:
description: > description: >
Additional VNF-specific metadata describing the VNF instance. Additional VNF-specific attributes that provide metadata describing the VNF instance.
Metadata that are writeable are declared in the VNFD. These attributes represent values that are stored persistently in the VnfInstance structure
This attribute can be modified with the PATCH method. 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" $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
extensions: extensions:
description: > description: >
VNF-specific attributes that affect the lifecycle management of this Additional VNF-specific attributes that affect the lifecycle management of this VNF instance.
VNF instance by the VNFM, or the lifecycle management scripts. These attributes represent values that are stored persistently in the VnfInstance structure
Extensions that are writeable are declared in the VNFD. for consumption by the VNFM or the lifecycle management scripts during the execution of
This attribute can be modified with the PATCH method. 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" $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
_links: _links:
description: > description: >
...@@ -1630,54 +1652,54 @@ definitions: ...@@ -1630,54 +1652,54 @@ definitions:
$ref: "SOL002SOL003_def.yaml#/definitions/Link" $ref: "SOL002SOL003_def.yaml#/definitions/Link"
instantiate: instantiate:
description: > 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 is possible based on the current status of this VNF instance
resource (i.e. VNF instance in NOT_INSTANTIATED state). resource (i.e. VNF instance in NOT_INSTANTIATED state).
$ref: "SOL002SOL003_def.yaml#/definitions/Link" $ref: "SOL002SOL003_def.yaml#/definitions/Link"
terminate: terminate:
description: > 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 is possible based on the current status of this VNF instance
resource (i.e. VNF instance is in INSTANTIATED state). resource (i.e. VNF instance is in INSTANTIATED state).
$ref: "SOL002SOL003_def.yaml#/definitions/Link" $ref: "SOL002SOL003_def.yaml#/definitions/Link"
scale: scale:
description: > 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 supported for this VNF instance, and is possible based on the
current status of this VNF instance resource (i.e. VNF instance current status of this VNF instance resource (i.e. VNF instance
is in INSTANTIATED state). is in INSTANTIATED state).
$ref: "SOL002SOL003_def.yaml#/definitions/Link" $ref: "SOL002SOL003_def.yaml#/definitions/Link"
scaleToLevel: scaleToLevel:
description: > 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 operation is supported for this VNF instance, and is possible
based on the current status of this VNF instance resource based on the current status of this VNF instance resource
(i.e. VNF instance is in INSTANTIATED state). (i.e. VNF instance is in INSTANTIATED state).
$ref: "SOL002SOL003_def.yaml#/definitions/Link" $ref: "SOL002SOL003_def.yaml#/definitions/Link"
changeFlavour: changeFlavour:
description: > 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 operation is supported for this VNF instance, and is possible
based on the current status of this VNF instance resource based on the current status of this VNF instance resource
(i.e. VNF instance is in INSTANTIATED state). (i.e. VNF instance is in INSTANTIATED state).
$ref: "SOL002SOL003_def.yaml#/definitions/Link" $ref: "SOL002SOL003_def.yaml#/definitions/Link"
heal: heal:
description: > 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 supported for this VNF instance, and is possible based on the
current status of this VNF instance resource current status of this VNF instance resource
(i.e. VNF instance is in INSTANTIATED state). (i.e. VNF instance is in INSTANTIATED state).
$ref: "SOL002SOL003_def.yaml#/definitions/Link" $ref: "SOL002SOL003_def.yaml#/definitions/Link"
operate: operate:
description: > 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 supported for this VNF instance, and is possible based on the
current status of this VNF instance resource current status of this VNF instance resource
(i.e. VNF instance is in INSTANTIATED state). (i.e. VNF instance is in INSTANTIATED state).
$ref: "SOL002SOL003_def.yaml#/definitions/Link" $ref: "SOL002SOL003_def.yaml#/definitions/Link"
changeExtConn: changeExtConn:
description: > 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 operation is possible based on the current status of this VNF
instance resource (i.e. VNF instance is in INSTANTIATED state). instance resource (i.e. VNF instance is in INSTANTIATED state).
$ref: "SOL002SOL003_def.yaml#/definitions/Link" $ref: "SOL002SOL003_def.yaml#/definitions/Link"
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment