...
SOL003 Interfaces between VNFM Adapter (Client) and SVNFM (Provider)
Create VNF
HTTP Method Type: POST
VNFM Endpoint: /vnf_instances/
Request Payload: CreateVnfRequest
Response Header: 201 success
Response Body: VnfInstance
Design
TBD
Instantiate VNF
HTTP Method Type: POST
VNFM Endpoint: /vnf_instances/{vnfInstanceId}/instantiate
Request Payload: InstantiateVNFRequest
Response Header: 202 success
Response Body: not applicable
- Design
- TBD
- Design
Query VNF Instances
HTTP Method Type: GET
VNFM Endpoint: /vnf_instances (for multiple VNFs), /vnf_instances/{vnfInstanceId} (for single VNF)
Request Payload: not applicable
Response Header: 200 success
Response Body: VnfInstance[] (for multiple VNFs), VnfInstance (for single VNF)
- Design
- TBD
- Design
VNFM Adapter sends a POST request to the "VNF Instances" resource including in the payload body a data structure of type "CreateVnfRequest" (VNFM Adapter → VNFM); POST ../vnf_instances (CreateVnfRequest)
VNFM creates a new VNF instance resource in NOT_INSTANTIATED state, and the associated VNF instance identifier (VNFM → VNFM Adapter);
VNFM returns a 201 Created response containing a representation of the VNF Instance resource just created by the VNFM, and provides the URI of the newly-created resource in the "Location" HTTP header (VNFM → VNFM Adapter); 202 Created (VnfInstnace)
- VNFM sends a VNF Identifier Creation Notification to the VNFM Adapter to indicate the creation of the VNF instance resource and the associated VNF instance identifier (VNFM → VNFM Adapter); Send VnfIdentifierCreationNotification
Instantiate VNF
HTTP Method Type: POST
VNFM Endpoint: /vnf_instances/{vnfInstanceId}/instantiate
Request Payload: InstantiateVNFRequest
Response Header: 202 success
Response Body: not applicable
- Design
- VNFM Adapter sends a POST request to the Task resource that represents the lifecycle operation to be executed on the VNF instance, and includes in the payload body a data structure of type InstantiateVNFRequest (VNFM Adapter → VNFM); POST ../vnf_instances/{vnfInstanceId}/instantiate
- VNFM Creates a "VNF LCM operation occurrence" resource for the request (VNFM → VNFM Adapter)
- VNFM returns a "202 Accepted" response with an empty payload body and a "Location" HTTP header that points to the new "VNF LCM operation occurrence" resource (VNFM → VNFM Adapter); .../vnf_lcm_op_occs/{vnfLcmOpOccId}
- VNFM sends to the VNFM Adapter a VNF lifecycle management operation occurrence notification to indicate the start of the lifecycle management operation occurrence with the "STARTING" state
- VNFM and VNFM Adapter exchange granting information (see Granting section)
- VNFM sends to the NFVO a VNF lifecycle management operation occurrence notification to indicate that the VNF LCM operation occurrence enters the "PROCESSING" state
- VNFM Adapter polls the "VNF LCM operation occurrence" resource to obtain information about the ongoing operation by sending a GET request to the resource that represents the VNF LCM operation occurrence.
- VNFM returns to the VNFM Adapter information of the operation, such as the operation status, by providing in the payload body a data structure of type "VnfLcmOpOcc"
- VNFM has finished the operation <<Operation>>
- VNFM sends a VNF lifecycle management operation occurrence notification to VNFM Adapter to indicate the completion of the lifecycle management operation occurrence with the success state "COMPLETED"
- Design
Query VNF Instances
HTTP Method Type: GET
VNFM Endpoint: /vnf_instances (for multiple VNFs), /vnf_instances/{vnfInstanceId} (for single VNF)
Request Payload: not applicable
Response Header: 200 success
Response Body: VnfInstance[] (for multiple VNFs), VnfInstance (for single VNF)
- Design
- If the VNFM Adapter intends to query all VNF instances, it sends a GET request to the "VNF instances" resource
- The VNFM returns a "200 OK" response to the VNFM Adapter, and includes zero or more data structures of type "VnfInstance" in the payload body
- If the VNFM Adapter intends to read information about a particular VNF instance, it sends a GET request to the "Individual VNF instance" resource, addressed by the appropriate VNF instance identifier in its resource URI
- The VNFM returns a "200 OK" response to the VNFM Adapter, and includes one data structure of type "VnfInstance" in the payload body
- Design
SOL003 Interfaces between SVNFM (Client) and VNFM Adapter (Provider)
...
Scale VNF
HTTP Method Type: POST
- VNFM Endpoint: /vnf_instances/{vnfInstanceId}/scale
- Request Payload: ScaleVnfRequest
- Response Header: 202 accepted
- Response Body: not applicable
- Scale to Level Vnf
- HTTP Method Type: POST
- VNFM Endpoint: /vnf_instances/{vnfInstanceId}/scale_to_level
- Request Payload: ScaleVnfToLevelRequest
- Response Header: 202 accepted
- Response Body: not applicable
Terminate VNF (Stretch goal for Dublin)
HTTP Method Type: POST
VNFM Endpoint: /vnf_instances/{vnfInstanceId}/terminate
Request Payload: TerminateVnfRequest
Response Header: 202 success
Response Body: not applicable
- Delete VNF
HTTP Method Type: DELETE
VNFM Endpoint: /vnf_instances/{vnfInstanceId}
Request Payload: not applicable
Response Header: 204 success
Response Body: not applicable
- Operate VNF
HTTP Method Type: POST
VNFM Endpoint: /vnf_instances/{vnfInstanceId}/operate
Request Payload: OperateVnfRequest
Response Header: 202 success
Response Body: not applicable
...