*** Settings *** Documentation The main interface for interacting with CDS. It handles low level stuff like managing the http request library and CDS required fields Library RequestsLibrary Library ONAPLibrary.Utilities Library OperatingSystem Library Collections Library ONAPLibrary.JSON Library ONAPLibrary.ServiceMapping WITH NAME ServiceMapping Library ONAPLibrary.PreloadData WITH NAME Preload Library ONAPLibrary.Templating WITH NAME Templating Library ONAPLibrary.SDNC WITH NAME SDNC Library ONAPLibrary.SO WITH NAME SO Resource global_properties.robot *** Variables *** ${CDS_HEALTH_CHECK_PATH} /api/v1/execution-service/health-check ${CDS_HEALTH_ENDPOINT} ${GLOBAL_CCSDK_CDS_SERVER_PROTOCOL}://${GLOBAL_INJECTED_CCSDK_CDS_BLUEPRINT_PROCESSOR_IP_ADDR}:${GLOBAL_CCSDK_CDS_HEALTH_SERVER_PORT} ${SDC_SERVICE_CATALOG_ENDPOINT} ${GLOBAL_SDC_SERVER_PROTOCOL}://${GLOBAL_INJECTED_SDC_BE_IP_ADDR}:${GLOBAL_SDC_BE_PORT} ${SDC_SERVICE_CATALOG_PATH} sdc2/rest/v1/catalog/services/serviceName/demoVLB_CDS/serviceVersion/1.0 ${SO_CATALOGDB_PATH} /ecomp/mso/catalog/v2/serviceVnfs?serviceModelName ${SO_APIHANDLER_PATH} /onap/so/infra/serviceInstantiation/v7/serviceInstances ${SO_REQUESTDB_PATH} /onap/so/infra/orchestrationRequests/v7 ${customer} Demonstration ${cloudOwner} CloudOwner ${subscriptionServiceType} vLB ${SO_TEMPLATE_PATH} so *** Keywords *** Run CDS Health Check [Documentation] Runs a CDS health check ${auth}= Create List ${GLOBAL_CCSDK_CDS_USERNAME} ${GLOBAL_CCSDK_CDS_PASSWORD} ${session}= Create Session cds ${CDS_HEALTH_ENDPOINT} auth=${auth} ${headers}= Create Dictionary Accept=application/json Content-Type=application/json ${resp}= Get Request cds ${CDS_HEALTH_CHECK_PATH} headers=${headers} Log Received response code from cds ${resp} Log Received content from cds ${resp.content} Should Be Equal As Strings ${resp.status_code} 200 Get Service Catalog [Arguments] ${cds-service-model} ${resp}= SDC.Run Get Request ${SDC_SERVICE_CATALOG_ENDPOINT} ${SDC_SERVICE_CATALOG_PATH} cs0008 auth=${GLOBAL_SDC_AUTHENTICATION} Should Be Equal As Strings ${resp.status_code} 200 [Return] ${resp.json()['uuid']} ${resp.json()['invariantUUID']} Get Service VNFs [Arguments] ${cds-service-model} ${auth}= Create List ${GLOBAL_SO_CATDB_USERNAME} ${GLOBAL_SO_PASSWORD} ${resp}= SO.Run Get Request ${GLOBAL_SO_CATDB_ENDPOINT} ${SO_CATALOGDB_PATH}=${cds-service-model} auth=${auth} Should Be Equal As Strings ${resp.status_code} 200 [Return] ${resp.json()} Service Assign & Activate [Arguments] ${cds_service_model} ${service_uuid} ${service_invariantUUID} ${resp.json()} ${time_now}= Get Time @{date_time}= Split String ${time_now} ${time_stamp}= Catenate SEPARATOR=_ @{date_time}[0] @{date_time}[1] ${customized_time_stamp}= Remove String ${time_stamp} : ${cds_instance_name}= Set Variable cds_vlb_svc_${customized_time_stamp} ${global_parameters}= Get Globally Injected Parameters ${dict}= Set To Dictionary ${global_parameters} cds_instance_name=${cds_instance_name} customer=${customer} cloudOwner=${cloudOwner} subscriptionServiceType=${subscriptionServiceType} cds_service_model=${cds_service_model} service_uuid=${service_uuid} service_invariantUUID=${service_invariantUUID} resp=${resp.json()} Templating.Create Environment cds ${GLOBAL_TEMPLATE_FOLDER} ${data}= Templating.Apply Template cds ${SO_TEMPLATE_PATH}/cds_service_template.jinja ${dict} Log ${data} ${auth}= Create List ${GLOBAL_SO_USERNAME} ${GLOBAL_SO_PASSWORD} ${resp}= SO.Run Post Request ${GLOBAL_SO_APIHAND_ENDPOINT} ${SO_APIHANDLER_PATH} ${data} auth=${auth} Should Be Equal As Strings ${resp.status_code} 202 [Return] ${resp.json()['requestReferences']['requestId']} Check Infra Active Requests [Arguments] ${cds_requestid} ${auth}= Create List ${GLOBAL_SO_CATDB_USERNAME } ${GLOBAL_SO_PASSWORD} SO.Run Polling Get Request ${GLOBAL_SO_APIHAND_ENDPOINT} ${SO_REQUESTDB_PATH}/${cds_requestid} tries=30 interval=60 auth=${auth}