Resource ../variables/Variables.robot
Resource ../variables/netvirt/Variables.robot
Variables ../variables/netvirt/Modules.py
-Variables ../variables/netvirt/Exceptions_Whitelist.py
*** Keywords ***
Get Tenant ID From Security Group
Create Network
[Arguments] ${network_name} ${additional_args}=${EMPTY} ${verbose}=TRUE
- [Documentation] Create Network with neutron request.
+ [Documentation] Create Network with openstack request.
${output} = OpenStack CLI openstack network create ${network_name} ${additional_args}
[Return] ${output}
Update SubNet
[Arguments] ${subnet_name} ${additional_args}=${EMPTY}
- [Documentation] Update subnet with neutron request.
+ [Documentation] Update subnet with openstack subnet set request.
${output} = OpenStack CLI openstack subnet set ${subnet_name} ${additional_args}
[Return] ${output}
+Unset SubNet
+ [Arguments] ${subnet_name} ${additional_args}=${EMPTY}
+ [Documentation] Update subnet with openstack subnet unset request
+ ${output} = OpenStack CLI openstack subnet unset ${subnet_name} ${additional_args}
+ [Return] ${output}
+
Show SubNet
[Arguments] ${subnet_name}
[Documentation] Show subnet with neutron request.
${port_id} = Collections.Get from List ${splitted_output} 0
[Return] ${port_id}
+Get Sub Port Id
+ [Arguments] ${portname}
+ [Documentation] Retrieve the first 10 chars of the UUID for the given port name
+ ${port_id} = OpenStackOperations.Get Port Id ${portname}
+ ${output} = String.Get Regexp Matches ${port_id} \\w{8}-\\w{2}
+ ${subport_id} = Collections.Get from List ${output} 0
+ [Return] ${subport_id}
+
Get Router Id
[Arguments] ${router1}
[Documentation] Retrieve the router id for the given router name
OpenStackOperations.Copy DHCP Files From Control Node
[Return] @{vm_ips} ${ips_and_console_log[1]}
+Get Subnet Gateway Ip
+ [Arguments] ${subnet_name}
+ [Documentation] Show information of a subnet and grep for subnet gateway ip address
+ ${output} = OpenStackOperations.OpenStack CLI openstack subnet show ${subnet_name} | grep gateway_ip | awk '{print $4}'
+ ${splitted_output} = String.Split String ${output} ${EMPTY}
+ ${matches} = Collections.Get Matches ${splitted_output} regexp=(\\d\.)+
+ ${subnet_gateway_ip} = String.Strip String ${matches[0]} characters=','
+ [Return] ${subnet_gateway_ip}
+
Collect VM IPv6 SLAAC Addresses
[Arguments] ${fail_on_none} ${vm_list} ${network} ${subnet}
[Documentation] For each VM parse output of "openstack server show" to get its IPv6 address from Neutron DB.
[Arguments] ${test_name}=${SUITE_NAME}.${TEST_NAME}
OpenStackOperations.Get OvsDebugInfo
BuiltIn.Run Keyword And Ignore Error DataModels.Get Model Dump ${HA_PROXY_IP} ${netvirt_data_models}
- KarafKeywords.Get Karaf Log Events From Test Start ${test_name}
- Run Keyword If "${FAIL_ON_EXCEPTIONS}"=="True" Fail If Exceptions Found During Test ${test_name} ${NETVIRT_EXCEPTIONS_WHITELIST}
+ Run Keyword If "${FAIL_ON_EXCEPTIONS}"=="True" KarafKeywords.Fail If Exceptions Found During Test ${test_name}
Get Test Teardown Debugs For SFC
[Arguments] ${test_name}=${TEST_NAME}
${port_mac} = Collections.Get from List ${splitted_output} 0
[Return] ${port_mac}
+Get Port Mac Address From Ip
+ [Arguments] ${ip}
+ [Documentation] Retrieve the mac address for a port that matches any given ip.
+ ${output} = OpenStack CLI openstack port list | grep -w ${ip} | awk '{print $5}'
+ ${splitted_output} = String.Split String ${output} ${EMPTY}
+ ${mac_addr} = Collections.Get from List ${splitted_output} 0
+ [Return] ${mac_addr}
+
Create L2Gateway
[Arguments] ${bridge_name} ${intf_name} ${gw_name}
[Documentation] Keyword to create an L2 Gateway ${gw_name} for bridge ${bridge_name} connected to interface ${intf_name} (Using Neutron CLI).
\ ${is_ipv6} = String.Get Regexp Matches @{subnets}[${INDEX}] ${IP6_REGEX}
\ ${length} = BuiltIn.Get Length ${is_ipv6}
\ ${cmd} = BuiltIn.Set Variable If ${length} == 0 ip route ip -6 route
- \ ${output} = Utils.Write Commands Until Expected Prompt sudo ip netns exec qdhcp-${net_id} ${cmd} ]>
+ \ ${output} = Utils.Write Commands Until Expected Prompt sudo ip netns exec qdhcp-${net_id} ${cmd} ${DEFAULT_LINUX_PROMPT_STRICT}
\ BuiltIn.Should Contain ${output} @{subnets}[${INDEX}]
Neutron Cleanup
OpenStack Suite Setup
[Documentation] Wrapper teardown keyword that can be used in any suite running in an openstack environement
SetupUtils.Setup_Utils_For_Setup_And_Teardown
- @{loggers} = BuiltIn.Create List org.apache.karaf.shell.support.ShellUtil
+ @{loggers} = BuiltIn.Create List org.apache.karaf.shell.support.ShellUtil org.apache.sshd.server.session.ServerSessionImpl
Setuputils.Setup_Logging_For_Debug_Purposes_On_List_Or_All OFF ${loggers}
DevstackUtils.Devstack Suite Setup
@{tcpdump_port_6653_conn_ids} = OpenStackOperations.Start Packet Capture On Nodes tcpdump_port_6653 port 6653 @{OS_ALL_IPS}