Merge "Document how to run tempest tests locally"
This commit is contained in:
commit
ce1089603b
11
devstack/local.conf.sample
Normal file
11
devstack/local.conf.sample
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[[local|localrc]]
|
||||||
|
DATABASE_PASSWORD=password
|
||||||
|
RABBIT_PASSWORD=password
|
||||||
|
SERVICE_TOKEN=password
|
||||||
|
SERVICE_PASSWORD=password
|
||||||
|
ADMIN_PASSWORD=password
|
||||||
|
enable_plugin zun https://git.openstack.org/openstack/zun
|
||||||
|
enable_plugin kuryr-libnetwork http://git.openstack.org/openstack/kuryr-libnetwork
|
||||||
|
|
||||||
|
# Optional: uncomment to enable the Zun UI plugin in Horizon
|
||||||
|
# enable_plugin zun-ui https://git.openstack.org/openstack/zun-ui
|
@ -12,60 +12,10 @@ an OpenStack project.
|
|||||||
|
|
||||||
http://docs.openstack.org/infra/manual/developers.html
|
http://docs.openstack.org/infra/manual/developers.html
|
||||||
|
|
||||||
Setup Dev Environment
|
|
||||||
=====================
|
|
||||||
|
|
||||||
Install OS-specific prerequisites::
|
|
||||||
|
|
||||||
# Ubuntu/Debian:
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y libmysqlclient-dev build-essential python-dev \
|
|
||||||
python3.4-dev git libssl-dev libffi-dev
|
|
||||||
|
|
||||||
Install pip::
|
|
||||||
|
|
||||||
curl -s https://bootstrap.pypa.io/get-pip.py | sudo python
|
|
||||||
|
|
||||||
Install common prerequisites::
|
|
||||||
|
|
||||||
sudo pip install virtualenv flake8 tox testrepository git-review
|
|
||||||
|
|
||||||
You may need to explicitly upgrade virtualenv if you've installed the one
|
|
||||||
from your OS distribution and it is too old (tox will complain). You can
|
|
||||||
upgrade it individually, if you need to::
|
|
||||||
|
|
||||||
sudo pip install -U virtualenv
|
|
||||||
|
|
||||||
Zun source code should be pulled directly from git::
|
|
||||||
|
|
||||||
# from your home or source directory
|
|
||||||
cd ~
|
|
||||||
git clone https://git.openstack.org/openstack/zun
|
|
||||||
cd zun
|
|
||||||
|
|
||||||
All unit tests should be run using tox. To run Zun's entire test suite::
|
|
||||||
|
|
||||||
# run all tests (unit and pep8)
|
|
||||||
tox
|
|
||||||
|
|
||||||
To run a specific test, use a positional argument for the unit tests::
|
|
||||||
|
|
||||||
# run a specific test for Python 2.7
|
|
||||||
tox -epy27 -- test_conductor
|
|
||||||
|
|
||||||
You may pass options to the test programs using positional arguments::
|
|
||||||
|
|
||||||
# run all the Python 2.7 unit tests (in parallel!)
|
|
||||||
tox -epy27 -- --parallel
|
|
||||||
|
|
||||||
To run only the pep8/flake8 syntax and style checks::
|
|
||||||
|
|
||||||
tox -epep8
|
|
||||||
|
|
||||||
Exercising the Services Using Devstack
|
Exercising the Services Using Devstack
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
This session has been tested on Ubuntu only.
|
This session has been tested on Ubuntu 16.04 (Xenial) only.
|
||||||
|
|
||||||
Clone devstack::
|
Clone devstack::
|
||||||
|
|
||||||
|
64
doc/source/dev/tempest_tests.rst
Normal file
64
doc/source/dev/tempest_tests.rst
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
..
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
not use this file except in compliance with the License. You may obtain
|
||||||
|
a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
License for the specific language governing permissions and limitations
|
||||||
|
under the License.
|
||||||
|
|
||||||
|
=========================
|
||||||
|
Run tempest tests locally
|
||||||
|
=========================
|
||||||
|
|
||||||
|
This is a guide for developers who want to run tempest tests in their local
|
||||||
|
machine.
|
||||||
|
|
||||||
|
Zun contains a suite of tempest tests in the zun/tests/tempest directory.
|
||||||
|
Tempest tests are primary for testing integration between Zun and its
|
||||||
|
depending software stack (i.e. Docker, other OpenStack services). Any proposed
|
||||||
|
code change will be automatically rejected by the gate if the change causes
|
||||||
|
tempest test failures. If this happens, contributors are suggested to refer
|
||||||
|
this document to re-run the tests locally and perform any necessary
|
||||||
|
trouble-shooting.
|
||||||
|
|
||||||
|
Prerequisite
|
||||||
|
============
|
||||||
|
|
||||||
|
You need to deploy Zun in a devstack environment.
|
||||||
|
|
||||||
|
Clone devstack::
|
||||||
|
|
||||||
|
# Create a root directory for devstack if needed
|
||||||
|
sudo mkdir -p /opt/stack
|
||||||
|
sudo chown $USER /opt/stack
|
||||||
|
|
||||||
|
git clone https://git.openstack.org/openstack-dev/devstack /opt/stack/devstack
|
||||||
|
|
||||||
|
We will run devstack with minimal local.conf settings required. You can use the
|
||||||
|
sample local.conf as a quick-start::
|
||||||
|
|
||||||
|
git clone https://git.openstack.org/openstack/zun /opt/stack/zun
|
||||||
|
cp /opt/stack/zun/devstack/local.conf.sample /opt/stack/devstack/local.conf
|
||||||
|
|
||||||
|
Run devstack::
|
||||||
|
|
||||||
|
cd /opt/stack/devstack
|
||||||
|
./stack.sh
|
||||||
|
|
||||||
|
**NOTE:** This will take a while to setup the dev environment.
|
||||||
|
|
||||||
|
Run the test
|
||||||
|
============
|
||||||
|
|
||||||
|
Navigate to tempest directory::
|
||||||
|
|
||||||
|
cd /opt/stack/tempest
|
||||||
|
|
||||||
|
Run this command::
|
||||||
|
|
||||||
|
tox -eall-plugin -- zun.tests.tempest.api --concurrency=1
|
74
doc/source/dev/unit_tests.rst
Normal file
74
doc/source/dev/unit_tests.rst
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
..
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
not use this file except in compliance with the License. You may obtain
|
||||||
|
a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
License for the specific language governing permissions and limitations
|
||||||
|
under the License.
|
||||||
|
|
||||||
|
==============
|
||||||
|
Run unit tests
|
||||||
|
==============
|
||||||
|
|
||||||
|
This is a guide for developers who want to run unit tests in their local
|
||||||
|
machine.
|
||||||
|
|
||||||
|
Prerequisite
|
||||||
|
============
|
||||||
|
|
||||||
|
Install OS-specific prerequisites::
|
||||||
|
|
||||||
|
# Ubuntu/Debian (recommend Ubuntu 16.04):
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y libmysqlclient-dev build-essential python-dev \
|
||||||
|
python3.5-dev git libssl-dev libffi-dev \
|
||||||
|
python-gdbm
|
||||||
|
|
||||||
|
Install pip::
|
||||||
|
|
||||||
|
curl -s https://bootstrap.pypa.io/get-pip.py | sudo python
|
||||||
|
|
||||||
|
Install common prerequisites::
|
||||||
|
|
||||||
|
sudo pip install virtualenv flake8 tox testrepository git-review os-testr
|
||||||
|
|
||||||
|
You may need to explicitly upgrade virtualenv if you've installed the one
|
||||||
|
from your OS distribution and it is too old (tox will complain). You can
|
||||||
|
upgrade it individually, if you need to::
|
||||||
|
|
||||||
|
sudo pip install -U virtualenv
|
||||||
|
|
||||||
|
Zun source code should be pulled directly from git::
|
||||||
|
|
||||||
|
# from your home or source directory
|
||||||
|
cd ~
|
||||||
|
git clone https://git.openstack.org/openstack/zun
|
||||||
|
cd zun
|
||||||
|
|
||||||
|
|
||||||
|
Running the tests
|
||||||
|
=================
|
||||||
|
|
||||||
|
All unit tests should be run using tox. To run Zun's entire test suite::
|
||||||
|
|
||||||
|
# run all tests (unit and pep8)
|
||||||
|
tox
|
||||||
|
|
||||||
|
To run a specific test, use a positional argument for the unit tests::
|
||||||
|
|
||||||
|
# run a specific test for Python 2.7
|
||||||
|
tox -epy27 -- test_container
|
||||||
|
|
||||||
|
You may pass options to the test programs using positional arguments::
|
||||||
|
|
||||||
|
# run all the Python 2.7 unit tests (in parallel!)
|
||||||
|
tox -epy27 -- --parallel
|
||||||
|
|
||||||
|
To run only the pep8/flake8 syntax and style checks::
|
||||||
|
|
||||||
|
tox -epep8
|
@ -23,7 +23,10 @@ Contents
|
|||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
||||||
dev/quickstart
|
dev/quickstart
|
||||||
dev/manual-devstack.rst
|
dev/unit_tests
|
||||||
|
dev/tempest_tests
|
||||||
|
dev/manual-devstack
|
||||||
|
osprofiler
|
||||||
readme
|
readme
|
||||||
installation
|
installation
|
||||||
usage
|
usage
|
||||||
|
Loading…
x
Reference in New Issue
Block a user