For some reason we define a list inside a _tempest_plugins dict.
It should be simplified to the list of dicts.
Change-Id: I891f77e3e22c962615697504d0870e25017511d7
Change I02ac67e333cc1a5133269bd8562f18a8d50bb036 renamed
openstack/python-tempestconf to osf/python-tempestconf. Update use in
this repository.
openstack-ansible team: Please check whether this needs backporting and
do the backporting yourself.
Depends-On: https://review.opendev.org/734672
Change-Id: I303be4967f161fd004ecbba74b7367410d44db36
It updates the url from git.openstack.org to opendev.org and
also remove cgit from opendev.org.
Keeping vagrantfile, run_tests.sh and bindep.txt as itis
as these are updated automatically by openstack-ansible-tests.
Change-Id: Ia449079776e0339515ae1a2bca7553b03d9cde1c
Signed-off-by: Chandan Kumar <chkumar@redhat.com>
The tempest tests need to ssh to booted virtual machines. The neutron
public network is 10.1.3.0/24, which is the flat network on br-vlan.
From the container perspective this was previously reached via the
default gateway on eth0 as there was no specific route to the
10.1.3.0/24 network.
On centos traffic is no longer being forwarded to the br-vlan flat network
via the container eth0 and host networking, but this still works for
other distributions.
This patch adds an IP address to the present, but previously un-addressed
interface eth12 in each container. This gives a direct route to the neutron
public network from the container and does not require the host network
to forward the traffic. The test setup is now more decoupled from the
host networking which should increase reliability.
Change-Id: Id8fbe05e83bc6d86f57202301e712fc4e8a17003
In CI jobs, currently python-tempestconf is getting from pip,
which makes it hard to test dependent changes of the project.
By adding this support, one can test the python-tempestconf
changes in the review itself.
Setting tempest_developer_mode to true will exercise the same.
Change-Id: I7744270e7371260dcc4db146736710fb050f3502
In order to consume os_tempest role across different deployment
tools, following changes are introduced:
- tempest_install_method:distro|source through which user can install
tempest from source as well as distro
- tempest_workspace directory is added as when tempest is installed
from distro, we need a place where tempest can be executed. It
generalised the use of tempest_workspace at each place.
- The default location of the default tempest configuration is now
/etc/tempest/tempest.conf rather than the previous default of
$HOME/.tempest/etc.
Change-Id: Ie280cfa6b93fa65c56ed98066deb4f9c82a1a8db
The connection plugin no longer falls back on using the
inventory_hostname as the container_name. Set container_name as a host
var for each container in the test inventory.
Change-Id: Ia62cbc85fc1f1e8db4ce8f8aa41beef5ecefcc49
Our role tests execute as non-root users, and the roles
need to access the environment variables for that non-root
user. Ansible, when targeting localhost, changes to
'connection: local' and thus breaks everything we need
to do against localhost as root unless we use 'become: true',
but we if generally use that against remote hosts we lose
the environment variables for the non-root user.
As such, we switch the inventory to target 'compute1' instead,
which has the address '10.1.1.1' (br-mgmt), so that we do not
have to deal with the implict connection type changes implemented
by Ansible.
Depends-On: https://review.openstack.org/584033
Change-Id: I79256f9cb542732cfdff6439768f94769ee33b1c
Now that run_tests.sh handles the tests repo clone, we can
remove the use of the older tests-repo-clone.sh script.
Change-Id: Ibfb1b6266f8014a9ac40576f4182279a88791f46
This commit replaces the call to testr with stestr, and updates the
output files accordingly. This is necessary because tempest has moved
away from testrepository [1], which is resulting in empty files being
created.
Lastly, we update the functional tests to ensure the subunit results
files exist and are not empty.
[1] https://review.openstack.org/#/c/504345/
Change-Id: I2496fccff1f51c586e999538232a4bcf0addbee5
In order to ensure that the updated role is used for tests,
we adjust the a-r-r file to pull from the correct repo.
Change-Id: I77b3211ad6d479223636a5a3514cd79d9ac0389f
In order to allow tests to work as the use of the common
role is implemented in the various roles, we pre-implement
the addition of the role into the a-r-r file.
Change-Id: I4b8670453da0bfcd7d014d9e4a1aeda3e7d7f149
Implements: blueprint python-build-install-simplification
Signed-off-by: Jesse Pretorius <jesse.pretorius@rackspace.co.uk>
In order to allow tests to work with https://review.openstack.org/551028
merged, add the role to the a-r-r file.
Change-Id: I42078cf39bc59b746c3a367aeef3da84d8d0924b
With the merge of https://review.openstack.org/520177 in the
tests repo some ansible-lint failures which previously were
not being picked up are now detected.
Change-Id: I5e24ce49f6200d85a186c6b67e5d3036db6d05bb
Cloning from the official ODL git repository fails far too often with
the following error
fatal: unable to access 'https://git.opendaylight.org/gerrit/p/integration/packaging/ansible-opendaylight.git/': gnutls_handshake() failed: Error in the pull function
Lets switch to the github mirror which may be more reliable.
Change-Id: I0965828129179e202356e3a8ee7e6b87e03457dd
This patch implements an initial set of jobs intended to match
the current job execution method. It does not intend to improve
how the jobs are executed - only to replicate what is currently
in openstack-infra/openstack-zuul-jobs and provide the platform
to iterate on.
Depends-On: I0391ec310c4eede436011a48490e3c524c8ddf4d
Change-Id: I695084aa70d6bd48cd8d498556918a1fbbc3c2a2
In order to pass the lint test, all meta-dep
roles for the roles we execute in the test must
be present. As the os_neutron role recently got
the opendaylight role added as a meta-dep it is
now required here too.
Change-Id: Id3e98cafaa7593023d1dd750045e8156f70ffdf3
The role 'ceph_client' was not found in openstack-ansible-os_tempest,
so add it.
Change-Id: I0ed821f48510dd36b8067c313890386221f90720
Closes-Bug: #1704294
The results generation should never fail the
execution of the role as the tasks are a value
add, rather than a necessary requirement.
Also, generate the results files in the log
folder instead of creating them and then
copying them.
Change-Id: I0bcda58c93680a48a618f5448a613272803c50cf
When executing the tests repo clone in OpenStack-CI,
use zuul-cloner instead of git to enable cross-repo
testing. This ensures that if a dependent patch from
the tests repo is noted using 'Depends-On: <change-id>'
in the commit message, that patch will be included.
Change-Id: If75af45f9ebc17b85bbc8aec019714f4a3625753
Depends-On: Idce7abebf32f24c356a27e099fbca954d917402b
'ansible_become' defined as a host_var or in the inventory for a host
has a higher precedence than 'become' defined within a playbook.
In change Id5b76a87809f03951c954fc3d752419a673403f7, 'become' was
defined explicitly for each play running against localhost so
'ansible_become' should be removed from its host_vars.
A Bug in nova prevents our tests or Nova from working properly. This is
being fixed in https://review.openstack.org/#/c/455710/, but until that
merges we should SHA pin upstream nova to allow development to continue
Change-Id: I56b21b58b0a2e55cc83c9a3f1002ca462992227d
This commit updates templates/openstack_tempest_gate.sh.j2 and the
default tempest_test_whitelist to expose a cinder multi-backend test.
This is useful for ensuring that a) multiple backends are operational
(ceph/LVM for instance), while also testing that the multi-backend
features are functional.
NOTE: We also change the tests to use the sahara tempest plugin rather
than designate as the designate plugin appears to be broken at
the moment.
Change-Id: I4a730614cfb695b82a79dfbe540396e5f4fd198a
The old method of executing tempest via run_tempest.sh from
the root of the git clone has been deprecated and will soon
be removed.
This patch does the following:
- Moves the tempest execution into the role.
- Provides the ability to set the tests to be executed
as a list. The list becomes a whitelist which is given
to tempest to run. The whitelist can be a specific list
of tests, or line seperated regex.
- Uses the modern execution method, but leaves the old
method in place to allow other roles to transition.
- Exports the subunit results as raw, xml and html results.
Implements: blueprint testing-direct-tempest
Change-Id: I40f816ead338f90f9537a8494822ff10b06021cb
This patch consumes the centralised Ansible test scripts
implemented in https://review.openstack.org/381853
Change-Id: Iea3a6f853b2347b1463644c89136a313711e7785
To avoid overriding important "pip_install_options" that apply to all
hosts, we should move the pip_install_option to the central tests
repository.
This happens as part of the following PR:
https://review.openstack.org/381023
This PR removes the override from tempest.
Change-Id: I90fb3134650376f734f030be99f8d268924da767
Depends-On: I1c25e2c95e3bd5aca02b6220f82cf577ccfdbc8b
Move tempest to use the central test repository as well as Ansible
2.1.1.
This mirrors the change made for the openstack-ansible-os_nova role,
whilst keeping tempest running on it's own container for testing
purposes.
Additionally this moves to use the testing scripts to simplify and make
the tox.ini file more uniform.
Co-Authored-By: Travis Truman <travis_truman@cable.comcast.com>
Change-Id: I06771dba022fa91bb0230a7c0ebe6d7872e80004
In tempest role tests we install tempest on a container that already has
other services installed on it.
To ensure the tempest role is indepedent we should test it by deploying
it in it's own container.
We need to fix the dependencies for the tempest role by installing git
on the tempest host.
Change-Id: I0230f1a93d16243fc50df79b2d0780e744706c7b
The tempest gate is failing due to tempest being unable to boot
instances. This is due to the veth peer not being setup correctly, and
the linuxbridge configuration being incorrect
This PR fixes the veth peer and and the neutron configuration
options.
Change-Id: Iaffb5f95ab59918feb5e498bbdc6a6325abaa4d4
Currenlty, a large chunk of the playbook logic
used to deploy and configure tempest is not covered
in this role's testing.
This patch copies os_nova's testing environment
settings to deploy additional services.
Change-Id: Ide4764609488b157a1540d1f8828d067faeafdb8
Paving the way for zaqar role testing using the tempest
plugin available within the zaqar source code
Change-Id: Idae0472788efdc99fa35bd011090a863c29fea7f
The pip_install and pip_lock_down roles have been merged.
Remove pip_lock_down from the role's meta dependencies and test
requirements.
Change-Id: I1f928025b654734ab05a9cd448a2eaf03c509486
This commit does the following:
- fixes a bug in tempest_install.yml where we install plugins into the
wrong venv location (previously tempest_git_dest, which is no longer
set)
- updates the plugin clone directory name to use the plugin name with
dashes changed to underscores (this follows the typical pattern
imposed by openstack-ansible)
- adds tempest_plugins to test-vars.yml and then ensures that the
associated tempest plugin is installed
Change-Id: I41644d7f0b8f03edc43629f90aa4910b3eb3dcea
This commit updates tests/test-tempest-functional.yml to use
tempest_ven_bin instead of assuming tempest is installing into /opt.
We also remove tempest_requirements_git_install_branch since it already
defaults to master.
Change-Id: Ib6624ae06f7cef876376c077861ce368e7289f75