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
These variable names collide with the best name prefix to use when
gathering many variable names into a combined include/exclude list.
Codesearch shows no use of these as overrides and the number of
cases when an override would be needed is small.
Change-Id: Ic64165e41d24ae8dc75061589de84fa57998f03d
More suitable replacement variables have been available for
several releases now so we can remove the deprecated vars.
Tripleo still defines these deprecated variables in several
places but seems to have made no attempt to move to the new
vars, and tripleo is itself now deprecated so we should move
ahead with removal of these vars from os_tempest.
Change-Id: I5a4a90bc963acc8b44caf7eb060b763e0f90a50f
Add file to the reno documentation build to show release notes for
stable/zed.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/zed.
Sem-Ver: feature
Change-Id: Ia808641ab5446707ec5296dab6198c260b1b4477
Tempest currently has two different internal methods for providing
authentication to tests: dynamic credentials and pre-provisioned credentials.
Depending on which one is in use the configuration of Tempest is slightly
different.
We should provide a support for both of them.
https: //docs.openstack.org/tempest/latest/configuration.html#credential-provider-mechanisms
Change-Id: I26d69caa3f96a530bc0a4a21365404b1a84e489a
In most cases, many of tempest resources are not needed.
From the other hand, some of our contributors still need them so we
can't just drop this functionality from this role.
The best solution I see is to add more flexibility and let users
choose which resources should be created by tempest role.
- public network:
new variable: bool tempest_public_net_create (default: true)
if false: require tempest_neutron_public_network_id to be set
if true: require all other tempest_public_net_* variables to be set
explanation: it'd be useful to choose if user wants to use already
existing public net or create a new one/
- private network:
new variable: bool tempest_private_net_create (default: false)
if true: require all tempest_private_* variables to be set
explanation: by default tempest has use_dynamic_credentials &
create_isolated_networks enabled, so it spawns an usable network,
subnet, and router when needed for each project it creates, so in
most cases it doesn't make sense to create special 'private' net.
- router:
new variable: bool tempest_router_create (default: false)
if true: both tempest_public_net_create and
tempest_private_net_create should be enabled
explanation: same case as for private network
- image:
new variable: bool tempest_images_create (default: true)
if false: require tempest_glance_image_id_1,
tempest_glance_image_id_2 to be set
explanation: tempest needs public images, so it'd be useful to just
use already existing ones
- flavor:
new variable: bool tempest_flavors_create (default: true)
if false: require tempest_nova_flavor_id_1, tempest_nova_flavor_id_2
to be set
explanation: tempest needs public flavors, so it'd be useful to just
use already existing ones
- projects:
new variable: bool tempest_projects_create (default:
"{{ tempest_public_net_create or tempest_private_net_create or
tempest_public_router_create }}")
explanation: by default tempest has use_dynamic_credentials &
create_isolated_networks enabled, so we don't need to create any
'static' projects, but network resources spawned by tempest
playbook belong to this project, so it should exist if any of
these resources are going to be created
I don't see any reason why users and tempest role should be created
so i dropped this functionality.
Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/825166
Change-Id: Icb46f5cb9e2dda6511cc49e30587f541aa7e399f
We should not include [*-feature-enabled] sections in tempest.conf and use
``tempest_tempest_conf_overrides`` for these customizations instead.
There is no way we can keep feature list updated all the time and cover all
possible features in defaults/main.yml.
That's why I think we shouldn't cover them here at all.
If we need these customizations for testing purposed(tested it and I think we
don't), we should define them using ``tempest_tempest_conf_overrides`` only for
these tests.
Change-Id: If7d7ca5ae76cb3cb24f95fb9608ce3e1182d5e5a
Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/825166
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
``tempest_endpoint_type`` variable has been implemented to avoid having endpoint type hardcoded in tempest.conf
Change-Id: Id218dcdfa788c184074d15519ac170d938290bd4
It is really unlikely to change these variables:
``tempest_network_tenant_network_cidr``, ``tempest_network_tenant_network_mask_bits``
and ``tempest_fatal_deprecations``
To keep tempest role as simple as it is possible, we should deprecate them.
They still can be changed using ``tempest_tempest_conf_overrides``.
Change-Id: Ia95f10c3548a5773c286e7d7075b71861fcef28b
'--whitelist-file' option is deprecated, use '--include-list' instead which is functionally equivalent.
Right now Tempest still supports this option for backward compatibility, however, it will be removed soon.
This change addresses the occurences of whitelist and blacklist in the os_tempest OSA role.
Change-Id: Id021d084867ef2891c381c5863b82421e90ee2ca
Removing deprecated CONF.scenario.img_dir option as it's beeing removed
from Tempest after ~4 year depreation period [1].
Currently tempest is throwing a warning if img_dir is still used.
Both behaviors (img_dir and a full pathin img_file) are supported until
tempest 25.0.0, starting tempest 26.0.0 a full path in
CONF.scenario.img_file config option will have to be specified.
[1] https://review.opendev.org/#/c/710996/
Related-Bug: #1393881
Change-Id: I949cbc6347030461a2daf0658d1ffef1d7aa0e87
The sync from https://review.opendev.org/733244 updated to
openstackdocstheme 2.2.1 and reno 3.1.0 versions.
Set openstackdocs_pdf_link to link to PDF file. Note that
the link to the published document only works on docs.openstack.org
where the PDF file is placed in the top-level html directory. The
site-preview places the PDF in a pdf directory.
openstackdocstheme renames some variables, so follow the renames
before the next release removes them. A couple of variables are also
not needed anymore, remove them.
See also
http://lists.openstack.org/pipermail/openstack-discuss/2020-May/014971.html
Change-Id: I83e11880da07e44af82df61e3bc542058561fe4c
Add file to the reno documentation build to show release notes for
stable/ussuri.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/ussuri.
Change-Id: Ic24456451d2e7724f2a48e9b102d97482829a2c0
Sem-Ver: feature
New version of openstackdocstheme (Victoria+) respects pygments_style.
Since this repo is using now Victoria (master) requirements but has
not branched for Ussuri yet, it uses the new version.
Change pygments_style to 'native' since old theme version always used
'native' and the theme now respects the setting and using 'sphinx' can
lead to some strange rendering.
Change-Id: Ia33e56d772826744a0ae4962fb4541a54a567b4e
Added tempest_tempestconf_profile_extras and
tempest_tempestconf_profile_overrides variables
tempest_tempestconf_profile_extras is designed to extend basic
tempest_tempestconf_profile dictionary when required. New var has
presedence in case of having same keys defined. It can be used
to define image or other extra params without need of overriding
defult things
tempest_tempestconf_profile_overrides var is a replacement for
tempest_tempest_conf_overrides which was used in inapropriate way
as tempestconf profile overrides have pretty different format from what
is used by config_template.
[1] https://docs.openstack.org/python-tempestconf/latest/user/profile.html
Related-Bug: #1868938
Change-Id: Ib1e78a6ce2085df82d2a22db6817e800432f2f05
Signed-off-by: Chandan Kumar (raukadah) <chkumar@redhat.com>
Co-authored-by: Dmitriy Rabotyagov (noonedeadpunk) <noonedeadpunk@ya.ru>
Add file to the reno documentation build to show release notes for
stable/train.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/train.
Change-Id: I892eb9c004666603873052e33e51610fca2082c0
Sem-Ver: feature
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>
Currently os_tempest is used by multiple deployement tools
and each of them have different methods of configuring
services and currently tempest_service_available_{service_name}
are setted based on group vars and group vars is not used at
all places which leads enable user to specifically define a
list of tempest_service_available_{service_name} which is too
hectic.
By introducing tempest_services:
- aodh
- neutron
will set those vars automatically and makes it easier for
handling tempest_service_availabe vars.
Depends-On: https://review.openstack.org/#/c/649653/
Change-Id: I8734f38206b73e6547a6ec545f07f625e844ed66
Signed-off-by: Chandan Kumar <chkumar@redhat.com>
Add file to the reno documentation build to show release notes for
stable/stein.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/stein.
Change-Id: I71cfa11cc27aa4f97301f550efa1724ff80a2063
Sem-Ver: feature
tempest_public_net_physical_type var stores the physical network
name but due to the name of the var it looks confusing. This
patch renames the var and providing that user can still use
tempest_public_net_physical_type var.
Change-Id: I45f63426a105ada0715c665a1289ed6d09911202
tempest_image_dir_owner is used to create tempest_image_dir.
and sets proper directory permission, user and group.
Let's use default ansible user to create the directory instead
of restricting on tempest_image_dir_owner user.
Change-Id: I4ccad998f2b9ef84dbe7f645f31960b38c6fd27a
This patch set the information regarding how the tempest_test_blacklist
variable should be configured. From now, each test in the blacklist
should have a launchpad and/or bugzilla tighted on it in order to
trackdown the progress of the test, as well as use other tools to
automate the verification of the status of those bugs.
Change-Id: I36c41d97ca778d892c1655731cca9ac0112851c1
This is an initial support for tempestconf tool.
Initially, tempestconf tool is being executed to generate the
tempestconf as it is, furthermore will be added the option to override
values, generate resources, hardcoded options, etc.
This is will be done in an incremental way in order to not have big
patches full of functionalities that might not be able to be fully
tested in one single patch.
Change-Id: I08cfa29361804de3bdb9077a7d8d2b8b417e50d8
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
In order to reduce the packages required to pip install
on to the hosts, we allow the service setup to be delegated
to a specific host, defaulting to the deploy host.
1. We no longer need tempest_requires_pip_packages,
so it is removed.
2. The openstack_openrc role is executed in the playbook,
so we do not need it as a meta-dep any more.
3. All uses of our custom keystone module have been
replaced with standard Ansible modules.
4. Using the service delegation model, it makes no sense
to run the resource creation on all hosts, so we
use run_once instead.
5. Given that we're using developer mode for master
integrated builds, and pip.conf is present, we need
to use the CLI to create the virtualenv so that we
can use the '--never-download' option.
Change-Id: I572db645b64a4a0ac6255bc36eaac1be13336989
While the whitelist may contain regex, sometimes using regex
is difficult and it is simpler just to blacklist the specific
test you're looking to block.
This patch adds the capability to specify a list of tests to
blacklist.
Change-Id: I16bd158ff8cd2e9b1ff42876dcf7796676f54b68
Some tempest tests require that a specific role is available for use.
Add a new variable, `tempest_roles`, to allow users to provide a list of
roles to create.
The existing tasks that create the 'reseller_admin' and 'remote_image'
roles have been removed. The correctly named 'ResellerAdmin' role is
already created by the os_swift role and the 'remote_image' is no longer
required since the glance tests make use of an admin user.
Depends-On: I66b7c639494d98fdb3baa52fe56c670e32dea3ce
Change-Id: I7987c5a4dbf50e97322a5b348c3cbd817b2672d6
Release notes are version independent, so remove version/release
values. We've found that projects now require the service package
to be installed in order to build release notes, and this is entirely
due to the current convention of pulling in the version information.
Release notes should not need installation in order to build, so this
unnecessary version setting needs to be removed.
This is needed for new release notes publishing, see
I56909152975f731a9d2c21b2825b972195e48ee8 and the discussion starting
at
http://lists.openstack.org/pipermail/openstack-dev/2017-November/124480.html
.
Change-Id: I4c63f5907d2b698b7025266829278bb434b921bd
Currently there are two sets of image downloads happening,
which is a common cause of failure in jobs due to the fact
that they're downloaded from a URL outside of OpenStack-CI.
This patch consolidates them into a single single download,
but also uses the deploy host to do the download. The download
gets done to the same location as where the image is cached
in OpenStack-CI, so as long as the SHA256SUM matches, it
will skip the download - making our tests faster and more
reliable.
As part of this, some legacy and unnecessary variables have
been removed. Also, we were uploading the same image twice
into Glance which is unnecessary. Instead we re-use the same
image ID twice in the tempest configuration.
Change-Id: I8d0afd08f6c80594d69b8d711261ae6365fad917
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
As part of the docs migration work[0] for Pike we need to switch to use the
openstackdocstheme.
[0]https://review.openstack.org/#/c/472275/
Change-Id: Id5969a88aa5a3230433dd8f6f2a6ff5dd141f278
The old tempest execution method was deprecated in
Newton. We need to shift over to using the new method
which is more reliable and easier to configure.
Change-Id: Idb750cd75f82b4af7cc7c66ce3dca21d2a7066c8
This commit removes some deprecated tempest multi-backend variables
(tempest_volume_backend1_name, tempest_volume_backend2_name)
and adds a new variable tempest_volume_backend_names.
Change-Id: Ie62466940f81a96a9e42e237fc2609a98596f156