Automatic Tempest Configuration Generator
Go to file
Chandan Kumar 34f030b5a2 Use --non-admin for non admin users in zuul jobs
python-tempestconf-tempest-packstack/devstack-demo zuul job
uses generate-tempestconf-file role to generate tempest.conf.
Since demo is a non-admin user with non-admin user we cannot use
--create option but it was used since it is a bug, so we need to
check for admin/demo user then enable the proper option.

Used Jinja templates for creating tempest configuration script

Create test-demo-user role which prepares resources for a demo
user.
Create generate-accounts-file role, which generates accounts.yaml
file for Tempest needed for running tests as user who doesn't
have persmissions to create resources.

Change-Id: I727a6cfd154cb3f95c33da02440f25ae1765153f
Story: #2001695
Co-Authored-By: Martin Kopec <mkopec@redhat.com>
2018-04-20 21:16:54 +00:00
config_tempest Fix failing of listing services 2018-04-05 12:49:21 +00:00
doc Add support for new doc PTI jobs 2018-01-05 16:31:34 +05:30
etc Merge "Add support for admin parameters moving to auth" 2017-05-05 08:18:07 -04:00
playbooks Use --non-admin for non admin users in zuul jobs 2018-04-20 21:16:54 +00:00
releasenotes Switch endpoint_type to publicURL 2017-11-23 23:25:05 +00:00
roles Use --non-admin for non admin users in zuul jobs 2018-04-20 21:16:54 +00:00
.coveragerc Initial Cookiecutter Commit. 2016-08-24 17:21:57 +02:00
.gitignore Switch to use stestr for unit tests 2017-12-05 10:06:13 +00:00
.gitreview Update .gitreview: point to review.openstack.org 2017-10-11 11:32:40 +02:00
.mailmap Initial Cookiecutter Commit. 2016-08-24 17:21:57 +02:00
.stestr.conf Switch to use stestr for unit tests 2017-12-05 10:06:13 +00:00
.zuul.yaml Use --non-admin for non admin users in zuul jobs 2018-04-20 21:16:54 +00:00
HACKING.rst Refactored python-tempestconf to work with devstack 2017-01-18 17:47:00 +05:30
LICENSE Initial Cookiecutter Commit. 2016-08-24 17:21:57 +02:00
README.rst Do not use “-y” for package install 2018-01-02 16:33:37 +07:00
requirements.txt Fixed {test,-}.requirements.txt 2018-02-13 10:23:18 +00:00
setup.cfg Decouple TempestConf class 2018-03-20 08:40:43 +00:00
setup.py Refactored python-tempestconf to work with devstack 2017-01-18 17:47:00 +05:30
test-requirements.txt Fixed {test,-}.requirements.txt 2018-02-13 10:23:18 +00:00
tox.ini Add support for new doc PTI jobs 2018-01-05 16:31:34 +05:30

python-tempestconf

Overview

python-tempestconf will automatically generate the tempest configuration based on your cloud.

Usage

Git

  1. Clone and change to the directory:
$ git clone https://git.openstack.org/openstack/python-tempestconf
$ cd python-tempestconf
  1. Create virtual environment using virtualenv:
$ virtualenv .venv
$ source .venv/bin/activate
  1. Source the newly created virtual environment and install requirements:
(.venv) $ pip install -r requirements.txt
(.venv) $ pip install -r test-requirements.txt
  1. Source cloud credentials, for example:
(py27) $ source cloudrc
  1. Run python-tempestconf to generate tempest configuration file:
(py27) $ python config_tempest/config_tempest.py --debug identity.uri $OS_AUTH_URL \
            identity.admin_password  $OS_PASSWORD --create

After this, ./etc/tempest.conf is generated.

RPM Installation (RDO)

  1. python-tempestconf is installed together with openstack-tempest, as a new dependency (starting from the Ocata release)
# yum install openstack-tempest
  1. Source cloud credentials, initialize tempest and run the discovery tool:
$ source cloudrc
$ tempest init testingdir
$ cd testingdir
$ discover-tempest-config --debug identity.uri $OS_AUTH_URL \
      identity.admin_password  $OS_PASSWORD --create

Note

In Ocata release new features were presented. discover-tempest-config is the new name of the old config_tempest.py script and it accepts the same parameters. More about new features can be found here

os-client-config support

python-tempestconf supports os-client-config so instead of sourcing openstackrc files you can use clouds.yml files. Location where these files should be stored and syntax which is used to specify cloud.yaml files can be found here

In case of git usage:

(py27) $ python config_tempest/config_tempest.py --debug --create --os-cloud <name of cloud>

In case of RPM:

$ tempest init testingdir
$ cd testingdir
$ discover-tempest-config --debug --create --os-cloud <name of cloud>