blob: b197d16c5b4a9fd9659324d73480f8f1ee15618d [file] [log] [blame]
Jerry Flood775f59f2017-04-01 06:55:19 -04001*** Settings ***
2Documentation Initializes ONAP Test Web Page and Password
3
4Library Collections
5Library OperatingSystem
DR695Hd9794652019-07-19 18:20:40 -04006Library ONAPLibrary.Templating WITH NAME Templating
Jerry Flood775f59f2017-04-01 06:55:19 -04007Resource ../resources/openstack/keystone_interface.robot
8Resource ../resources/openstack/nova_interface.robot
9
10
Jerry Flood3fc36a32017-10-11 11:09:19 -040011Test Timeout 5 minutes
Jerry Flood775f59f2017-04-01 06:55:19 -040012
13*** Variables ***
DR695Hf1621de2019-06-20 15:37:57 -040014${URLS_HTML_TEMPLATE} index.html.jinja
Jerry Flood775f59f2017-04-01 06:55:19 -040015
Jerry Flood8c636292017-10-30 13:03:31 -040016${HOSTS_PREFIX} vm
Jerry Flood775f59f2017-04-01 06:55:19 -040017${WEB_USER} test
18${WEB_PASSWORD}
19
20${URLS_HTML} html/index.html
21${CREDENTIALS_FILE} /etc/lighttpd/authorization
22#${CREDENTIALS_FILE} authorization
23
24*** Test Cases ***
25Update ONAP Page
26 [Tags] UpdateWebPage
27 Run Keyword If '${WEB_PASSWORD}' == '' Fail "WEB Password must not be empty"
28 Run Openstack Auth Request auth
29 ${server_map}= Get Openstack Servers auth
30 ${oam_ip_map}= Create Dictionary
31 Set To Dictionary ${oam_ip_map} 10.0.0.1=onapdns
Jerry Floodc8bd4272017-10-19 13:43:43 -040032 Set To Dictionary ${oam_ip_map} ${GLOBAL_INJECTED_AAI1_IP_ADDR}=aai1
33 Set To Dictionary ${oam_ip_map} ${GLOBAL_INJECTED_AAI2_IP_ADDR}=aai2
34 Set To Dictionary ${oam_ip_map} ${GLOBAL_INJECTED_APPC_IP_ADDR}=appc
35 Set To Dictionary ${oam_ip_map} ${GLOBAL_INJECTED_DCAE_IP_ADDR}=dcae_controller
DR695Hc0cf6a42019-07-26 16:42:36 -040036 Set To Dictionary ${oam_ip_map} ${GLOBAL_INJECTED_SO_IP_ADDR}=so
Jerry Floodc8bd4272017-10-19 13:43:43 -040037 Set To Dictionary ${oam_ip_map} ${GLOBAL_INJECTED_MR_IP_ADDR}=message_router
pkaras2771fda2019-04-10 11:56:50 +020038 Set To Dictionary ${oam_ip_map} ${GLOBAL_INJECTED_BC_IP_ADDR}=bus_controller
Jerry Floodc8bd4272017-10-19 13:43:43 -040039 Set To Dictionary ${oam_ip_map} ${GLOBAL_INJECTED_POLICY_IP_ADDR}=policy
40 Set To Dictionary ${oam_ip_map} ${GLOBAL_INJECTED_PORTAL_IP_ADDR}=portal
41 Set To Dictionary ${oam_ip_map} ${GLOBAL_INJECTED_SDC_IP_ADDR}=sdc
42 Set To Dictionary ${oam_ip_map} ${GLOBAL_INJECTED_SDNC_IP_ADDR}=sdnc
Gary Wu4d80cb72018-08-06 13:51:02 -070043 Set To Dictionary ${oam_ip_map} ${GLOBAL_INJECTED_MSB_IP_ADDR}=openo
Jerry Floodbfc7fcc2017-10-27 12:01:36 -040044 Set To Dictionary ${oam_ip_map} ${GLOBAL_INJECTED_CLAMP_IP_ADDR}=clamp
Jerry Floodc8bd4272017-10-19 13:43:43 -040045 Set To Dictionary ${oam_ip_map} ${GLOBAL_INJECTED_VID_IP_ADDR}=vid
Jerry Flood775f59f2017-04-01 06:55:19 -040046 Set To Dictionary ${oam_ip_map} 10.0.4.105=dcae_cdap
47 Set To Dictionary ${oam_ip_map} 10.0.4.102=dcae_coll
Jerry Flood775f59f2017-04-01 06:55:19 -040048 Set To Dictionary ${oam_ip_map} 10.0.10.1=robot
Jerry Flood775f59f2017-04-01 06:55:19 -040049
50 ${values}= Create Dictionary
51 ${keys}= Get Dictionary Keys ${oam_ip_map}
DR695H910097e2019-05-08 13:55:32 -040052 :FOR ${oam_ip} IN @{keys}
Jerry Flood775f59f2017-04-01 06:55:19 -040053 \ ${value_name}= Get From Dictionary ${oam_ip_map} ${oam_ip}
54 \ Set Public Ip ${server_map} ${oam_ip} ${value_name} ${values}
55 Log ${values}
56 Run Keyword If '${WEB_PASSWORD}' != '' Create File ${CREDENTIALS_FILE} ${WEB_USER}:${WEB_PASSWORD}
Jerry Floodc8bd4272017-10-19 13:43:43 -040057 Set To Dictionary ${values} GLOBAL_INJECTED_ARTIFACTS_VERSION=${GLOBAL_INJECTED_ARTIFACTS_VERSION}
58 Set To Dictionary ${values} GLOBAL_INJECTED_NETWORK=${GLOBAL_INJECTED_NETWORK}
59 Set To Dictionary ${values} GLOBAL_INJECTED_NEXUS_DOCKER_REPO=${GLOBAL_INJECTED_NEXUS_DOCKER_REPO}
Jerry Floodc8bd4272017-10-19 13:43:43 -040060 Set To Dictionary ${values} GLOBAL_INJECTED_OPENSTACK_TENANT_ID=${GLOBAL_INJECTED_OPENSTACK_TENANT_ID}
61 Set To Dictionary ${values} GLOBAL_INJECTED_REGION=${GLOBAL_INJECTED_REGION}
62 Set To Dictionary ${values} GLOBAL_INJECTED_KEYSTONE=${GLOBAL_INJECTED_KEYSTONE}
Jerry Floode80c1312017-10-31 08:16:53 -040063 Set To Dictionary ${values} GLOBAL_INJECTED_VM_FLAVOR=${GLOBAL_INJECTED_VM_FLAVOR}
64 Set To Dictionary ${values} GLOBAL_INJECTED_VM_IMAGE_NAME=${GLOBAL_INJECTED_VM_IMAGE_NAME}
65 Set To Dictionary ${values} GLOBAL_INJECTED_PUBLIC_NET_ID=${GLOBAL_INJECTED_PUBLIC_NET_ID}
Jerry Flood8c636292017-10-30 13:03:31 -040066 Set To Dictionary ${values} prefix=${HOSTS_PREFIX}
Jerry Flood775f59f2017-04-01 06:55:19 -040067 Create File From Template ${URLS_HTML_TEMPLATE} ${URLS_HTML} ${values}
68
69*** Keywords ***
70Create File From Template
71 [Arguments] ${template} ${file} ${values}
DR695Hd9794652019-07-19 18:20:40 -040072 Templating.Create Environment web ${GLOBAL_TEMPLATE_FOLDER}
73 ${data}= Templating.Apply Template web ${template} ${values}
Jerry Flood775f59f2017-04-01 06:55:19 -040074 Create File ${file} ${data}
75
76Set Public Ip
77 [Arguments] ${server_map} ${oam_ip} ${value_name} ${values}
78 ${status} ${public_ip}= Run Keyword And Ignore Error Get Public Ip ${server_map} ${oam_ip}
79 ${public_ip}= Set Variable If '${status}' == 'PASS' ${public_ip} ${oam_ip}
80 Set To Dictionary ${values} ${value_name} ${public_ip}
81
82Get Public Ip
83 [Arguments] ${server_map} ${oam_ip}
84 ${servers} Get Dictionary Values ${server_map}
DR695H910097e2019-05-08 13:55:32 -040085 :FOR ${server} IN @{servers}
Jerry Flood775f59f2017-04-01 06:55:19 -040086 \ ${status} ${public_ip} Run Keyword And Ignore Error Search Addresses ${server} ${oam_ip}
Jerry Flood3fc36a32017-10-11 11:09:19 -040087 \ Return From Keyword If '${status}'=='PASS' ${public_ip}
Jerry Flood775f59f2017-04-01 06:55:19 -040088 Fail ${oam_ip} Server Not Found
89
90Search Addresses
91 [Arguments] ${server} ${oam_ip}
92 ${addresses} Get From Dictionary ${server} addresses
Jerry Flood3fc36a32017-10-11 11:09:19 -040093 ${status} ${public_ip}= Run Keyword And Ignore Error Find Rackspace ${addresses} ${oam_ip}
94 Return From Keyword If '${status}'=='PASS' ${public_ip}
95 ${status} ${public_ip}= Run Keyword And Ignore Error Find Openstack ${addresses} ${oam_ip}
96 Return From Keyword If '${status}'=='PASS' ${public_ip}
Jerry Floodc8bd4272017-10-19 13:43:43 -040097 ${status} ${public_ip}= Run Keyword And Ignore Error Find Openstack 2 ${addresses} ${oam_ip}
98 Return From Keyword If '${status}'=='PASS' ${public_ip}
Jerry Flood3fc36a32017-10-11 11:09:19 -040099 Fail ${oam_ip} Server Not Found
100
101Find Rackspace
102 [Arguments] ${addresses} ${oam_ip}
Jerry Flood775f59f2017-04-01 06:55:19 -0400103 ${public_ips} Get From Dictionary ${addresses} public
104 ${public_ip}= Get V4 IP ${public_ips}
Jerry Floodb77b6972017-04-04 17:23:17 -0400105 ${oam_ips} Get From Dictionary ${addresses} ${GLOBAL_INJECTED_NETWORK}
Jerry Flood775f59f2017-04-01 06:55:19 -0400106 ${this_oam_ip}= Get V4 IP ${oam_ips}
107 Return From Keyword If '${this_oam_ip}' == '${oam_ip}' ${public_ip}
108 Fail ${oam_ip} Server Not Found
109
Jerry Flood3fc36a32017-10-11 11:09:19 -0400110Find Openstack
Jerry Floodc8bd4272017-10-19 13:43:43 -0400111 [Arguments] ${addresses} ${oam_ip}
112 ${public_ip}= Get V4 IP Openstack ${addresses} external
113 ${this_oam_ip}= Get V4 IP Openstack ${addresses} ${GLOBAL_INJECTED_NETWORK}
114 Return From Keyword If '${this_oam_ip}'=='${oam_ip}' ${public_ip}
115 Fail ${oam_ip} Server Not Found
116
117Find Openstack 2
118 [Arguments] ${addresses} ${oam_ip}
119 ${ipmaps}= Get From DIctionary ${addresses} ${GLOBAL_INJECTED_NETWORK}
120 ${public_ip}= Get V4 IP Openstack 2 ${ipmaps} floating
121 ${this_oam_ip}= Get V4 IP Openstack 2 ${ipmaps} fixed
Jerry Flood3fc36a32017-10-11 11:09:19 -0400122 Return From Keyword If '${this_oam_ip}'=='${oam_ip}' ${public_ip}
123 Fail ${oam_ip} Server Not Found
124
Jerry Flood775f59f2017-04-01 06:55:19 -0400125Get V4 IP
126 [Arguments] ${ipmaps}
DR695H910097e2019-05-08 13:55:32 -0400127 :FOR ${ipmap} IN @{ipmaps}
Jerry Flood775f59f2017-04-01 06:55:19 -0400128 \ ${ip} Get From Dictionary ${ipmap} addr
129 \ ${version} Get From Dictionary ${ipmap} version
130 \ Return from Keyword if '${version}' == '4' ${ip}
Jerry Flood3fc36a32017-10-11 11:09:19 -0400131 Fail No Version 4 IP
132
133Get V4 IP Openstack
Jerry Floodc8bd4272017-10-19 13:43:43 -0400134 [Arguments] ${addresses} ${testtype}
135 ${ipmaps}= Get From Dictionary ${addresses} ${testtype}
DR695H910097e2019-05-08 13:55:32 -0400136 :FOR ${ipmap} IN @{ipmaps}
Jerry Floodc8bd4272017-10-19 13:43:43 -0400137 \ ${ip} Get From Dictionary ${ipmap} addr
138 \ ${version} Get From Dictionary ${ipmap} version
139 \ Return from Keyword if '${version}'=='4' ${ip}
140 Fail No Version 4 IP
141
142Get V4 IP Openstack 2
Jerry Flood3fc36a32017-10-11 11:09:19 -0400143 [Arguments] ${ipmaps} ${testtype}
DR695H910097e2019-05-08 13:55:32 -0400144 :FOR ${ipmap} IN @{ipmaps}
Jerry Flood3fc36a32017-10-11 11:09:19 -0400145 \ ${type} Get From Dictionary ${ipmap} OS-EXT-IPS:type
146 \ ${ip} Get From Dictionary ${ipmap} addr
147 \ ${version} Get From Dictionary ${ipmap} version
148 \ Return from Keyword if '${version}'=='4' and '${type}'=='${testtype}' ${ip}
Jerry Floodc8bd4272017-10-19 13:43:43 -0400149 Fail No Version 4 IP