With efforts to create a resources in same, unified way,
we convert tempest role to use openstack_resources
for creating and managing openstack resources, like projects, flavors,
networks, images, etc. This should reduce maintenance costs
in case of futher collection updates and unify approach.
Depends-On: https://review.opendev.org/c/openstack/openstack-ansible-plugins/+/878794
Change-Id: I8d7609fac96935ed51e92ebf58515e8eb0c44d5c
Combine all variables starting with tempest_tempest_conf_overrides
to give a complete set of configuration to tempest when multiple
different test scenarios are enabled at the same time.
Change-Id: Iba5e061d1682d16c0516249f628f948a20580df8
Previously the os_tempest role had a single variable for
defining the include and exclude lists in order to select the
tempest tests to run.
This works for simple scenarios, where a single service
is deployed and the tests for that service are enabled through
the necessary variables set in user_variables. This approach is
used in openstack-ansible CI / AIO.
More complicated scenarios such as magnum+barbican+octavia, would
create several user_variables files each with conflicting settings
for the test settings. It is possible in this scenario for there to
be no valid tempest tests to run and tempest to fail immediately.
This patch adds the possibility to have many variables defining
the include/exclude lists which have names using a common prefix.
Any variable names matching the prefix are gathered and combined
with the original role default to make extending the test lists
easy to do in an incremental/distibuted way in the ansible variables
instead of having to maintain a single point defining all necessary
tests.
Change-Id: Ie3a9a7be849171af042567ba8a152e5df5d2cb53
With update of ansible-lint to version >=6.0.0 a lot of new
linters were added, that enabled by default. In order to comply
with linter rules we're applying changes to the role.
With that we also update metdata to reflect current state.
Change-Id: Ifcb6ebfa971e324e447509e50cc7294bddd6a4a0
Although tripleo deprecate master, we still use os_tempest in wallaby
and train lines, and due a design error, we rely on os_tempest master
branch instead of use the appropriate branch, and the removal of
redhat-8.yml file broken these jobs.
We will in the future, use the proper os_tempest branch on these jobs.
Change-Id: Ic2c547d730e900c883685050366e8e307869e6d1
We don't support neither redhat 7 nor redhat 8 as of today, so we can
safely clean-up variable files for these distros.
Change-Id: I1225fd75d25c3a06353b46ddb61f989b73a757b6
With ansible-core 2.13 it tries to substitude package resolution in apt
module.
However git-core is used in Debian as transitional name, but ansible
tries to select it and provide version, which is not correct behaviour.
But since git-core is not really valid anyway, we just replace it
to workaround ansible's imperfectness.
Change-Id: I862e1ea4cef840d1903962181bfc8ec3c5a1e903
For some reason we define a list inside a _tempest_plugins dict.
It should be simplified to the list of dicts.
Change-Id: I891f77e3e22c962615697504d0870e25017511d7
This allow us to define and later bump specific version of tempest
plugins for stable branches and override source of the repositories for
deployers.
Change-Id: I83fa8c729967046829db638500b65faa7f55a50d
Congress is no longer maintained and no reason to carry on it's
tempest testing.
LXD driver is also not supported by nova and project has been deprecated
back in Train.
Tempest tests for neutron vpnaas and bgpvpn were moved to neutron tempest
plugin with [1] and [2]
[1] 4077093c10
[2] 44866dadba
Change-Id: I161167b995a4cd3ee532719fa5fcf1f1a6cacb73
We cannot merge the redhat-7 and redhat-8 var file in a single
file as package names are different and if we include more
conditionals, it makes the files messy.
So adding a seperate var file for EL9.
Signed-off-by: Chandan Kumar (raukadah) <chkumar@redhat.com>
Change-Id: I2b5004bcf57b05fee16e10154355933cfeae3d44
When we're in CI and not building wheels, we might appear missing
py3-dev inside utility container, which is required for netifaces. So we
add it as `tempest_devel_distro_packages` which will get package
installed on the required target.
Change-Id: Ie8e04a1635a32e368ec3906082f7773dcefd30d1
Nmap provides ncat tool which is required e.g. by
neutron_tempest_plugin.scenario.test_port_forwarding tests.
Closes-bug: #1918597
Change-Id: I2e5b677bedfbb33518b3b655a49eaffb065f0534
horizon-tempest-plugin has been retired upstream in Wallaby cycle [1]
and it's bein removed from RDO. The tempest tests for horizon have been
integrated in the main tempest repo.
[1] https://review.opendev.org/c/openstack/tempest-horizon/+/771761
Change-Id: I612b86a5acce7a67834b1c751e380900b0e92b39
Some periodic jobs on tripleo that still run centos-7 jobs for other
branches require this variable.
This file was removed by 5a46aff857
Also adding a centos-7 standalone job for coverage.
Change-Id: I85b2841591990fc91ec665b8f77e4ceb50766c6c
Closes-Bug: #1900443
Do some role cleanup to path for not supported OS,
like gentoo or suse.
This includes bionic distro jobs, since this path is not supported
for bionic in Victoria
Fix ansible linter errors as a result of linter update.
Change-Id: I619dc6da251bd9d6f9d117e7b0cdedc2e59bf581
There do not appear to be RDO packages for python(3)-senlin-tests-tempest
so we only add support for source based deployments.
Change-Id: Ie6e8f1dcc3bb8460edd0fb22edc3d7ef14290574
Fix naming of the distro packages that needs to be installed
from py2 to py3 ones for debian family OS.
Change-Id: I95769a8da54e1f7d577d55a294fbceff4cbe3329
For ubuntu distro jobs there are no tempest plugins packages so drop the
'mixed setup' where tempest comes from a distro package and the plugins
come from pip, and then fail to install into the system python environment.
Change-Id: Ic146e011ec15889303061527e17cdc16ed914799
With Train openSUSE is switching the openstack packages to use Python 3.
This means that we need to use the python3 variants of python-module
packages.
Also switch to stester as the test runner on opensuse.
Depends-On: https://review.opendev.org/683195
Change-Id: Iab011637b8c6954360d4204a05eae49ba3eaaeaf
Also allow a default var to be specified per distro, maintaining
the current functionality for tripleo without requiring an override.
Change-Id: I99e0082a748d62ed129a860c6f16c523dec8d50e
Since in RHEL-8, all stuff is tested using python3 but
in python_venv_build role venv_python_executable var defaults to
python2 leading to venv getting created to python2.
So setting the same distro specific var fixes the issue.
Change-Id: Iab4e9f9764c12ccf7536995920a21177aa1d6cda
Signed-off-by: Chandan Kumar (raukadah) <chkumar@redhat.com>
We set tempest_plugin_install_source to true for debian distro installs.
This var allows to install tempest plugins from source, since package is
missing most part of them. However we don't want tests to interfer,
so we're skipping installation of already existing plugins in distro
package.
Change-Id: Id6e38be48f082bfa6d75741ee6e0f9632142c960
Since tempest plugins for debian/ubuntu are installed from source,
we need to ensure that pip is present for tempest hosts.
Change-Id: I36078c6db6e9891bb840362fd711e2e509323caa
Since debian/ubuntu do not provide packages for tempest plugins, we are using
mixed setup. We install tempest as a distro package, while installing
tempest plugins from source, but without venv (for system python).
That guarantees that we have all required plugins and do tests.
To accomplish that variable tempest_plugin_install_source was
introduced.
Change-Id: I198190d601cf8a922c3afaa69a3c0e42ab075735
In RHEL-8 the package name is python3-keystone-tests-tempest.
Change-Id: I807d5acf7e0c0a46d2513bbb4f52e65842a9af16
Signed-off-by: Chandan Kumar (raukadah) <chkumar@redhat.com>