diff --git a/SOL003/VNFFaultManagement-API/IndividualAlarm.robot b/SOL003/VNFFaultManagement-API/IndividualAlarm.robot
index ab19d7e44d148f1a9e7ba13df5d97833ecab7b86..0fef1927371fdae72f8f03c7652a274551462d55 100644
--- a/SOL003/VNFFaultManagement-API/IndividualAlarm.robot
+++ b/SOL003/VNFFaultManagement-API/IndividualAlarm.robot
@@ -8,9 +8,6 @@ Library    JSONLibrary
 Library    JSONSchemaLibrary    schemas/
 Library    DependencyLibrary
 
-*** Variables ***
-${Etag}=    an etag
-${Etag_modified}=    a modified etag
 
 *** Test Cases ***
 POST Alarm - Method not implemented
diff --git a/SOL003/VNFFaultManagement-API/Subscriptions.robot b/SOL003/VNFFaultManagement-API/Subscriptions.robot
index 915d42f842ef3eae691110a39095a0ba7aec8a9f..f6affa00eb1acb5f2054beb8a7d17404fc8aae42 100644
--- a/SOL003/VNFFaultManagement-API/Subscriptions.robot
+++ b/SOL003/VNFFaultManagement-API/Subscriptions.robot
@@ -43,7 +43,7 @@ Create a new Subscription - DUPLICATION
     ...    Applicability: the VNFM allows creating a subscription resource if another subscription resource with the same filter and callbackUri already exists
     ...    Post-Conditions: 
     Log    Trying to create a subscription with an already created content
-    Pass Execution If    ${NVFM_DUPLICATION} == 0    NVFO is not permitting duplication. Skipping the test
+    Pass Execution If    ${VNFM_DUPLICATION} == 0    VNFM is not permitting duplication. Skipping the test
     Set Headers    {"Accept": "${ACCEPT}"}
     Set Headers    {"Content-Type": "${CONTENT_TYPE}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
@@ -68,7 +68,7 @@ Create a new Subscription - NO-DUPLICATION
     ...    Applicability: the VNFM decides to not create a duplicate subscription resource 
     ...    Post-Conditions: 
     Log    Trying to create a subscription with an already created content
-    Pass Execution If    ${NVFM_DUPLICATION} == 1    VNFM permits duplication. Skipping the test
+    Pass Execution If    ${VNFM_DUPLICATION} == 1    VNFM permits duplication. Skipping the test
     Set Headers    {"Accept": "${ACCEPT}"}
     Set Headers    {"Content-Type": "${CONTENT_TYPE}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
diff --git a/SOL003/VNFFaultManagement-API/environment/variables.txt b/SOL003/VNFFaultManagement-API/environment/variables.txt
index c995c9cb1e4bdf0cc9d28a054db9a65c8c627a1e..0bfc5591239a6c252f16d04f3883240ec2440df6 100644
--- a/SOL003/VNFFaultManagement-API/environment/variables.txt
+++ b/SOL003/VNFFaultManagement-API/environment/variables.txt
@@ -1,40 +1,30 @@
 *** Variables ***
 ${VNFM_HOST}      localhost    # Hostname of the VNFM
 ${VNFM_PORT}      8080    # Listening port of the VNFM
-${NFVO_HOST}      localhost    # Hostname of the NFVO
-${NFVO_PORT}      8081    # Listening port of the NFVO
 ${VNFM_SCHEMA}    https
-${NFVO_SCHEMA}    https
 ${AUTHORIZATION}    Bearer    QWxhZGRpbjpvcGVuIHNlc2FtZQ==
 ${CONTENT_TYPE}    application/json
-${CONTENT_TYPE_PATCH}    application/merge-patch+json 
 ${ACCEPT}         application/json
-${apiRoot}        /
-${apiName}        vnffm
-${apiVersion}     v1    
 ${AUTH_USAGE}     1
-${WRONG_AUTHORIZATION}    Bearer    XXXXXWRONGXXXXX
+
 ${alarm_filter}       managedObjectId
 ${managedObjectId}    007c111c-38a1-42c0-a666-7475ecb1567c
-${invalid_alarm_filter}    badFilter 
+${invalid_alarm_filter}    badFilter
+
 ${alarmId}    6fc3539c-e602-4afa-8e13-962fb5a7d81d
-${vnfInstanceDescription}    description vnf
-${vnfInstanceDescription_Update}    Updated description vnf 
-${SINGLE_FILE_VNFD}    1    # If VNFD is PLAIN TEXT
-${ACCEPT_PLAIN}    text/plain
-${ACCEPT_ZIP}     application/zip
-${vnfPkgId_processing}    007c111c-38a1-42c0-a666-7475ecb1567c
-${ARTIFACT_TYPE}    application/octet-stream
-${ARTIFACT_ID}    artifactId
-${WRONG_ACCEPT}    application/json
-${vnfLcmOpOccId}    6fc3539c-e602-4afa-8e13-962fb5a7d81d
-${CancelMode}    GRACEFUL
-${LccnSubscriptionRequest}    {}
-${NVFM_DUPLICATION}    0
+${CONTENT_TYPE_PATCH}    application/merge-patch+json
+
+${Etag}=    an etag
+${Etag_modified}=    a modified etag
+
+${VNFM_DUPLICATION} 1
 ${sub_filter}    filter
 ${sub_filter_invalid}    filter_invalid
-${subscriptionId}    6fc3539c-e602-4afa-8e13-962fb5a7d81f
-${notification_ep}    notification
+
+${apiRoot}        /
+${apiName}        vnffm
+${apiVersion}     v1
+
 ${AlarmNotification}    {}
 ${AlarmClearedNotification}    {}
-${AlarmListRebuiltNotification}    {}
\ No newline at end of file
+${AlarmListRebuiltNotification}    {}
diff --git a/SOL003/VNFFaultManagementNotification-API/NotificationEndpoint.robot b/SOL003/VNFFaultManagementNotification-API/NotificationEndpoint.robot
index 732208c93de96db5131c4e721de5588b7dcc36e1..2b014fd449466d4c8f417ab5ed9cd873c471dd86 100644
--- a/SOL003/VNFFaultManagementNotification-API/NotificationEndpoint.robot
+++ b/SOL003/VNFFaultManagementNotification-API/NotificationEndpoint.robot
@@ -5,7 +5,6 @@ Suite Teardown    Terminate All Processes    kill=true
 Library    MockServerLibrary
 Library    Process
 Library    OperatingSystem
-Library    REST    ${NFVO_SCHEMA}://${NFVO_HOST}:${notification_port}
 
 
 *** Test Cases ***
@@ -22,13 +21,13 @@ Deliver a notification - Alarm
     ${json}=	Get File	schemas/alarmNotification.schema.json
     ${BODY}=	evaluate	json.loads('''${json}''')	json
     Log  Creating mock request and response to handle alarmNotification
-    &{req}=  Create Mock Request Matcher	POST  ${notification_ep}  body_type="JSON_SCHEMA"    body=${BODY}
+    &{req}=  Create Mock Request Matcher	POST  ${callback_endpoint}  body_type="JSON_SCHEMA"    body=${BODY}
     &{rsp}=  Create Mock Response	headers="Content-Type: application/json"  status_code=204
     Create Mock Expectation  ${req}  ${rsp}
     Log  Verifying results
     Wait Until Keyword Succeeds    ${sleep_interval}    Verify Mock Expectation    ${req}
     Log  Cleaning the endpoint
-    Clear Requests  ${notification_ep}
+    Clear Requests  ${callback_endpoint}
 
 Deliver a notification - Alarm Clearance
     [Documentation]    Test ID: 7.4.5.2
@@ -43,13 +42,13 @@ Deliver a notification - Alarm Clearance
     ${json}=	Get File	schemas/alarmClearedNotification.schema.json
     ${BODY}=	evaluate	json.loads('''${json}''')	json
     Log  Creating mock request and response to handle alarmNotification
-    &{req}=  Create Mock Request Matcher	POST  ${notification_ep}  body_type="JSON_SCHEMA"    body=${BODY}
+    &{req}=  Create Mock Request Matcher	POST  ${callback_endpoint}  body_type="JSON_SCHEMA"    body=${BODY}
     &{rsp}=  Create Mock Response	headers="Content-Type: application/json"  status_code=204
     Create Mock Expectation  ${req}  ${rsp}
     Log  Verifying results
     Wait Until Keyword Succeeds    ${sleep_interval}    Verify Mock Expectation    ${req}
     Log  Cleaning the endpoint
-    Clear Requests  ${notification_ep}
+    Clear Requests  ${callback_endpoint}
 
 Deliver a notification - Alarm List Rebuilt
     [Documentation]    Test ID: 7.4.5.3
@@ -64,13 +63,13 @@ Deliver a notification - Alarm List Rebuilt
     ${json}=	Get File	schemas/alarmListRebuiltNotification.schema.json
     ${BODY}=	evaluate	json.loads('''${json}''')	json
     Log  Creating mock request and response to handle alarmNotification
-    &{req}=  Create Mock Request Matcher  POST  ${notification_ep}  body_type="JSON_SCHEMA"    body=${BODY}
+    &{req}=  Create Mock Request Matcher  POST  ${callback_endpoint}  body_type="JSON_SCHEMA"    body=${BODY}
     &{rsp}=  Create Mock Response	headers="Content-Type: application/json"  status_code=204
     Create Mock Expectation  ${req}  ${rsp}
     Log  Verifying results
     Wait Until Keyword Succeeds    ${sleep_interval}    Verify Mock Expectation    ${req}
     Log  Cleaning the endpoint
-    Clear Requests  ${notification_ep}
+    Clear Requests  ${callback_endpoint}
 
 Test a notification end point
     [Documentation]    Test ID: 7.4.5.4
@@ -82,36 +81,34 @@ Test a notification end point
     ...    Applicability: 
     ...    Post-Conditions:  
     log    The GET method allows the server to test the notification endpoint
-    Set Headers  {"Accept":"${ACCEPT}"}  
-    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
-    Get    ${notification_ep}
+    Get    ${callback_endpoint}
     Log    Validate Status code
     Integer    response status    204
     Log    Validation OK
 
 PUT notification - Method not implemented
     log    Trying to perform a PUT. This method should not be implemented
-    Put    ${notification_ep}    
+    Put    ${callback_endpoint}
     Log    Validate Status code
     Output    response
     Integer    response status    405
 
 PATCH subscriptions - Method not implemented
     log    Trying to perform a PATCH. This method should not be implemented
-    Patch    ${notification_ep}    
+    Patch    ${callback_endpoint}
     Log    Validate Status code
     Output    response
     Integer    response status    405
 
 DELETE subscriptions - Method not implemented
     log    Trying to perform a DELETE. This method should not be implemented
-    Delete    ${notification_ep}
+    Delete    ${callback_endpoint}
     Log    Validate Status code
     Output    response
     Integer    response status    405
     
 *** Keywords ***
 Create Sessions
-    Start Process  java  -jar  ../../bin/mockserver-netty-5.3.0-jar-with-dependencies.jar  -serverPort  ${notification_port}  alias=mockInstance
+    Start Process  java  -jar  ../../bin/mockserver-netty-5.3.0-jar-with-dependencies.jar  -serverPort  ${callback_port}  alias=mockInstance
     Wait For Process  handle=mockInstance  timeout=5s  on_timeout=continue
-    Create Mock Session  ${NFVO_SCHEMA}://${NFVO_HOST}:${notification_port}     #The API producer is set to NFVO according to SOL003-7.3.4
\ No newline at end of file
+    Create Mock Session  ${callback_uri}:${callback_port}     #The API producer is set to NFVO according to SOL003-7.3.4
\ No newline at end of file
diff --git a/SOL003/VNFFaultManagementNotification-API/environment/variables.txt b/SOL003/VNFFaultManagementNotification-API/environment/variables.txt
index 9a53f6494e8bfc6adccc83cdb1362f9fece26883..54ed142b69a5cb4967270c9e4a9062784573a48b 100644
--- a/SOL003/VNFFaultManagementNotification-API/environment/variables.txt
+++ b/SOL003/VNFFaultManagementNotification-API/environment/variables.txt
@@ -1,39 +1,5 @@
 *** Variables ***
-${VNFM_HOST}      localhost    # Hostname of the VNFM
-${VNFM_PORT}      8080    # Listening port of the VNFM
-${NFVO_HOST}      localhost    # Hostname of the NFVO
-${NFVO_PORT}      8081    # Listening port of the NFVO
-${VNFM_SCHEMA}    https
-${NFVO_SCHEMA}    https
-${AUTHORIZATION}    Bearer    QWxhZGRpbjpvcGVuIHNlc2FtZQ==
-${CONTENT_TYPE}    application/json
-${CONTENT_TYPE_PATCH}    application/merge-patch+json 
-${ACCEPT}         application/json
-${apiRoot}        /
-${apiName}        vnflcm
-${apiVersion}     v1    
-${AUTH_USAGE}     1
-${WRONG_AUTHORIZATION}    Bearer    XXXXXWRONGXXXXX
-${vnfInstanceId}       6fc3539c-e602-4afa-8e13-962fb5a7d81f
-${vnfInstanceName}    Test-VnfInstance
-${vnfInstanceDescription}    description vnf
-${vnfInstanceDescription_Update}    Updated description vnf 
-${SINGLE_FILE_VNFD}    1    # If VNFD is PLAIN TEXT
-${ACCEPT_PLAIN}    text/plain
-${ACCEPT_ZIP}     application/zip
-${vnfPkgId_processing}    007c111c-38a1-42c0-a666-7475ecb1567c
-${ARTIFACT_TYPE}    application/octet-stream
-${ARTIFACT_ID}    artifactId
-${WRONG_ACCEPT}    application/json
-${vnfLcmOpOccId}    6fc3539c-e602-4afa-8e13-962fb5a7d81d
-${CancelMode}    GRACEFUL
-${NVFM_DUPLICATION}    0
-${sub_filter}    filter
-${sub_filter_invalid}    filter_invalid
-${subscriptionId}    6fc3539c-e602-4afa-8e13-962fb5a7d81f
-${notification_ep}    /notification
-${notification_port}    9091
-${VnfLcmOperationOccurrenceNotification}    {}
-${VnfIdentifierCreationNotification}    {}
-${VnfIdentifierDeletionNotification}    {}
+${callback_endpoint}    /notification
+${callback_uri}    http://localhost
+${callback_port}    9091
 ${sleep_interval}    20s
\ No newline at end of file
diff --git a/SOL003/VNFIndicator-API/IndividualSubscription.robot b/SOL003/VNFIndicator-API/IndividualSubscription.robot
index fbdcd20fa89c8eb36b6f2f31f1b3c33a676bae4e..2254b161f73a46aa60388638b9e01020682ed902 100644
--- a/SOL003/VNFIndicator-API/IndividualSubscription.robot
+++ b/SOL003/VNFIndicator-API/IndividualSubscription.robot
@@ -1,6 +1,6 @@
 *** Settings ***
 Library           JSONSchemaLibrary    schemas/
-Resource          environment/generic.txt    # Generic Parameters
+Resource          environment/variables.txt    # Generic Parameters
 Resource          environment/individualSubscription.txt
 Library           OperatingSystem
 Library           REST    ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT}
@@ -9,7 +9,7 @@ Library           REST    ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT}
 GET Individual Subscription
     Log    Trying to get a given subscription identified by subscriptionId
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId}
     Integer    response status    200
     Log    Received a 200 OK as expected
@@ -24,7 +24,7 @@ GET Individual Subscription
 GET Subscription - Negative (Not Found)
     Log    Trying to perform a request on a subscriptionID which doesn't exist
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${erroneousSubscriptionId}
     Integer    response status    404
     Log    Received 404 Not Found as expected
@@ -38,7 +38,7 @@ GET Subscription - Negative (Not Found)
 
 GET Subscription - Negative (Unauthorized: Wrong Token)
     Log    Trying to perform a negative get, using wrong authorization bearer
-    Pass Execution If    ${VNFM_AUTH_USAGE} == 0    Skipping test as VNFM is not supporting authentication
+    Pass Execution If    ${AUTH_USAGE} == 0    Skipping test as VNFM is not supporting authentication
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId}
     Integer    response status    401
@@ -54,7 +54,7 @@ GET Subscription - Negative (Unauthorized: Wrong Token)
 DELETE Subscription
     Log    Trying to perform a DELETE on a subscriptionId
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     DELETE    ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId}
     Integer    response status    204
     Log    Received 204 No Content as expected
@@ -62,7 +62,7 @@ DELETE Subscription
 DELETE Subscription - Negative (Not Found)
     Log    Trying to perform a DELETE on a subscriptionId which doesn't exist
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     DELETE    ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${erroneousSubscriptionId}
     Integer    response status    404
     Log    The subscriptionId is not present in database
@@ -77,7 +77,7 @@ DELETE Subscription - Negative (Not Found)
 PUT Subscription - (Method not implemented)
     Log    Trying to perform a PUT. This method should not be implemented
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     PUT    ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId}
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
@@ -85,7 +85,7 @@ PUT Subscription - (Method not implemented)
 PATCH Subscription - (Method not implemented)
     Log    Trying to perform a PATCH. This method should not be implemented
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     PATCH    ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId}
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
@@ -93,7 +93,7 @@ PATCH Subscription - (Method not implemented)
 POST Subscription - (Method not implemented)
     Log    Trying to perform a POST. This method should not be implemented
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     POST    ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId}
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
diff --git a/SOL003/VNFIndicator-API/IndividualVNFindicator.robot b/SOL003/VNFIndicator-API/IndividualVNFindicator.robot
index 5e02cfb5155f1e7bb44892324b518331848e8a56..fb7b1a193216a813ab0ac514e84583ef7ffc96cc 100644
--- a/SOL003/VNFIndicator-API/IndividualVNFindicator.robot
+++ b/SOL003/VNFIndicator-API/IndividualVNFindicator.robot
@@ -1,6 +1,6 @@
 *** Settings ***
 Library           JSONSchemaLibrary    schemas/
-Resource          environment/generic.txt    # Generic Parameters
+Resource          environment/variables.txt    # Generic Parameters
 Resource          environment/individualVnfIndicator.txt
 Library           REST    ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT}
 
@@ -8,7 +8,7 @@ Library           REST    ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT}
 GET Individual VNF Indicator
     Log    The GET method reads a VNF indicator.
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/indicators/${vnfInstanceId}/${indicatorId}
     Integer    response status    200
     ${contentType}=    Output     response headers Content-Type
@@ -22,7 +22,7 @@ GET Individual VNF Indicator
 GET Individual VNF Indicator - Negative (Not Found)
     Log    Trying to perform a negative get, using an erroneous package ID
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization" : "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/indicators/${vnfInstanceId}/${erroneousIndicatorId}
     Integer    response status    404
     Log    Received 404 Not Found as expected
@@ -36,7 +36,7 @@ GET Individual VNF Indicator - Negative (Not Found)
 
 GET Individual VNF Indicator - Negative (Unauthorized: Wrong Token)
     Log    Trying to perform a negative get, using wrong authorization bearer
-    Pass Execution If    ${VNFM_AUTH_USAGE} == 0    Skipping test as VNFM is not supporting authentication
+    Pass Execution If    ${AUTH_USAGE} == 0    Skipping test as VNFM is not supporting authentication
     Set Headers    {"Accept" : "${ACCEPT_JSON}"}
     Set Headers    {"Authorization": "${NEG_AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/indicators/${vnfInstanceId}/${indicatorId}
@@ -52,7 +52,7 @@ GET Individual VNF Indicator - Negative (Unauthorized: Wrong Token)
 
 GET Individual VNF Indicator - Negative (Unauthorized: No Token)
     Log    Trying to perform a negative get, without authentication token.
-    Pass Execution If    ${VNFM_AUTH_USAGE} == 0    Skipping test as VNFM is not supporting authentication
+    Pass Execution If    ${AUTH_USAGE} == 0    Skipping test as VNFM is not supporting authentication
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/indicators/${vnfInstanceId}/${indicatorId}
     Integer    response status    401
@@ -68,7 +68,7 @@ GET Individual VNF Indicator - Negative (Unauthorized: No Token)
 POST Individual VNF Indicator (Method not implemented)
     Log    Trying to perform a POST (method should not be implemented)
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     POST    ${apiRoot}/${apiName}/${apiVersion}/indicators/${vnfInstanceId}/${indicatorId}
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
@@ -76,7 +76,7 @@ POST Individual VNF Indicator (Method not implemented)
 PUT Individual VNF Indicator (Method not implemented)
     Log    Trying to perform a PUT. This method should not be implemented
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     PUT    ${apiRoot}/${apiName}/${apiVersion}/indicators/${vnfInstanceId}/${indicatorId}
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
@@ -84,7 +84,7 @@ PUT Individual VNF Indicator (Method not implemented)
 PATCH Individual VNF Indicator (Method not implemented)
     Log    Trying to perform a PATCH. This method should not be implemented
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     PATCH    ${apiRoot}/${apiName}/${apiVersion}/indicators/${vnfInstanceId}/${indicatorId}
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
@@ -92,7 +92,7 @@ PATCH Individual VNF Indicator (Method not implemented)
 DELETE Individual VNF Indicator (Method not implemented)
     Log    Trying to perform a DELETE. This method should not be implemented
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     DELETE    ${apiRoot}/${apiName}/${apiVersion}/indicators/${vnfInstanceId}/${indicatorId}
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
diff --git a/SOL003/VNFIndicator-API/Subscriptions.robot b/SOL003/VNFIndicator-API/Subscriptions.robot
index 0e1cee8077f86b0728b5e90e7c46a07aa8e6435f..bcd5b585fc953981ce7f3d6209ec1a1ef9f7c161 100644
--- a/SOL003/VNFIndicator-API/Subscriptions.robot
+++ b/SOL003/VNFIndicator-API/Subscriptions.robot
@@ -1,6 +1,6 @@
 *** Settings ***
 Library           JSONSchemaLibrary    schemas/
-Resource          environment/generic.txt    # Generic Parameters
+Resource          environment/variables.txt    # Generic Parameters
 Resource          environment/subscriptions.txt
 Library           OperatingSystem
 Library           JSONLibrary
@@ -10,7 +10,7 @@ Library           REST    ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT}
 GET Subscription
     Log    Trying to get the list of subscriptions
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/subscriptions
     Integer    response status    200
     Log    Received a 200 OK as expected
@@ -24,7 +24,7 @@ GET Subscription
 GET Subscription - Filter
     Log    Trying to get the list of subscriptions using filters
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/subscriptions?${POS_FILTER}
     Integer    response status    200
     ${contentType}=    Output    response headers Content-Type
@@ -38,7 +38,7 @@ GET Subscription - Filter
 GET Subscription - Negative Filter
     Log    Trying to get the list of subscriptions using filters with wrong attribute name
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/subscriptions?${NEG_FILTER}
     Integer    response status    400
     Log    Received a 400 Bad Request as expected
@@ -53,7 +53,7 @@ GET Subscription - Negative Filter
 GET Subscription - Negative (Not Found)
     Log    Trying to perform a request on a Uri which doesn't exist
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/subscription
     Integer    response status    404
     Log    Received 404 Not Found as expected
@@ -67,7 +67,7 @@ GET Subscription - Negative (Not Found)
 
 GET Subscription - Negative (Unauthorized: Wrong Token)
     Log    Trying to perform a negative get, using wrong authorization bearer
-    Pass Execution If    ${VNFM_AUTH_USAGE} == 0    Skipping test as VNFM is not supporting authentication
+    Pass Execution If    ${AUTH_USAGE} == 0    Skipping test as VNFM is not supporting authentication
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/subscriptions
     Integer    response status    401
@@ -85,7 +85,7 @@ POST Subscription
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
     Set Headers    {"Content-Type": "${CONTENT_TYPE_JSON}"}
     ${body}=    Get File    json/subscriptions.json
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
     POST    ${apiRoot}/${apiName}/${apiVersion}/subscriptions    ${body}
     Integer    response status    201
     Log    Received 201 Created as expected
@@ -103,7 +103,7 @@ POST Subscription - DUPLICATION
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
     Set Headers    {"Content-Type": "${CONTENT_TYPE_JSON}"}
     ${body}=    Get File    json/subscriptions.json
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
     POST    ${apiRoot}/${apiName}/${apiVersion}/subscriptions    ${body}
     Integer    response status    201
     Log    Received 201 Created as expected
@@ -121,7 +121,7 @@ POST Subscription - NO DUPLICATION
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
     Set Headers    {"Content-Type": "${CONTENT_TYPE_JSON}"}
     ${body}=    Get File    json/subscriptions.json
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
     POST    ${apiRoot}/${apiName}/${apiVersion}/subscriptions    ${body}
     Integer    response status    303
     Log    Received 303 See Other as expected
@@ -132,7 +132,7 @@ POST Subscription - NO DUPLICATION
 PUT Subscription - (Method not implemented)
     Log    Trying to perform a PUT. This method should not be implemented
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
     PUT    ${apiRoot}/${apiName}/${apiVersion}/subscriptions
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
@@ -140,7 +140,7 @@ PUT Subscription - (Method not implemented)
 PATCH Subscription - (Method not implemented)
     Log    Trying to perform a PATCH. This method should not be implemented
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
     PATCH    ${apiRoot}/${apiName}/${apiVersion}/subscriptions
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
@@ -148,7 +148,7 @@ PATCH Subscription - (Method not implemented)
 DELETE Subscription - (Method not implemented)
     Log    Trying to perform a DELETE. This method should not be implemented
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
     DELETE    ${apiRoot}/${apiName}/${apiVersion}/subscriptions
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
diff --git a/SOL003/VNFIndicator-API/VNFIndicators.robot b/SOL003/VNFIndicator-API/VNFIndicators.robot
index 948369344e4d7724c612e166d85b0dd87d492b38..213a2912ee3da50b1cd3b272fa27a003acd92074 100644
--- a/SOL003/VNFIndicator-API/VNFIndicators.robot
+++ b/SOL003/VNFIndicator-API/VNFIndicators.robot
@@ -1,6 +1,6 @@
 *** Settings ***
 Library           JSONSchemaLibrary    schemas/
-Resource          environment/generic.txt    # Generic Parameters
+Resource          environment/variables.txt    # Generic Parameters
 Library           JSONLibrary
 Resource          environment/vnfIndicators.txt
 Library           REST    ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT}
@@ -9,7 +9,7 @@ Library           REST    ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT}
 GET all Indicators
     Log    The GET method queries multiple VNF indicators
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/indicators
     Integer    response status    200
     ${contentType}=    Output    response headers Content-Type
@@ -23,7 +23,7 @@ GET all Indicators
 GET all Indicators - Filter
     Log    The GET method queries multiple VNF indicators using Attribute-based filtering parameters
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/indicators?${POS_FIELDS}
     Integer    response status    200
     ${contentType}=    Output    response headers Content-Type
@@ -37,7 +37,7 @@ GET all Indicators - Filter
 GET all Indicators - Negative (wronge filter name)
     Log    The GET method queries multiple VNF indicators using Attribute-based filtering parameters. Negative case, with erroneous attribute name
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/indicators?${NEG_FIELDS}
     Integer    response status    400
     Log    Received 400 Bad Request as expected
@@ -51,7 +51,7 @@ GET all Indicators - Negative (wronge filter name)
 
 GET all Indicators - Negative (Unauthorized: Wrong Token)
     Log    Trying to perform a negative get, using wrong authorization bearer
-    Pass Execution If    ${VNFM_AUTH_USAGE} == 0    Skipping test as VNFM \ is not supporting authentication
+    Pass Execution If    ${AUTH_USAGE} == 0    Skipping test as VNFM \ is not supporting authentication
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
     Set Headers    {"Authorization": "${NEG_AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/indicators
@@ -67,7 +67,7 @@ GET all Indicators - Negative (Unauthorized: Wrong Token)
 
 GET all Indicators - Negative (Unauthorized: No Token)
     Log    Trying to perform a negative get, using wrong authorization bearer
-    Pass Execution If    ${VNFM_AUTH_USAGE} == 0    Skipping test as VNFM is not supporting authentication
+    Pass Execution If    ${AUTH_USAGE} == 0    Skipping test as VNFM is not supporting authentication
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
     Set Headers    {"Authorization": "${NEG_AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/indicators
@@ -84,7 +84,7 @@ GET all Indicators - Negative (Unauthorized: No Token)
 GET all Indicators (Negative: Not found)
     Log    Trying to perform a GET on a erroneous URI
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/indicator
     Integer    response status    404
     Log    Received 404 Not Found as expected
@@ -99,7 +99,7 @@ GET all Indicators (Negative: Not found)
 POST all Indicators (Method not implemented)
     Log    Trying to perform a POST (method should not be implemented)
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     POST    ${apiRoot}/${apiName}/${apiVersion}/indicators
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
@@ -107,7 +107,7 @@ POST all Indicators (Method not implemented)
 PUT all Indicators (Method not implemented)
     Log    Trying to perform a PUT. This method should not be implemented
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     PUT    ${apiRoot}/${apiName}/${apiVersion}/indicators
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
@@ -115,7 +115,7 @@ PUT all Indicators (Method not implemented)
 PATCH all Indicators (Method not implemented)
     Log    Trying to perform a PATCH. This method should not be implemented
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     PATCH    ${apiRoot}/${apiName}/${apiVersion}/indicators
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
@@ -123,7 +123,7 @@ PATCH all Indicators (Method not implemented)
 DELETE all Indicators (Method not implemented)
     Log    Trying to perform a DELETE. This method should not be implemented
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     DELETE    ${apiRoot}/${apiName}/${apiVersion}/indicators
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
diff --git a/SOL003/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot b/SOL003/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot
index ffd977d73bea3882336c84a2df6ae933f6eeacb9..3723a44ecbd64a258dec8abbb2945afe786d113d 100644
--- a/SOL003/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot
+++ b/SOL003/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot
@@ -1,6 +1,6 @@
 *** Settings ***
 Library           JSONSchemaLibrary    schemas/
-Resource          environment/generic.txt    # Generic Parameters
+Resource          environment/variables.txt    # Generic Parameters
 Resource          environment/vnfIndicatorinVnfInstance.txt
 Library           JSONLibrary
 Library           REST    ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT}
@@ -9,7 +9,7 @@ Library           REST    ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT}
 GET Indicators on VNF Instance
     Log    This resource represents VNF indicators related to a VNF instance.
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/indicators/${vnfInstanceId}
     Integer    response status    200
     ${contentType}=    Output    response headers Content-Type
@@ -23,7 +23,7 @@ GET Indicators on VNF Instance
 GET Indicators on VNF Instance - Filter
     Log    This resource represents VNF indicators related to a VNF instance.
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/indicators/${vnfInstanceId}?${POS_FIELDS}
     Integer    response status    200
     ${contentType}=    Output    response headers Content-Type
@@ -37,7 +37,7 @@ GET Indicators on VNF Instance - Filter
 GET Indicators on VNF Instance - Negative Filter
     Log    This resource represents VNF indicators related to a VNF instance.
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/indicators/${vnfInstanceId}?${NEG_FIELDS}
     Integer    response status    400
     ${contentType}=    Output    response headers Content-Type
@@ -51,7 +51,7 @@ GET Indicators on VNF Instance - Negative Filter
 GET Indicators on VNF Instance - Negative (Not Found)
     Log    Trying to perform a negative get, using wrong authorization bearer
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/indicators/${erroneousVnfInstanceId}
     Integer    response status    404
     Log    Received 404 Not Found as expected
@@ -66,7 +66,7 @@ GET Indicators on VNF Instance - Negative (Not Found)
 POST Indicators on VNF Instance - (Method not implemented)
     Log    Trying to perform a POST (method should not be implemented)
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     POST    ${apiRoot}/${apiName}/${apiVersion}/indicators/${vnfInstanceId}
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
@@ -74,7 +74,7 @@ POST Indicators on VNF Instance - (Method not implemented)
 PUT Indicators on VNF Instance - (Method not implemented)
     Log    Trying to perform a PUT. This method should not be implemented
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     PUT    ${apiRoot}/${apiName}/${apiVersion}/indicators/${vnfInstanceId}
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
@@ -82,7 +82,7 @@ PUT Indicators on VNF Instance - (Method not implemented)
 PATCH Indicators on VNF Instance - (Method not implemented)
     Log    Trying to perform a PATCH. This method should not be implemented
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     PATCH    ${apiRoot}/${apiName}/${apiVersion}/indicators/${vnfInstanceId}
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
@@ -90,6 +90,6 @@ PATCH Indicators on VNF Instance - (Method not implemented)
 DELETE Indicators on VNF Instance - (Method not implemented)
     Log    Trying to perform a DELETE. This method should not be implemented
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     DELETE    ${apiRoot}/${apiName}/${apiVersion}/indicators/${vnfInstanceId}
     Log    Received 405 Method not implemented as expected
diff --git a/SOL003/VNFIndicator-API/environment/individualSubscription.txt b/SOL003/VNFIndicator-API/environment/individualSubscription.txt
index 23ed0f47d08c9d255fe751a1ea46b909d80e0e49..e410002a648d70cfc40c695f6e8414982c22117c 100644
--- a/SOL003/VNFIndicator-API/environment/individualSubscription.txt
+++ b/SOL003/VNFIndicator-API/environment/individualSubscription.txt
@@ -1,3 +1,3 @@
 *** Variables ***
 ${subscriptionId}    f3ae6df7-07e1-47c9-8924-9ebe10343586
-${erroneousSubscriptionId}    442e3ee5-0499-4849-9b31-eb91ce1638f1    # Not existing ID on the subscriptions
+${erroneousSubscriptionId}    erroneousSubscriptionId   # Not existing ID on the subscriptions
diff --git a/SOL003/VNFIndicator-API/environment/subscriptions.txt b/SOL003/VNFIndicator-API/environment/subscriptions.txt
index 3eb525f410cccb83a48b2dda2f92734543d43618..a2416ebf92f1e3cddbf48ed6df978b5eaa27d3cf 100644
--- a/SOL003/VNFIndicator-API/environment/subscriptions.txt
+++ b/SOL003/VNFIndicator-API/environment/subscriptions.txt
@@ -1,7 +1,3 @@
 *** Variables ***
-${vnfInstanceId}    80b0deba-c398-445b-bef0-ac0fe733e3d0
-${indicatorId}    34e70855-a9d3-4fef-aece-76a3cd266ec8
-${erroneousIndicatorId}    erroneousIndicatorId
 ${POS_FILTER}     callbackUri=http://127.0.0.1/subscribe
 ${NEG_FILTER}     callback=http://127.0.0.1/subscribe
-${VNFM_DUPLICATION}    1
diff --git a/SOL003/VNFIndicator-API/environment/variables.txt b/SOL003/VNFIndicator-API/environment/variables.txt
index 59e710e4ba6acaaf55797fbcf4eb6f842db65c32..ebcb4c376f4e9a5d1f0a96293bc6add60964a3ed 100644
--- a/SOL003/VNFIndicator-API/environment/variables.txt
+++ b/SOL003/VNFIndicator-API/environment/variables.txt
@@ -1,18 +1,16 @@
 *** Variables ***
 ${VNFM_HOST}      localhost    # Hostname of the VNFM
 ${VNFM_PORT}      8080    # Listening port of the VNFM
-${NFVO_HOST}      localhost    # Hostname of the NFVO
-${NFVO_PORT}      8081    # Listening port of the NFVO
 ${VNFM_SCHEMA}    https
-${NFVO_SCHEMA}    https
+
 ${AUTHORIZATION}    Bearer 0b79bab50daca910b000d4f1a2b675d604257e42
-${CONTENT_TYPE_JSON}    application/json
+${NEG_AUTHORIZATION}    Bearer negativetoken
 ${ACCEPT_JSON}    application/json
-${apiRoot}        /
 ${AUTH_USAGE}     1
-${NEG_AUTHORIZATION}    Bearer negativetoken
+${CONTENT_TYPE_JSON}    application/json
+
+${apiRoot}        /
 ${apiVersion}     v1
 ${apiName}        vnfind
-${FIELD_USAGE}    1
-${VNFM_AUTHENTICATION}    Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
-${VNFM_AUTH_USAGE}    1
+
+${VNFM_DUPLICATION}     1
diff --git a/SOL003/VNFLifecycleManagement-API/CancelOperationTask.robot b/SOL003/VNFLifecycleManagement-API/CancelOperationTask.robot
index 6203d8f803741db09e9aac8720e869109bc459b5..59e6b91358b2029f2e48629c7642cd45a8b718ef 100644
--- a/SOL003/VNFLifecycleManagement-API/CancelOperationTask.robot
+++ b/SOL003/VNFLifecycleManagement-API/CancelOperationTask.robot
@@ -82,28 +82,28 @@ Post Cancel operation task Not Found
 GET Cancel operation task - Method not implemented
     log    Trying to perform a GET. This method should not be implemented
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
-    Get    ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfInstanceId}/cancel    
+    Get    ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/cancel
     Log    Validate Status code
     Integer    response status    405
 
 PUT Cancel operation task - Method not implemented
     log    Trying to perform a PUT. This method should not be implemented
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
-    Put    ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfInstanceId}/cancel    
+    Put    ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/cancel
     Log    Validate Status code
     Integer    response status    405
 
 PATCH Cancel operation task - Method not implemented
     log    Trying to perform a PATCH. This method should not be implemented
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
-    Patch    ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfInstanceId}/cancel    
+    Patch    ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/cancel
     Log    Validate Status code
     Integer    response status    405
     
 DELETE Cancel operation task - Method not implemented
     log    Trying to perform a DELETE. This method should not be implemented
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
-    Delete    ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfInstanceId}/cancel    
+    Delete    ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/cancel
     Log    Validate Status code
     Integer    response status    405
 
diff --git a/SOL003/VNFLifecycleManagement-API/ChangeExternalVNFConnectivityTask.robot b/SOL003/VNFLifecycleManagement-API/ChangeExternalVNFConnectivityTask.robot
index 60bee901162e3c8a61c87c26cc72c2e0024de9bc..4d7c72434e495935718139c9b91b78e8030a8dae 100644
--- a/SOL003/VNFLifecycleManagement-API/ChangeExternalVNFConnectivityTask.robot
+++ b/SOL003/VNFLifecycleManagement-API/ChangeExternalVNFConnectivityTask.robot
@@ -15,7 +15,7 @@ Change external VNF connectivity
     Set Headers  {"Accept":"${ACCEPT}"}  
     Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
-    ${body}=    Get File    json/changeExtVnfConnectivityRequest .json
+    ${body}=    Get File    json/changeExtVnfConnectivityRequest.json
     Post    ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/change_ext_conn    ${body}
     Integer    response status    202
     Log    Status code validated
diff --git a/SOL003/VNFLifecycleManagement-API/ChangeExternalVNFConnectivityWorkflow.robot b/SOL003/VNFLifecycleManagement-API/ChangeExternalVNFConnectivityWorkflow.robot
new file mode 100644
index 0000000000000000000000000000000000000000..17d928a114798e35e22389ebebcffba745092e12
--- /dev/null
+++ b/SOL003/VNFLifecycleManagement-API/ChangeExternalVNFConnectivityWorkflow.robot
@@ -0,0 +1,60 @@
+*** Settings ***
+Resource    environment/configuration.txt
+Resource    environment/variables.txt
+Resource    environment/scaleVariables.txt
+Resource    VnfLcmMntOperationKeywords.robot
+Resource    SubscriptionKeywords.robot
+Library    REST    ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT}    
+...    spec=SOL003-VNFLifecycleManagement-API.yaml
+Library    OperatingSystem
+Library    BuiltIn
+Library    Collections
+Library    JSONLibrary
+Library    Process
+Suite Setup    Initialize System
+Suite Teardown    Terminate All Processes    kill=true
+
+
+*** Test Cases ***
+Operate a VNF Instance
+    [Documentation]    Test ID: 5.x.y.x
+    ...    Test title: Change the external connectivity of a VNF instance
+    ...    Test objective: The objective is to change the external connectivity of a VNF instance.
+    ...    Pre-conditions: VNF instance in INSTANTIATED state (Test ID: 5.a.b.c)
+    ...    Reference: section 5.3.3 - SOL003 v2.4.1
+    ...    Config ID: Config_prod_VNFM
+    ...    Applicability: NFVO is able to receive notifications from VNFM. Change the external connectivity of a VNF instance is supported for the VNF (as capability in the VNFD)
+    ...    Post-Conditions: VNF instance still in INSTANTIATED state and external connectivity of the VNF is changed
+    Send Change Ext Connectivity Request
+    Check HTTP Response Status Code Is    202
+    Check HTTP Response Header Contains    Location 
+    Check Operation Occurrence Id
+    Check Operation Notification For Change Ext Connectivity    STARTING
+    #Create a new Grant - Sync - OPERATE
+    Check Operation Notification For Change Ext Connectivity    PROCESSING
+    Check Operation Notification For Change Ext Connectivity    COMPLETED
+    Check Postcondition VNF Change Ext Connectivity
+
+*** Keywords ***
+
+Initialize System
+    Create Sessions
+    ${body}=    Get File    json/changeExtVnfConnectivityRequest.json
+    ${changeVnfExtConnectivityRequest}=    evaluate    json.loads('''${body}''')    json    
+    
+Precondition Checks
+    Check resource instantiated
+    ${LccnSubscriptions}=    Check subscriptions about one VNFInstance and operation type    ${vnfInstanceId}    VnfLcmOperationOccurrenceNotification    operationType=SCALE
+
+Check Postcondition VNF Change Ext Connectivity
+    Check resource instantiated
+    ${extVLId}=    Get Vnf Ext Link Id    ${vnfInstanceId}
+    Should be Equal    ${changeVnfExtConnectivityRequest["extVirtualLinks"][0]["id"]}    ${extVLId}
+    
+Create a new Grant - Sync - OPERATE
+    Create a new Grant - Synchronous mode        ${vnfInstanceId}    ${vnfLcmOpOccId}    OPERATE
+    
+Check Operation Notification For Change Ext Connectivity 
+    [Arguments]    ${status}
+    Check Operation Notification    VnfLcmOperationOccurrenceNotification   ${status}
+    
\ No newline at end of file
diff --git a/SOL003/VNFLifecycleManagement-API/ChangeVNFFlavourWorkflow.robot b/SOL003/VNFLifecycleManagement-API/ChangeVNFFlavourWorkflow.robot
index 2d74dfe59b26f024d3539efd3ea0900303bc4b55..d1cb5dffcde698b6bb2d3249082dc53168af055a 100644
--- a/SOL003/VNFLifecycleManagement-API/ChangeVNFFlavourWorkflow.robot
+++ b/SOL003/VNFLifecycleManagement-API/ChangeVNFFlavourWorkflow.robot
@@ -16,21 +16,12 @@ Suite Teardown    Terminate All Processes    kill=true
 
 
 *** Test Cases ***
-<<<<<<< .merge_file_a08480
-Change VNF Flavour Operation
-    [Documentation]    Test ID: 5.x.y.x
-    ...    Test title: Change VNF Flavour Operation
-    ...    Test objective: The objective is to test a change flavour operation of an existing VNF instance
-    ...    Pre-conditions: VNF instance in INSTANTIATED state (Test ID: 5.a.b.c)
-    ...    Reference: section 5.3.3 - SOL003 v2.4.1
-=======
-Change VNF Flavour
+Change VNF External Connectivity
     [Documentation]    Test ID: 5.4.7.1
     ...    Test title: Change VNF Flavour Workflow
     ...    Test objective: The objective is to test the workflow for a change flavour of an existing VNF instance
     ...    Pre-conditions: VNF instance in INSTANTIATED state (Test ID: 5.4.4.1). NFVO is subscribed to VNF LCM Operation Occurrence notifications (Test ID: 5.4.20.1)
     ...    Reference: section 5.4.7 - SOL003 v2.4.1
->>>>>>> .merge_file_a08764
     ...    Config ID: Config_prod_VNFM
     ...    Applicability: Multiple flavours are supported for the VNF (as capability in the VNFD). NFVO is able to receive notifications from VNFM
     ...    Post-Conditions: VNF instance still in INSTANTIATED state and the flavour is changed
diff --git a/SOL003/VNFLifecycleManagement-API/FailOperationTask.robot b/SOL003/VNFLifecycleManagement-API/FailOperationTask.robot
index f97ae79a08e50b71e7c5bd64b991618c3a6e0e04..ca71d4020c2006bdb9df445f91de71e542bce13a 100644
--- a/SOL003/VNFLifecycleManagement-API/FailOperationTask.robot
+++ b/SOL003/VNFLifecycleManagement-API/FailOperationTask.robot
@@ -85,28 +85,28 @@ Post Fail operation task Not Found
 GET Fail operation task - Method not implemented
     log    Trying to perform a GET. This method should not be implemented
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
-    Get    ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfInstanceId}/fail    
+    Get    ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/fail
     Log    Validate Status code
     Integer    response status    405
 
 PUT Fail operation task - Method not implemented
     log    Trying to perform a PUT. This method should not be implemented
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
-    Put    ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfInstanceId}/fail    
+    Put    ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/fail
     Log    Validate Status code
     Integer    response status    405
 
 PATCH Fail operation task - Method not implemented
     log    Trying to perform a PATCH. This method should not be implemented
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
-    Patch    ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfInstanceId}/fail    
+    Patch    ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/fail
     Log    Validate Status code
     Integer    response status    405
     
 DELETE Fail operation task - Method not implemented
     log    Trying to perform a DELETE. This method should not be implemented
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
-    Delete    ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfInstanceId}/fail    
+    Delete    ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/fail
     Log    Validate Status code
     Integer    response status    405
 
diff --git a/SOL003/VNFLifecycleManagement-API/HealVNFWorkflow.robot b/SOL003/VNFLifecycleManagement-API/HealVNFWorkflow.robot
new file mode 100644
index 0000000000000000000000000000000000000000..c23bec76c06a9102fc9e4f1d478fb6bed56947f8
--- /dev/null
+++ b/SOL003/VNFLifecycleManagement-API/HealVNFWorkflow.robot
@@ -0,0 +1,56 @@
+*** Settings ***
+Resource    environment/configuration.txt
+Resource    environment/variables.txt
+Resource    environment/scaleVariables.txt
+Resource    VnfLcmMntOperationKeywords.robot
+Resource    SubscriptionKeywords.robot
+Library    REST    ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT}    
+...    spec=SOL003-VNFLifecycleManagement-API.yaml
+Library    OperatingSystem
+Library    BuiltIn
+Library    Collections
+Library    JSONLibrary
+Library    Process
+Suite Setup    Initialize System
+Suite Teardown    Terminate All Processes    kill=true
+
+
+*** Test Cases ***
+Heal a VNF Instance
+    [Documentation]    Test ID: 5.x.y.x
+    ...    Test title: Heal a VNF Instance
+    ...    Test objective: The objective is to heal a VNF instance.
+    ...    Pre-conditions: VNF instance in INSTANTIATED state (Test ID: 5.a.b.c)
+    ...    Reference: section 5.3.3 - SOL003 v2.4.1
+    ...    Config ID: Config_prod_VNFM
+    ...    Applicability: NFVO is able to receive notifications from VNFM. Heal a VNF instance is supported for the VNF (as capability in the VNFD)
+    ...    Post-Conditions: VNF instance still in INSTANTIATED state 
+    Send Heal VNF Request
+    Check HTTP Response Status Code Is    202
+    Check HTTP Response Header Contains    Location 
+    Check Operation Occurrence Id
+    Check Operation Notification For Heal    STARTING
+    #Create a new Grant - Sync - OPERATE
+    Check Operation Notification For Heal    PROCESSING
+    Check Operation Notification For Heal    COMPLETED
+    Check Postcondition VNF Heal
+
+*** Keywords ***
+
+Initialize System
+    Create Sessions
+    
+Precondition Checks
+    Check resource instantiated
+    ${LccnSubscriptions}=    Check subscriptions about one VNFInstance and operation type    ${vnfInstanceId}    VnfLcmOperationOccurrenceNotification    operationType=SCALE
+
+Check Postcondition VNF Heal
+    Check resource Instantiated
+
+Create a new Grant - Sync - OPERATE
+    Create a new Grant - Synchronous mode        ${vnfInstanceId}    ${vnfLcmOpOccId}    OPERATE
+    
+Check Operation Notification For Heal 
+    [Arguments]    ${status}
+    Check Operation Notification    VnfLcmOperationOccurrenceNotification   ${status}
+    
\ No newline at end of file
diff --git a/SOL003/VNFLifecycleManagement-API/ModifyVNFInformationWorkflow.robot b/SOL003/VNFLifecycleManagement-API/ModifyVNFInformationWorkflow.robot
new file mode 100644
index 0000000000000000000000000000000000000000..5b22d8b35892b8eddaca131e7605e268639f4f69
--- /dev/null
+++ b/SOL003/VNFLifecycleManagement-API/ModifyVNFInformationWorkflow.robot
@@ -0,0 +1,58 @@
+*** Settings ***
+Resource    environment/configuration.txt
+Resource    environment/variables.txt
+Resource    environment/scaleVariables.txt
+Resource    VnfLcmMntOperationKeywords.robot
+Resource    SubscriptionKeywords.robot
+Library    REST    ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT}    
+...    spec=SOL003-VNFLifecycleManagement-API.yaml
+Library    OperatingSystem
+Library    BuiltIn
+Library    Collections
+Library    JSONLibrary
+Library    Process
+Suite Setup    Initialize System
+Suite Teardown    Terminate All Processes    kill=true
+
+
+*** Test Cases ***
+Modify info of a VNF Instance
+    [Documentation]    Test ID: 5.x.y.x
+    ...    Test title: Update information about a VNF instance
+    ...    Test objective: The objective is to update information about a VNF instance.
+    ...    Pre-conditions: VNF instance is created (Test ID: 5.a.b.c)
+    ...    Reference: section 5.3.6 - SOL003 v2.4.1
+    ...    Config ID: Config_prod_VNFM
+    ...    Applicability: NFVO is able to receive notifications from VNFM. Update information of a VNF instance is supported for the VNF (as capability in the VNFD)
+    ...    Post-Conditions: VNF instance info is updated
+    Send Info Modification Request
+    Check HTTP Response Status Code Is    202
+    Check HTTP Response Header Contains    Location 
+    Check Operation Occurrence Id
+    Check Operation Notification For Modify Info    start   #need more info about the notification content
+    Check Operation Notification For Modify Info    result  #need more info about the notification content, how the result is presented
+    Check Postcondition VNF Modify Info
+
+*** Keywords ***
+
+Initialize System
+    Create Sessions
+    ${body}=    Get File    json/patchBodyRequest.json
+    ${patchBodyRequest}=    evaluate    json.loads('''${body}''')    json    
+    
+Precondition Checks
+    Check resource instantiated
+    ${LccnSubscriptions}=    Check subscriptions about one VNFInstance and operation type    ${vnfInstanceId}    VnfLcmOperationOccurrenceNotification    operationType=SCALE
+
+Check Postcondition VNF Modify Info
+    Check VNF Instance    ${vnfInstanceId}
+    Check HTTP Response Status Code Is    200
+    #do we need to compare the modified info in the updated VNF instance with the values in the request?
+    
+Create a new Grant - Sync - OPERATE
+    Create a new Grant - Synchronous mode        ${vnfInstanceId}    ${vnfLcmOpOccId}    OPERATE
+    
+Check Operation Notification For Modify Info 
+    [Arguments]    ${status}
+    Check Operation Notification    VnfLcmOperationOccurrenceNotification   ${status}
+    
\ No newline at end of file
diff --git a/SOL003/VNFLifecycleManagement-API/NotificationEndpoint.robot b/SOL003/VNFLifecycleManagement-API/NotificationEndpoint.robot
index 5b4d0b0d7f815c15b812dc5ea2498b3ef47ccac5..13a30cb32fd07e17c40313091842682e844bc62d 100644
--- a/SOL003/VNFLifecycleManagement-API/NotificationEndpoint.robot
+++ b/SOL003/VNFLifecycleManagement-API/NotificationEndpoint.robot
@@ -6,7 +6,6 @@ Resource    environment/variables.txt
 Library    MockServerLibrary
 Library    Process
 Library    OperatingSystem
-Library    REST    ${NFVO_SCHEMA}://${NFVO_HOST}:${notification_port}
 
 *** Variables ***
 ${sleep_interval}    20s
@@ -17,75 +16,75 @@ Deliver a notification - Operation Occurence
     ${json}=	Get File	schemas/vnfLcmOperationOccurrenceNotification.schema.json
     ${BODY}=	evaluate	json.loads('''${json}''')	json
     Log  Creating mock request and response to handle vnfLcmOperationOccurrenceNotification
-    &{req}=  Create Mock Request Matcher	POST  ${notification_ep}  body_type="JSON_SCHEMA"    body=${BODY}
+    &{req}=  Create Mock Request Matcher	POST  ${callback_endpoint}  body_type="JSON_SCHEMA"    body=${BODY}
     &{rsp}=  Create Mock Response	headers="Content-Type: application/json"  status_code=204
     Create Mock Expectation  ${req}  ${rsp}
     Sleep  ${sleep_interval}
     Log  Verifying results
     Verify Mock Expectation  ${req}
     Log  Cleaning the endpoint
-    Clear Requests  ${notification_ep}
+    Clear Requests  ${callback_endpoint}
 
 Deliver a notification - Id Creation
     log    The POST method delivers a notification from the server to the client.
     ${json}=	Get File	schemas/vnfIdentifierCreationNotification.schema.json
     ${BODY}=	evaluate	json.loads('''${json}''')	json
     Log  Creating mock request and response to handle vnfLcmOperationOccurrenceNotification
-    &{req}=  Create Mock Request Matcher	POST  ${notification_ep}  body_type="JSON_SCHEMA"    body=${BODY}
+    &{req}=  Create Mock Request Matcher	POST  ${callback_endpoint}  body_type="JSON_SCHEMA"    body=${BODY}
     &{rsp}=  Create Mock Response	headers="Content-Type: application/json"  status_code=204
     Create Mock Expectation  ${req}  ${rsp}
     Sleep  ${sleep_interval}
     Log  Verifying results
     Verify Mock Expectation  ${req}
     Log  Cleaning the endpoint
-    Clear Requests  ${notification_ep}
+    Clear Requests  ${callback_endpoint}
 
 Deliver a notification - Id deletion
     log    The POST method delivers a notification from the server to the client.
     ${json}=	Get File	schemas/vnfIdentifierCreationNotification.schema.json
     ${BODY}=	evaluate	json.loads('''${json}''')	json
     Log  Creating mock request and response to handle vnfLcmOperationOccurrenceNotification
-    &{req}=  Create Mock Request Matcher	POST  ${notification_ep}  body_type="JSON_SCHEMA"    body=${BODY}
+    &{req}=  Create Mock Request Matcher	POST  ${callback_endpoint}  body_type="JSON_SCHEMA"    body=${BODY}
     &{rsp}=  Create Mock Response	headers="Content-Type: application/json"  status_code=204
     Create Mock Expectation  ${req}  ${rsp}
     Sleep  ${sleep_interval}
     Log  Verifying results
     Verify Mock Expectation  ${req}
     Log  Cleaning the endpoint
-    Clear Requests  ${notification_ep}
+    Clear Requests  ${callback_endpoint}
 
 Test a notification end point
     log    The GET method allows the server to test the notification endpoint
-    &{req}=  Create Mock Request Matcher	GET  ${notification_ep}    
+    &{req}=  Create Mock Request Matcher	GET  ${callback_endpoint}
     &{rsp}=  Create Mock Response	headers="Content-Type: application/json"  status_code=204
     Create Mock Expectation  ${req}  ${rsp}
     Sleep  ${sleep_interval}
     Verify Mock Expectation  ${req}
-    Clear Requests  ${notification_ep}
+    Clear Requests  ${callback_endpoint}
 
 PUT notification - Method not implemented
     log    Trying to perform a PUT. This method should not be implemented
-    Put    ${notification_ep}    
+    Put    ${callback_endpoint}
     Log    Validate Status code
     Output    response
     Integer    response status    405
 
 PATCH subscriptions - Method not implemented
     log    Trying to perform a PATCH. This method should not be implemented
-    Patch    ${notification_ep}    
+    Patch    ${callback_endpoint}
     Log    Validate Status code
     Output    response
     Integer    response status    405
 
 DELETE subscriptions - Method not implemented
     log    Trying to perform a DELETE. This method should not be implemented
-    Delete    ${notification_ep}
+    Delete    ${callback_endpoint}
     Log    Validate Status code
     Output    response
     Integer    response status    405
     
 *** Keywords ***
 Create Sessions
-    Start Process  java  -jar  ../../bin/mockserver-netty-5.3.0-jar-with-dependencies.jar  -serverPort  ${notification_port}  alias=mockInstance
+    Start Process  java  -jar  ../../bin/mockserver-netty-5.3.0-jar-with-dependencies.jar  -serverPort  ${callback_port}  alias=mockInstance
     Wait For Process  handle=mockInstance  timeout=5s  on_timeout=continue
-    Create Mock Session  ${NFVO_SCHEMA}://${NFVO_HOST}:${notification_port}     #The API producer is set to NFVO according to SOL003-5.3.9
\ No newline at end of file
+    Create Mock Session  ${callback_uri}:${callback_port}     #The API producer is set to NFVO according to SOL003-5.3.9
\ No newline at end of file
diff --git a/SOL003/VNFLifecycleManagement-API/OperateVNFWorkflow.robot b/SOL003/VNFLifecycleManagement-API/OperateVNFWorkflow.robot
index 8721f2067980860b4c84dca5f7e32e1ee70326f2..17f3fe904595d63d2508f3aae9a0a4e8c32a293d 100644
--- a/SOL003/VNFLifecycleManagement-API/OperateVNFWorkflow.robot
+++ b/SOL003/VNFLifecycleManagement-API/OperateVNFWorkflow.robot
@@ -30,10 +30,10 @@ Operate a VNF Instance
     Check HTTP Response Header Contains    Location 
     Check Operation Occurrence Id
     Check Operation Notification For Operate    STARTING
-    Create a new Grant - Sync - OPERATE
-    Check Operation Notification For Change Flavour    PROCESSING
-    Check Operation Notification For Change Flavour    COMPLETED
-    Check Postcondition VNF    OPERATE
+    #Create a new Grant - Sync - OPERATE
+    Check Operation Notification For Operate    PROCESSING
+    Check Operation Notification For Operate    COMPLETED
+    Check Postcondition VNF OPERATE
 
 *** Keywords ***
 
@@ -47,8 +47,7 @@ Precondition Checks
     Check resource instantiated
     ${LccnSubscriptions}=    Check subscriptions about one VNFInstance and operation type    ${vnfInstanceId}    VnfLcmOperationOccurrenceNotification    operationType=SCALE
 
-Check Postcondition VNF
-    [Arguments]    ${operation}
+Check Postcondition VNF OPERATE
     Check resource instantiated
     ${newState}=    Get Vnf Operational State Info    ${vnfInstanceId}
     Should be Equal    ${requestedState}    ${newState}
diff --git a/SOL003/VNFLifecycleManagement-API/RetryOperationTask.robot b/SOL003/VNFLifecycleManagement-API/RetryOperationTask.robot
index 24e1c77ee35e60135d3d7ba5a5f13b3478ad25c6..190e7d2f56d4ad7e585751ed11bc671324df02bf 100644
--- a/SOL003/VNFLifecycleManagement-API/RetryOperationTask.robot
+++ b/SOL003/VNFLifecycleManagement-API/RetryOperationTask.robot
@@ -85,28 +85,28 @@ Post Retry operation task Not Found
 GET Retry operation task - Method not implemented
     log    Trying to perform a GET. This method should not be implemented
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
-    Get    ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfInstanceId}/retry    
+    Get    ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/retry
     Log    Validate Status code
     Integer    response status    405
 
 PUT Retry operation task - Method not implemented
     log    Trying to perform a PUT. This method should not be implemented
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
-    Put    ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfInstanceId}/retry    
+    Put    ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/retry
     Log    Validate Status code
     Integer    response status    405
 
 PATCH Retry operation task - Method not implemented
     log    Trying to perform a PATCH. This method should not be implemented
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
-    Patch    ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfInstanceId}/retry    
+    Patch    ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/retry
     Log    Validate Status code
     Integer    response status    405
     
 DELETE Retry operation task - Method not implemented
     log    Trying to perform a DELETE. This method should not be implemented
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
-    Delete    ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfInstanceId}/retry    
+    Delete    ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/retry
     Log    Validate Status code
     Integer    response status    405
 
diff --git a/SOL003/VNFLifecycleManagement-API/RetryOperationWorkflow.robot b/SOL003/VNFLifecycleManagement-API/RetryOperationWorkflow.robot
new file mode 100644
index 0000000000000000000000000000000000000000..6a6e61d6900da8fe4ee84a37fefc518400b4e6a3
--- /dev/null
+++ b/SOL003/VNFLifecycleManagement-API/RetryOperationWorkflow.robot
@@ -0,0 +1,76 @@
+*** Settings ***
+Resource    environment/configuration.txt
+Resource    environment/variables.txt
+Resource    environment/scaleVariables.txt
+Resource    VnfLcmMntOperationKeywords.robot
+Resource    SubscriptionKeywords.robot
+Library    REST    ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT}    
+...    spec=SOL003-VNFLifecycleManagement-API.yaml
+Library    OperatingSystem
+Library    BuiltIn
+Library    Collections
+Library    JSONLibrary
+Library    Process
+Suite Setup    Initialize System
+Suite Teardown    Terminate All Processes    kill=true
+
+
+*** Test Cases ***
+Retry VNF LCM Operation - Successful
+    [Documentation]    Test ID: 5.x.x.x
+    ...    Test title: Retry VNF LCM Operation - Successful
+    ...    Test objective: The objective is to test the workflow for a Retry VNF LCM Operation and the operation is successful
+    ...    Pre-conditions: The VNF lifecycle management operation occurrence is in FAILED_TEMP state. NFVO is subscribed to VNF LCM Operation Occurrence notifications (Test ID: 5.4.20.1)
+    ...    Reference: section 5.3.10 - SOL003 v2.4.1
+    ...    Config ID: Config_prod_VNFM
+    ...    Applicability: NFVO is able to receive notifications from VNFM
+    ...    Post-Conditions: The VNF lifecycle management operation occurrence is in COMPLETED state
+    Send Retry Operation Request
+    Check HTTP Response Status Code Is    202
+    Check HTTP Response Header Contains    Location 
+    Check Operation Occurrence Id
+    Check Operation Notification For Retry    PROCESSING
+    Check Operation Notification For Retry    COMPLETED
+    Check Postcondition VNF Retry Successful
+
+Retry VNF LCM Operation - Unsuccessful
+    [Documentation]    Test ID: 5.x.x.x
+    ...    Test title: Retry VNF LCM Operation - Unsuccessful
+    ...    Test objective: The objective is to test the workflow for a Retry VNF LCM Operation and the operation is not successful
+    ...    Pre-conditions: The VNF lifecycle management operation occurrence is in FAILED_TEMP state. NFVO is subscribed to VNF LCM Operation Occurrence notifications (Test ID: 5.4.20.1)
+    ...    Reference: section 5.3.10 - SOL003 v2.4.1
+    ...    Config ID: Config_prod_VNFM
+    ...    Applicability: NFVO is able to receive notifications from VNFM
+    ...    Post-Conditions: The VNF lifecycle management operation occurrence is in FAILED_TEMP state
+    Send Retry Operation Request
+    Check HTTP Response Status Code Is    202
+    Check HTTP Response Header Contains    Location 
+    Check Operation Occurrence Id
+    Check Operation Notification For Retry    PROCESSING
+    Check Operation Notification For Retry    COMPLETED
+    Check Postcondition VNF Retry Unsuccessful
+
+*** Keywords ***
+
+Initialize System
+    Create Sessions
+    
+Precondition Checks
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
+    Get    ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId} 
+    String    response body operationState    FAILED_TEMP
+
+Check Postcondition VNF Retry Successful
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
+    Get    ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId} 
+    String    response body operationState    COMPLETED
+
+Check Postcondition VNF Retry Unsuccessful
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
+    Get    ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId} 
+    String    response body operationState    FAILED_TEMP
+    
+Check Operation Notification For Retry 
+    [Arguments]    ${status}
+    Check Operation Notification    VnfLcmOperationOccurrenceNotification   ${status}
+    
\ No newline at end of file
diff --git a/SOL003/VNFLifecycleManagement-API/RollbackOperationTask.robot b/SOL003/VNFLifecycleManagement-API/RollbackOperationTask.robot
index 11b61784c6aba927e02b628794d4e888cd904020..17867df28974b7a0c140a626cecd0bc587a5c347 100644
--- a/SOL003/VNFLifecycleManagement-API/RollbackOperationTask.robot
+++ b/SOL003/VNFLifecycleManagement-API/RollbackOperationTask.robot
@@ -85,28 +85,28 @@ Post Rollback operation task Not Found
 GET Rollback operation task - Method not implemented
     log    Trying to perform a GET. This method should not be implemented
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
-    Get    ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfInstanceId}/rollback    
+    Get    ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/rollback
     Log    Validate Status code
     Integer    response status    405
 
 PUT Rollback operation task - Method not implemented
     log    Trying to perform a PUT. This method should not be implemented
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
-    Put    ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfInstanceId}/rollback    
+    Put    ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/rollback
     Log    Validate Status code
     Integer    response status    405
 
 PATCH Rollback operation task - Method not implemented
     log    Trying to perform a PATCH. This method should not be implemented
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
-    Patch    ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfInstanceId}/rollback    
+    Patch    ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/rollback
     Log    Validate Status code
     Integer    response status    405
     
 DELETE Rollback operation task - Method not implemented
     log    Trying to perform a DELETE. This method should not be implemented
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
-    Delete    ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfInstanceId}/rollback    
+    Delete    ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/rollback
     Log    Validate Status code
     Integer    response status    405
 
diff --git a/SOL003/VNFLifecycleManagement-API/Subscriptions.robot b/SOL003/VNFLifecycleManagement-API/Subscriptions.robot
index 817fdf115c48a08b238c9031c16275468df586f1..c13be834d4fa9c730ee06b8ea099feee7c0b90a7 100644
--- a/SOL003/VNFLifecycleManagement-API/Subscriptions.robot
+++ b/SOL003/VNFLifecycleManagement-API/Subscriptions.robot
@@ -28,7 +28,7 @@ Create a new subscription
 
 Create a new Subscription - DUPLICATION
     Log    Trying to create a subscription with an already created content
-    Pass Execution If    ${NVFM_DUPLICATION} == 0    VNFM is not permitting duplication. Skipping the test
+    Pass Execution If    ${VNFM_DUPLICATION} == 0    VNFM is not permitting duplication. Skipping the test
     Set Headers    {"Accept": "${ACCEPT}"}
     Set Headers    {"Content-Type": "${CONTENT_TYPE}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
@@ -45,7 +45,7 @@ Create a new Subscription - DUPLICATION
 
 Create a new Subscription - NO-DUPLICATION
     Log    Trying to create a subscription with an already created content
-    Pass Execution If    ${NVFM_DUPLICATION} == 1    VNFM permits duplication. Skipping the test
+    Pass Execution If    ${VNFM_DUPLICATION} == 1    VNFM permits duplication. Skipping the test
     Set Headers    {"Accept": "${ACCEPT}"}
     Set Headers    {"Content-Type": "${CONTENT_TYPE}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
diff --git a/SOL003/VNFLifecycleManagement-API/TerminatelVNFWorkflow.robot b/SOL003/VNFLifecycleManagement-API/TerminatelVNFWorkflow.robot
new file mode 100644
index 0000000000000000000000000000000000000000..a069cd0f89501c9a55f84ffcf8f761553dc11f39
--- /dev/null
+++ b/SOL003/VNFLifecycleManagement-API/TerminatelVNFWorkflow.robot
@@ -0,0 +1,56 @@
+*** Settings ***
+Resource    environment/configuration.txt
+Resource    environment/variables.txt
+Resource    environment/scaleVariables.txt
+Resource    VnfLcmMntOperationKeywords.robot
+Resource    SubscriptionKeywords.robot
+Library    REST    ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT}    
+...    spec=SOL003-VNFLifecycleManagement-API.yaml
+Library    OperatingSystem
+Library    BuiltIn
+Library    Collections
+Library    JSONLibrary
+Library    Process
+Suite Setup    Initialize System
+Suite Teardown    Terminate All Processes    kill=true
+
+
+*** Test Cases ***
+Terminate a VNF Instance
+    [Documentation]    Test ID: 5.x.y.x
+    ...    Test title: Terminate a VNF Instance
+    ...    Test objective: The objective is to terminate a VNF instance.
+    ...    Pre-conditions: VNF instance in INSTANTIATED state (Test ID: 5.a.b.c)
+    ...    Reference: section 5.3.3 - SOL003 v2.4.1
+    ...    Config ID: Config_prod_VNFM
+    ...    Applicability: NFVO is able to receive notifications from VNFM. 
+    ...    Post-Conditions: VNF instance in NOT_INSTANTIATED state 
+    Send Terminate VNF Request
+    Check HTTP Response Status Code Is    202
+    Check HTTP Response Header Contains    Location 
+    Check Operation Occurrence Id
+    Check Operation Notification For Terminate    STARTING
+    #Create a new Grant - Sync - OPERATE
+    Check Operation Notification For Terminate    PROCESSING
+    Check Operation Notification For Terminate    COMPLETED
+    Check Postcondition VNF Terminate
+
+*** Keywords ***
+
+Initialize System
+    Create Sessions
+    
+Precondition Checks
+    Check resource instantiated
+    ${LccnSubscriptions}=    Check subscriptions about one VNFInstance and operation type    ${vnfInstanceId}    VnfLcmOperationOccurrenceNotification    operationType=SCALE
+
+Check Postcondition VNF Terminate
+    Check resource not Instantiated
+
+Create a new Grant - Sync - OPERATE
+    Create a new Grant - Synchronous mode        ${vnfInstanceId}    ${vnfLcmOpOccId}    OPERATE
+    
+Check Operation Notification For Terminate 
+    [Arguments]    ${status}
+    Check Operation Notification    VnfLcmOperationOccurrenceNotification   ${status}
+    
\ No newline at end of file
diff --git a/SOL003/VNFLifecycleManagement-API/VNFInstances.robot b/SOL003/VNFLifecycleManagement-API/VNFInstances.robot
index c314d6952b86edb5c8ead06af794bacaacdf2c9c..c1b61d05b38024041aaf9c7f6ae2dd80a871cb1f 100644
--- a/SOL003/VNFLifecycleManagement-API/VNFInstances.robot
+++ b/SOL003/VNFLifecycleManagement-API/VNFInstances.robot
@@ -2,8 +2,7 @@
 # Suite setup     Expect spec    SOL003-VNFLifecycleManagement-API.yaml
 Resource    environment/configuration.txt
 Resource    environment/variables.txt 
-Library    REST    ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} 
-...        spec=SOL003-VNFLifecycleManagement-API.yaml
+Library    REST    ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT}
 Library    OperatingSystem
 Library    JSONLibrary
 Library    JSONSchemaLibrary    schemas/
@@ -18,21 +17,21 @@ Create a new vnfInstance
     ...    Config ID: Config_prod_VNFM
     ...    Applicability: 
     ...    Post-Conditions: VNF instance created
-    Log    Create VNF instance by POST to ${apiRoot}/${apiName}/${apiVersion}/vnf_instances
+    Log    Create VNF instance by POST to /vnf_instances
     Set Headers  {"Accept":"${ACCEPT}"}  
     Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
-    ${body}=    Get File    json/createVnfRequest.json
-    Post    ${apiRoot}/${apiName}/${apiVersion}/vnf_instances    ${body}
-    Integer    response status    201
+    ${body}=    Get File    jsons/createVnfRequest.json
+    Post    ${apiRoot}${apiName}/${apiVersion}/vnf_instances    ${body}
+    Integer    response status    200
     Log    Status code validated 
     ${headers}=    Output    response headers
-    Should Contain    ${headers}    Location
-    ${contentType}=    Output    response headers Content-Type
+#    Should Contain    ${headers}    Location
+#    ${contentType}=    Output    response headers Content-Type
     Should Contain    ${contentType}    ${CONTENT_TYPE}
     ${result}=    Output    response body
-    ${json}=    evaluate    json.loads('''${result}''')    json
-    Validate Json    vnfInstance.schema.json    ${json}
+#    ${json}=    evaluate    json.loads('''${result}''')    json
+    Validate Json    vnfInstance.schema.json    ${result}
     Log    Validation OK
 
 Get information about multiple VNF instances  
@@ -127,4 +126,4 @@ DELETE VNFInstances - Method not implemented
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
     Delete    ${apiRoot}/${apiName}/${apiVersion}/vnf_instances
     Log    Validate Status code
-    Integer    response status    405
\ No newline at end of file
+    Integer    response status    405
diff --git a/SOL003/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot b/SOL003/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot
index 2eaac649cebe35e9381110b79ac66392ffeba0cb..7cb66db37150e99afd6732e62c4dccc4c206cc39 100644
--- a/SOL003/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot
+++ b/SOL003/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot
@@ -42,6 +42,11 @@ Check resource Instantiated
     Check HTTP Response Status Code Is    200
     Check VNF Status    ${response.body.instantiationState}    INSTANTIATED
 
+Check resource not Instantiated
+    Check VNF Instance    ${vnfInstanceId}
+    Check HTTP Response Status Code Is    200
+    Check VNF Status    ${response.body.instantiationState}    NOT_INSTANTIATED
+
 Check VNF Instance
     [Arguments]    ${vnfId}
     Set Headers  {"Accept":"${ACCEPT}"}  
@@ -72,6 +77,11 @@ Get Vnf Operational State Info
     ${stateInfo}=    Get Value From Json    ${vnfInstance}    $..vnfState
     [Return]    ${stateInfo}
 
+Get Vnf Ext Link Id
+    [Arguments]    ${vnfInstanceId}
+    ${vnfInstance}=    Get Vnf Instance    ${vnfInstanceId}
+    [Return]    ${vnfInstance.instantiatedVnfInfo.extVirtualLinkInfo.id}
+
 Check HTTP Response Header Contains
     [Arguments]    ${CONTENT_TYPE}
     Should Contain    ${response.headers}    ${CONTENT_TYPE}
@@ -126,7 +136,44 @@ Send Change VNF Operational State Request
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
     ${body}=    Get File    json/operateVnFRequest.json
     ${response}=    Post    ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/operate    ${body}
-  
+
+Send Heal VNF Request
+    Log    Trying to heal a VNF instance.
+    Set Headers  {"Accept":"${ACCEPT}"}  
+    Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
+    ${body}=    Get File    json/healVnFRequest.json
+    ${response}=    Post    ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/heal    ${body}
+
+Send Change Ext Connectivity Request
+    Log    Trying to change the external connectivity of a VNF instance.
+    Set Headers  {"Accept":"${ACCEPT}"}  
+    Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
+    ${body}=    Get File    json/changeExtVnfConnectivityRequest.json
+    ${response}=    Post    ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/change_ext_conn    ${body}
+
+Send Terminate VNF Request
+    Log    Trying to terminate a VNF instance.
+    Set Headers  {"Accept":"${ACCEPT}"}  
+    Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
+    ${body}=    Get File    json/terminateVnFRequest.json
+    ${response}=    Post    ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/terminate    ${body}
+
+Send Info Modification Request
+    Log    Trying to update information of a VNF instance.
+    Set Headers  {"Accept":"${ACCEPT}"}  
+    Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
+    ${body}=    Get File    json/patchBodyRequest.json
+    ${response}=    Patch    ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}    ${body}
+
+Send Retry Operation Request
+    Log    Retry a VNF lifecycle operation if that operation has experienced a temporary failure
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
+    ${response}=    Post    ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/retry
+
 Create a new Grant - Synchronous mode
     [Arguments]    ${vnfInstanceId}    ${vnfLcmOpOccId}    ${operation}
     Log    Request a new Grant for a VNF LCM operation by POST to ${apiRoot}/${apiName}/${apiVersion}/grants
diff --git a/SOL003/VNFLifecycleManagement-API/environment/configuration.txt b/SOL003/VNFLifecycleManagement-API/environment/configuration.txt
index 153f200df126b52bcdb1551afbe9a1eaeeffc0ad..9a55fb7deac7d8c14f1aa8fcd1b2b6857e349862 100644
--- a/SOL003/VNFLifecycleManagement-API/environment/configuration.txt
+++ b/SOL003/VNFLifecycleManagement-API/environment/configuration.txt
@@ -1,18 +1,27 @@
 *** Variables ***
 ${VNFM_HOST}      localhost    # Hostname of the VNFM
 ${VNFM_PORT}      8080    # Listening port of the VNFM
-${NFVO_HOST}      localhost    # Hostname of the NFVO
-${NFVO_PORT}      8081    # Listening port of the NFVO
 ${VNFM_SCHEMA}    https
-${NFVO_SCHEMA}    https
-${AUTHORIZATION}    Bearer    QWxhZGRpbjpvcGVuIHNlc2FtZQ==
-${CONTENT_TYPE}    application/json
-${CONTENT_TYPE_PATCH}    application/merge-patch+json 
 ${ACCEPT}         application/json
+${CONTENT_TYPE}    application/json
+${AUTHORIZATION}    Bearer    QWxhZGRpbjpvcGVuIHNlc2FtZQ==
+${AUTH_USAGE}     1
+${CONTENT_TYPE_PATCH}    application/merge-patch+json
+
 ${apiRoot}        /
 ${apiName}        vnflcm
-${apiVersion}     v1    
-${AUTH_USAGE}     1
+${apiVersion}     v1
+
+${CancelMode}    GRACEFUL
+${VNFM_DUPLICATION}    0
+
+
+
+
+
+${NFVO_HOST}      localhost    # Hostname of the NFVO
+${NFVO_PORT}      8081    # Listening port of the NFVO
+${NFVO_SCHEMA}    https
 ${WRONG_AUTHORIZATION}    Bearer    XXXXXWRONGXXXXX
 ${SINGLE_FILE_VNFD}    1    # If VNFD is PLAIN TEXT
 ${ACCEPT_PLAIN}    text/plain
@@ -22,8 +31,6 @@ ${ARTIFACT_TYPE}    application/octet-stream
 ${ARTIFACT_ID}    artifactId
 ${WRONG_ACCEPT}    application/json
 ${vnfLcmOpOccId}    6fc3539c-e602-4afa-8e13-962fb5a7d81d
-${CancelMode}    GRACEFUL
-${NVFM_DUPLICATION}    0
 ${SYNC_MODE}    0
 ${sleep_interval}    20s
 ${callback_uri}    http://localhost
diff --git a/SOL003/VNFLifecycleManagement-API/environment/variables.txt b/SOL003/VNFLifecycleManagement-API/environment/variables.txt
index 6de36689c942f024b6b24117c10c6f46327c5451..39f136239599ddff828d1569670010ac60cb0d31 100644
--- a/SOL003/VNFLifecycleManagement-API/environment/variables.txt
+++ b/SOL003/VNFLifecycleManagement-API/environment/variables.txt
@@ -28,3 +28,10 @@ ${vnfInstanceName}    Test-VnfInstance
 ${vnfInstanceDescription}    description vnf
 ${vnfInstanceDescription_Update}    Updated description vnf 
 ${vnfPkgId_processing}    007c111c-38a1-42c0-a666-7475ecb1567c
+
+${changeVnfFlavourRequest}    {}
+${requestedFlavour}    test
+${changeVnfOperateRequest}    {}
+${requestedState}   test
+${changeVnfExtConnectivityRequest}    {}
+${patchBodyRequest}   {}
diff --git a/SOL003/VNFLifecycleOperationGranting-API/Grants.robot b/SOL003/VNFLifecycleOperationGranting-API/Grants.robot
index 2c0471c184d1efb717e216281d3037855fb1649e..87a8638a94aadd1ea4b30fd77facc0db6f2838ab 100644
--- a/SOL003/VNFLifecycleOperationGranting-API/Grants.robot
+++ b/SOL003/VNFLifecycleOperationGranting-API/Grants.robot
@@ -1,6 +1,6 @@
 *** Settings ***
 Resource   environment/variables.txt 
-Library    REST    http://${NFVO_HOST}:${NFVO_PORT} 
+Library    REST    ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT}
 ...        spec=SOL003-VNFLifecycleOperationGranting-API.yaml
 Library    OperatingSystem
 Library    JSONLibrary
diff --git a/SOL003/VNFLifecycleOperationGranting-API/IndividualGrant.robot b/SOL003/VNFLifecycleOperationGranting-API/IndividualGrant.robot
index 5e1cce6b25f855d8928330f4300edf12bafa8dd9..21bf5587305e0c184f7a5214d909de9a7c5ee53b 100644
--- a/SOL003/VNFLifecycleOperationGranting-API/IndividualGrant.robot
+++ b/SOL003/VNFLifecycleOperationGranting-API/IndividualGrant.robot
@@ -3,7 +3,7 @@ Resource   environment/variables.txt
 Library    OperatingSystem
 Library    JSONLibrary
 Library    JSONSchemaLibrary    schemas/
-Library    REST    http://${NFVO_HOST}:${NFVO_PORT}     
+Library    REST    ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT}
 ...    spec=SOL003-VNFLifecycleOperationGranting-API.yaml
 Documentation    This resource represents an individual grant. The client can use this resource to read the grant.
 ...    It is determined by means outside the scope of the present document, such as configuration or policy,
diff --git a/SOL003/VNFLifecycleOperationGranting-API/environment/variables.txt b/SOL003/VNFLifecycleOperationGranting-API/environment/variables.txt
index c9c972fbd936c82162b162c83064273f9e2c8821..b64e53f4a7fe596f0e0c86c80428b04ff3a314b6 100644
--- a/SOL003/VNFLifecycleOperationGranting-API/environment/variables.txt
+++ b/SOL003/VNFLifecycleOperationGranting-API/environment/variables.txt
@@ -1,20 +1,32 @@
 *** Variables ***
-${VNFM_HOST}      localhost    # Hostname of the VNFM
-${VNFM_PORT}      8080    # Listening port of the VNFM
 ${NFVO_HOST}      localhost    # Hostname of the NFVO
 ${NFVO_PORT}      8081    # Listening port of the NFVO
-${VNFM_SCHEMA}    https
 ${NFVO_SCHEMA}    https
 ${AUTHORIZATION}    Bearer    QWxhZGRpbjpvcGVuIHNlc2FtZQ==
 ${CONTENT_TYPE}    application/json
-${CONTENT_TYPE_PATCH}    application/merge-patch+json 
 ${ACCEPT}         application/json
+${AUTH_USAGE}     1
+${grantId}    6fc3539c-e602-4afa-8e13-962fb5a7d81d
+
 ${apiRoot}        /
 ${apiName}        grant
-${apiVersion}     v1    
-${AUTH_USAGE}     1
+${apiVersion}     v1
+
+${SYNC_MODE}    1
+
+
+
+
+
+
+
+
+${VNFM_HOST}      localhost    # Hostname of the VNFM
+${VNFM_PORT}      8080    # Listening port of the VNFM
+${VNFM_SCHEMA}    https
+${CONTENT_TYPE_PATCH}    application/merge-patch+json
 ${WRONG_AUTHORIZATION}    Bearer    XXXXXWRONGXXXXX
-${grantId}    6fc3539c-e602-4afa-8e13-962fb5a7d81d
+
 ${vnfInstanceDescription}    description vnf
 ${vnfInstanceDescription_Update}    Updated description vnf 
 ${SINGLE_FILE_VNFD}    1    # If VNFD is PLAIN TEXT
@@ -24,7 +36,7 @@ ${vnfPkgId_processing}    007c111c-38a1-42c0-a666-7475ecb1567c
 ${ARTIFACT_TYPE}    application/octet-stream
 ${ARTIFACT_ID}    artifactId
 ${WRONG_ACCEPT}    application/json
-${SYNC_MODE}    1
+
 ${sub_filter}    filter
 ${sub_filter_invalid}    filter_invalid
 ${subscriptionId}    6fc3539c-e602-4afa-8e13-962fb5a7d81f
diff --git a/SOL003/VNFPackageManagement-API/IndividualSubscription.robot b/SOL003/VNFPackageManagement-API/IndividualSubscription.robot
index 1a14bd04f7dd260beba1724a9cdde5e77fe2e814..0b87ec4531721f3153d3cc480c11b5897bd2fd40 100644
--- a/SOL003/VNFPackageManagement-API/IndividualSubscription.robot
+++ b/SOL003/VNFPackageManagement-API/IndividualSubscription.robot
@@ -1,6 +1,6 @@
 *** Settings ***
 Library           JSONSchemaLibrary    schemas/
-Resource          environment/generic.txt    # Generic Parameters
+Resource          environment/variables.txt    # Generic Parameters
 Resource          environment/individualSubscription.txt
 Library           OperatingSystem
 Library           JSONLibrary
diff --git a/SOL003/VNFPackageManagement-API/IndividualVNFPackage.robot b/SOL003/VNFPackageManagement-API/IndividualVNFPackage.robot
index 43049239bda075b2ffa00911f3548e1ce9890fcd..eb7d16f16c8720485a16ed5ef864841899315b06 100644
--- a/SOL003/VNFPackageManagement-API/IndividualVNFPackage.robot
+++ b/SOL003/VNFPackageManagement-API/IndividualVNFPackage.robot
@@ -1,6 +1,6 @@
 *** Settings ***
 Library           JSONSchemaLibrary    schemas/
-Resource          environment/generic.txt    # Generic Parameters
+Resource          environment/variables.txt    # Generic Parameters
 Resource          environment/individualVnfPackage.txt
 Library           JSONLibrary
 Library           REST    ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT}
diff --git a/SOL003/VNFPackageManagement-API/Subscriptions.robot b/SOL003/VNFPackageManagement-API/Subscriptions.robot
index d74b799c20445b11a9b2a340ff11b82ec5e3a4be..3fcda8b0a290190dc083cb18ca9a97fb5d428d13 100644
--- a/SOL003/VNFPackageManagement-API/Subscriptions.robot
+++ b/SOL003/VNFPackageManagement-API/Subscriptions.robot
@@ -1,6 +1,6 @@
 *** Settings ***
 Library           JSONSchemaLibrary    schemas/
-Resource          environment/generic.txt    # Generic Parameters
+Resource          environment/variables.txt    # Generic Parameters
 Resource          environment/subscriptions.txt
 Library           OperatingSystem
 Library           JSONLibrary
diff --git a/SOL003/VNFPackageManagement-API/VNFDInIndividualVNFPackage.robot b/SOL003/VNFPackageManagement-API/VNFDInIndividualVNFPackage.robot
index fe149c08a9b5c2fb34fc9d89defc4fa2338bf273..8199d054e7d7eca83ff3563f1e6cd1ce8e4f23bb 100644
--- a/SOL003/VNFPackageManagement-API/VNFDInIndividualVNFPackage.robot
+++ b/SOL003/VNFPackageManagement-API/VNFDInIndividualVNFPackage.robot
@@ -1,6 +1,6 @@
 *** Settings ***
 Library           JSONSchemaLibrary    schemas/
-Resource          environment/generic.txt    # Generic Parameters
+Resource          environment/variables.txt    # Generic Parameters
 Resource          environment/vnfdInIndividualVnfPackage.txt
 Library           JSONLibrary
 Library           REST    ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT}
@@ -32,8 +32,7 @@ GET VNFD in Individual VNF Package (PLAIN-ZIP)
     GET    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPkgZipVNFD}/vnfd
     Integer    response status    200
     ${contentType}=    Output    response headers Content-Type
-    Run Keyword If    ${NFVO_PLAIN} == 0    Should Contain    ${contentType}    ${CONTENT_TYPE_ZIP}
-    Run Keyword If    ${NFVO_PLAIN} == 1    Should Contain    ${contentType}    ${CONTENT_TYPE_PLAIN}
+    Should Contain    ${contentType}    ${CONTENT_TYPE_ZIP}
 
 GET VNFD in Individual VNF Package - Negative (PLAIN/ZIP)
     Log    Trying to get a negative case performing a get on a VNFD from a given VNF Package present in the NFVO Catalogue. Accept will be text/plain but VNFD is composed my multiple files.
diff --git a/SOL003/VNFPackageManagement-API/VNFPackageArtifacts.robot b/SOL003/VNFPackageManagement-API/VNFPackageArtifacts.robot
index e30759f7fabcfd3eb23febfb8c023707cd159a26..43de63defff38c3025cc18723066e3f08512bec0 100644
--- a/SOL003/VNFPackageManagement-API/VNFPackageArtifacts.robot
+++ b/SOL003/VNFPackageManagement-API/VNFPackageArtifacts.robot
@@ -1,6 +1,6 @@
 *** Settings ***
 Library           JSONSchemaLibrary    schemas/
-Resource          environment/generic.txt    # Generic Parameters
+Resource          environment/variables.txt    # Generic Parameters
 Resource          environment/vnfPackageArtifacts.txt
 Library           JSONLibrary
 Library           REST    ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT}
@@ -9,7 +9,7 @@ Library           REST    ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT}
 GET VNF Package Artifact
     Log    Trying to get a VNF Package Artifact
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
-    GET    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPkgId}/artifacts/${artifactPath}
+    GET    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPackageId}/artifacts/${artifactPath}
     Integer    response status    200
     Log    Received a 200 OK as expected
     ${contentType}=    Output    response headers Content-Type
@@ -20,7 +20,7 @@ GET VNF Package Artifact - Range
     Pass Execution If    ${NFVO_RANGE_OK} == 0    Skipping this test as NFVO is not able to handle partial Requests.
     Set Headers    {"Range": "${range}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
-    GET    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPkgId}/artifacts/${artifactPath}
+    GET    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPackageId}/artifacts/${artifactPath}
     Integer    response status    206
     Log    Received 206 Partial Content as expected.
     ${headers}=    Output    response headers
@@ -32,7 +32,7 @@ GET VNF Package Artifact - NFVO No RANGE
     Pass Execution If    ${NFVO_RANGE_OK} == 1    Skipping this test as NFVO is able to handle partial Requests.
     Set Headers    {"Range": "${range}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
-    GET    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPkgId}/artifacts/${artifactPath}
+    GET    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPackageId}/artifacts/${artifactPath}
     Integer    response status    200
     Log    Received 200 OK as expected. The content is all available on this request. RANGE request has been ignored.
 
@@ -41,7 +41,7 @@ GET VNF Package Artifact - Negative Range
     Pass Execution If    ${NFVO_RANGE_OK} == 0    Skipping this test as NFVO is not able to handle partial Requests.
     Set Headers    {"Range": "${range}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
-    GET    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPkgId}/artifacts/${artifactPath}
+    GET    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPackageId}/artifacts/${artifactPath}
     Integer    response status    416
     Log    Received 416 Range not satisfiable as expected.
     ${contentType}=    Output    response headers Content-Type
@@ -83,27 +83,27 @@ GET VNF Package Artifact - Negative (onboardingState issue)
 POST VNF Package Artifact - (Method not implemented)
     Log    Trying to perform a POST (method should not be implemented)
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
-    POST    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPkgId}/artifacts/${artifactPath}
+    POST    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPackageId}/artifacts/${artifactPath}
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
 
 PUT VNF Package Artifact - (Method not implemented)
     Log    Trying to perform a PUT. This method should not be implemented
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
-    PUT    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPkgId}/artifacts/${artifactPath}
+    PUT    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPackageId}/artifacts/${artifactPath}
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
 
 PATCH VNF Package Artifact - (Method not implemented)
     Log    Trying to perform a PATCH. This method should not be implemented
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
-    PATCH    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPkgId}/artifacts/${artifactPath}
+    PATCH    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPackageId}/artifacts/${artifactPath}
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
 
 DELETE VNF Package Artifact - (Method not implemented)
     Log    Trying to perform a DELETE. This method should not be implemented
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
-    DELETE    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPkgId}/artifacts/${artifactPath}
+    DELETE    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPackageId}/artifacts/${artifactPath}
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
diff --git a/SOL003/VNFPackageManagement-API/VNFPackageContent.robot b/SOL003/VNFPackageManagement-API/VNFPackageContent.robot
index 2a76057490f0b5f4440edce33bccce9a03d5dbcc..95c635b4fc6b7968bb60f0430295e71a15e53ead 100644
--- a/SOL003/VNFPackageManagement-API/VNFPackageContent.robot
+++ b/SOL003/VNFPackageManagement-API/VNFPackageContent.robot
@@ -1,6 +1,6 @@
 *** Settings ***
 Library           JSONSchemaLibrary    schemas/
-Resource          environment/generic.txt    # Generic Parameters
+Resource          environment/variables.txt    # Generic Parameters
 Resource          environment/vnfPackageContent.txt
 Library           JSONLibrary
 Library           REST    ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT}
@@ -10,7 +10,7 @@ GET VNF Package Content
     Log    Trying to get a VNF Package Content
     Set Headers    {"Accept": "${ACCEPT_ZIP}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
-    GET    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPkgId}/package_content
+    GET    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPackageId}/package_content
     Integer    response status    200
     ${contentType}=    Output    response headers Content-Type
     Should Contain    ${contentType}    ${CONTENT_TYPE_ZIP}
@@ -21,7 +21,7 @@ GET VNF Package Content - Range
     Set Headers    {"Accept": "${ACCEPT_ZIP}"}
     Set Headers    {"Range": "${range}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
-    GET    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPkgId}/package_content
+    GET    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPackageId}/package_content
     Integer    response status    206
     Log    Received 206 Partial Content as expected.
     ${headers}=    Output    response headers
@@ -36,7 +36,7 @@ GET VNF Package Content - Range NFVO No RANGE
     Set Headers    {"Accept": "${ACCEPT_ZIP}"}
     Set Headers    {"Range": "${range}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
-    GET    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPkgId}/package_content
+    GET    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPackageId}/package_content
     Integer    response status    200
     Log    Received 200 OK as expected. The content is all available on this request. RANGE request has been ignored.
 
@@ -46,7 +46,7 @@ GET VNF Package Content - Negative Range
     Set Headers    {"Accept": "${ACCEPT_ZIP}"}
     Set Headers    {"Range": "${erroneousRange}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
-    GET    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPkgId}/package_content
+    GET    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPackageId}/package_content
     Integer    response status    416
     Log    Received 416 Range not satisfiable as expected.
     ${contentType}=    Output    response headers Content-Type
diff --git a/SOL003/VNFPackageManagement-API/VNFPackages.robot b/SOL003/VNFPackageManagement-API/VNFPackages.robot
index 59eadb096f4efb325e5d747864cdd54396ee16f8..c79cbfd436de60e4b512073e5d657ae03d5bbd5e 100644
--- a/SOL003/VNFPackageManagement-API/VNFPackages.robot
+++ b/SOL003/VNFPackageManagement-API/VNFPackages.robot
@@ -1,7 +1,7 @@
 *** Settings ***
 Resource          environment/vnfPackages.txt    # VNF Packages specific parameters
 Library           JSONSchemaLibrary    schemas/
-Resource          environment/generic.txt    # Generic Parameters
+Resource          environment/variables.txt    # Generic Parameters
 Library           JSONLibrary
 Library           REST    ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT}
 
@@ -36,7 +36,7 @@ GET all Packages - Filter
     Log    Trying to get all VNF Packages present in the NFVO Catalogue, using filter params
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
-    GET    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages?${POS_FIELDS}
+    GET    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages?${POS_FILTER}
     Integer    response status    200
     ${contentType}=    Output    response headers Content-Type
     Should Contain    ${contentType}    ${CONTENT_TYPE_JSON}
@@ -47,10 +47,10 @@ GET all Packages - Filter
     Log    Validation OK
 
 GET all Packages - Negative (wronge filter name)
-    Log    Trying to perform a negative get, filtering by the inexistent field 'nfvId'
+    Log    Trying to perform a negative get, filtering by the inexistent filter 'nfvId'
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
-    GET    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages?${NEG_FIELDS}
+    GET    ${apiRoot}/${apiName}/${apiVersion}/vnf_packages?${NEG_FILTER}
     Integer    response status    400
     Log    Received 400 Bad Request as expected
     ${contentType}=    Output    response headers Content-Type
@@ -144,7 +144,7 @@ GET all Packages - exclude_default
     Log    _links element is missing as excepted
 
 GET all Packages - fields
-    Log    Trying to get all VNF Packages present in the NFVO Catalogue, using filter params
+    Log    Trying to get all VNF Packages present in the NFVO Catalogue, using fields
     Pass Execution If    ${NFVO_FIELDS} == 0    The NFVO is not able to use fields parameter
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
diff --git a/SOL003/VNFPackageManagement-API/environment/variables.txt b/SOL003/VNFPackageManagement-API/environment/variables.txt
index aee1052a1a39d74ef82b8990985362c123774fbb..1cfd8314dbc53a86a930af0caa0ab3a55bd37833 100644
--- a/SOL003/VNFPackageManagement-API/environment/variables.txt
+++ b/SOL003/VNFPackageManagement-API/environment/variables.txt
@@ -1,19 +1,16 @@
 *** Variables ***
-${VNFM_HOST}      localhost    # Hostname of the VNFM
-${VNFM_PORT}      8080    # Listening port of the VNFM
 ${NFVO_HOST}      localhost    # Hostname of the NFVO
 ${NFVO_PORT}      8081    # Listening port of the NFVO
-${VNFM_SCHEMA}    https
 ${NFVO_SCHEMA}    https
 ${AUTHORIZATION}    Bearer 0b79bab50daca910b000d4f1a2b675d604257e42
-${CONTENT_TYPE_JSON}    application/json
 ${ACCEPT_JSON}    application/json
-${apiRoot}        /
 ${AUTH_USAGE}     1
+${CONTENT_TYPE_JSON}    application/json
 ${NEG_AUTHORIZATION}    Bearer negativetoken
-${apiVersion}     v1
-${apiName}        vnfpkgm
-${FIELD_USAGE}    1
-${NFVO_PLAIN}     1
 ${NFVO_FIELDS}    1
+
 ${vnfPackageId}  788106a2-d692-44f3-a86d-384f0ce35e42
+
+${apiRoot}        /
+${apiVersion}     v1
+${apiName}        vnfpkgm
\ No newline at end of file
diff --git a/SOL003/VNFPackageManagement-API/environment/vnfPackageArtifacts.txt b/SOL003/VNFPackageManagement-API/environment/vnfPackageArtifacts.txt
index 57893512c979f0be4360059bcaace019c4fe1de6..570dab4f3c51169856cf59982c47028e881cfade 100644
--- a/SOL003/VNFPackageManagement-API/environment/vnfPackageArtifacts.txt
+++ b/SOL003/VNFPackageManagement-API/environment/vnfPackageArtifacts.txt
@@ -1,11 +1,6 @@
 *** Variables ***
-${ACCEPT_ZIP}     application/zip
-${CONTENT_TYPE_ZIP}    application/zip
-${NFVO_RANGE_OK}    1    # If 1 means that Range is supported by the NFVO
-${erroneousVnfPkgId}    erroneousPkgId
-${vnfPkgId}       788106a2-d692-44f3-a86d-384f0ce35e42
-${erroneousRange}    bytes=100000-1000000    # Requesting a out of range number of bytes
-${onboardingStateVnfPkgId}    788106a2-d692-44f3-a86d-384f0ce35e42    # The VNF Package is in CREATED onboardingState
-${range}          bytes=0-1023
 ${artifactPath}    artifactPath
 ${CONTENT_TYPE_OCTET}    application/octet-stream
+${NFVO_RANGE_OK}    1    # If 1 means that Range is supported by the NFVO
+${range}          bytes=0-1023
+${erroneousVnfPkgId}    erroneousPkgId
diff --git a/SOL003/VNFPackageManagement-API/environment/vnfPackageContent.txt b/SOL003/VNFPackageManagement-API/environment/vnfPackageContent.txt
index 33a89bb2aa1ff61b780d98cd950d1e65f2a4cec3..01676adbd8143cd68cc26da138b3c37c61e22e52 100644
--- a/SOL003/VNFPackageManagement-API/environment/vnfPackageContent.txt
+++ b/SOL003/VNFPackageManagement-API/environment/vnfPackageContent.txt
@@ -1,9 +1,12 @@
 *** Variables ***
 ${ACCEPT_ZIP}     application/zip
-${CONTENT_TYPE_ZIP}    application/zip
 ${NFVO_RANGE_OK}    1    # If 1 means that Range is supported by the NFVO
+${range}          bytes=0-1023
+${erroneousRange}    bytes=10000000-1000000000    # Requesting a out of range number of bytes
 ${erroneousVnfPkgId}    erroneousPkgId
-${vnfPkgId}       788106a2-d692-44f3-a86d-384f0ce35e42
-${erroneousRange}    bytes=100000-1000000    # Requesting a out of range number of bytes
 ${onboardingStateVnfPkgId}    f9f130e4-05eb-4082-a676-4c97d13a883d    # The VNF Package is in CREATED onboardingState
-${range}          bytes=0-1023
+${CONTENT_TYPE_ZIP}    application/zip
+
+
+
+
diff --git a/SOL003/VNFPackageManagement-API/environment/vnfPackages.txt b/SOL003/VNFPackageManagement-API/environment/vnfPackages.txt
index ec8ef4fcb9f350e6f2696165a94cc61a75f3b206..99ff869ccf291d99924a3ba56f08fe2c765d3a13 100644
--- a/SOL003/VNFPackageManagement-API/environment/vnfPackages.txt
+++ b/SOL003/VNFPackageManagement-API/environment/vnfPackages.txt
@@ -1,5 +1,9 @@
 *** Variables ***
-${POS_FIELDS}     vnfdId=41fdd38a-3d4c-465c-83e0-f80e014425f8 ,vnfProvider=NXW    # Positive case, suing compiant fields name for filtering get request
-${NEG_FIELDS}     nfvId=41fdd38a-3d4c-465c-83e0-f80e014425f8    # Negative case, using wrong name of field
-${CAN_FILTER}     1    # NFVO in able to use filters when retrieving VNF Packages
+${POS_FILTER}     vnfdId=41fdd38a-3d4c-465c-83e0-f80e014425f8 ,vnfProvider=NXW    # Positive case, suing compiant fields name for filtering get request
+${NEG_FILTER}     nfvId=41fdd38a-3d4c-465c-83e0-f80e014425f8    # Negative case, using wrong name of field
 ${fields}         softwareImages,additionalArtifacts
+
+
+
+
+
diff --git a/SOL003/VNFPackageManagement-API/environment/vnfdInIndividualVnfPackage.txt b/SOL003/VNFPackageManagement-API/environment/vnfdInIndividualVnfPackage.txt
index 519a2794c895f3b11a61e4e202a90d4c4a0ca72f..6be83b20aa4ef5ac8d7623d846b4a443e3b275c2 100644
--- a/SOL003/VNFPackageManagement-API/environment/vnfdInIndividualVnfPackage.txt
+++ b/SOL003/VNFPackageManagement-API/environment/vnfdInIndividualVnfPackage.txt
@@ -1,11 +1,7 @@
 *** Variables ***
 ${ACCEPT_PLAIN}    text/plain
-${ACCEPT_ZIP}     application/zip
 ${CONTENT_TYPE_PLAIN}    text/plain
-${CONTENT_TYPE_ZIP}    application/zip
-${NFVO_VNFD_PLAIN}    1
-${NFVO_VNFD_ZIP}    0
 ${vnfPkgPlainVNFD}    c26ad7fb-072b-48c4-a663-7d71646d9e98    # The VNF Pakcage contains a VNFD which is a Single Plain File
+${ACCEPT_ZIP}     application/zip
+${CONTENT_TYPE_ZIP}    application/zip
 ${vnfPkgZipVNFD}    f5b220d4-6177-4ebb-a554-a43311e16075    # The VNF Package contains a VNFD composed by multiple files
-${erroneousVnfPkgId}    erroneousPkgId
-${onboardingStateVnfPkgId}    788106a2-d692-44f3-a86d-384f0ce35e42    # The VNF Package is in CREATED onboardingState
diff --git a/SOL003/VNFPerformanceManagement-API/IndividualPmJob.robot b/SOL003/VNFPerformanceManagement-API/IndividualPmJob.robot
index a8bc6d83e6649a327117b493c524d391d02147de..e03704be9bf4973e5883ce4086f4962a26265f14 100644
--- a/SOL003/VNFPerformanceManagement-API/IndividualPmJob.robot
+++ b/SOL003/VNFPerformanceManagement-API/IndividualPmJob.robot
@@ -1,6 +1,6 @@
 *** Settings ***
 Library           JSONSchemaLibrary    schemas/
-Resource          environment/generic.txt    # Generic Parameters
+Resource          environment/variables.txt    # Generic Parameters
 Library           JSONLibrary
 Resource          environment/IndividualPmJob.txt
 Library           REST    ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT}
@@ -9,7 +9,7 @@ Library           REST    ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT}
 GET Individual PM Job
     Log    Trying to get a Pm Job present in the NFVO Catalogue
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/pm_jobs/${pmJobId}
     Integer    response status    200
     ${contentType}=    Output    response headers Content-Type
@@ -23,7 +23,7 @@ GET Individual PM Job
 GET Individual PM Job - Negative (Not Found)
     Log    Trying to perform a negative get, using erroneous PM Job identifier
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/pm_jobs/${erroneousPmJobId}
     Integer    response status    404
     Log    Received 404 Not Found as expected
@@ -38,7 +38,7 @@ GET Individual PM Job - Negative (Not Found)
 DELETE Individual PM Job
     Log    Trying to delete an existing PM Job
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     DELETE    ${apiRoot}/${apiName}/${apiVersion}/pm_jobs/${pmJobId}
     Integer    response status    204
     Log    Received 204 No Content as expected
@@ -46,7 +46,7 @@ DELETE Individual PM Job
 DELETE Individual PM Job - Negative (Not Found)
     Log    Trying to delete an existing PM Job
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     DELETE    ${apiRoot}/${apiName}/${apiVersion}/pm_jobs/${erroneousPmJobId}
     Integer    response status    404
     Log    Received 404 Not Found as expected
@@ -60,7 +60,7 @@ DELETE Individual PM Job - Negative (Not Found)
 POST Individual PM Job - (Method not implemented)
     Log    Trying to perform a POST (method should not be implemented)
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     POST    ${apiRoot}/${apiName}/${apiVersion}/pm_jobs/${pmJobId}
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
@@ -68,7 +68,7 @@ POST Individual PM Job - (Method not implemented)
 PUT Individual PM Job - (Method not implemented)
     Log    Trying to perform a PUT. This method should not be implemented
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     PUT    ${apiRoot}/${apiName}/${apiVersion}/pm_jobs/${pmJobId}
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
@@ -76,7 +76,7 @@ PUT Individual PM Job - (Method not implemented)
 PATCH Individual PM Job - (Method not implemented)
     Log    Trying to perform a PATCH. This method should not be implemented
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     PATCH    ${apiRoot}/${apiName}/${apiVersion}/pm_jobs/${pmJobId}
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
diff --git a/SOL003/VNFPerformanceManagement-API/IndividualReport.robot b/SOL003/VNFPerformanceManagement-API/IndividualReport.robot
index 4bb2b37114053a8571485d43442296a725d3b911..e8752ea65c263a9e1382e80c3bf611c15e65b5cc 100644
--- a/SOL003/VNFPerformanceManagement-API/IndividualReport.robot
+++ b/SOL003/VNFPerformanceManagement-API/IndividualReport.robot
@@ -6,7 +6,7 @@ Documentation     This resource represents an individual performance report that
 ...               It is determined by means outside the scope of the present document, such as configuration or policy, how long an
 ...               individual performance report is available.
 Library           JSONSchemaLibrary    schemas/
-Resource          environment/generic.txt    # Generic Parameters
+Resource          environment/variables.txt    # Generic Parameters
 Resource          environment/reports.txt
 Library           JSONLibrary
 Library           REST    ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT}
@@ -17,7 +17,7 @@ GET Report on Single PM Job
     ...    This method shall follow the provisions specified in the tables 6.4.4.3.2-1 and 6.4.4.3.2-2 for URI query parameters,
     ...    request and response data structures, and response codes.
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": ${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": ${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/pm_jobs/${pmJobId}/reports/${reportId}
     Integer    response status    200
     ${contentType}=    Output    response headers Content-Type
@@ -32,7 +32,7 @@ GET Report on Single PM Job - Negative (Not Found)
     ...    This method shall follow the provisions specified in the tables 6.4.4.3.2-1 and 6.4.4.3.2-2 for URI query parameters,
     ...    request and response data structures, and response codes.
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": ${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": ${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/pm_jobs/${pmJobId}/reports/${erroneousReportId}
     Integer    response status    404
     Log    Received 404 Not Found as expected
@@ -45,7 +45,7 @@ GET Report on Single PM Job - Negative (Not Found)
 POST Reports - (Method not implemented)
     [Documentation]    This method is not supported. When this method is requested on this resource, the VNFM shall return a "405 Method
     ...    Not Allowed" response as defined in clause 4.3.5.4.
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": ${AUTHORIZATION}"}
     POST    ${apiRoot}/${apiName}/${apiVersion}/pm_jobs/${pmJobId}/reports/${reportId}
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
@@ -53,7 +53,7 @@ POST Reports - (Method not implemented)
 PUT Reports - (Method not implemented)
     [Documentation]    This method is not supported. When this method is requested on this resource, the VNFM shall return a "405 Method
     ...    Not Allowed" response as defined in clause 4.3.5.4.
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": ${AUTHORIZATION}"}
     PUT    ${apiRoot}/${apiName}/${apiVersion}/pm_jobs/${pmJobId}/reports/${reportId}
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
@@ -61,7 +61,7 @@ PUT Reports - (Method not implemented)
 PATCH Reports - (Method not implemented)
     [Documentation]    This method is not supported. When this method is requested on this resource, the VNFM shall return a "405 Method
     ...    Not Allowed" response as defined in clause 4.3.5.4.
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": ${AUTHORIZATION}"}
     PATCH    ${apiRoot}/${apiName}/${apiVersion}/pm_jobs/${pmJobId}/reports/${reportId}
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
@@ -69,7 +69,7 @@ PATCH Reports - (Method not implemented)
 DELETE Reports - (Method not implemented)
     [Documentation]    This method is not supported. When this method is requested on this resource, the VNFM shall return a "405 Method
     ...    Not Allowed" response as defined in clause 4.3.5.4.
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": ${AUTHORIZATION}"}
     DELETE    ${apiRoot}/${apiName}/${apiVersion}/pm_jobs/${pmJobId}/reports/${reportId}
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
diff --git a/SOL003/VNFPerformanceManagement-API/IndividualSubscription.robot b/SOL003/VNFPerformanceManagement-API/IndividualSubscription.robot
index 6bb132ddce85a7c0d6bb8d6fcb499fc8a7ffbb28..09444c6be00b311a0a191c157db2ff40c65d15af 100644
--- a/SOL003/VNFPerformanceManagement-API/IndividualSubscription.robot
+++ b/SOL003/VNFPerformanceManagement-API/IndividualSubscription.robot
@@ -2,7 +2,7 @@
 Documentation     This resource represents subscriptions. The client can use this resource to subscribe to notifications related to VNF
 ...               performance management and to query its subscriptions.
 Library           JSONSchemaLibrary    schemas/
-Resource          environment/generic.txt    # Generic Parameters
+Resource          environment/variables.txt    # Generic Parameters
 Library           REST    ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT}
 Library           OperatingSystem
 Library           JSONLibrary
@@ -15,7 +15,7 @@ GET Individual Subscription
     ...    This method shall follow the provisions specified in the tables 6.4.8.3.2-1 and 6.4.8.3.2-2 for URI query parameters,
     ...    request and response data structures, and response codes.
     Set headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": ${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": ${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId}
     Integer    response status    200
     Log    Received a 200 OK as expected
@@ -32,7 +32,7 @@ GET Individual Subscription - Negative (Not Found)
     ...    This method shall follow the provisions specified in the tables 6.4.8.3.2-1 and 6.4.8.3.2-2 for URI query parameters,
     ...    request and response data structures, and response codes.
     Set headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": ${VNFM_AUTHENTICATION}"
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": ${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${erroneousSubscriptionId}
     Integer    response status    404
     Log    Received a 404 Not found as expected
@@ -46,7 +46,7 @@ GET Individual Subscription - Negative (Not Found)
 POST Individual Subscription - (Method not implemented)
     [Documentation]    This method is not supported. When this method is requested on this resource, the VNFM shall return a "405 Method
     ...    Not Allowed" response as defined in clause 4.3.5.4.
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": ${AUTHORIZATION}"}
     POST    ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId}
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
@@ -54,7 +54,7 @@ POST Individual Subscription - (Method not implemented)
 PUT Individual Subscription - (Method not implemented)
     [Documentation]    This method is not supported. When this method is requested on this resource, the VNFM shall return a "405 Method
     ...    Not Allowed" response as defined in clause 4.3.5.4.
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": ${AUTHORIZATION}"}
     PUT    ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId}
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
@@ -62,7 +62,7 @@ PUT Individual Subscription - (Method not implemented)
 PATCH Individual Subscription - (Method not implemented)
     [Documentation]    This method is not supported. When this method is requested on this resource, the VNFM shall return a "405 Method
     ...    Not Allowed" response as defined in clause 4.3.5.4.
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": ${AUTHORIZATION}"}
     PATCH    ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId}
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
@@ -72,7 +72,7 @@ DELETE Individual Subscription - (Method not implemented)
     ...    This method shall follow the provisions specified in the tables 6.4.8.3.5-1 and 6.4.8.3.5-2 for URI query parameters,
     ...    request and response data structures, and response codes.
     Set headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": ${VNFM_AUTHENTICATION}"
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": ${AUTHORIZATION}"}
     DELETE    ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId}
     Integer    response status    204
     Log    Received a 204 No Content as expected
diff --git a/SOL003/VNFPerformanceManagement-API/IndividualThreshold.robot b/SOL003/VNFPerformanceManagement-API/IndividualThreshold.robot
index 108fc481f7a6bfc2a336e3ff4ac40d90962392ca..02d1ce8529027c1c7c49e5b68416c6448241d361 100644
--- a/SOL003/VNFPerformanceManagement-API/IndividualThreshold.robot
+++ b/SOL003/VNFPerformanceManagement-API/IndividualThreshold.robot
@@ -1,7 +1,7 @@
 *** Settings ***
 Documentation     This resource represents an individual threshold.
 Library           JSONSchemaLibrary    schemas/
-Resource          environment/generic.txt    # Generic Parameters
+Resource          environment/variables.txt    # Generic Parameters
 Library           JSONLibrary
 Library           REST    ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT}
 Library           OperatingSystem
@@ -13,7 +13,7 @@ GET Individual Threshold
     ...    This method shall follow the provisions specified in the tables 6.4.5.3.2-1 and 6.4.5.3.2-2 for URI query parameters,
     ...    request and response data structures, and response codes.
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": ${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": ${AUTHENTICATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/thresholds/${thresholdId}
     Integer    response status    200
     ${contentType}=    Output    response headers Content-Type
@@ -28,7 +28,7 @@ GET Individual Threshold - Negative (Not Found)
     ...    This method shall follow the provisions specified in the tables 6.4.5.3.2-1 and 6.4.5.3.2-2 for URI query parameters,
     ...    request and response data structures, and response codes.
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": ${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": ${AUTHENTICATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/thresholds/${erroneousThresholdId}
     Integer    response status    404
     Log    Received 404 Not Found as expected
@@ -42,7 +42,7 @@ DELETE Individual Threshold
     [Documentation]    This method allows to delete a threshold.
     ...    This method shall follow the provisions specified in the tables 6.4.6.3.5-1, and 6.4.6.3.5-2 for URI query parameters,
     ...    request and response data structures, and response codes.
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": ${AUTHENTICATION}"}
     DELETE    ${apiRoot}/${apiName}/${apiVersion}/thresholds/${thresholdId}
     Integer    response status    204
     Log    Received 204 No Content as expected
@@ -54,7 +54,7 @@ DELETE Individual Threshold - Negative (Not Found)
     [Documentation]    This method allows to delete a threshold.
     ...    This method shall follow the provisions specified in the tables 6.4.6.3.5-1, and 6.4.6.3.5-2 for URI query parameters,
     ...    request and response data structures, and response codes.
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": ${AUTHENTICATION}"}
     DELETE    ${apiRoot}/${apiName}/${apiVersion}/thresholds/${erroneousThresholdId}
     Integer    response status    404
     Log    Received 404 Not Found as expected
@@ -66,7 +66,7 @@ DELETE Individual Threshold - Negative (Not Found)
 POST Individual Threshold - (Method not implemented)
     [Documentation]    This method is not supported. When this method is requested on this resource, the VNFM shall return a "405 Method
     ...    Not Allowed" response as defined in clause 4.3.5.4.
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": ${AUTHENTICATION}"}
     POST    ${apiRoot}/${apiName}/${apiVersion}/thresholds
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
@@ -74,7 +74,7 @@ POST Individual Threshold - (Method not implemented)
 PUT Individual Threshold - (Method not implemented)
     [Documentation]    This method is not supported. When this method is requested on this resource, the VNFM shall return a "405 Method
     ...    Not Allowed" response as defined in clause 4.3.5.4.
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": ${AUTHENTICATION}"}
     PUT    ${apiRoot}/${apiName}/${apiVersion}/thresholds
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
@@ -82,7 +82,7 @@ PUT Individual Threshold - (Method not implemented)
 PATCH Individual Threshold - (Method not implemented)
     [Documentation]    This method is not supported. When this method is requested on this resource, the VNFM shall return a "405 Method
     ...    Not Allowed" response as defined in clause 4.3.5.4.
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": ${AUTHENTICATION}"}
     PATCH    ${apiRoot}/${apiName}/${apiVersion}/thresholds
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
diff --git a/SOL003/VNFPerformanceManagement-API/PMJobs.robot b/SOL003/VNFPerformanceManagement-API/PMJobs.robot
index e35350d112c45aec35caab6e290181a1460011c5..f5402bb2b08a745b4a53b4a71a74b29d9c5ce504 100644
--- a/SOL003/VNFPerformanceManagement-API/PMJobs.robot
+++ b/SOL003/VNFPerformanceManagement-API/PMJobs.robot
@@ -1,6 +1,6 @@
 *** Settings ***
 Library           JSONSchemaLibrary    schemas/
-Resource          environment/generic.txt    # Generic Parameters
+Resource          environment/variables.txt    # Generic Parameters
 Library           JSONLibrary
 Library           OperatingSystem
 Resource          environment/pmJobs.txt
@@ -11,7 +11,7 @@ Library           MockServerLibrary
 GET all Pm Jobs
     Log    Trying to get all PM Jobs present in the VNFM
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/pm_jobs
     Integer    response status    200
     ${contentType}=    Output    response headers Content-Type
@@ -29,7 +29,7 @@ GET all Pm Jobs
 GET all Pm Jobs - Filter
     Log    Trying to get all PM Jobs present in the VNFM, using filter params
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/pm_jobs?${POS_FILTER}
     Integer    response status    200
     ${contentType}=    Output    response headers Content-Type
@@ -43,7 +43,7 @@ GET all Pm Jobs - Filter
 GET all Pm Jobs - all_fields
     Log    Trying to get all PM Jobs present in the VNFM, using 'all_fields' filter
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/pm_jobs?all_fields
     Integer    response status    200
     ${contentType}=    Output    response headers Content-Type
@@ -69,7 +69,7 @@ GET all Pm Jobs - all_fields
 GET all Pm Jobs - exclude_default
     Log    Trying to get all VNF Packages present in the VNFM, using filter params
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/pm_jobs?exclude_default
     Integer    response status    200
     ${contentType}=    Output    response headers Content-Type
@@ -88,7 +88,7 @@ GET all Pm Jobs - fields
     Log    Trying to get all VNF Packages present in the VNFM, using filter params
     Pass Execution If    ${FIELD_USAGE} == 0    Skipping test as VNFM is not supporting 'fields'
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/pm_jobs?fields=${fields}
     Integer    response status    200
     ${contentType}=    Output    response headers Content-Type
@@ -111,7 +111,7 @@ GET all Pm Jobs - exclude_fields
     Log    Trying to get all VNF Packages present in the VNFM, using filter params
     Pass Execution If    ${FIELD_USAGE} == 0    Skipping test as VNFM is not supporting 'fields'
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/pm_jobs?fields=${fields}
     Integer    response status    200
     ${contentType}=    Output    response headers Content-Type
@@ -133,7 +133,7 @@ GET all Pm Jobs - exclude_fields
 GET all Pm Jobs - Negative (wronge filter name)
     Log    Trying to get all PM Jobs present in the VNFM, using an erroneous filter param
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/pm_jobs?${NEG_FILTER}
     Integer    response status    400
     Log    Received 400 Bad Request as expected
@@ -148,7 +148,7 @@ GET all Pm Jobs - Negative (wronge filter name)
 GET all Pm Jobs (Negative: Not found)
     Log    Trying to perform a GET on a erroneous URI
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/pm_job    # wrong URI /pm_job instead of /pm_jobs
     Integer    response status    404
     Log    Received 404 Not Found as expected
@@ -164,7 +164,7 @@ POST all PM Jobs - Create new PM Job
     Log    Creating a new PM Job
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
     Set Headers    {"Content-Type": "${CONTENT_TYPE_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     ${body}=    Get File    jsons/CreatePmJobRequest.json
     POST    ${apiRoot}/${apiName}/${apiVersion}/pm_jobs    ${body}
     Integer    response status    201
@@ -180,7 +180,7 @@ POST all PM Jobs - Create new PM Job
 PUT all PM Jobs - (Method not implemented)
     Log    Trying to perform a PUT. This method should not be implemented
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     PUT    ${apiRoot}/${apiName}/${apiVersion}/pm_jobs
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
@@ -188,7 +188,7 @@ PUT all PM Jobs - (Method not implemented)
 PATCH all Pm Jobs - (Method not implemented)
     Log    Trying to perform a PATCH. This method should not be implemented
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     PATCH    ${apiRoot}/${apiName}/${apiVersion}/pm_jobs
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
@@ -196,7 +196,7 @@ PATCH all Pm Jobs - (Method not implemented)
 DELETE all Pm Jobs - (Method not implemented)
     Log    Trying to perform a DELETE. This method should not be implemented
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     DELETE    ${apiRoot}/${apiName}/${apiVersion}/pm_jobs
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
diff --git a/SOL003/VNFPerformanceManagement-API/PMJobsWithChecks.robot b/SOL003/VNFPerformanceManagement-API/PMJobsWithChecks.robot
index 83655b5f54d467801fb9be2037b17d7c65644136..82d6f17fbba91eba1af5920c767843d359752c4f 100644
--- a/SOL003/VNFPerformanceManagement-API/PMJobsWithChecks.robot
+++ b/SOL003/VNFPerformanceManagement-API/PMJobsWithChecks.robot
@@ -1,6 +1,7 @@
 *** Setting ***
 Resource   environment/pmJobs.txt
-Resource   environment/generic.txt
+Resource   environment/IndividualPmJob.txt
+Resource   environment/variables.txt
 Library    OperatingSystem
 Library    BuiltIn
 Library    Collections
@@ -30,7 +31,7 @@ Create PMJob
     Log    Creating a new PM Job
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
     Set Headers    {"Content-Type": "${CONTENT_TYPE_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     ${body}=    Get File    jsons/CreatePmJobRequest.json
     POST    ${apiRoot}/${apiName}/${apiVersion}/pm_jobs    ${body}
     [Return]    response 
@@ -58,9 +59,6 @@ Retrieve PMJob
     [Arguments]    ${pmJobId}
     Set Headers  {"Accept":"${ACCEPT_JSON}"}  
     Set Headers  {"Content-Type": "${CONTENT_TYPE_JSON}"}
-    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     Get    ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${pmJobId}
     [Return]    response
-    
-    
-    
diff --git a/SOL003/VNFPerformanceManagement-API/Subscriptions.robot b/SOL003/VNFPerformanceManagement-API/Subscriptions.robot
index 2399a9e8b547a78dc672b847f2b3eae6a8252eba..bce88be235a97ab8ab4ce606f75392daaa7de475 100644
--- a/SOL003/VNFPerformanceManagement-API/Subscriptions.robot
+++ b/SOL003/VNFPerformanceManagement-API/Subscriptions.robot
@@ -2,7 +2,7 @@
 Documentation     This resource represents subscriptions. The client can use this resource to subscribe to notifications related to VNF
 ...               performance management and to query its subscriptions.
 Library           JSONSchemaLibrary    schemas/
-Resource          environment/generic.txt    # Generic Parameters
+Resource          environment/variables.txt    # Generic Parameters
 Library           REST    ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT}
 Library           OperatingSystem
 Library           JSONLibrary
@@ -15,7 +15,7 @@ GET Subscription
     ...    This method shall follow the provisions specified in the tables 6.4.7.3.2-1 and 6.4.7.3.2-2 for URI query parameters,
     ...    request and response data structures, and response codes.
     Set headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": ${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": ${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/subscriptions
     Integer    response status    200
     Log    Received a 200 OK as expected
@@ -32,7 +32,7 @@ GET Subscription - Filter
     ...    This method shall follow the provisions specified in the tables 6.4.7.3.2-1 and 6.4.7.3.2-2 for URI query parameters,
     ...    request and response data structures, and response codes.
     Set headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": ${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": ${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/subscriptions?${filter_ok}
     Integer    response status    200
     Log    Received a 200 OK as expected
@@ -49,7 +49,7 @@ GET Subscription - Negative Filter (Erroneous filter)
     ...    This method shall follow the provisions specified in the tables 6.4.7.3.2-1 and 6.4.7.3.2-2 for URI query parameters,
     ...    request and response data structures, and response codes.
     Set headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": ${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": ${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/subscriptions?${filter_ko}
     Integer    response status    400
     Log    Received a 400 Bad Request as expected
@@ -66,7 +66,7 @@ GET Subscription - Negative (Not Found)
     ...    This method shall follow the provisions specified in the tables 6.4.7.3.2-1 and 6.4.7.3.2-2 for URI query parameters,
     ...    request and response data structures, and response codes.
     Set headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": ${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": ${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/subscription
     Integer    response status    404
     Log    Received a 404 Not found as expected
@@ -89,7 +89,7 @@ POST Subscription
     ...    the existing subscription resource with the same filter and callbackUri).
     Set headers    {"Content-Type": "${CONTENT_TYPE_JSON}"}
     Set headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": ${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": ${AUTHORIZATION}"}
     ${body_request}=    Get File    jsons/subscriptions.json
     POST    ${apiRoot}/${apiName}/${apiVersion}/subscriptions    ${body_request}
     Integer    response status    201
@@ -117,7 +117,7 @@ POST Subscription - DUPLICATION
     Pass Execution If    ${VNFM_DUPLICATION} == 1    VNFM is permitting duplication. Skipping the test
     Set headers    {"Content-Type": "${CONTENT_TYPE_JSON}"}
     Set headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": ${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": ${AUTHORIZATION}"}
     ${body_request}=    Get File    jsons/subscriptions.json
     POST    ${apiRoot}/${apiName}/${apiVersion}/subscriptions    ${body_request}
     Integer    response status    303
@@ -144,7 +144,7 @@ POST Subscription - NO DUPLICATION
     Pass Execution If    ${VNFM_DUPLICATION} == 0    VNFM is not permitting duplication. Skipping the test
     Set headers    {"Content-Type": "${CONTENT_TYPE_JSON}"}
     Set headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": ${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": ${AUTHORIZATION}"}
     ${body_request}=    Get File    jsons/subscriptions.json
     POST    ${apiRoot}/${apiName}/${apiVersion}/subscriptions    ${body_request}
     Integer    response status    201
@@ -162,7 +162,7 @@ POST Subscription - NO DUPLICATION
 PUT Subscription - (Method not implemented)
     [Documentation]    This method is not supported. When this method is requested on this resource, the VNFM shall return a "405 Method
     ...    Not Allowed" response as defined in clause 4.3.5.4.
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": ${AUTHORIZATION}"}
     PUT    ${apiRoot}/${apiName}/${apiVersion}/subscriptions
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
@@ -170,7 +170,7 @@ PUT Subscription - (Method not implemented)
 PATCH Subscription - (Method not implemented)
     [Documentation]    This method is not supported. When this method is requested on this resource, the VNFM shall return a "405 Method
     ...    Not Allowed" response as defined in clause 4.3.5.4.
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": ${AUTHORIZATION}"}
     PATCH    ${apiRoot}/${apiName}/${apiVersion}/subscriptions
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
@@ -178,7 +178,7 @@ PATCH Subscription - (Method not implemented)
 DELETE Subscription - (Method not implemented)
     [Documentation]    This method is not supported. When this method is requested on this resource, the VNFM shall return a "405 Method
     ...    Not Allowed" response as defined in clause 4.3.5.4.
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": ${AUTHORIZATION}"}
     DELETE    ${apiRoot}/${apiName}/${apiVersion}/subscriptions
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
diff --git a/SOL003/VNFPerformanceManagement-API/Thresholds.robot b/SOL003/VNFPerformanceManagement-API/Thresholds.robot
index 57f84b2d4954619557cd5812954426d1861e66b1..c6ff04b0440a906b114b0b4da173071c53a85ba2 100644
--- a/SOL003/VNFPerformanceManagement-API/Thresholds.robot
+++ b/SOL003/VNFPerformanceManagement-API/Thresholds.robot
@@ -1,7 +1,7 @@
 *** Settings ***
 Documentation     This resource represents thresholds. The client can use this resource to create and query thresholds.
 Library           JSONSchemaLibrary    schemas/
-Resource          environment/generic.txt    # Generic Parameters
+Resource          environment/variables.txt    # Generic Parameters
 Library           JSONLibrary
 Library           REST    ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT}
 Resource          environment/thresholds.txt
@@ -13,7 +13,7 @@ GET Thresholds
     ...    This method shall follow the provisions specified in the tables 6.4.5.3.2-1 and 6.4.5.3.2-2 for URI query parameters,
     ...    request and response data structures, and response codes.
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": ${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/thresholds
     Integer    response status    200
     ${contentType}=    Output    response headers Content-Type
@@ -28,7 +28,7 @@ GET Thresholds - Filter
     ...    This method shall follow the provisions specified in the tables 6.4.5.3.2-1 and 6.4.5.3.2-2 for URI query parameters,
     ...    request and response data structures, and response codes.
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": ${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/thresholds?${FILTER_OK}
     Integer    response status    200
     ${contentType}=    Output    response headers Content-Type
@@ -43,7 +43,7 @@ GET Thresholds - NEGATIVE Filter
     ...    This method shall follow the provisions specified in the tables 6.4.5.3.2-1 and 6.4.5.3.2-2 for URI query parameters,
     ...    request and response data structures, and response codes.
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": ${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/thresholds?${FILTER_KO}
     Integer    response status    400
     ${result}=    Output    response body
@@ -56,7 +56,7 @@ GET Thresholds - Negative (Not Found)
     ...    This method shall follow the provisions specified in the tables 6.4.5.3.2-1 and 6.4.5.3.2-2 for URI query parameters,
     ...    request and response data structures, and response codes.
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": ${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     GET    ${apiRoot}/${apiName}/${apiVersion}/threshold
     Integer    response status    404
     Log    Received 404 Not Found as expected
@@ -70,7 +70,7 @@ POST Reports
     [Documentation]    The POST method can be used by the client to create a threshold.
     ...    This method shall follow the provisions specified in the tables 6.4.5.3.1-1 and 6.4.5.3.1-2 for URI query parameters,
     ...    request and response data structures, and response codes.
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
     Set Headers    {"Content-Type": "${CONTENT_TYPE_JSON}"}
     ${request}=    Get File    jsons/CreateThresholdRequest.json
@@ -88,7 +88,7 @@ POST Reports
 PUT Reports - (Method not implemented)
     [Documentation]    This method is not supported. When this method is requested on this resource, the VNFM shall return a "405 Method
     ...    Not Allowed" response as defined in clause 4.3.5.4.
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     PUT    ${apiRoot}/${apiName}/${apiVersion}/thresholds
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
@@ -96,7 +96,7 @@ PUT Reports - (Method not implemented)
 PATCH Reports - (Method not implemented)
     [Documentation]    This method is not supported. When this method is requested on this resource, the VNFM shall return a "405 Method
     ...    Not Allowed" response as defined in clause 4.3.5.4.
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     PATCH    ${apiRoot}/${apiName}/${apiVersion}/thresholds
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
@@ -104,7 +104,7 @@ PATCH Reports - (Method not implemented)
 DELETE Reports - (Method not implemented)
     [Documentation]    This method is not supported. When this method is requested on this resource, the VNFM shall return a "405 Method
     ...    Not Allowed" response as defined in clause 4.3.5.4.
-    Run Keyword If    ${VNFM_AUTH_USAGE} == 1    Set Headers    {"Authorization": "${VNFM_AUTHENTICATION}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
     DELETE    ${apiRoot}/${apiName}/${apiVersion}/thresholds
     Integer    response status    405
     Log    Received 405 Method not implemented as expected
diff --git a/SOL003/VNFPerformanceManagement-API/environment/reports.txt b/SOL003/VNFPerformanceManagement-API/environment/reports.txt
index 7edfcc5cee327d26b1565e7d4a753a5731c12858..de12d5145866d4a221b5361816dec57eea14b902 100644
--- a/SOL003/VNFPerformanceManagement-API/environment/reports.txt
+++ b/SOL003/VNFPerformanceManagement-API/environment/reports.txt
@@ -1,4 +1,4 @@
 *** Variables ***
-${pmJobId}        1f50d68b-82e8-4deb-bd40-c934d4d1ac0a
 ${reportId}       0fb4c875-e07f-46ca-a9dd-13907667a568
 ${erroneousReportId}    erroneousReportId
+${pmJobId}        1f50d68b-82e8-4deb-bd40-c934d4d1ac0a
diff --git a/SOL003/VNFPerformanceManagement-API/environment/variables.txt b/SOL003/VNFPerformanceManagement-API/environment/variables.txt
index 4f4b01943e95cea8574fb7e33af3b9690858ab30..cf74185827e74ae1e67fa0ed3c6d4e537e400736 100644
--- a/SOL003/VNFPerformanceManagement-API/environment/variables.txt
+++ b/SOL003/VNFPerformanceManagement-API/environment/variables.txt
@@ -1,19 +1,19 @@
 *** Variables ***
 ${VNFM_HOST}      localhost    # Hostname of the VNFM
 ${VNFM_PORT}      8080    # Listening port of the VNFM
-${NFVO_HOST}      localhost    # Hostname of the NFVO
-${NFVO_PORT}      8081    # Listening port of the NFVO
 ${VNFM_SCHEMA}    https
-${NFVO_SCHEMA}    https
+
 ${AUTHORIZATION}    Bearer 0b79bab50daca910b000d4f1a2b675d604257e42
+${NEG_AUTHORIZATION}    Bearer negativetoken
+
 ${CONTENT_TYPE_JSON}    application/json
 ${ACCEPT_JSON}    application/json
-${apiRoot}        /
 ${AUTH_USAGE}     1
-${NEG_AUTHORIZATION}    Bearer negativetoken
-${apiVersion}     v1
-${apiName}        vnfpm
 ${FIELD_USAGE}    1
-${VNFM_AUTHENTICATION}    Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
-${VNFM_AUTH_USAGE}    1
+
 ${VNFM_DUPLICATION}    1
+
+${apiRoot}        /
+${apiVersion}     v1
+${apiName}        vnfpm
+
diff --git a/SOL003/VNFPerformanceManagementNotification-API/PerformanceManagementNotification.robot b/SOL003/VNFPerformanceManagementNotification-API/PerformanceManagementNotification.robot
index 65349f8c1a34e229a4f7b0dfce8ce7473266db7c..fff93f0b781a55e6dbaa187dc70d9fe2a71f5974 100644
--- a/SOL003/VNFPerformanceManagementNotification-API/PerformanceManagementNotification.robot
+++ b/SOL003/VNFPerformanceManagementNotification-API/PerformanceManagementNotification.robot
@@ -1,5 +1,5 @@
 *** Setting ***
-Resource	environment/generic.txt
+Resource	environment/variables.txt
 Suite Setup    Create Sessions
 Suite Teardown    Terminate All Processes    kill=true
 Library    MockServerLibrary
diff --git a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/IndividualSubscription.robot b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/IndividualSubscription.robot
index 6e1ea344c256acbe80769e94e40727a1077fc87f..1bb3a6bfd98e8ef7f7fcee37d7ac93e23e688f23 100644
--- a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/IndividualSubscription.robot
+++ b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/IndividualSubscription.robot
@@ -3,7 +3,7 @@ Resource    environment/variables.txt
 Library    OperatingSystem
 Library    JSONLibrary
 Library    JSONSchemaLibrary    schemas/
-Library    REST    ${VNFM_SCHEMA}://${NFVO_HOST}:${NFVO_PORT}     
+Library    REST    ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT}
 ...    spec=SOL003-VirtualisedResourcesQuotaAvailableNotification-API.yaml
 Documentation    This resource represents an individual subscription. The client can use this resource to read and to terminate a
 ...    subscription to notifications related to the availability of the virtualised resources quotas.
diff --git a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/NotificationEndpoint.robot b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/NotificationEndpoint.robot
index 57870aefdf3d324fb5af5e69fa6a6a5f85ae84ad..ad10316d056e763fda23bc99f82e0fc440a26c98 100644
--- a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/NotificationEndpoint.robot
+++ b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/NotificationEndpoint.robot
@@ -1,12 +1,11 @@
 *** Settings ***
 Resource    environment/variables.txt 
-Library    REST    ${VNFM_SCHEMA}://${VNFM_HOST}:${notification_port}
 Library    MockServerLibrary
 Library    Process
 Library    OperatingSystem
 
 *** Variables ***
-${sleep_interval}    20s
+
 
 *** Test Cases ***
 Deliver a notification - Vr Quota Availibility
@@ -22,45 +21,45 @@ Deliver a notification - Vr Quota Availibility
     ${json}=	Get File	schemas/VrQuotaAvailNotification.schema.json
     ${BODY}=	evaluate	json.loads('''${json}''')	json
     Log  Creating mock request and response to handle Vr Quota AvailibilityNotification
-    &{req}=  Create Mock Request Matcher	POST  ${notification_ep}  body_type="JSON_SCHEMA"    body=${BODY}
+    &{req}=  Create Mock Request Matcher	POST  ${callback_endpoint}  body_type="JSON_SCHEMA"    body=${BODY}
     &{rsp}=  Create Mock Response	headers="Content-Type: application/json"  status_code=204
     Create Mock Expectation  ${req}  ${rsp}
     Sleep  ${sleep_interval}
     Log  Verifying results
     Verify Mock Expectation  ${req}
     Log  Cleaning the endpoint
-    Clear Requests  ${notification_ep}
+    Clear Requests  ${callback_endpoint}
 
 Test a notification end point
     log    The GET method allows the server to test the notification endpoint
-    Get    ${notification_ep}
+    Get    ${callback_endpoint}
     Log    Validate Status code
     Output    response
     Integer    response status    204
 
 PUT notification - Method not implemented
     log    Trying to perform a PUT. This method should not be implemented
-    Put    ${notification_ep}    
+    Put    ${callback_endpoint}
     Log    Validate Status code
     Output    response
     Integer    response status    405
 
 PATCH subscriptions - Method not implemented
     log    Trying to perform a PATCH. This method should not be implemented
-    Patch    ${notification_ep}    
+    Patch    ${callback_endpoint}
     Log    Validate Status code
     Output    response
     Integer    response status    405
 
 DELETE subscriptions - Method not implemented
     log    Trying to perform a DELETE. This method should not be implemented
-    Delete    ${notification_ep}
+    Delete    ${callback_endpoint}
     Log    Validate Status code
     Output    response
     Integer    response status    405
 
 *** Keywords ***
 Create Sessions
-    Start Process  java  -jar  ../../bin/mockserver-netty-5.3.0-jar-with-dependencies.jar  -serverPort  ${notification_port}  alias=mockInstance
+    Start Process  java  -jar  ../../bin/mockserver-netty-5.3.0-jar-with-dependencies.jar  -serverPort  ${callback_port}  alias=mockInstance
     Wait For Process  handle=mockInstance  timeout=5s  on_timeout=continue
-    Create Mock Session  ${NFVO_SCHEMA}://${NFVO_HOST}:${notification_port}     #The API producer is set to NFVO according to SOL003-5.3.9
\ No newline at end of file
+    Create Mock Session  ${callback_uri}:${callback_port}     #The API producer is set to NFVO according to SOL003-5.3.9
\ No newline at end of file
diff --git a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/environment/variables.txt b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/environment/variables.txt
index fa6a720bf62bff10df5ea3ec207fbeffefa80d81..2d275e662c99a35c0a3f20fc63da724c31d11287 100644
--- a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/environment/variables.txt
+++ b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/environment/variables.txt
@@ -1,37 +1,26 @@
 *** Variables ***
-${VNFM_HOST}      localhost    # Hostname of the VNFM
-${VNFM_PORT}      8080    # Listening port of the VNFM
 ${NFVO_HOST}      localhost    # Hostname of the NFVO
 ${NFVO_PORT}      8081    # Listening port of the NFVO
-${VNFM_SCHEMA}    https
 ${NFVO_SCHEMA}    https
 ${AUTHORIZATION}    Bearer    QWxhZGRpbjpvcGVuIHNlc2FtZQ==
 ${CONTENT_TYPE}    application/json
-${CONTENT_TYPE_PATCH}    application/merge-patch+json 
-${ACCEPT}         application/json
-${apiRoot}        /
-${apiName}        vrqan
-${apiVersion}     v1    
 ${AUTH_USAGE}     1
-${WRONG_AUTHORIZATION}    Bearer    XXXXXWRONGXXXXX
-${alarm_filter}       managedObjectId
-${managedObjectId}    007c111c-38a1-42c0-a666-7475ecb1567c
-${invalid_alarm_filter}    badFilter 
-${alarmId}    6fc3539c-e602-4afa-8e13-962fb5a7d81d
-${vnfInstanceDescription}    description vnf
-${vnfInstanceDescription_Update}    Updated description vnf 
-${SINGLE_FILE_VNFD}    1    # If VNFD is PLAIN TEXT
-${ACCEPT_PLAIN}    text/plain
-${ACCEPT_ZIP}     application/zip
-${vnfPkgId_processing}    007c111c-38a1-42c0-a666-7475ecb1567c
-${ARTIFACT_TYPE}    application/octet-stream
-${ARTIFACT_ID}    artifactId
-${WRONG_ACCEPT}    application/json
-${vnfLcmOpOccId}    6fc3539c-e602-4afa-8e13-962fb5a7d81d
+${ACCEPT}         application/json
 ${NFVO_DUPLICATION}    0
+${subscriptionId}    6fc3539c-e602-4afa-8e13-962fb5a7d81f
+
+
 ${sub_filter}    filter
 ${sub_filter_invalid}    filter_invalid
-${subscriptionId}    6fc3539c-e602-4afa-8e13-962fb5a7d81f
-${notification_ep}    notification
-${notification_port}    9091
-${VrQuotaAvailNotification}    {}
\ No newline at end of file
+
+${callback_endpoint}    /notification
+${callback_port}    9091
+${callback_uri}     http://localhost
+${sleep_interval}    20s
+
+
+${apiRoot}        /
+${apiName}        vrqan
+${apiVersion}     v1
+
+${VrQuotaAvailNotification}    {}
diff --git a/SOL005/NSDManagement-API/schemas/NsdInfo.schema.json b/SOL005/NSDManagement-API/schemas/NsdInfo.schema.json
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..c95db345b9b8561c8fd61abe4e747396b3c194c7 100644
--- a/SOL005/NSDManagement-API/schemas/NsdInfo.schema.json
+++ b/SOL005/NSDManagement-API/schemas/NsdInfo.schema.json
@@ -0,0 +1,85 @@
+{
+  "type": "object",
+  "required": [
+    "_links",
+    "id",
+    "nsdOnboardingState",
+    "nsdOperationalState",
+    "nsdUsageState"
+  ],
+  "properties": {
+    "id": {
+      "type": "string",
+      "description": "Identifier of the onboarded individual NS descriptor resource. This identifier is allocated by the NFVO."
+    },
+    "nsdId": {
+      "type": "object",
+      "description": "This identifier, which is allocated by the NSD designer, identifies the NSD in a globally unique way. It is copied from the NSD content and shall be present after the NSD content is on-boarded."
+    },
+    "nsdName": {
+      "type": "string",
+      "description": "Name of the onboarded NSD. This information is copied from the NSD content and shall be present after the NSD content is on-boarded."
+    },
+    "nsdVersion": {
+      "type": "string",
+      "description": "Version of the on-boarded NSD. The NSD version is a string of variable length.This information is copied from the NSD content and shall be present after the NSD content is on-boarded."
+    },
+    "nsdDesigner": {
+      "type": "string",
+      "description": "Designer of the on-boarded NSD. This information \nis copied from the NSD content and shall be present after the NSD content is on-boarded."
+    },
+    "nsdInvariantId": {
+      "type": "string",
+      "description": "This identifier, which is allocated by the NSD designer, identifies an NSD in a version independent manner. This information is copied from the NSD content and shall be present after the NSD content is on-boarded."
+    },
+    "vnfPkgIds": {
+      "type": "array",
+      "description": "Identifies the VNF package for the VNFD referenced by the on-boarded NS descriptor resource.",
+      "items": {
+        "type": "string"
+      }
+    },
+    "pnfdInfoIds": {
+      "type": "array",
+      "description": "Identifies the PnfdInfo element for the PNFD referenced by the on-boarded NS descriptor resource.",
+      "items": {
+        "type": "string"
+      }
+    },
+    "nestedNsdInfoIds": {
+      "type": "array",
+      "description": "Identifies the NsdInfo element for the nested NSD referenced by the on-boarded NS descriptor resource. At least one of the attributes – vnfPkgId and nestedNsdInfoId shall be present, after the NSD is on-boarded.",
+      "items": {
+        "type": "string"
+      }
+    },
+    "nsdOnboardingState": {
+      "$ref": "#/definitions/NsdOnboardingStateType"
+    },
+    "onboardingFailureDetails": {
+      "$ref": "#/definitions/ProblemDetails"
+    },
+    "nsdOperationalState": {
+      "$ref": "#/definitions/NsdOperationalStateType"
+    },
+    "nsdUsageState": {
+      "$ref": "#/definitions/NsdUsageStateType"
+    },
+    "userDefinedData": {
+      "$ref": "#/definitions/KeyValuePairs"
+    },
+    "_links": {
+      "type": "object",
+      "description": "Links to resources related to this resource.",
+      "properties": {
+        "self": {
+          "$ref": "#/definitions/Link"
+        },
+        "nsd_content": {
+          "$ref": "#/definitions/Link"
+        }
+      }
+    }
+  },
+  "description": "This type represents a response for the query NSD operation. It shall comply with the provisions defined in\nTable 5.5.2.2-1 of GS NFV-SOL 005."
+}
\ No newline at end of file
diff --git a/SOL005/NSDManagement-API/schemas/NsdInfoModification.schema.json b/SOL005/NSDManagement-API/schemas/NsdInfoModification.schema.json
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..4a5f736f541617ed0de8d5b50883b88a707e2d45 100644
--- a/SOL005/NSDManagement-API/schemas/NsdInfoModification.schema.json
+++ b/SOL005/NSDManagement-API/schemas/NsdInfoModification.schema.json
@@ -0,0 +1,13 @@
+{
+  "type": "object",
+  "properties": {
+    "nsdOperationalState": {
+      "$ref": "#/definitions/NsdOperationalStateType"
+    },
+    "userDefinedData": {
+      "type": "object",
+      "description": "Modifications of the \"userDefinedData\" attribute in \"NsdInfo\" data type. See note. If present, these modifications shall be applied according to the rules of JSON Merge PATCH (see IETF RFC 7396 [25]). NOTE: At least one of the attributes - nsdOperationalState and userDefinedData - shall be present."
+    }
+  },
+  "description": "This type represents attribute modifications for an individual NS descriptor resource based on the \"NsdInfo\" data type. The attributes of \"NsdInfo\" that can be modified are included in the \"NsdInfoModifications\" data type.\n\nNOTE: At least one of the attributes - nsdOperationalState and userDefinedData - shall be present."
+}
\ No newline at end of file
diff --git a/SOL005/NSDManagement-API/schemas/NsdInfos.schema.json b/SOL005/NSDManagement-API/schemas/NsdInfos.schema.json
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..3cadc448ffa140c230790163803861084ac86258 100644
--- a/SOL005/NSDManagement-API/schemas/NsdInfos.schema.json
+++ b/SOL005/NSDManagement-API/schemas/NsdInfos.schema.json
@@ -0,0 +1,88 @@
+{
+  "type": "array",
+  "items": {
+    "type": "object",
+    "required": [
+      "_links",
+      "id",
+      "nsdOnboardingState",
+      "nsdOperationalState",
+      "nsdUsageState"
+    ],
+    "properties": {
+      "id": {
+        "type": "string",
+        "description": "Identifier of the onboarded individual NS descriptor resource. This identifier is allocated by the NFVO."
+      },
+      "nsdId": {
+        "type": "object",
+        "description": "This identifier, which is allocated by the NSD designer, identifies the NSD in a globally unique way. It is copied from the NSD content and shall be present after the NSD content is on-boarded."
+      },
+      "nsdName": {
+        "type": "string",
+        "description": "Name of the onboarded NSD. This information is copied from the NSD content and shall be present after the NSD content is on-boarded."
+      },
+      "nsdVersion": {
+        "type": "string",
+        "description": "Version of the on-boarded NSD. The NSD version is a string of variable length.This information is copied from the NSD content and shall be present after the NSD content is on-boarded."
+      },
+      "nsdDesigner": {
+        "type": "string",
+        "description": "Designer of the on-boarded NSD. This information \nis copied from the NSD content and shall be present after the NSD content is on-boarded."
+      },
+      "nsdInvariantId": {
+        "type": "string",
+        "description": "This identifier, which is allocated by the NSD designer, identifies an NSD in a version independent manner. This information is copied from the NSD content and shall be present after the NSD content is on-boarded."
+      },
+      "vnfPkgIds": {
+        "type": "array",
+        "description": "Identifies the VNF package for the VNFD referenced by the on-boarded NS descriptor resource.",
+        "items": {
+          "type": "string"
+        }
+      },
+      "pnfdInfoIds": {
+        "type": "array",
+        "description": "Identifies the PnfdInfo element for the PNFD referenced by the on-boarded NS descriptor resource.",
+        "items": {
+          "type": "string"
+        }
+      },
+      "nestedNsdInfoIds": {
+        "type": "array",
+        "description": "Identifies the NsdInfo element for the nested NSD referenced by the on-boarded NS descriptor resource. At least one of the attributes – vnfPkgId and nestedNsdInfoId shall be present, after the NSD is on-boarded.",
+        "items": {
+          "type": "string"
+        }
+      },
+      "nsdOnboardingState": {
+        "$ref": "#/definitions/NsdOnboardingStateType"
+      },
+      "onboardingFailureDetails": {
+        "$ref": "#/definitions/ProblemDetails"
+      },
+      "nsdOperationalState": {
+        "$ref": "#/definitions/NsdOperationalStateType"
+      },
+      "nsdUsageState": {
+        "$ref": "#/definitions/NsdUsageStateType"
+      },
+      "userDefinedData": {
+        "$ref": "#/definitions/KeyValuePairs"
+      },
+      "_links": {
+        "type": "object",
+        "description": "Links to resources related to this resource.",
+        "properties": {
+          "self": {
+            "$ref": "#/definitions/Link"
+          },
+          "nsd_content": {
+            "$ref": "#/definitions/Link"
+          }
+        }
+      }
+    },
+    "description": "This type represents a response for the query NSD operation. It shall comply with the provisions defined in\nTable 5.5.2.2-1 of GS NFV-SOL 005."
+  }
+}
\ No newline at end of file