Commit a6717d2f authored by Giacomo Bernini's avatar Giacomo Bernini
Browse files

Merge branch 'SOL002-VNFLifecycleManagement' into '4.5.1-dev'

SOL002 VNF Lifecycle Management - Implementation of deltas between v4.5.1 and v4.4.1

See merge request !341
parents 131fe232 0a608dc2
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2,4 +2,4 @@

This folder includes the NFV API conformance test descriptions for NFV SOL002 APIs.

The reference spec version is v4.4.1: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/04.04.01_60/gs_NFV-SOL002v040401p.pdf
The reference spec version is v4.5.1: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/04.05.01_60/gs_NFV-SOL002v040501p.pdf
+20 −10
Original line number Diff line number Diff line
@@ -131,6 +131,7 @@ DELETE API Version with apiMajorVerion - Method not implemented
*** Keywords ***
POST API Version
    Set Headers    {"Accept":"${ACCEPT}"}
    Set Headers    {"Version": "${API_VERSION}"} 
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
    Post    ${apiRoot}/${apiName}/api_versions
    ${outputResponse}=    Output    response
@@ -138,6 +139,7 @@ POST API Version
	
GET API Version
    Set Headers    {"Accept":"${ACCEPT}"}
    Set Headers    {"Version": "${API_VERSION}"} 
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
    Get    ${apiRoot}/${apiName}/api_versions
    ${outputResponse}=    Output    response
@@ -145,6 +147,7 @@ GET API Version
	
PUT API Version
    Set Headers    {"Accept":"${ACCEPT}"}
    Set Headers    {"Version": "${API_VERSION}"} 
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
    Put    ${apiRoot}/${apiName}/api_versions
    ${outputResponse}=    Output    response
@@ -152,6 +155,7 @@ PUT API Version
	
PATCH API Version
    Set Headers    {"Accept":"${ACCEPT}"}
    Set Headers    {"Version": "${API_VERSION}"} 
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
    Patch    ${apiRoot}/${apiName}/api_versions
    ${outputResponse}=    Output    response
@@ -159,6 +163,7 @@ PATCH API Version
	
DELETE API Version
    Set Headers    {"Accept":"${ACCEPT}"}
    Set Headers    {"Version": "${API_VERSION}"} 
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
    Delete    ${apiRoot}/${apiName}/api_versions
    ${outputResponse}=    Output    response
@@ -166,6 +171,7 @@ DELETE API Version
	
POST API Version with apiMajorVersion
    Set Headers    {"Accept":"${ACCEPT}"}
    Set Headers    {"Version": "${API_VERSION}"} 
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
    Post    ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions
    ${outputResponse}=    Output    response
@@ -173,6 +179,7 @@ POST API Version with apiMajorVersion
	
GET API Version with apiMajorVersion
    Set Headers    {"Accept":"${ACCEPT}"}
    Set Headers    {"Version": "${API_VERSION}"} 
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
    Get    ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions
    ${outputResponse}=    Output    response
@@ -180,6 +187,7 @@ GET API Version with apiMajorVersion
	
PUT API Version with apiMajorVersion
    Set Headers    {"Accept":"${ACCEPT}"}
    Set Headers    {"Version": "${API_VERSION}"} 
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
    Put    ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions
    ${outputResponse}=    Output    response
@@ -187,6 +195,7 @@ PUT API Version with apiMajorVersion
	
PATCH API Version with apiMajorVersion
    Set Headers    {"Accept":"${ACCEPT}"}
    Set Headers    {"Version": "${API_VERSION}"} 
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
    Patch    ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions
    ${outputResponse}=    Output    response
@@ -194,6 +203,7 @@ PATCH API Version with apiMajorVersion
	
DELETE API Version with apiMajorVersion
    Set Headers    {"Accept":"${ACCEPT}"}
    Set Headers    {"Version": "${API_VERSION}"} 
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
    Delete    ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions
    ${outputResponse}=    Output    response
+33 −8
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] v4.4.1
    ...    Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 002 [2] v4.5.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] v4.4.1
    ...    Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 002 [2] v4.5.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] v4.4.1
    ...    Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 002 [2] v4.5.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] v4.4.1
    ...    Reference: Clause 5.4.17.3.2 - ETSI GS NFV-SOL 002 [2] v4.5.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] v4.4.1
    ...    Reference: Clause 5.4.17.3.3 - ETSI GS NFV-SOL 002 [2] v4.5.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] v4.4.1
    ...    Reference: Clause 5.4.17.3.4 - ETSI GS NFV-SOL 002 [2] v4.5.1
    ...    Config ID: Config_prod_VE
    ...    Applicability: none
    ...    Post-Conditions: none 
@@ -90,16 +90,41 @@ 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] v4.4.1
    ...    Reference: Clause 5.4.17.3.5 - ETSI GS NFV-SOL 002 [2] v4.5.1
    ...    Config ID: Config_prod_VE
    ...    Applicability: none
    ...    Post-Conditions: none 
    DELETE Cancel operation task
	Check HTTP Response Status Code Is    405
Post Cancel operation task with permitted authorization scope
    [Documentation]    Test ID: 6.3.5.16.8
    ...    Test title: POST Cancel operation task with permitted authorization scope
    ...    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 with permitted authorization scope
    ...    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] v4.5.1
    ...    Config ID: Config_prod_VE
    ...    Applicability: none
    ...    Post-Conditions: the resource is in FAILED_TEMP state    
    POST Cancel operation task with permitted authorization scope
    Check HTTP Response Status Code Is    202
    Check operation resource state is FAILED_TEMP
Post Cancel operation task with not permitted authorization scope
    [Documentation]    Test ID: 6.3.5.16.9
    ...    Test title: POST Cancel operation task with not permitted authorization scope
    ...    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 with not permitted authorization scope
    ...    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] v4.5.1
    ...    Config ID: Config_prod_VE
    ...    Applicability: none
    ...    Post-Conditions: the resource is in FAILED_TEMP state    
    POST Cancel operation task with not permitted authorization scope
    Check HTTP Response Status Code Is    403
    Check HTTP Response Body Json Schema Is    ProblemDetails

*** Keywords ***
Check resource existence
    Set Headers    {"Accept":"${ACCEPT}"}
    Set Headers    {"Version": "${API_VERSION}"} 
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
    Get    ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}
    Integer    response status    200
 No newline at end of file
+32 −7
Original line number Diff line number Diff line
@@ -13,7 +13,7 @@ POST Change current VNF Package Task
    ...    Test title: POST Change current VNF Package Task
    ...    Test objective: The objective is to test that the POST method changes the current VNF package on which the VNF instance is based.
    ...    Pre-conditions: none
    ...    Reference: Clause 5.4.11a.3.1 - ETSI GS NFV-SOL 002 [2] v4.4.1
    ...    Reference: Clause 5.4.11a.3.1 - ETSI GS NFV-SOL 002 [2] v4.5.1
    ...    Config ID: Config_prod_VE
    ...    Applicability: none
    ...    Post-Conditions: in response header Location shall not be null         
@@ -26,7 +26,7 @@ POST Change current VNF Package Task - Conflict
    ...    Test title: POST Change current VNF Package Task - Conflict
    ...    Test objective: The objective is to test that the POST method cannot change the current VNF package task when another lifecycle management operation is ongoing. 
    ...    Pre-conditions: none
    ...    Reference: Clause 5.4.11a.3.1 - ETSI GS NFV-SOL 002 [2] v4.4.1
    ...    Reference: Clause 5.4.11a.3.1 - ETSI GS NFV-SOL 002 [2] v4.5.1
    ...    Config ID: Config_prod_VE
    ...    Applicability: There is another lifecycle management operation ongoing.
    ...    Post-Conditions: none
@@ -39,7 +39,7 @@ GET Change current VNF Package Task - Method not implemented
    ...    Test title: GET Change current VNF Package Task - Method not implemented
    ...    Test objective: The objective is to test that GET method is not implemented
    ...    Pre-conditions: none
    ...    Reference: Clause 5.4.11a.3.2 - ETSI GS NFV-SOL 002 [2] v4.4.1
    ...    Reference: Clause 5.4.11a.3.2 - ETSI GS NFV-SOL 002 [2] v4.5.1
    ...    Config ID: Config_prod_VE
    ...    Applicability: none
    ...    Post-Conditions: none 
@@ -51,7 +51,7 @@ PUT Change current VNF Package Task - Method not implemented
    ...    Test title: PUT Change current VNF Package Task - Method not implemented
    ...    Test objective: The objective is to test that PUT method is not implemented
    ...    Pre-conditions: none
    ...    Reference: Clause 5.4.11a.3.3 - ETSI GS NFV-SOL 002 [2] v4.4.1
    ...    Reference: Clause 5.4.11a.3.3 - ETSI GS NFV-SOL 002 [2] v4.5.1
    ...    Config ID: Config_prod_VE
    ...    Applicability: none
    ...    Post-Conditions: none 
@@ -63,7 +63,7 @@ PATCH Change current VNF Package Task - Method not implemented
    ...    Test title: PATCH Change current VNF Package Task - Method not implemented
    ...    Test objective: The objective is to test that PATCH method is not implemented
    ...    Pre-conditions: none
    ...    Reference: Clause 5.4.11a.3.4 - ETSI GS NFV-SOL 002 [2] v4.4.1
    ...    Reference: Clause 5.4.11a.3.4 - ETSI GS NFV-SOL 002 [2] v4.5.1
    ...    Config ID: Config_prod_VE
    ...    Applicability: none
    ...    Post-Conditions: none 
@@ -75,16 +75,41 @@ DELETE Change current VNF Package Task - Method not implemented
    ...    Test title: DELETE Change current VNF Package Task - Method not implemented
    ...    Test objective: The objective is to test that DELETE method is not implemented
    ...    Pre-conditions: none
    ...    Reference: Clause 5.4.11a.3.5 - ETSI GS NFV-SOL 002 [2] v4.4.1
    ...    Reference: Clause 5.4.11a.3.5 - ETSI GS NFV-SOL 002 [2] v4.5.1
    ...    Config ID: Config_prod_VE
    ...    Applicability: none
    ...    Post-Conditions: none 
    DELETE Change Current VNF Package Task
    Check HTTP Response Status Code Is    405
POST Change current VNF Package Task with permitted authorization scope
    [Documentation]    Test ID: 6.3.5.22.7
    ...    Test title: POST Change current VNF Package Task with permitted authorization scope
    ...    Test objective: The objective is to test that the POST method changes the current VNF package on which the VNF instance is based with permitted authorization scope.
    ...    Pre-conditions: none
    ...    Reference: Clause 5.4.11a.3.1 - ETSI GS NFV-SOL 002 [2] v4.5.1
    ...    Config ID: Config_prod_VE
    ...    Applicability: none
    ...    Post-Conditions: in response header Location shall not be null         
    POST Change Current VNF Package Task with permitted authorization scope
    Check HTTP Response Status Code Is    202
    Check Operation Occurrence Id
POST Change current VNF Package Task with not permitted authorization scope
    [Documentation]    Test ID: 6.3.5.22.8
    ...    Test title: POST Change current VNF Package Task with not permitted authorization scope
    ...    Test objective: The objective is to test that the POST method changes the current VNF package on which the VNF instance is based with not permitted authorization scope.
    ...    Pre-conditions: none
    ...    Reference: Clause 5.4.11a.3.1 - ETSI GS NFV-SOL 002 [2] v4.5.1
    ...    Config ID: Config_prod_VE
    ...    Applicability: none
    ...    Post-Conditions: in response header Location shall not be null         
    POST Change Current VNF Package Task with not permitted authorization scope
    Check HTTP Response Status Code Is    403
    Check HTTP Response Body Json Schema Is    ProblemDetails

*** Keywords ***
Check resource existence
    Set Headers    {"Accept":"${ACCEPT}"}
    Set Headers    {"Version": "${API_VERSION}"}  
    Set Headers    {"Content-Type": "${CONTENT_TYPE}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
    Get    ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId} 
+32 −7
Original line number Diff line number Diff line
@@ -13,7 +13,7 @@ POST Change external VNF connectivity
    ...    Test title: POST Change external VNF connectivity
    ...    Test objective: The objective is to test that POST method triggers a change in VNF external connectivity
    ...    Pre-conditions: none
    ...    Reference: Clause 5.4.11.3.1 - ETSI GS NFV-SOL 002 [2] v4.4.1
    ...    Reference: Clause 5.4.11.3.1 - ETSI GS NFV-SOL 002 [2] v4.5.1
    ...    Config ID: Config_prod_VE
    ...    Applicability: none
    ...    Post-Conditions: in response header Location shall not be null         
@@ -26,7 +26,7 @@ GET Change external VNF connectivity - Method not implemented
    ...    Test title: GET Change external VNF connectivity - Method not implemented
    ...    Test objective: The objective is to test that GET method is not implemented
    ...    Pre-conditions: none
    ...    Reference: Clause 5.4.11.3.2 - ETSI GS NFV-SOL 002 [2] v4.4.1
    ...    Reference: Clause 5.4.11.3.2 - ETSI GS NFV-SOL 002 [2] v4.5.1
    ...    Config ID: Config_prod_VE
    ...    Applicability: none
    ...    Post-Conditions: none 
@@ -38,7 +38,7 @@ PUT Change external VNF connectivity - Method not implemented
    ...    Test title: PUT Change external VNF connectivity - Method not implemented
    ...    Test objective: The objective is to test that PUT method is not implemented
    ...    Pre-conditions: none
    ...    Reference: Clause 5.4.11.3.3 - ETSI GS NFV-SOL 002 [2] v4.4.1
    ...    Reference: Clause 5.4.11.3.3 - ETSI GS NFV-SOL 002 [2] v4.5.1
    ...    Config ID: Config_prod_VE
    ...    Applicability: none
    ...    Post-Conditions: none 
@@ -50,7 +50,7 @@ PATCH Change external VNF connectivity - Method not implemented
    ...    Test title: PATCH Change external VNF connectivity - Method not implemented
    ...    Test objective: The objective is to test that PATCH method is not implemented
    ...    Pre-conditions: none
    ...    Reference: Clause 5.4.11.3.4 - ETSI GS NFV-SOL 002 [2] v4.4.1
    ...    Reference: Clause 5.4.11.3.4 - ETSI GS NFV-SOL 002 [2] v4.5.1
    ...    Config ID: Config_prod_VE
    ...    Applicability: none
    ...    Post-Conditions: none 
@@ -62,7 +62,7 @@ DELETE Change external VNF connectivity - Method not implemented
    ...    Test title: DELETE Change external VNF connectivity - Method not implemented
    ...    Test objective: The objective is to test that DELETE method is not implemented
    ...    Pre-conditions: none
    ...    Reference: Clause 5.4.11.3.5 - ETSI GS NFV-SOL 002 [2] v4.4.1
    ...    Reference: Clause 5.4.11.3.5 - ETSI GS NFV-SOL 002 [2] v4.5.1
    ...    Config ID: Config_prod_VE
    ...    Applicability: none
    ...    Post-Conditions: none 
@@ -74,17 +74,42 @@ POST Change external VNF connectivity Conflict
    ...    Test title: POST Change external VNF connectivity Conflict
    ...    Test objective: The objective is to test that the operation cannot be executed currently, due to a conflict with the state of the VNF instance resource or that a required child attribute of the "extensions" attribue has not been set. 
    ...    Pre-conditions: none
    ...    Reference: Clause 5.4.11.3.1 - ETSI GS NFV-SOL 002 [2] v4.4.1
    ...    Reference: Clause 5.4.11.3.1 - ETSI GS NFV-SOL 002 [2] v4.5.1
    ...    Config ID: Config_prod_VE
    ...    Applicability: none
    ...    Post-Conditions: none
    POST Change External VNF Connectivity
    Check HTTP Response Status Code Is    409
    Check HTTP Response Body Json Schema Is    ProblemDetails 
POST Change external VNF connectivity with permitted authorization scope
    [Documentation]    Test ID: 6.3.5.10.7
    ...    Test title: POST Change external VNF connectivity with permitted authorization value
    ...    Test objective: The objective is to test that POST method triggers a change in VNF external connectivity with the permitted authorization value
    ...    Pre-conditions: none
    ...    Reference: Clause 5.4.11.3.1 - ETSI GS NFV-SOL 002 [2] v4.5.1
    ...    Config ID: Config_prod_VE
    ...    Applicability: none
    ...    Post-Conditions: in response header Location shall not be null         
    POST Change External VNF Connectivity with permitted authorization scope
    Check HTTP Response Status Code Is    202
    Check Operation Occurrence Id
POST Change external VNF connectivity with not permitted authorization scope
    [Documentation]    Test ID: 6.3.5.10.8
    ...    Test title: POST Change external VNF connectivity with not permitted authorization value
    ...    Test objective: The objective is to test that POST method triggers a change in VNF external connectivity with not permitted authorization value
    ...    Pre-conditions: none
    ...    Reference: Clause 5.4.11.3.1 - ETSI GS NFV-SOL 002 [2] v4.5.1
    ...    Config ID: Config_prod_VE
    ...    Applicability: none
    ...    Post-Conditions: in response header Location shall not be null         
    POST Change External VNF Connectivity with not permitted authorization scope
    Check HTTP Response Status Code Is    403
    Check HTTP Response Body Json Schema Is    ProblemDetails

*** Keywords ***
Check resource existence
    Set Headers    {"Accept":"${ACCEPT}"}
    Set Headers    {"Version": "${API_VERSION}"}  
    Set Headers    {"Content-Type": "${CONTENT_TYPE}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
    Get    ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId} 
Loading