From 75010a4fe2ec3e182b45196e7e5b2c7889673092 Mon Sep 17 00:00:00 2001 From: jf9860 Date: Wed, 22 Feb 2017 16:52:54 -0500 Subject: Complete teardown implementation. Add demo.sh to support hands on demo Change-Id: Idf235957bd992e6d7482c8241f6ba8b8944c2826 Signed-off-by: jf9860 --- robot/resources/aai/create_tenant.robot | 24 +++++++++++++++++++++--- robot/resources/aai/service_instance.robot | 9 ++++++++- 2 files changed, 29 insertions(+), 4 deletions(-) (limited to 'robot/resources/aai') diff --git a/robot/resources/aai/create_tenant.robot b/robot/resources/aai/create_tenant.robot index da21ac92..e5a55966 100644 --- a/robot/resources/aai/create_tenant.robot +++ b/robot/resources/aai/create_tenant.robot @@ -28,12 +28,24 @@ Inventory Tenant If Not Exists Inventory Tenant [Documentation] Inventorys a Tenant in A&AI [Arguments] ${cloud_owner} ${cloud_region_id} ${cloud_type} ${owner_defined_type} ${cloud_region_version} ${cloud_zone} ${tenant_id} ${tenant_name} + ${json_resource_version}= Get Resource Version If Exists ${cloud_owner} ${cloud_region_id} ${cloud_type} ${owner_defined_type} ${cloud_region_version} ${cloud_zone} ${data_template}= OperatingSystem.Get File ${AAI_ADD_TENANT_BODY} - ${arguments}= Create Dictionary cloud_owner=${cloud_owner} cloud_region_id=${cloud_region_id} cloud_type=${cloud_type} owner_defined_type=${owner_defined_type} cloud_region_version=${cloud_region_version} cloud_zone=${cloud_zone} tenant_id=${tenant_id} tenant_name=${tenant_name} + ${arguments}= Create Dictionary cloud_owner=${cloud_owner} cloud_region_id=${cloud_region_id} cloud_type=${cloud_type} owner_defined_type=${owner_defined_type} cloud_region_version=${cloud_region_version} cloud_zone=${cloud_zone} tenant_id=${tenant_id} tenant_name=${tenant_name} resource_version=${json_resource_version} ${data}= Fill JSON Template ${data_template} ${arguments} ${put_resp}= Run A&AI Put Request ${INDEX PATH}${ROOT_TENANT_PATH}${cloud_owner}/${cloud_region_id} ${data} - Should Be Equal As Strings ${put_resp.status_code} 201 - [Return] ${put_resp.status_code} + ${status_string}= Convert To String ${put_resp.status_code} + Should Match Regexp ${status_string} ^(201|200)$ + +Get Resource Version If Exists + [Documentation] Creates a service in A&AI if it doesn't exist + [Arguments] ${cloud_owner} ${cloud_region_id} ${cloud_type} ${owner_defined_type} ${cloud_region_version} ${cloud_zone} + ${resource_version}= Set Variable + ${resp}= Get Cloud Region ${cloud_owner} ${cloud_region_id} + Return from Keyword if '${resp.status_code}' != '200' ${resource_version} + ${json}= Set Variable ${resp.json()} + ${resource_version}= Catenate ${json['resource-version']} + [Return] "resource-version":"${resource_version}", + Delete Tenant [Documentation] Removes both Tenant @@ -66,6 +78,12 @@ Get Tenants Run Keyword If '${status}' == 'PASS' Update Tenant Dictionary ${dict} ${resp.json()} [Return] ${dict} +Get Cloud Region + [Documentation] Returns the Cloud Region if it exists + [Arguments] ${cloud_owner} ${cloud_region_id} + ${resp}= Run A&AI Get Request ${INDEX PATH}${ROOT_TENANT_PATH}${cloud_owner}/${cloud_region_id} + [Return] ${resp} + Update Tenant Dictionary [Arguments] ${dict} ${json} ${list}= Evaluate ${json}['tenant'] diff --git a/robot/resources/aai/service_instance.robot b/robot/resources/aai/service_instance.robot index c9fdadd6..5fffa02f 100644 --- a/robot/resources/aai/service_instance.robot +++ b/robot/resources/aai/service_instance.robot @@ -14,6 +14,7 @@ Resource ../json_templater.robot Resource ../stack_validation/validate_vlb.robot Resource ../stack_validation/validate_vfw.robot Resource ../stack_validation/validate_vvg.robot +Resource ../aai/aai_interface.robot *** Variables *** ${INDEX PATH} /aai/v8 @@ -26,6 +27,7 @@ ${SERVCE INSTANCE TEMPLATE} robot/assets/templates/aai/service_subscription.t ${GENERIC_VNF_PATH_TEMPLATE} /network/generic-vnfs/generic-vnf/\${vnf_id}/vf-modules/vf-module/\${vf_module_id} ${VLB_CLOSED_LOOP_HACK_BODY} robot/assets/templates/aai/vlb_closed_loop_hack.template +${VLB_CLOSED_LOOP_DELETE} *** Keywords *** Validate Service Instance @@ -60,7 +62,12 @@ VLB Closed Loop Hack ${data}= Fill JSON Template File ${VLB_CLOSED_LOOP_HACK_BODY} ${dict} ${put_resp}= Run A&AI Put Request ${INDEX PATH}${datapath} ${data} ${status_string}= Convert To String ${put_resp.status_code} - Should Match Regexp ${status_string} ^(201|412)$ + Should Match Regexp ${status_string} ^(201|412)$ + Set Test Variable ${VLB_CLOSED_LOOP_DELETE} ${datapath} + +Teardown VLB Closed Loop Hack + Return From Keyword If ' ${VLB_CLOSED_LOOP_DELETE}' == '' + Delete A&AI Entity ${VLB_CLOSED_LOOP_DELETE} Validate VF Module -- cgit 1.2.3-korg