Variables ../variables/Variables.py
*** Variables ***
-${OPENSTACK_BRANCH} stable/liberty
-${NETWORKING-ODL_BRANCH} ${OPENSTACK_BRANCH}
-${TEMPEST_REGEX} tempest.api.network
-${ODL_BOOT_WAIT_URL} restconf/operational/network-topology:network-topology/topology/netvirt:1
${default_devstack_prompt_timeout} 10s
-${devstack_workspace} ~/ds_workspace
${DEVSTACK_SYSTEM_PASSWORD} \ # set to empty, but provide for others to override if desired
-${CLEAN_DEVSTACK_HOST} False
*** Keywords ***
Run Tempest Tests
[Arguments] ${tempest_regex} ${tempest_exclusion_regex}="" ${tempest_conf}="" ${tempest_directory}=/opt/stack/tempest ${timeout}=600s
[Documentation] Execute the tempest tests.
+ Return From Keyword If "skip_if_${OPENSTACK_BRANCH}" in @{TEST_TAGS}
+ Return From Keyword If "skip_if_${SECURITY_GROUP_MODE}" in @{TEST_TAGS}
${devstack_conn_id}= Get ControlNode Connection
Switch Connection ${devstack_conn_id}
Write Commands Until Prompt source ${DEVSTACK_DEPLOY_PATH}/openrc admin admin
Write Commands Until Prompt cd ${tempest_directory}
- Write Commands Until Prompt sudo testr list-tests | egrep ${tempest_regex} | egrep -v ${tempest_exclusion_regex} > tests_to_execute.txt
- ${tests_to_execute}= Write Commands Until Prompt sudo cat tests_to_execute.txt
- Log ${tests_to_execute}
- # run_tempests.sh is a wrapper to testr, and we are providing the config file
- ${results}= Write Commands Until Prompt sudo -E ${tempest_directory}/run_tempest.sh -C ${tempest_conf} -N ${tempest_regex} -- --load-list tests_to_execute.txt timeout=${timeout}
+ # From Ocata and moving forward, we can replace 'ostestr' with 'tempest run'
+ # Note: If black-regex cancels out the entire regex (white-regex), all tests are run
+ # --black-regex ${tempest_exclusion_regex} is removed for now since it only seems to work from newton
+ ${results}= Write Commands Until Prompt ostestr --regex ${tempest_regex} timeout=${timeout}
Log ${results}
# Save stdout to file
Create File tempest_output_${tempest_regex}.log data=${results}
Utils.Flexible SSH Login ${OS_USER} ${DEVSTACK_SYSTEM_PASSWORD}
SSHLibrary.Set Client Configuration timeout=${default_devstack_prompt_timeout}
-Clean DevStack Host In Case It Is Not Sterile
- [Documentation] In upstream CI, the expectation is that the devstack VM is fresh, sterile and ready
- ... for any version of devstack, networking-odl, and OpenDaylight. During local test development,
- ... it can be faster to just clean the needed packages, configurations, repos, files, etc. instead of
- ... spinning up a new system. This keyword serves as a living list of those items needed to prep a
- ... potentially non-sterile devstack system.
- Write Commands Until Prompt pgrep python | awk '{print "sudo kill",$1}' | sh
- Write Commands Until Prompt pgrep java | awk '{print "sudo kill",$1}' | sh
- Write Commands Until Prompt rpm -qa | grep rdo
- Write Commands Until Prompt sudo rpm -e $(sudo rpm -qa | grep rdo)
- Write Commands Until Prompt sudo yum remove -y pyOpenSSL
- Write Commands Until Prompt sudo -H pip uninstall -y virtualenv
- Write Commands Until Prompt sudo rm -rf /tmp/ansible /opt/stack
- Write Commands Until Prompt rm -rf ${devstack_workspace} ~/os-testr
- Write Commands Until Prompt sudo ovs-vsctl del-br br-ex
- Write Commands Until Prompt sudo ovs-vsctl del-br br-int
- Write Commands Until Prompt sudo ovs-vsctl del-manager
-
Write Commands Until Prompt
[Arguments] ${cmd} ${timeout}=${default_devstack_prompt_timeout}
[Documentation] quick wrapper for Write and Read Until Prompt Keywords to make test cases more readable
+ Log ${cmd}
SSHLibrary.Set Client Configuration timeout=${timeout}
SSHLibrary.Read
SSHLibrary.Write ${cmd}
${output}= SSHLibrary.Read Until Prompt
[Return] ${output}
-
-Get Networking ODL Version Of Release
- [Arguments] ${version}
- [Documentation] Get version of ODL to be installed
- # once Beryllium SR1 goes out, we can change beryllium-latest to use 0.4.2
- Return From Keyword If "${version}" == "beryllium-latest" beryllium-snapshot-0.4.2
- Return From Keyword If "${version}" == "beryllium-SR1" beryllium-snapshot-0.4.1
- Return From Keyword If "${version}" == "beryllium" beryllium-snapshot-0.4.0
- Return From Keyword If "${version}" == "lithium-latest" lithium-snapshot-0.3.5
- Return From Keyword If "${version}" == "lithium-SR4" lithium-snapshot-0.3.4
- Return From Keyword If "${version}" == "lithium-SR3" lithium-snapshot-0.3.3
- Return From Keyword If "${version}" == "lithium-SR2" lithium-snapshot-0.3.2
- Return From Keyword If "${version}" == "lithium-SR1" lithium-snapshot-0.3.1
- # FYI networking-odl no longer has this for some reason.
- Return From Keyword If "${version}" == "lithium" lithium-snapshot-0.3.0
- Return From Keyword If "${version}" == "helium" helium
-
-Show Devstack Debugs
- [Documentation] Collect the devstack logs to debug in case of failure
- Write Commands Until Prompt gunzip /opt/stack/logs/devstacklog.txt.gz
- Write Commands Until Prompt tail -n2000 /opt/stack/logs/devstacklog.txt timeout=600s
- Write Commands Until Prompt grep 'distribution-karaf.*zip' /opt/stack/logs/devstacklog.txt