| *** Settings *** |
| Documentation Initializes ONAP Test Web Page and Password |
| |
| Library Collections |
| Library OperatingSystem |
| Library ONAPLibrary.Templating WITH NAME Templating |
| Resource ../resources/openstack/keystone_interface.robot |
| Resource ../resources/openstack/nova_interface.robot |
| |
| |
| Test Timeout 5 minutes |
| |
| *** Variables *** |
| ${URLS_HTML_TEMPLATE} web/index.html.jinja |
| |
| ${HOSTS_PREFIX} vm |
| ${WEB_USER} test |
| ${WEB_PASSWORD} |
| |
| ${URLS_HTML} html/index.html |
| ${CREDENTIALS_FILE} /etc/lighttpd/authorization |
| #${CREDENTIALS_FILE} authorization |
| |
| *** Test Cases *** |
| Update ONAP Page |
| [Tags] UpdateWebPage |
| Run Keyword If '${WEB_PASSWORD}' == '' Fail "WEB Password must not be empty" |
| Run Openstack Auth Request auth |
| ${server_map}= Get Openstack Servers auth |
| ${oam_ip_map}= Create Dictionary |
| Set To Dictionary ${oam_ip_map} 10.0.0.1=onapdns |
| Set To Dictionary ${oam_ip_map} ${GLOBAL_INJECTED_AAI_IP_ADDR}=aai1 |
| Set To Dictionary ${oam_ip_map} ${GLOBAL_INJECTED_APPC_IP_ADDR}=appc |
| Set To Dictionary ${oam_ip_map} ${GLOBAL_INJECTED_DCAE_IP_ADDR}=dcae_controller |
| Set To Dictionary ${oam_ip_map} ${GLOBAL_INJECTED_SO_APIHAND_IP_ADDR}=so |
| Set To Dictionary ${oam_ip_map} ${GLOBAL_INJECTED_MR_IP_ADDR}=message_router |
| Set To Dictionary ${oam_ip_map} ${GLOBAL_INJECTED_BC_IP_ADDR}=bus_controller |
| Set To Dictionary ${oam_ip_map} ${GLOBAL_INJECTED_POLICY_IP_ADDR}=policy |
| Set To Dictionary ${oam_ip_map} ${GLOBAL_INJECTED_PORTAL_IP_ADDR}=portal |
| Set To Dictionary ${oam_ip_map} ${GLOBAL_INJECTED_SDC_IP_ADDR}=sdc |
| Set To Dictionary ${oam_ip_map} ${GLOBAL_INJECTED_SDNC_IP_ADDR}=sdnc |
| Set To Dictionary ${oam_ip_map} ${GLOBAL_INJECTED_MSB_IP_ADDR}=openo |
| Set To Dictionary ${oam_ip_map} ${GLOBAL_INJECTED_CLAMP_IP_ADDR}=clamp |
| Set To Dictionary ${oam_ip_map} ${GLOBAL_INJECTED_VID_IP_ADDR}=vid |
| Set To Dictionary ${oam_ip_map} 10.0.4.105=dcae_cdap |
| Set To Dictionary ${oam_ip_map} 10.0.4.102=dcae_coll |
| Set To Dictionary ${oam_ip_map} 10.0.10.1=robot |
| |
| ${values}= Create Dictionary |
| ${keys}= Get Dictionary Keys ${oam_ip_map} |
| :FOR ${oam_ip} IN @{keys} |
| \ ${value_name}= Get From Dictionary ${oam_ip_map} ${oam_ip} |
| \ Set Public Ip ${server_map} ${oam_ip} ${value_name} ${values} |
| Log ${values} |
| Run Keyword If '${WEB_PASSWORD}' != '' Create File ${CREDENTIALS_FILE} ${WEB_USER}:${WEB_PASSWORD} |
| Set To Dictionary ${values} GLOBAL_INJECTED_ARTIFACTS_VERSION=${GLOBAL_INJECTED_ARTIFACTS_VERSION} |
| Set To Dictionary ${values} GLOBAL_INJECTED_NETWORK=${GLOBAL_INJECTED_NETWORK} |
| Set To Dictionary ${values} GLOBAL_INJECTED_NEXUS_DOCKER_REPO=${GLOBAL_INJECTED_NEXUS_DOCKER_REPO} |
| Set To Dictionary ${values} GLOBAL_INJECTED_OPENSTACK_TENANT_ID=${GLOBAL_INJECTED_OPENSTACK_TENANT_ID} |
| Set To Dictionary ${values} GLOBAL_INJECTED_REGION=${GLOBAL_INJECTED_REGION} |
| Set To Dictionary ${values} GLOBAL_INJECTED_KEYSTONE=${GLOBAL_INJECTED_KEYSTONE} |
| Set To Dictionary ${values} GLOBAL_INJECTED_VM_FLAVOR=${GLOBAL_INJECTED_VM_FLAVOR} |
| Set To Dictionary ${values} GLOBAL_INJECTED_VM_IMAGE_NAME=${GLOBAL_INJECTED_VM_IMAGE_NAME} |
| Set To Dictionary ${values} GLOBAL_INJECTED_PUBLIC_NET_ID=${GLOBAL_INJECTED_PUBLIC_NET_ID} |
| Set To Dictionary ${values} prefix=${HOSTS_PREFIX} |
| Create File From Template ${URLS_HTML_TEMPLATE} ${URLS_HTML} ${values} |
| |
| *** Keywords *** |
| Create File From Template |
| [Arguments] ${template} ${file} ${values} |
| Templating.Create Environment web ${GLOBAL_TEMPLATE_FOLDER} |
| ${data}= Templating.Apply Template web ${template} ${values} |
| Create File ${file} ${data} |
| |
| Set Public Ip |
| [Arguments] ${server_map} ${oam_ip} ${value_name} ${values} |
| ${status} ${public_ip}= Run Keyword And Ignore Error Get Public Ip ${server_map} ${oam_ip} |
| ${public_ip}= Set Variable If '${status}' == 'PASS' ${public_ip} ${oam_ip} |
| Set To Dictionary ${values} ${value_name} ${public_ip} |
| |
| Get Public Ip |
| [Arguments] ${server_map} ${oam_ip} |
| ${servers} Get Dictionary Values ${server_map} |
| :FOR ${server} IN @{servers} |
| \ ${status} ${public_ip} Run Keyword And Ignore Error Search Addresses ${server} ${oam_ip} |
| \ Return From Keyword If '${status}'=='PASS' ${public_ip} |
| Fail ${oam_ip} Server Not Found |
| |
| Search Addresses |
| [Arguments] ${server} ${oam_ip} |
| ${addresses} Get From Dictionary ${server} addresses |
| ${status} ${public_ip}= Run Keyword And Ignore Error Find Rackspace ${addresses} ${oam_ip} |
| Return From Keyword If '${status}'=='PASS' ${public_ip} |
| ${status} ${public_ip}= Run Keyword And Ignore Error Find Openstack ${addresses} ${oam_ip} |
| Return From Keyword If '${status}'=='PASS' ${public_ip} |
| ${status} ${public_ip}= Run Keyword And Ignore Error Find Openstack 2 ${addresses} ${oam_ip} |
| Return From Keyword If '${status}'=='PASS' ${public_ip} |
| Fail ${oam_ip} Server Not Found |
| |
| Find Rackspace |
| [Arguments] ${addresses} ${oam_ip} |
| ${public_ips} Get From Dictionary ${addresses} public |
| ${public_ip}= Get V4 IP ${public_ips} |
| ${oam_ips} Get From Dictionary ${addresses} ${GLOBAL_INJECTED_NETWORK} |
| ${this_oam_ip}= Get V4 IP ${oam_ips} |
| Return From Keyword If '${this_oam_ip}' == '${oam_ip}' ${public_ip} |
| Fail ${oam_ip} Server Not Found |
| |
| Find Openstack |
| [Arguments] ${addresses} ${oam_ip} |
| ${public_ip}= Get V4 IP Openstack ${addresses} external |
| ${this_oam_ip}= Get V4 IP Openstack ${addresses} ${GLOBAL_INJECTED_NETWORK} |
| Return From Keyword If '${this_oam_ip}'=='${oam_ip}' ${public_ip} |
| Fail ${oam_ip} Server Not Found |
| |
| Find Openstack 2 |
| [Arguments] ${addresses} ${oam_ip} |
| ${ipmaps}= Get From DIctionary ${addresses} ${GLOBAL_INJECTED_NETWORK} |
| ${public_ip}= Get V4 IP Openstack 2 ${ipmaps} floating |
| ${this_oam_ip}= Get V4 IP Openstack 2 ${ipmaps} fixed |
| Return From Keyword If '${this_oam_ip}'=='${oam_ip}' ${public_ip} |
| Fail ${oam_ip} Server Not Found |
| |
| Get V4 IP |
| [Arguments] ${ipmaps} |
| :FOR ${ipmap} IN @{ipmaps} |
| \ ${ip} Get From Dictionary ${ipmap} addr |
| \ ${version} Get From Dictionary ${ipmap} version |
| \ Return from Keyword if '${version}' == '4' ${ip} |
| Fail No Version 4 IP |
| |
| Get V4 IP Openstack |
| [Arguments] ${addresses} ${testtype} |
| ${ipmaps}= Get From Dictionary ${addresses} ${testtype} |
| :FOR ${ipmap} IN @{ipmaps} |
| \ ${ip} Get From Dictionary ${ipmap} addr |
| \ ${version} Get From Dictionary ${ipmap} version |
| \ Return from Keyword if '${version}'=='4' ${ip} |
| Fail No Version 4 IP |
| |
| Get V4 IP Openstack 2 |
| [Arguments] ${ipmaps} ${testtype} |
| :FOR ${ipmap} IN @{ipmaps} |
| \ ${type} Get From Dictionary ${ipmap} OS-EXT-IPS:type |
| \ ${ip} Get From Dictionary ${ipmap} addr |
| \ ${version} Get From Dictionary ${ipmap} version |
| \ Return from Keyword if '${version}'=='4' and '${type}'=='${testtype}' ${ip} |
| Fail No Version 4 IP |