Running tempest tests -- using local vm (from Vagrant)


Flavio Fernandes <ffernand@...>
 

Running tempest tests -- using local vm

This is a short an simple set of steps you can take to get going on tempest tests.
Big thanks for enabling this goes to Kyle and Swami!

— flavio

=====

git clone git@...:mestery/odl-openstack-ci-1.git && cd odl-openstack-ci-1/centos

# look in Vagrantfile file and make sure private_network has an address that is
# valid for your system. In my system, I run ODL locally, which is reachable by
# the vagrant vm if I give it an address of 192.168.50.x/24

vagrant up && vagrant reload && vagrant ssh

# at this point, you are ssh’ed into the centos7 vm

cd /vagrant/odl-ci
vi odl-devstack-ci.sh

# I like to have control over doing the stacking, as well as running the
# tests manually. Because of that, some tweaks are needed.

# Comment out the following lines:
trap archive-logs EXIT
...
stack
run-tempest

# to see the diff, look at: https://gist.github.com/79c7a6289242489534d6

# at this point, run the modified script
./odl-devstack-ci.sh


# OPTIONAL 1 of 2 -- start
# let's say you wanted to use a Lithium version of ODL. For that, these are the
# variables you would set in local.conf.
ODL_NAME=distribution-karaf-0.3.0-SNAPSHOT
ODL_PKG=distribution-karaf-0.3.0-20150323.224826-778.zip
ODL_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/distribution-karaf/0.3.0-SNAPSHOT
# OPTIONAL 1 of 2 -- end


# OPTIONAL 2 of 2 -- start
# Note that the above would still give you an ODL running inside the VM
# if you wanted to have ODL runinng outside the VM, you can change local.conf
# to look like this:
ODL_MODE=externalodl
ODL_MGR_IP=${SET_IP_HERE}

# while running ODL 'externally', make sure to load the features and set logging
feature:install odl-ovsdb-openstack

log:set TRACE org.opendaylight.neutron
log:set TRACE org.opendaylight.ovsdb
log:set INFO org.opendaylight.ovsdb.lib
log:set DEBUG org.opendaylight.ovsdb.openstack.netvirt.impl.TenantNetworkManagerImpl
log:set INFO org.opendaylight.ovsdb.plugin.md.OvsdbInventoryManager

# bug/2774
log:set error org.opendaylight.openflowplugin.applications.statistics.manager
# OPTIONAL 2 of 2 -- end


# stack using defaults in local.conf. That will give you a Helium ODL running inside the vm.
cd /home/vagrant/jenkins-openstack-gerrit-1/devstack/ && time ./stack.sh

# FYI: my first stack.sh took 45 minutes. Following stacks takes about 4 minutes.

# Make sure stack finishes cleanly. If it did, you will someting like:
# Horizon is now available ....

==================

# At this point, you should have a stacked Openstack running in the VM. Nice! :)
# You may consider 'freezing' the pkgs used by modifying local.conf:
OFFLINE=True
RECLONE=no

# to unstack:
cd /home/vagrant/jenkins-openstack-gerrit-1/devstack/ && ./unstack.sh

# to run tempest; starting with a subset that should give you no failures while using ODL:
cd /opt/stack/tempest
./run_tempest.sh tempest.api.network.test_networks.NetworksTestJSON \
tempest.api.network.test_networks_negative

# Here is a test that is known to fail on Helium:
cd /opt/stack/tempest && ./run_tempest.sh tempest.api.network.test_networks.NetworksIpV6TestJSON

# However, this maybe a tomcat being too slow thing, as running the test that failed on its own is not
# a problem:
cd /opt/stack/tempest ; \
./run_tempest.sh tempest.api.network.test_networks.NetworksIpV6TestJSON.test_create_delete_subnet_with_allocation_pools

Join {z.archive.ovsdb-dev@lists.opendaylight.org to automatically receive all group messages.