*** Settings *** Documentation Testing of Group Based Policy Neutron-Mapper Suite Setup Devstack Suite Setup Tests Suite Teardown Clean Suite Library SSHLibrary Library OperatingSystem Library RequestsLibrary Library String Resource Variables.robot Resource ../../../../variables/gbp/Constants.robot Resource ../../../../libraries/Utils.robot Resource ../../../../libraries/GBP/RestconfUtils.robot Resource ../../../../libraries/GBP/AssertionUtils.robot Resource ../../../../libraries/DevstackUtils.robot Resource ../../../../libraries/OpenStackOperations.robot *** Variables *** ${NETWORK_NAME} net123 ${SUBNET_NAME} subnet123 ${CLIENT_SG} client_sg ${SERVER_SG} server_sg ${TENANTS_CONF_PATH} restconf/config/policy:tenants ${CLIENT_PORT_IP} 10.0.0.5 ${SERVER_PORT_IP} 10.0.0.6 ${CLIENT_PORT_NAME} client ${SERVER_PORT_NAME} server ${REMOTE_IP_PREFIX} 10.0.0.0/24 ${SUBNET_IP_PREFIX} 10.0.0.0/24 ${ROUTER_NAME} router123 ${TENANT_ID} ${SUBNET_ID} ${FLOOD_DOMAIN_ID} ${BRIDGE_DOMAIN_ID} ${L3_CONTEXT_ID} ${GROUP_RULE_ID} ${CLIENT_MAC_ADDR} ${SERVER_MAC_ADDR} ${CLIENT_SG_ID} ${SERVER_SG_ID} ${ROUTER_ID} *** Test Cases *** Test Resolve Tenant ID [Documentation] Test reading tenant id from default security group ${tenant_id} Get Tenant ID From Security Group ${tenant_id}= To Uuid ${tenant_id} Should Match Regexp ${tenant_id} ${UUID_PATTERN} Set Global Variable ${TENANT_ID} ${tenant_id} Test Create Network [Documentation] Create sec group and verify data generated in GBP ${uuid} Create Network net123 verbose=FALSE ${l2_fd_id} Should Match Regexp ${uuid} ${UUID_PATTERN} ${l2_fd_path} Get L2 Flood Domain Path ${TENANT_ID} ${l2_fd_id} ${l2_fd} Get Data From URI session ${l2_fd_path} headers=${headers} ${l2_bd_id} Assert L2-Flood-Domain ${l2_fd} ${NETWORK_NAME} ${l2_bd_path} Get L2 Bridge Domain Path ${TENANT_ID} ${l2_bd_id} ${l2_bd} Get Data From URI session ${l2_bd_path} headers=${headers} ${l3_ctx_id} Assert L2-Bridge-Domain ${l2_bd} ${NETWORK_NAME} ${l3_ctx_path} Get L3 Context Path ${TENANT_ID} ${l3_ctx_id} ${l3_ctx} Get Data From URI session ${l3_ctx_path} headers=${headers} Assert L3-Context ${l3_ctx} ${NETWORK_NAME} Set Global Variable ${FLOOD_DOMAIN_ID} ${l2_fd_id} Set Global Variable ${BRIDGE_DOMAIN_ID} ${l2_bd_id} Set Global Variable ${L3_CONTEXT_ID} ${l3_ctx_id} *** Keywords *** Create Neutron Entity And Return ID [Documentation] Designed for creating neutron entities and returing their IDs. [Arguments] ${cmd} ${pattern}=${UUID_PATTERN} ${output} Write Commands Until Prompt ${cmd} | grep -w id | awk '{print $4}' Should Not Be Empty ${output} ${id} Should Match Regexp ${output} ${pattern} [Return] ${id} To Uuid [Documentation] Insert dashes if missing to generate proper UUID string. [Arguments] ${init_string} Should Match Regexp ${init_string} ${UUID_NO_DASHES} ${first} Get Substring ${init_string} 0 8 ${second} Get Substring ${init_string} 8 12 ${third} Get Substring ${init_string} 12 16 ${fourth} Get Substring ${init_string} 16 20 ${fifth} Get Substring ${init_string} 20 32 [Return] ${first}-${second}-${third}-${fourth}-${fifth} Clean Suite [Documentation] Clears Openstack. This is also helpful when debugging tests locally. ${output} Write Commands Until Prompt neutron net-delete net123 Should Match Regexp ${output} Deleted|Removed Delete All Sessions