SOL002 VNF Lifecycle Management - Implementation of deltas between v3.6.1 and v3.5.1

This merge request refers to the implementation of deltas between v3.6.1 and v3.5.1 of SOL002 VNF Lifecycle Management Interface.

@lynchpi @aelken @matsuurat @sayama @zafar @reinaortega @abbasim

Deadline for review: Monday 11th July 2022 @6pm CEST

Merge request reports

Loading
+32 −15
Changes for SOL002/VNFLifecycleManagement-API/schemas/vnfInstance.schema.json: 32 added lines, 15 removed lines.
Original line number Diff line number Diff line
@@ -132,7 +132,7 @@
          "type": "array",
          "minItems": 1,
          "items": {
            "description": "This type represents information about an external CP of a VNF.  It shall comply with the provisions defined in table 5.5.3.17 1.\nNOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\" and \"associatedVnfVirtualLinkId\" \n        are mutually exclusive. Exactly one shall be present.\nNOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the \n        ΓÇ£extLinkPortsΓÇ¥ attribute in clause 4.4.1.11.\n",
            "description": "This type represents information about an external CP of a VNF.  It shall comply with the provisions defined in table 5.5.3.17 1.\nNOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\" and \"associatedVnfVirtualLinkId\" \n        are mutually exclusive. Exactly one shall be present.\nNOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the \n        “extLinkPorts” attribute in clause 4.4.1.11.\n",
            "type": "object",
            "required": [
              "id",
@@ -192,7 +192,7 @@
                      ]
                    },
                    "ipOverEthernet": {
                      "description": "This type represents information about a network address that has been assigned.  It shall comply with the provisions defined in table 5.5.3.10-1.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        to whatever segmentationId is actually used by the NFVIΓÇÖs transport technology.\n",
                      "description": "This type represents information about a network address that has been assigned.  It shall comply with the provisions defined in table 5.5.3.10-1.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        to whatever segmentationId is actually used by the NFVI’s transport technology.\n",
                      "type": "object",
                      "anyOf": [
                        {
@@ -317,7 +317,7 @@
          "description": "VIP CPs that are part of the VNF instance. Shall be present when that particular VIP CP of the VNFC instance is associated to an external CP of the VNF instance.\nMay be present otherwise.\n",
          "type": "array",
          "items": {
            "description": "This type provides information related to virtual IP (VIP) CP. It shall comply with the provisions defined in table 5.5.3.28-1.\nNOTE:\tIt is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet.\n",
            "description": "This type provides information related to virtual IP (VIP) CP. It shall comply with the provisions defined in table 5.5.3.28-1.\nNOTE 1:\tIt is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet. NOTE 2: If only the value or the presence of this attribute is changed in the \"VipCpInfo\" structure by an LCM operation occurrence, this does not represent a change that requires including a related \"AffectedVipCp\" structure in the VNF LCM operation occurrence notifications or the \"VnfLcmOpOcc\" structure related to this LCM operation occurrence.\n",
            "type": "object",
            "required": [
              "cpInstanceId",
@@ -332,6 +332,10 @@
                "description": "An identifier that is unique within a VNF descriptor.\n",
                "type": "string"
              },
              "vnfdId": {
                "description": "An identifier with the intention of being globally unique.\n",
                "type": "string"
              },
              "vnfExtCpId": {
                "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
                "type": "string"
@@ -354,7 +358,7 @@
                      ]
                    },
                    "ipOverEthernet": {
                      "description": "This type represents information about a network address that has been assigned.  It shall comply with the provisions defined in table 5.5.3.10-1.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        to whatever segmentationId is actually used by the NFVIΓÇÖs transport technology.\n",
                      "description": "This type represents information about a network address that has been assigned.  It shall comply with the provisions defined in table 5.5.3.10-1.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        to whatever segmentationId is actually used by the NFVI’s transport technology.\n",
                      "type": "object",
                      "anyOf": [
                        {
@@ -453,7 +457,7 @@
                }
              },
              "associatedVnfcCpIds": {
                "description": "Identifiers of the VnfcCps that share the virtual IP addresse allocated to the VIP CP instance. See note.\n",
                "description": "Identifiers of the VnfcCps that share the virtual IP addresse allocated to the VIP CP instance. See note 1.\n",
                "type": "array",
                "items": {
                  "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
@@ -520,7 +524,7 @@
                "description": "Link ports of this VL.\n",
                "type": "array",
                "items": {
                  "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to  an NS VL. It shall comply with the provisions defined in table 5.5.3.9-1.\nNOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n",
                  "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to  an NS VL. It shall comply with the provisions defined in table 5.5.3.9-1.\nNOTE 1:\tThe use cases UC#4 and UC#5 in clause A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n",
                  "type": "object",
                  "required": [
                    "id",
@@ -575,7 +579,7 @@
                "description": "Allows the API consumer to read the current CP configuration information for the connection of external CPs  to the external virtual link. See note.\n",
                "type": "array",
                "items": {
                  "description": "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n              from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n              connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n              \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n              a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n              all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n              connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n              by a particular key value from the map, i.e. for the disconnection of an existing external\n              CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n              virtual link, and deletion of that instance in case it represents a subport. Deleting the\n              last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n              its parent data structure.\n",
                  "description": "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n              from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n              connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n              \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n              a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n              all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n              connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n              by a particular key value from the map, i.e. for the disconnection of an existing external\n              CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n              virtual link, and deletion of that instance in case it represents a subport. Deleting the\n              last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n              its parent data structure.\n* NOTE 4:   If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or \n              \"ChangeCurrentVnfPkg\" operation or as part of the Grant response for any of these operations, a \n              cpConfig map entry identified by a particular map key value is moved into another \"ExtVirtualLinkData\"\n              or \"VnfExtCpData\" structure, this particular cpConfig map entry may be used by an external CP instance\n              different than the one that has used it before the operation, or by no external CP instance at all.\n              Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation does not count as moving the\n              related \"cpConfig\" map entries to a new \"extCpData\" structure.\n",
                  "type": "object",
                  "required": [
                    "cpdId"
@@ -586,7 +590,7 @@
                      "type": "string"
                    },
                    "cpConfig": {
                      "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See note 2 and note 3.\n",
                      "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is of type \"IdentifierInVnf\" and is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See notes 2, 3 and 4.\n",
                      "type": "object",
                      "additionalProperties": {
                        "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. * NOTE: The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n    1)  Void.\n    2)  At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external\n        CP instance representing a subport that is to be created, or an external CP instance that is to be\n        created by creating the corresponding VNFC or VNF instance during the current or a subsequent LCM\n        operation, or for an existing external CP instance that is to be re-configured or added to a\n        particular external virtual link.\n    3)  If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n    4)  If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing\n        a pre created link port, and the VNFM can use means outside the scope of the present document to obtain\n        the pre-configured address information for the connection point from the resource representing\n        the link port.\n    5)  If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the\n        cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\n",
@@ -634,7 +638,7 @@
                                  ]
                                },
                                "ipOverEthernet": {
                                  "description": "This type represents network address data for IP over Ethernet. * NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. * NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. * NOTE 3:\tIf the CP instance represents a subport in a trunk, segmentationId shall be present.\n          Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n          network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n          of the packets or it may be an identifier used between the application and the NFVI networking\n          infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n          case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n          actually used by the NFVIΓÇÖs transport technology.\n",
                                  "description": "This type represents network address data for IP over Ethernet. * NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. * NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. * NOTE 3:\tIf the CP instance represents a subport in a trunk, segmentationId shall be present.\n          Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n          network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n          of the packets or it may be an identifier used between the application and the NFVI networking\n          infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n          case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n          actually used by the NFVI’s transport technology.\n",
                                  "type": "object",
                                  "anyOf": [
                                    {
@@ -672,7 +676,7 @@
                                      "format": "MAC"
                                    },
                                    "segmentationType": {
                                      "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network itΓÇÖs connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n",
                                      "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n",
                                      "type": "string",
                                      "enum": [
                                        "VLAN",
@@ -905,7 +909,7 @@
          "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n",
          "type": "array",
          "items": {
            "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance. * NOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. * NOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that\n          exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly\n          to an external VL.\n* NOTE 3:\tThe information can be omitted because it is already available as part of the external CP information.\n",
            "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance. * NOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. * NOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that\n          exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly\n          to an external VL.\n* NOTE 3:\tThe information can be omitted because it is already available as part of the external CP information. * NOTE 4: If only the value or the presence of this attribute is changed in the \"VnfcResourceInfo\" structure by \n          an LCM operation occurrence, this does not represent a change that requires including a related \"AffectedVnfc\"\n          structure in the VNF LCM operation occurrence notifications or the \"VnfLcmOpOcc\" structure related to \n          this LCM operation occurrence.\n",
            "type": "object",
            "required": [
              "id",
@@ -1002,7 +1006,7 @@
                            ]
                          },
                          "ipOverEthernet": {
                            "description": "This type represents information about a network address that has been assigned.  It shall comply with the provisions defined in table 5.5.3.10-1.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        to whatever segmentationId is actually used by the NFVIΓÇÖs transport technology.\n",
                            "description": "This type represents information about a network address that has been assigned.  It shall comply with the provisions defined in table 5.5.3.10-1.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        to whatever segmentationId is actually used by the NFVI’s transport technology.\n",
                            "type": "object",
                            "anyOf": [
                              {
@@ -1126,7 +1130,7 @@
          "description": "Information about the virtualised network resources used by the VLs of the VNF instance. See note 6. Even though externally-managed internal VLs are also used for VNF-internal connectivity, they shall not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n",
          "type": "array",
          "items": {
            "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n",
            "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance. NOTE: If only the value or the presence of this attribute is changed in the \"VnfVirtualLinkResourceInfo\" \n      structure by an LCM operation occurrence, this does not represent a change that requires including a \n      related \"AffectedVirtualLink\" structure in the VNF LCM operation occurrence notifications or the \n      \"VnfLcmOpOcc\" structure related to this LCM operation occurrence.\n",
            "type": "object",
            "required": [
              "id",
@@ -1246,11 +1250,11 @@
            }
          }
        },
        "vnfVirtualStorageResourceInfo": {
        "virtualStorageResourceInfo": {
          "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n",
          "type": "array",
          "items": {
            "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n",
            "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\nNOTE: If only the value or the presence of this attribute is changed in the \"VirtualStorageResourceInfo\" structure by an LCM operation occurrence, this does not represent a change that requires  including a related \"AffectedVirtualStorage\" structure in the VNF LCM operation occurrence  notifications or the \"VnfLcmOpOcc\" structure related to this LCM operation occurrence.\n",
            "type": "object",
            "required": [
              "id",
@@ -1513,6 +1517,19 @@
              "type": "string"
            }
          }
        },
        "changeCurrentVnfPkg": {
          "description": "This type represents a link to a resource using an absolute URI.\n",
          "type": "object",
          "required": [
            "href"
          ],
          "properties": {
            "href": {
              "description": "String formatted according to IETF RFC 3986.\n",
              "type": "string"
            }
          }
        }
      }
    }
+32 −15
Changes for SOL002/VNFLifecycleManagement-API/schemas/vnfInstances.schema.json: 32 added lines, 15 removed lines.
Original line number Diff line number Diff line
@@ -134,7 +134,7 @@
				"type": "array",
				"minItems": 1,
				"items": {
							"description": "This type represents information about an external CP of a VNF.  It shall comply with the provisions defined in table 5.5.3.17 1.\nNOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\" and \"associatedVnfVirtualLinkId\" \n        are mutually exclusive. Exactly one shall be present.\nNOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the \n        ΓÇ£extLinkPortsΓÇ¥ attribute in clause 4.4.1.11.\n",
					"description": "This type represents information about an external CP of a VNF.  It shall comply with the provisions defined in table 5.5.3.17 1.\nNOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\" and \"associatedVnfVirtualLinkId\" \n        are mutually exclusive. Exactly one shall be present.\nNOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the \n        “extLinkPorts” attribute in clause 4.4.1.11.\n",
					"type": "object",
					"required": [
					"id",
@@ -194,7 +194,7 @@
							]
							},
							"ipOverEthernet": {
												"description": "This type represents information about a network address that has been assigned.  It shall comply with the provisions defined in table 5.5.3.10-1.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        to whatever segmentationId is actually used by the NFVIΓÇÖs transport technology.\n",
							"description": "This type represents information about a network address that has been assigned.  It shall comply with the provisions defined in table 5.5.3.10-1.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        to whatever segmentationId is actually used by the NFVI’s transport technology.\n",
							"type": "object",
							"anyOf": [
								{
@@ -319,7 +319,7 @@
				"description": "VIP CPs that are part of the VNF instance. Shall be present when that particular VIP CP of the VNFC instance is associated to an external CP of the VNF instance.\nMay be present otherwise.\n",
				"type": "array",
				"items": {
							"description": "This type provides information related to virtual IP (VIP) CP. It shall comply with the provisions defined in table 5.5.3.28-1.\nNOTE:\tIt is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet.\n",
					"description": "This type provides information related to virtual IP (VIP) CP. It shall comply with the provisions defined in table 5.5.3.28-1.\nNOTE 1:\tIt is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet. NOTE 2: If only the value or the presence of this attribute is changed in the \"VipCpInfo\" structure by an LCM operation occurrence, this does not represent a change that requires including a related \"AffectedVipCp\" structure in the VNF LCM operation occurrence notifications or the \"VnfLcmOpOcc\" structure related to this LCM operation occurrence.\n",
					"type": "object",
					"required": [
					"cpInstanceId",
@@ -334,6 +334,10 @@
						"description": "An identifier that is unique within a VNF descriptor.\n",
						"type": "string"
					},
					"vnfdId": {
						"description": "An identifier with the intention of being globally unique.\n",
						"type": "string"
					},
					"vnfExtCpId": {
						"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
						"type": "string"
@@ -356,7 +360,7 @@
							]
							},
							"ipOverEthernet": {
												"description": "This type represents information about a network address that has been assigned.  It shall comply with the provisions defined in table 5.5.3.10-1.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        to whatever segmentationId is actually used by the NFVIΓÇÖs transport technology.\n",
							"description": "This type represents information about a network address that has been assigned.  It shall comply with the provisions defined in table 5.5.3.10-1.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        to whatever segmentationId is actually used by the NFVI’s transport technology.\n",
							"type": "object",
							"anyOf": [
								{
@@ -455,7 +459,7 @@
						}
					},
					"associatedVnfcCpIds": {
									"description": "Identifiers of the VnfcCps that share the virtual IP addresse allocated to the VIP CP instance. See note.\n",
						"description": "Identifiers of the VnfcCps that share the virtual IP addresse allocated to the VIP CP instance. See note 1.\n",
						"type": "array",
						"items": {
						"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
@@ -522,7 +526,7 @@
						"description": "Link ports of this VL.\n",
						"type": "array",
						"items": {
										"description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to  an NS VL. It shall comply with the provisions defined in table 5.5.3.9-1.\nNOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n",
						"description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to  an NS VL. It shall comply with the provisions defined in table 5.5.3.9-1.\nNOTE 1:\tThe use cases UC#4 and UC#5 in clause A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n",
						"type": "object",
						"required": [
							"id",
@@ -577,7 +581,7 @@
						"description": "Allows the API consumer to read the current CP configuration information for the connection of external CPs  to the external virtual link. See note.\n",
						"type": "array",
						"items": {
										"description": "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n              from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n              connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n              \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n              a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n              all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n              connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n              by a particular key value from the map, i.e. for the disconnection of an existing external\n              CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n              virtual link, and deletion of that instance in case it represents a subport. Deleting the\n              last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n              its parent data structure.\n",
						"description": "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n              from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n              connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n              \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n              a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n              all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n              connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n              by a particular key value from the map, i.e. for the disconnection of an existing external\n              CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n              virtual link, and deletion of that instance in case it represents a subport. Deleting the\n              last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n              its parent data structure.\n* NOTE 4:   If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or \n              \"ChangeCurrentVnfPkg\" operation or as part of the Grant response for any of these operations, a \n              cpConfig map entry identified by a particular map key value is moved into another \"ExtVirtualLinkData\"\n              or \"VnfExtCpData\" structure, this particular cpConfig map entry may be used by an external CP instance\n              different than the one that has used it before the operation, or by no external CP instance at all.\n              Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation does not count as moving the\n              related \"cpConfig\" map entries to a new \"extCpData\" structure.\n",
						"type": "object",
						"required": [
							"cpdId"
@@ -588,7 +592,7 @@
							"type": "string"
							},
							"cpConfig": {
												"description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See note 2 and note 3.\n",
							"description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is of type \"IdentifierInVnf\" and is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See notes 2, 3 and 4.\n",
							"type": "object",
							"additionalProperties": {
								"description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. * NOTE: The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n    1)  Void.\n    2)  At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external\n        CP instance representing a subport that is to be created, or an external CP instance that is to be\n        created by creating the corresponding VNFC or VNF instance during the current or a subsequent LCM\n        operation, or for an existing external CP instance that is to be re-configured or added to a\n        particular external virtual link.\n    3)  If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n    4)  If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing\n        a pre created link port, and the VNFM can use means outside the scope of the present document to obtain\n        the pre-configured address information for the connection point from the resource representing\n        the link port.\n    5)  If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the\n        cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\n",
@@ -636,7 +640,7 @@
										]
										},
										"ipOverEthernet": {
																		"description": "This type represents network address data for IP over Ethernet. * NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. * NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. * NOTE 3:\tIf the CP instance represents a subport in a trunk, segmentationId shall be present.\n          Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n          network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n          of the packets or it may be an identifier used between the application and the NFVI networking\n          infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n          case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n          actually used by the NFVIΓÇÖs transport technology.\n",
										"description": "This type represents network address data for IP over Ethernet. * NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. * NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. * NOTE 3:\tIf the CP instance represents a subport in a trunk, segmentationId shall be present.\n          Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n          network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n          of the packets or it may be an identifier used between the application and the NFVI networking\n          infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n          case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n          actually used by the NFVI’s transport technology.\n",
										"type": "object",
										"anyOf": [
											{
@@ -674,7 +678,7 @@
											"format": "MAC"
											},
											"segmentationType": {
																				"description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network itΓÇÖs connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n",
											"description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n",
											"type": "string",
											"enum": [
												"VLAN",
@@ -907,7 +911,7 @@
				"description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n",
				"type": "array",
				"items": {
							"description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance. * NOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. * NOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that\n          exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly\n          to an external VL.\n* NOTE 3:\tThe information can be omitted because it is already available as part of the external CP information.\n",
					"description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance. * NOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. * NOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that\n          exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly\n          to an external VL.\n* NOTE 3:\tThe information can be omitted because it is already available as part of the external CP information. * NOTE 4: If only the value or the presence of this attribute is changed in the \"VnfcResourceInfo\" structure by \n          an LCM operation occurrence, this does not represent a change that requires including a related \"AffectedVnfc\"\n          structure in the VNF LCM operation occurrence notifications or the \"VnfLcmOpOcc\" structure related to \n          this LCM operation occurrence.\n",
					"type": "object",
					"required": [
					"id",
@@ -1004,7 +1008,7 @@
									]
								},
								"ipOverEthernet": {
															"description": "This type represents information about a network address that has been assigned.  It shall comply with the provisions defined in table 5.5.3.10-1.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        to whatever segmentationId is actually used by the NFVIΓÇÖs transport technology.\n",
									"description": "This type represents information about a network address that has been assigned.  It shall comply with the provisions defined in table 5.5.3.10-1.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        to whatever segmentationId is actually used by the NFVI’s transport technology.\n",
									"type": "object",
									"anyOf": [
									{
@@ -1128,7 +1132,7 @@
				"description": "Information about the virtualised network resources used by the VLs of the VNF instance. See note 6. Even though externally-managed internal VLs are also used for VNF-internal connectivity, they shall not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n",
				"type": "array",
				"items": {
							"description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n",
					"description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance. NOTE: If only the value or the presence of this attribute is changed in the \"VnfVirtualLinkResourceInfo\" \n      structure by an LCM operation occurrence, this does not represent a change that requires including a \n      related \"AffectedVirtualLink\" structure in the VNF LCM operation occurrence notifications or the \n      \"VnfLcmOpOcc\" structure related to this LCM operation occurrence.\n",
					"type": "object",
					"required": [
					"id",
@@ -1248,11 +1252,11 @@
					}
				}
				},
					"vnfVirtualStorageResourceInfo": {
				"virtualStorageResourceInfo": {
				"description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n",
				"type": "array",
				"items": {
							"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n",
					"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\nNOTE: If only the value or the presence of this attribute is changed in the \"VirtualStorageResourceInfo\" structure by an LCM operation occurrence, this does not represent a change that requires  including a related \"AffectedVirtualStorage\" structure in the VNF LCM operation occurrence  notifications or the \"VnfLcmOpOcc\" structure related to this LCM operation occurrence.\n",
					"type": "object",
					"required": [
					"id",
@@ -1515,6 +1519,19 @@
					"type": "string"
					}
				}
				},
				"changeCurrentVnfPkg": {
				"description": "This type represents a link to a resource using an absolute URI.\n",
				"type": "object",
				"required": [
					"href"
				],
				"properties": {
					"href": {
					"description": "String formatted according to IETF RFC 3986.\n",
					"type": "string"
					}
				}
				}
			}
			}
+8 −7
Changes for SOL002/VNFLifecycleManagement-API/schemas/vnfLcmOpOcc.schema.json: 8 added lines, 7 removed lines.
Original line number Diff line number Diff line
@@ -60,7 +60,7 @@
      "type": "string"
    },
    "operation": {
      "description": "The enumeration LcmOpType defines the permitted values to represent  VNF lifecycle operation types in VNF lifecycle management operation  occurrence resources and VNF lifecycle management operation occurrence  notifications.  It shall comply with the provisions defined in table 5.5.4.5-1.\nValue | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation.    SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. CREATE_SNAPSHOT | Represents the \"Create VNF Snapshot\" LCM operation. REVERT_TO_SNAPSHOT | Represents the ΓÇ£Revert-To VNF Snapshot\" LCM operation. CHANGE_VNFPKG | Represents the \"Change current VNF package\" LCM operation.\n",
      "description": "The enumeration LcmOpType defines the permitted values to represent  VNF lifecycle operation types in VNF lifecycle management operation  occurrence resources and VNF lifecycle management operation occurrence  notifications.  It shall comply with the provisions defined in table 5.5.4.5-1.\nValue | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation.    SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. CREATE_SNAPSHOT | Represents the \"Create VNF Snapshot\" LCM operation. REVERT_TO_SNAPSHOT | Represents the “Revert-To VNF Snapshot\" LCM operation. CHANGE_VNFPKG | Represents the \"Change current VNF package\" LCM operation.\n",
      "type": "string",
      "enum": [
        "INSTANTIATE",
@@ -319,10 +319,11 @@
                "type": "string"
              },
              "changeType": {
                "description": "Signals the type of change. Permitted values: -\tADDED -\tREMOVED\n",
                "description": "Signals the type of change. Permitted values: -\tADDED - MODIFIED -\tREMOVED\n",
                "type": "string",
                "enum": [
                  "ADDED",
                  "MODIFIED",
                  "REMOVED"
                ]
              },
@@ -576,7 +577,7 @@
            "description": "Link ports of this VL.\n",
            "type": "array",
            "items": {
              "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to  an NS VL. It shall comply with the provisions defined in table 5.5.3.9-1.\nNOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n",
              "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to  an NS VL. It shall comply with the provisions defined in table 5.5.3.9-1.\nNOTE 1:\tThe use cases UC#4 and UC#5 in clause A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n",
              "type": "object",
              "required": [
                "id",
@@ -631,7 +632,7 @@
            "description": "Allows the API consumer to read the current CP configuration information for the connection of external CPs  to the external virtual link. See note.\n",
            "type": "array",
            "items": {
              "description": "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n              from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n              connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n              \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n              a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n              all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n              connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n              by a particular key value from the map, i.e. for the disconnection of an existing external\n              CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n              virtual link, and deletion of that instance in case it represents a subport. Deleting the\n              last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n              its parent data structure.\n",
              "description": "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n              from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n              connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n              \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n              a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n              all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n              connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n              by a particular key value from the map, i.e. for the disconnection of an existing external\n              CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n              virtual link, and deletion of that instance in case it represents a subport. Deleting the\n              last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n              its parent data structure.\n* NOTE 4:   If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or \n              \"ChangeCurrentVnfPkg\" operation or as part of the Grant response for any of these operations, a \n              cpConfig map entry identified by a particular map key value is moved into another \"ExtVirtualLinkData\"\n              or \"VnfExtCpData\" structure, this particular cpConfig map entry may be used by an external CP instance\n              different than the one that has used it before the operation, or by no external CP instance at all.\n              Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation does not count as moving the\n              related \"cpConfig\" map entries to a new \"extCpData\" structure.\n",
              "type": "object",
              "required": [
                "cpdId"
@@ -642,7 +643,7 @@
                  "type": "string"
                },
                "cpConfig": {
                  "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See note 2 and note 3.\n",
                  "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is of type \"IdentifierInVnf\" and is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See notes 2, 3 and 4.\n",
                  "type": "object",
                  "additionalProperties": {
                    "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. * NOTE: The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n    1)  Void.\n    2)  At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external\n        CP instance representing a subport that is to be created, or an external CP instance that is to be\n        created by creating the corresponding VNFC or VNF instance during the current or a subsequent LCM\n        operation, or for an existing external CP instance that is to be re-configured or added to a\n        particular external virtual link.\n    3)  If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n    4)  If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing\n        a pre created link port, and the VNFM can use means outside the scope of the present document to obtain\n        the pre-configured address information for the connection point from the resource representing\n        the link port.\n    5)  If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the\n        cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\n",
@@ -690,7 +691,7 @@
                              ]
                            },
                            "ipOverEthernet": {
                              "description": "This type represents network address data for IP over Ethernet. * NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. * NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. * NOTE 3:\tIf the CP instance represents a subport in a trunk, segmentationId shall be present.\n          Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n          network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n          of the packets or it may be an identifier used between the application and the NFVI networking\n          infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n          case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n          actually used by the NFVIΓÇÖs transport technology.\n",
                              "description": "This type represents network address data for IP over Ethernet. * NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. * NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. * NOTE 3:\tIf the CP instance represents a subport in a trunk, segmentationId shall be present.\n          Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n          network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n          of the packets or it may be an identifier used between the application and the NFVI networking\n          infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n          case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n          actually used by the NFVI’s transport technology.\n",
                              "type": "object",
                              "anyOf": [
                                {
@@ -728,7 +729,7 @@
                                  "format": "MAC"
                                },
                                "segmentationType": {
                                  "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network itΓÇÖs connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n",
                                  "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n",
                                  "type": "string",
                                  "enum": [
                                    "VLAN",
+16 −11
Changes for SOL002/VNFLifecycleManagement-API/schemas/vnfLcmOpOccs.schema.json: 16 added lines, 11 removed lines.
Original line number Diff line number Diff line
@@ -3,7 +3,8 @@
    "items": {
		"description": "This type represents a VNF lifecycle management operation occurrence. Shall be set to the value of the \"id\" attribute in the \"Grant\" representing the associated \"Individual Grant\", if such grant exists. * NOTE 1:\tThis allows the API consumer to obtain the information contained in the latest \"result\"\n          notification if it has not received it due to an error or a wrongly configured subscription filter.\n* NOTE 2:\tNot more than one of changedInfo and modificationsTriggeredByVnfPkgChange shall be present. * NOTE 3:\tFor a particular affected VL, there shall be as many \"AffectedVirtualLink\" entries as needed\n          for signalling the different types of changes, i.e. one per virtual link and change type.\n          For instance, in the case of signaling affected VL instances involving the addition of a\n          particular VL instance with links ports, one \"AffectedVirtualLink\" entry signals the addition\n          of the VL by using the \"changeType\" attribute of \"AffectedVirtualLink\" structure equal to \"ADDED\",\n          and another \"AffectedVirtualLink\" entry signals the addition of VNF link ports of the VL by using the\n          \"changeType\" equal to \"LINK_PORT_ADDED\".\n* NOTE 4:\tA coordination action has timed out if the VNFM has not been able to read the\n          \"Individual coordination action\" resource within a timeout interval after requesting the coordination\n          to be started or to be cancelled. The length of the timeout interval is defined by means outside\n          the scope of the present document.\n* NOTE 5: The list of rejected coordinations may be garbage collected if the LCM operation occurrence has\n          reached a terminal state, i.e. one of \"COMPLETED\", \"FAILED\" and \"ROLLED_BACK\".\n",
		"type": "object",
	"oneOf": [{
		"oneOf": [
		{
			"required": [
			  "changedInfo"
			]
@@ -61,7 +62,7 @@
			"type": "string"
		  },
		  "operation": {
			"description": "The enumeration LcmOpType defines the permitted values to represent  VNF lifecycle operation types in VNF lifecycle management operation  occurrence resources and VNF lifecycle management operation occurrence  notifications.  It shall comply with the provisions defined in table 5.5.4.5-1.\nValue | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation.    SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. CREATE_SNAPSHOT | Represents the \"Create VNF Snapshot\" LCM operation. REVERT_TO_SNAPSHOT | Represents the ΓÇ£Revert-To VNF Snapshot\" LCM operation. CHANGE_VNFPKG | Represents the \"Change current VNF package\" LCM operation.\n",
			"description": "The enumeration LcmOpType defines the permitted values to represent  VNF lifecycle operation types in VNF lifecycle management operation  occurrence resources and VNF lifecycle management operation occurrence  notifications.  It shall comply with the provisions defined in table 5.5.4.5-1.\nValue | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation.    SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. CREATE_SNAPSHOT | Represents the \"Create VNF Snapshot\" LCM operation. REVERT_TO_SNAPSHOT | Represents the “Revert-To VNF Snapshot\" LCM operation. CHANGE_VNFPKG | Represents the \"Change current VNF package\" LCM operation.\n",
			"type": "string",
			"enum": [
			  "INSTANTIATE",
@@ -320,10 +321,11 @@
					  "type": "string"
					},
					"changeType": {
								"description": "Signals the type of change. Permitted values: -\tADDED -\tREMOVED\n",
					  "description": "Signals the type of change. Permitted values: -\tADDED - MODIFIED -\tREMOVED\n",
					  "type": "string",
					  "enum": [
						"ADDED",
						"MODIFIED",
						"REMOVED"
					  ]
					},
@@ -577,7 +579,7 @@
				  "description": "Link ports of this VL.\n",
				  "type": "array",
				  "items": {
							"description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to  an NS VL. It shall comply with the provisions defined in table 5.5.3.9-1.\nNOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n",
					"description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to  an NS VL. It shall comply with the provisions defined in table 5.5.3.9-1.\nNOTE 1:\tThe use cases UC#4 and UC#5 in clause A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n",
					"type": "object",
					"required": [
					  "id",
@@ -632,7 +634,7 @@
				  "description": "Allows the API consumer to read the current CP configuration information for the connection of external CPs  to the external virtual link. See note.\n",
				  "type": "array",
				  "items": {
							"description": "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n              from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n              connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n              \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n              a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n              all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n              connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n              by a particular key value from the map, i.e. for the disconnection of an existing external\n              CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n              virtual link, and deletion of that instance in case it represents a subport. Deleting the\n              last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n              its parent data structure.\n",
					"description": "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n              from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n              connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n              \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n              a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n              all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n              connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n              by a particular key value from the map, i.e. for the disconnection of an existing external\n              CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n              virtual link, and deletion of that instance in case it represents a subport. Deleting the\n              last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n              its parent data structure.\n* NOTE 4:   If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or \n              \"ChangeCurrentVnfPkg\" operation or as part of the Grant response for any of these operations, a \n              cpConfig map entry identified by a particular map key value is moved into another \"ExtVirtualLinkData\"\n              or \"VnfExtCpData\" structure, this particular cpConfig map entry may be used by an external CP instance\n              different than the one that has used it before the operation, or by no external CP instance at all.\n              Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation does not count as moving the\n              related \"cpConfig\" map entries to a new \"extCpData\" structure.\n",
					"type": "object",
					"required": [
					  "cpdId"
@@ -643,11 +645,12 @@
						"type": "string"
					  },
					  "cpConfig": {
									"description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See note 2 and note 3.\n",
						"description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is of type \"IdentifierInVnf\" and is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See notes 2, 3 and 4.\n",
						"type": "object",
						"additionalProperties": {
						  "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. * NOTE: The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n    1)  Void.\n    2)  At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external\n        CP instance representing a subport that is to be created, or an external CP instance that is to be\n        created by creating the corresponding VNFC or VNF instance during the current or a subsequent LCM\n        operation, or for an existing external CP instance that is to be re-configured or added to a\n        particular external virtual link.\n    3)  If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n    4)  If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing\n        a pre created link port, and the VNFM can use means outside the scope of the present document to obtain\n        the pre-configured address information for the connection point from the resource representing\n        the link port.\n    5)  If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the\n        cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\n",
										"anyOf": [{
						  "anyOf": [
							{
							  "required": [
								"linkPortId"
							  ]
@@ -690,9 +693,10 @@
									]
								  },
								  "ipOverEthernet": {
															"description": "This type represents network address data for IP over Ethernet. * NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. * NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. * NOTE 3:\tIf the CP instance represents a subport in a trunk, segmentationId shall be present.\n          Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n          network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n          of the packets or it may be an identifier used between the application and the NFVI networking\n          infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n          case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n          actually used by the NFVIΓÇÖs transport technology.\n",
									"description": "This type represents network address data for IP over Ethernet. * NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. * NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. * NOTE 3:\tIf the CP instance represents a subport in a trunk, segmentationId shall be present.\n          Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n          network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n          of the packets or it may be an identifier used between the application and the NFVI networking\n          infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n          case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n          actually used by the NFVI’s transport technology.\n",
									"type": "object",
															"anyOf": [{
									"anyOf": [
									  {
										"required": [
										  "macAddress"
										]
@@ -703,7 +707,8 @@
										]
									  }
									],
															"oneOf": [{
									"oneOf": [
									  {
										"required": [
										  "fixedAddresses"
										]
@@ -726,7 +731,7 @@
										"format": "MAC"
									  },
									  "segmentationType": {
																	"description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network itΓÇÖs connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n",
										"description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n",
										"type": "string",
										"enum": [
										  "VLAN",
+7 −7
Changes for SOL002/VNFLifecycleManagement-API/CancelOperationTask.robot: 7 added lines, 7 removed lines.
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@ Post Cancel operation task
    ...    Test title: POST Cancel operation task
    ...    Test objective: The POST method initiates cancelling an ongoing VNF lifecycle operation while it is being executed or rolled back, i.e. the "VNF LCM operation occurrence" is either in "PROCESSING" or "ROLLING_BACK" state.
    ...    Pre-conditions: the "VNF LCM operation occurrence" is either in "PROCESSING" or "ROLLING_BACK" state.
    ...    Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1
    ...    Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 002 [2] v3.6.1
    ...    Config ID: Config_prod_VE
    ...    Applicability: none
    ...    Post-Conditions: the resource is in FAILED_TEMP state    
@@ -27,7 +27,7 @@ Post Cancel operation task Conflict
    ...    Test title: POST Cancel operation task Conflict
    ...    Test objective: The POST method is NOT cancelling an ongoing VNF lifecycle operation due to the fact that the VNF instance resource is not in STARTING, PROCESSING or ROLLING_BACK state
    ...    Pre-conditions: operation is not in STARTING, PROCESSING or ROLLING_BACK state
    ...    Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1
    ...    Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 002 [2] v3.6.1
    ...    Config ID: Config_prod_VE
    ...    Applicability: none
    ...    Post-Conditions: none  
@@ -41,7 +41,7 @@ Post Cancel operation task Not Found
    ...    Test title: POST Cancel operation task
    ...    Test objective: The objective is to test that POST method cannot cancel a VNF lifecycle operation because the resource is not found
    ...    Pre-conditions: 
    ...    Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1
    ...    Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 002 [2] v3.6.1
    ...    Config ID: Config_prod_VE
    ...    Applicability: none
    ...    Post-Conditions: none  
@@ -54,7 +54,7 @@ GET Cancel operation task - Method not implemented
    ...    Test title: GET Cancel operation task - Method not implemented
    ...    Test objective: The objective is to test that GET method is not implemented
    ...    Pre-conditions: none
    ...    Reference: Clause 5.4.17.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1
    ...    Reference: Clause 5.4.17.3.2 - ETSI GS NFV-SOL 002 [2] v3.6.1
    ...    Config ID: Config_prod_VE
    ...    Applicability: none
    ...    Post-Conditions: none 
@@ -66,7 +66,7 @@ PUT Cancel operation task - Method not implemented
    ...    Test title: PUT Cancel operation task - Method not implemented
    ...    Test objective: The objective is to test that PUT method is not implemented
    ...    Pre-conditions: none
    ...    Reference: Clause 5.4.17.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1
    ...    Reference: Clause 5.4.17.3.3 - ETSI GS NFV-SOL 002 [2] v3.6.1
    ...    Config ID: Config_prod_VE
    ...    Applicability: none
    ...    Post-Conditions: none 
@@ -78,7 +78,7 @@ PATCH Cancel operation task - Method not implemented
    ...    Test title: PATCH Cancel operation task - Method not implemented
    ...    Test objective: The objective is to test that PATCH method is not implemented
    ...    Pre-conditions: none
    ...    Reference: Clause 5.4.17.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1
    ...    Reference: Clause 5.4.17.3.4 - ETSI GS NFV-SOL 002 [2] v3.6.1
    ...    Config ID: Config_prod_VE
    ...    Applicability: none
    ...    Post-Conditions: none 
@@ -90,7 +90,7 @@ DELETE Cancel operation task - Method not implemented
    ...    Test title: DELETE Cancel operation task - Method not implemented
    ...    Test objective: The objective is to test that DELETE method is not implemented
    ...    Pre-conditions: none
    ...    Reference: Clause 5.4.17.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1
    ...    Reference: Clause 5.4.17.3.5 - ETSI GS NFV-SOL 002 [2] v3.6.1
    ...    Config ID: Config_prod_VE
    ...    Applicability: none
    ...    Post-Conditions: none 
Loading
Loading