Container Infrastructure Management Service for OpenStack
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2.4 KiB

Run functional test locally

This is a guide for developers who want to run functional tests in their local machine.


You need to follow the developer quickstart guide to deploy Magnum in a devstack environment


Navigate to Magnum directory:

cd /opt/stack/magnum

Prepare a config file for functional test:

cp functional_creds.conf.sample functional_creds.conf

# update the IP address
HOST=$(cat /etc/magnum/magnum.conf | awk '/^host = /{print $3}')
sed -i "s/$HOST/" functional_creds.conf

# update admin password
source /opt/stack/devstack/openrc admin admin
iniset functional_creds.conf admin pass $OS_PASSWORD

# update demo password
source /opt/stack/devstack/openrc demo demo
iniset functional_creds.conf auth password $OS_PASSWORD

Create the necessary keypair and flavor:

source /opt/stack/devstack/openrc admin admin
nova keypair-add --pub-key ~/.ssh/ default
nova flavor-create  m1.magnum 100 1024 8 1

source /opt/stack/devstack/openrc demo demo
nova keypair-add --pub-key ~/.ssh/ default

You may need to explicitly upgrade required packages if you've installed them before and their versions become too old:

sudo pip install -c $UPPER_CONSTRAINTS -U -r test-requirements.txt

Run the test

We'v splited functional testing per COE.

Use follow command lines to check what functional testing is supported:

cd /opt/stack/magnum
cat tox.ini | grep functional- | awk -F: '{print $2}' | sed s/]//

To do some specify functional testing, for example, test kubernetes functional cases:

tox -e functional-k8s -- --concurrency=1

Test specified case of kubernetes functional cases:

tox -e functional-k8s -- --concurrency=1 <test path>

The following is an example for test path:


We also have api tests being added. To run those, go to tempest directory (tempest is installed with devstack by default), install magnum, and execute tempest tox:

cd /opt/stack/tempest
tox -eall-plugin magnum.tests.functional.api.v1 -- --concurrency=1