aboutsummaryrefslogtreecommitdiffstats
path: root/tests/usecases-pnf-sw-upgrade/pnf-sw-upgrade
diff options
context:
space:
mode:
authorajay_dp001 <ajay.deep.singh@est.tech>2020-12-03 15:18:08 +0530
committerajay_dp001 <ajay.deep.singh@est.tech>2021-01-07 22:57:02 +0530
commit1feb0a77c857d811283d74d0f3df018d42c2debe (patch)
tree298b6820f52f4f1e1863f9037841434f8665bd67 /tests/usecases-pnf-sw-upgrade/pnf-sw-upgrade
parenta94201cdbbe0c1ceb2fa0e676a61627e4bc7b657 (diff)
CSIT Support for ServiceLevel PNF Software Upgrade
- Details on CSIT test cases: https://wiki.onap.org/display/DW/E2E+Integration+Test+Cases+PNF-Software+Upgrade+With+Schema+Updates - Newly added test are listed below: 1. Distribute Service Level Upgrade Template 2. Get ServiceModel Version from AAI using ServiceModelInVariant UUId 3. Invoke Service Instantiation for ServiceLevel Upgrade 4. Verify PNF-1 Configuration for Service Level Upgrade 5. AAI-Update for PNF-1 Target Software Version after Service Level Upgrade 6. Verify PNF-2 Configuration for Service Level Upgrade 7. AAI-Update for PNF-2 Target Software Version after Service Level Upgrade 8. Test AAI-Update for ServiceInstance after Service Level Upgrade Issue-ID: INT-1591 Signed-off-by: ajay_dp001 <ajay.deep.singh@est.tech> Change-Id: I7bd1ee8d19692f16e0f4415b5115e88a9feff869
Diffstat (limited to 'tests/usecases-pnf-sw-upgrade/pnf-sw-upgrade')
-rw-r--r--tests/usecases-pnf-sw-upgrade/pnf-sw-upgrade/data/blueprint_archive.zipbin18151 -> 18276 bytes
-rw-r--r--tests/usecases-pnf-sw-upgrade/pnf-sw-upgrade/data/distributeServiceTemplate_2.0.json35
-rwxr-xr-xtests/usecases-pnf-sw-upgrade/pnf-sw-upgrade/data/mount2.json18
-rw-r--r--tests/usecases-pnf-sw-upgrade/pnf-sw-upgrade/data/serviceLevelUpgradeRequest.json38
-rw-r--r--tests/usecases-pnf-sw-upgrade/pnf-sw-upgrade/pnf-sw-upgrade.robot170
5 files changed, 259 insertions, 2 deletions
diff --git a/tests/usecases-pnf-sw-upgrade/pnf-sw-upgrade/data/blueprint_archive.zip b/tests/usecases-pnf-sw-upgrade/pnf-sw-upgrade/data/blueprint_archive.zip
index 4edc9ded..055d7dec 100644
--- a/tests/usecases-pnf-sw-upgrade/pnf-sw-upgrade/data/blueprint_archive.zip
+++ b/tests/usecases-pnf-sw-upgrade/pnf-sw-upgrade/data/blueprint_archive.zip
Binary files differ
diff --git a/tests/usecases-pnf-sw-upgrade/pnf-sw-upgrade/data/distributeServiceTemplate_2.0.json b/tests/usecases-pnf-sw-upgrade/pnf-sw-upgrade/data/distributeServiceTemplate_2.0.json
new file mode 100644
index 00000000..e5b3d890
--- /dev/null
+++ b/tests/usecases-pnf-sw-upgrade/pnf-sw-upgrade/data/distributeServiceTemplate_2.0.json
@@ -0,0 +1,35 @@
+{
+ "distributionID": "6ac9fa0c-70f0-4213-a8d4-5b58d6a17697",
+ "serviceName": "Demo_svc",
+ "serviceVersion": "2.0",
+ "serviceUUID": "8351245d-50da-4695-8756-3a22618377f7",
+ "serviceDescription": "ServiceLevelUpgrade",
+ "serviceInvariantUUID": "fe41489e-1563-46a3-b90a-1db629e4375b",
+ "resources": [
+ {
+ "resourceInstanceName": "Demo_pnf 0",
+ "resourceCustomizationUUID": "23b43821-4eds-31f4-bfd4-66a7e0fd9bb2",
+ "resourceName": "Demo_pnf",
+ "resourceVersion": "1.0",
+ "resoucreType": "PNF",
+ "resourceUUID": "a42f6566-6a29-43e1-bac9-b91a59d702ac",
+ "resourceInvariantUUID": "fdf44827-35db-4ee5-bd70-7500e633576e",
+ "category": "Network L4+",
+ "subcategory": "Common Network Resources",
+ "artifacts": []
+ }
+ ],
+ "serviceArtifacts": [
+ {
+ "artifactName": "service-DemoSvc-csar_2.0.csar",
+ "artifactType": "TOSCA_CSAR",
+ "artifactURL": "//unzipped_sdc_csar/v1/catalog/services/DemoSvc/2.0/artifacts/service-DemoSvc-csar.csar",
+ "artifactChecksum": "YjFhZWZhOTU2MzljMDI4ZmVlNzlhOTgxYTcxMzg5ODI\u003d",
+ "artifactDescription": "TOSCA definition package of the asset",
+ "artifactTimeout": 0,
+ "artifactVersion": "2",
+ "artifactUUID": "809894a4-c862-4294-b2fb-e016b4268546"
+ }
+ ],
+ "workloadContext": "Production"
+ } \ No newline at end of file
diff --git a/tests/usecases-pnf-sw-upgrade/pnf-sw-upgrade/data/mount2.json b/tests/usecases-pnf-sw-upgrade/pnf-sw-upgrade/data/mount2.json
new file mode 100755
index 00000000..efe94b42
--- /dev/null
+++ b/tests/usecases-pnf-sw-upgrade/pnf-sw-upgrade/data/mount2.json
@@ -0,0 +1,18 @@
+{
+ "node": [
+ {
+ "node-id": "PNFDemo1",
+ "netconf-node-topology:protocol": {
+ "name": "TLS"
+ },
+ "netconf-node-topology:host": "pnfaddr",
+ "netconf-node-topology:key-based": {
+ "username": "netconf",
+ "key-id": "ODL_private_key_0"
+ },
+ "netconf-node-topology:port": 6514,
+ "netconf-node-topology:tcp-only": false,
+ "netconf-node-topology:max-connection-attempts": 5
+ }
+ ]
+} \ No newline at end of file
diff --git a/tests/usecases-pnf-sw-upgrade/pnf-sw-upgrade/data/serviceLevelUpgradeRequest.json b/tests/usecases-pnf-sw-upgrade/pnf-sw-upgrade/data/serviceLevelUpgradeRequest.json
new file mode 100644
index 00000000..d7a6b57f
--- /dev/null
+++ b/tests/usecases-pnf-sw-upgrade/pnf-sw-upgrade/data/serviceLevelUpgradeRequest.json
@@ -0,0 +1,38 @@
+{
+ "requestDetails": {
+ "subscriberInfo": {
+ "globalSubscriberId": "807c7a02-249c-4db8-9fa9-bee973fe08ce"
+ },
+ "modelInfo": {
+ "modelVersion": "2.0",
+ "modelVersionId": "8351245d-50da-4695-8756-3a22618377f7",
+ "modelInvariantId": "fe41489e-1563-46a3-b90a-1db629e4375b",
+ "modelName": "Demo_svc",
+ "modelType": "service"
+ },
+ "requestInfo": {
+ "suppressRollback": false,
+ "requestorId": "demo",
+ "instanceName": "testInstanceName",
+ "source": "VID"
+ },
+ "requestParameters": {
+ "subscriptionServiceType": "pNF",
+ "userParams": [
+ {
+ "name": "targetSoftwareVersion",
+ "value": "pnf_sw_version-4.0.0"
+ }
+ ],
+ "aLaCarte": false,
+ "payload": "{\"k1\": \"v1\"}"
+ },
+ "project": {
+ "projectName": "ServiceLevelUpgrade"
+ },
+ "owningEntity": {
+ "owningEntityId": "67f2e84c-734d-4e90-a1e4-d2ffa2e75849",
+ "owningEntityName": "OE-Test"
+ }
+ }
+} \ No newline at end of file
diff --git a/tests/usecases-pnf-sw-upgrade/pnf-sw-upgrade/pnf-sw-upgrade.robot b/tests/usecases-pnf-sw-upgrade/pnf-sw-upgrade/pnf-sw-upgrade.robot
index d3762a0b..1bb2d714 100644
--- a/tests/usecases-pnf-sw-upgrade/pnf-sw-upgrade/pnf-sw-upgrade.robot
+++ b/tests/usecases-pnf-sw-upgrade/pnf-sw-upgrade/pnf-sw-upgrade.robot
@@ -8,7 +8,9 @@ Library String
*** Variables ***
${SDNC_KEYSTORE_CONFIG_PATH} /restconf/config/netconf-keystore:keystore
${SDNC_MOUNT_PATH} /restconf/config/network-topology:network-topology/topology/topology-netconf/node/PNFDemo
+${SDNC_MOUNT_PATH2} /restconf/config/network-topology:network-topology/topology/topology-netconf/node/PNFDemo1
${PNFSIM_MOUNT_PATH} /restconf/config/network-topology:network-topology/topology/topology-netconf/node/PNFDemo/yang-ext:mount/pnf-sw-upgrade:software-upgrade
+${PNFSIM_MOUNT_PATH2} /restconf/config/network-topology:network-topology/topology/topology-netconf/node/PNFDemo1/yang-ext:mount/pnf-sw-upgrade:software-upgrade
${PNFSIM_DELETE_PATH} /restconf/config/network-topology:network-topology/topology/topology-netconf/node/PNFDemo
${BP_UPLOAD_URL} /api/v1/blueprint-model/publish
${BP_PROCESS_URL} /api/v1/execution-service/process
@@ -48,12 +50,14 @@ Distribute Service Template
${serviceInstanceId}= Set Variable cd4decf6-4f27-4775-9561-0e683ed43635
SET GLOBAL VARIABLE ${serviceInstanceId}
${pnfName}= Set Variable PNFDemo
- SET GLOBAL VARIABLE ${pnfName}
+ SET GLOBAL VARIABLE ${pnfName}
+ ${pnfName1}= Set Variable PNFDemo1
+ SET GLOBAL VARIABLE ${pnfName1}
Get pnf workflow
Create Session api_handler_session http://${REPO_IP}:8080
&{headers}= Create Dictionary Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== Content-Type=application/json Accept=application/json
- ${get_pnfworkflows_request}= Get Request api_handler_session /onap/so/infra/workflowSpecifications/v1/pnfWorkflows headers=${headers}
+ ${get_pnfworkflows_request}= Get Request api_handler_session /onap/so/infra/workflowSpecifications/v1/workflows headers=${headers}
Run Keyword If '${get_pnfworkflows_request.status_code}' == '200' log to console \nexecuted with expected result
log to console ${get_pnfworkflows_request.content}
${pnfworkflows_json_response}= Evaluate json.loads(r"""${get_pnfworkflows_request.content}""", strict=False) json
@@ -62,6 +66,8 @@ Get pnf workflow
${activate_workflow_name}= Set Variable ""
${download_workflow_uuid}= Set Variable ""
${download_workflow_name}= Set Variable ""
+ ${serviceLevel_workflow_uuid}= Set Variable ""
+ ${serviceLevel_workflow_name}= Set Variable ""
FOR ${member} IN @{all_wf_members}
${workflow_uuid}= Set Variable ${member}[workflowSpecification][artifactInfo][artifactUuid]
${workflow_name}= Set Variable ${member}[workflowSpecification][artifactInfo][artifactName]
@@ -70,14 +76,19 @@ Get pnf workflow
${activate_workflow_name}= Set Variable If '${workflow_name}' == 'GenericPnfSoftwareUpgrade' ${workflow_name} ${activate_workflow_name}
${download_workflow_uuid}= Set Variable If '${workflow_name}' == 'GenericPnfSWUPDownload' ${workflow_uuid} ${download_workflow_uuid}
${download_workflow_name}= Set Variable If '${workflow_name}' == 'GenericPnfSWUPDownload' ${workflow_name} ${download_workflow_name}
+ ${serviceLevel_workflow_uuid}= Set Variable If '${workflow_name}' == 'ServiceLevelUpgrade' ${workflow_uuid} ${serviceLevel_workflow_uuid}
+ ${serviceLevel_workflow_name}= Set Variable If '${workflow_name}' == 'ServiceLevelUpgrade' ${workflow_name} ${serviceLevel_workflow_name}
END
SET GLOBAL VARIABLE ${activate_workflow_uuid}
SET GLOBAL VARIABLE ${download_workflow_uuid}
+ SET GLOBAL VARIABLE ${serviceLevel_workflow_uuid}
Run Keyword If '${activate_workflow_name}' == 'GenericPnfSoftwareUpgrade' log to console \nexecuted with expected result
Run Keyword If '${download_workflow_name}' == 'GenericPnfSWUPDownload' log to console \nexecuted with expected result
+ Run Keyword If '${serviceLevel_workflow_name}' == 'ServiceLevelUpgrade' log to console \nexecuted with expected result
Should Be Equal As Strings '${activate_workflow_name}' 'GenericPnfSoftwareUpgrade'
Should Be Equal As Strings '${download_workflow_name}' 'GenericPnfSWUPDownload'
+ Should Be Equal As Strings '${serviceLevel_workflow_name}' 'ServiceLevelUpgrade'
Invoke Service Instantiation for pnf software download
Create Session api_handler_session http://${REPO_IP}:8080
@@ -194,3 +205,158 @@ Test AAI-update for target software version verify
Log To Console final target software version received: ${sw_version}
Run Keyword If '${sw_version}' == 'pnf_sw_version-3.0.0' log to console \nexecuted with expected result
Should Be Equal As Strings '${sw_version}' 'pnf_sw_version-3.0.0'
+
+Distribute ServiceLevel Upgrade Template
+ Create Session sdc_controller_session http://${REPO_IP}:8085
+ ${data}= Get Binary File ${CURDIR}${/}data${/}distributeServiceTemplate_2.0.json
+ &{headers}= Create Dictionary Authorization=Basic bXNvX2FkbWluOnBhc3N3b3JkMSQ= resource-location=/app/distribution-test-zip/unzipped/ Content-Type=application/json Accept=application/json
+ ${resp}= Post Request sdc_controller_session /test/treatNotification/v1 data=${data} headers=${headers}
+ Run Keyword If '${resp.status_code}' == '200' log to console \nexecuted with expected result
+ Should Be Equal As Strings '${resp.status_code}' '200'
+ ${model_version_id_2}= Set Variable 8351245d-50da-4695-8756-3a22618377f7
+ SET GLOBAL VARIABLE ${model_version_id_2}
+
+Get Service-Model-Version From AAI Using Service-Model-InVariant-UUId
+ Create Session aai_simulator_session https://${REPO_IP}:9993
+ &{headers}= Create Dictionary Authorization=Basic YWFpOmFhaS5vbmFwLm9yZzpkZW1vMTIzNDU2IQ== Content-Type=application/xml Accept=application/xml verify=False
+ ${model-invariant-id}= Set Variable a51e2bef-961c-496f-b235-b4540400e885
+ ${get_serviceVersion}= Get Request aai_simulator_session aai/v11/service-design-and-creation/models/model/${model-invariant-id}/model-vers headers=${headers}
+ Run Keyword If '${get_serviceVersion.status_code}' == '200' log to console \nExecuted with expected
+ Log to console ${get_serviceVersion.content}
+ Should Be Equal As Strings ${get_serviceVersion.status_code} 200
+ ${serviceVersion_json_response}= Evaluate json.loads(r"""${get_serviceVersion.content}""", strict=False) json
+ ${all_service_version}= Set Variable ${serviceVersion_json_response['model-vers']['model-ver']}
+ ${model-version-id_1}= Set Variable ""
+ ${model-version-id_2}= Set Variable ""
+ FOR ${member} IN @{all_service_version}
+ ${model-version}= Set Variable ${member}[model-version]
+ ${model-version-id}= Set Variable ${member}[model-version-id]
+ Log to console The ServiceModel Version ${model-version} has ModelVersion Id : ${model-version-id}
+ ${model-version-id_1}= Set Variable If '${model-version}' == '1.0' ${model-version-id} ${model-version-id_1}
+ ${model-version-id_2}= Set Variable If '${model-version}' == '2.0' ${model-version-id} ${model-version-id_2}
+ END
+ SET GLOBAL VARIABLE ${model-version-id_1}
+ SET GLOBAL VARIABLE ${model-version-id_2}
+
+Invoke Service Instantiation for ServiceLevel Upgrade
+ Create Session api_handler_session http://${REPO_IP}:8080
+ ${data}= Get Binary File ${CURDIR}${/}data${/}serviceLevelUpgradeRequest.json
+ ${serviceInstanceId}= Set Variable ${model-version-id_1}
+ &{headers}= Create Dictionary Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== Content-Type=application/json Accept=application/json X-ONAP-RequestID=0ffc559c-5513-44bc-8b02-5759d84600f4 X-ONAP-PartnerName=ONAP X-RequestorID=VID
+ ${service_instantiation_request}= Post Request api_handler_session /onap/so/infra/instanceManagement/v1/serviceInstances/${serviceInstanceId}/workflows/${serviceLevel_workflow_uuid} data=${data} headers=${headers}
+ Run Keyword If '${service_instantiation_request.status_code}' == '200' log to console \nexecuted with expected result
+ log to console ${service_instantiation_request.content}
+ ${service_instantiation_json_response}= Evaluate json.loads(r"""${service_instantiation_request.content}""", strict=False) json
+ ${request_ID}= Set Variable ${service_instantiation_json_response}[requestReferences][requestId]
+ ${actual_service_request_state}= Set Variable ""
+ FOR ${INDEX} IN RANGE ${MAXIMUM_ATTEMPTS_BEFORE_TIMEOUT}
+ ${orchestration_status_service_request}= Get Request api_handler_session /onap/so/infra/orchestrationRequests/v7/${request_ID}
+ Run Keyword If '${orchestration_status_service_request.status_code}' == '200' log to console \nexecuted with expected result
+ log to console ${orchestration_status_service_request.content}
+ ${orchestration_json_service_response}= Evaluate json.loads(r"""${orchestration_status_service_request.content}""", strict=False) json
+ ${actual_service_request_state}= SET VARIABLE ${orchestration_json_service_response}[request][requestStatus][requestState]
+ Log To Console Received actual repsonse status:${actual_service_request_state}
+ RUN KEYWORD IF '${actual_service_request_state}' == 'COMPLETE' or '${actual_service_request_state}' == 'FAILED' Exit For Loop
+ log to console Will try again after ${SLEEP_INTERVAL_SEC} seconds
+ SLEEP ${SLEEP_INTERVAL_SEC}s
+ END
+ Log To Console final repsonse status received: ${actual_service_request_state}
+ Run Keyword If '${actual_service_request_state}' == 'COMPLETE' log to console \nexecuted with expected result
+ Should Be Equal As Strings '${actual_service_request_state}' 'COMPLETE'
+
+Test Verify PNF-1 Configuration for Service Level Upgrade
+ [Documentation] Checking PNF configuration params
+ Create Session sdnc http://${REPO_IP}:8282
+ &{headers}= Create Dictionary Authorization=Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ== Content-Type=application/json
+ ${mount}= Get File ${CURDIR}${/}data${/}mount.json
+ Log to console ${mount}
+ ${pnf_mount_resp}= Put Request sdnc ${SDNC_MOUNT_PATH} data=${mount} headers=${headers}
+ Should Be Equal As Strings ${pnf_mount_resp.status_code} 201
+ SLEEP 10
+ ${pnfsim_software_resp}= Get Request sdnc ${PNFSIM_MOUNT_PATH} headers=${headers}
+ Should Be Equal As Strings ${pnfsim_software_resp.status_code} 200
+ Log to console ${pnfsim_software_resp.content}
+ ${pnfsim_software_resp_json}= Evaluate json.loads(r"""${pnfsim_software_resp.content}""", strict=False) json
+ ${all_upgp_members}= Set Variable ${pnfsim_software_resp_json['software-upgrade']['upgrade-package']}
+ FOR ${member} IN @{all_upgp_members}
+ ${soft_ver}= Get From Dictionary ${member} software-version
+ ${soft_status}= Get From Dictionary ${member} current-status
+ Log to console The node ${pnfName} has software version ${soft_ver} : ${soft_status}
+ Run Keyword If '${soft_ver}' == 'pnf_sw_version-4.0.0' Exit For Loop
+ END
+ Run Keyword If '${soft_ver}' == 'pnf_sw_version-4.0.0' log to console \nexecuted with expected result
+ Should Be Equal As Strings '${soft_ver}' 'pnf_sw_version-4.0.0'
+ Should Be Equal As Strings '${soft_status}' 'ACTIVATION_COMPLETED'
+
+Test AAI-Update for PNF-1 Target Software Version after Service Level Upgrade
+ Create Session aai_simulator_session https://${REPO_IP}:9993
+ &{headers}= Create Dictionary Authorization=Basic YWFpOmFhaS5vbmFwLm9yZzpkZW1vMTIzNDU2IQ== Content-Type=application/json Accept=application/json verify=False
+ FOR ${INDEX} IN RANGE ${MAXIMUM_ATTEMPTS_BEFORE_TIMEOUT}
+ ${get_pnf_request}= Get Request aai_simulator_session aai/v11/network/pnfs/pnf/${pnfName} headers=${headers}
+ Run Keyword If '${get_pnf_request.status_code}' == '200' log to console \nexecuted with expected result
+ ${get_pnf_json_response}= Evaluate json.loads(r"""${get_pnf_request.content}""", strict=False) json
+ Log to console ${get_pnf_json_response}
+ ${sw_version}= Set Variable ${get_pnf_json_response}[sw-version]
+ Log to console ${sw_version}
+ Run Keyword If '${sw_version}' == 'pnf_sw_version-4.0.0' Exit For Loop
+ log to console Will try again after ${SLEEP_INTERVAL_SEC} seconds
+ SLEEP ${SLEEP_INTERVAL_SEC}s
+ END
+ Log To Console final target software version received: ${sw_version}
+ Run Keyword If '${sw_version}' == 'pnf_sw_version-4.0.0' log to console \nexecuted with expected result
+ Should Be Equal As Strings '${sw_version}' 'pnf_sw_version-4.0.0'
+
+Test Verify PNF-2 Configuration for Service Level Upgrade
+ [Documentation] Checking PNF configuration params
+ Create Session sdnc http://${REPO_IP}:8282
+ &{headers}= Create Dictionary Authorization=Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ== Content-Type=application/json
+ ${mount}= Get File ${CURDIR}${/}data${/}mount2.json
+ Log to console ${mount}
+ ${pnf_mount_resp}= Put Request sdnc ${SDNC_MOUNT_PATH2} data=${mount} headers=${headers}
+ Should Be Equal As Strings ${pnf_mount_resp.status_code} 201
+ SLEEP 10
+ ${pnfsim_software_resp}= Get Request sdnc ${PNFSIM_MOUNT_PATH2} headers=${headers}
+ Should Be Equal As Strings ${pnfsim_software_resp.status_code} 200
+ Log to console ${pnfsim_software_resp.content}
+ ${pnfsim_software_resp_json}= Evaluate json.loads(r"""${pnfsim_software_resp.content}""", strict=False) json
+ ${all_upgp_members}= Set Variable ${pnfsim_software_resp_json['software-upgrade']['upgrade-package']}
+ FOR ${member} IN @{all_upgp_members}
+ ${soft_ver}= Get From Dictionary ${member} software-version
+ ${soft_status}= Get From Dictionary ${member} current-status
+ Log to console The node ${pnfName1} has software version ${soft_ver} : ${soft_status}
+ Run Keyword If '${soft_ver}' == 'pnf_sw_version-4.0.0' Exit For Loop
+ END
+ Run Keyword If '${soft_ver}' == 'pnf_sw_version-4.0.0' log to console \nexecuted with expected result
+ Should Be Equal As Strings '${soft_ver}' 'pnf_sw_version-4.0.0'
+ Should Be Equal As Strings '${soft_status}' 'ACTIVATION_COMPLETED'
+
+Test AAI-Update for PNF-2 Target Software Version after Service Level Upgrade
+ Create Session aai_simulator_session https://${REPO_IP}:9993
+ &{headers}= Create Dictionary Authorization=Basic YWFpOmFhaS5vbmFwLm9yZzpkZW1vMTIzNDU2IQ== Content-Type=application/json Accept=application/json verify=False
+ FOR ${INDEX} IN RANGE ${MAXIMUM_ATTEMPTS_BEFORE_TIMEOUT}
+ ${get_pnf_request}= Get Request aai_simulator_session aai/v11/network/pnfs/pnf/${pnfName1} headers=${headers}
+ Run Keyword If '${get_pnf_request.status_code}' == '200' log to console \nexecuted with expected result
+ ${get_pnf_json_response}= Evaluate json.loads(r"""${get_pnf_request.content}""", strict=False) json
+ Log to console ${get_pnf_json_response}
+ ${sw_version}= Set Variable ${get_pnf_json_response}[sw-version]
+ Log to console ${sw_version}
+ Run Keyword If '${sw_version}' == 'pnf_sw_version-4.0.0' Exit For Loop
+ log to console Will try again after ${SLEEP_INTERVAL_SEC} seconds
+ SLEEP ${SLEEP_INTERVAL_SEC}s
+ END
+ Log To Console final target software version received: ${sw_version}
+ Run Keyword If '${sw_version}' == 'pnf_sw_version-4.0.0' log to console \nexecuted with expected result
+ Should Be Equal As Strings '${sw_version}' 'pnf_sw_version-4.0.0'
+
+Test AAI-Update for ServiceInstance after Service Level Upgrade
+ ${globalSubscriberId}= Set Variable 807c7a02-249c-4db8-9fa9-bee973fe08ce
+ Create Session aai_simulator_session https://${REPO_IP}:9993
+ &{headers}= Create Dictionary Authorization=Basic YWFpOmFhaS5vbmFwLm9yZzpkZW1vMTIzNDU2IQ== Content-Type=application/json Accept=application/json verify=False
+ ${get_service_request}= Get Request aai_simulator_session aai/v17/business/customers/customer/${globalSubscriberId}/service-subscriptions/service-subscription/pNF/service-instances/service-instance/${model_version_id_2} headers=${headers}
+ Run Keyword If '${get_service_request.status_code}' == '200' log to console \nexecuted with expected result
+ ${get_service_json_response}= Evaluate json.loads(r"""${get_service_request.content}""", strict=False) json
+ Log to console ${get_service_json_response}
+ ${service_instance_id}= Set Variable ${get_service_json_response}[service-instance-id]
+ Should Be Equal As Strings '${service_instance_id}' 'df4decf6-h727-8875-8761-89683ed43645'
+ ${model_version_id}= Set Variable ${get_service_json_response}[model-version-id]
+ Should Be Equal As Strings '${model_version_id}' '${model_version_id_2}' \ No newline at end of file