Commit Graph

852 Commits

Author SHA1 Message Date
Jonathan Rosser 05b8517bf8 Switch default external network name to 'physnet1'
Unify the default network naming with changes in the all-in-one
deployment and upstream neutron docs.

Change-Id: I3ceea9a1a5fab2f0ab91883f334fb924d89a5650
2024-02-12 13:24:24 +00:00
Dmitriy Rabotyagov 0bcb0f20d8 Add missed openstack_resources_image condition
In some jobs where we run tempest we do not have all required services
Good example of that are infra jobs where only keystone is deployed.
During conversion to usage of openstack_resources role, a condition for
glance images creation task was missed, that avoided image uploads
when glance is not present.

Change-Id: Ibcf16abab20eadf984ad1c8307ad14b43a889793
2024-02-06 10:35:44 +01:00
Zuul 56d86e29bd Merge "Adopt for usage openstack_resources role" 2024-02-03 09:30:13 +00:00
Dmitriy Rabotyagov f25f81ebd1 Adopt for usage openstack_resources role
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
2024-02-02 22:28:13 +00:00
Dmitriy Rabotyagov adcb83cff8 Fix condition of excludelist file removal
Due to typo in condition, we ended up in removing excludelist file right
after it being provisioned in certain circumstances.

Change-Id: I455f4e796fb8dcac29fe7947fc192baee9367187
2024-01-30 16:04:57 +01:00
Zuul 184595e6cc Merge "Add blazar tempest support" 2024-01-11 04:54:21 +00:00
Dmitriy Rabotyagov d5a2c6e5a4 Add blazar tempest support
Change-Id: I4666a7dfc12aed265b646ea093fe39d6cc41a77c
2024-01-05 18:08:48 +00:00
likui 843f1cabd7 Drop deprecated project
panko was deprecated.

[0] https://review.opendev.org/c/openstack/governance/+/850005

Change-Id: I3ca2a489acac075f1b3a032163a27f42279f7733
2023-10-13 14:25:11 +08:00
Jonathan Rosser 00965ed13e Allow tempest_tempest_conf_overrides to be defined in many variables
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
2023-09-29 08:59:25 +00:00
Dmitriy Rabotyagov 8fc8f9021b Fix linters
Current exmaple playbook is not named which causes linters to fail

Change-Id: I464f3ad7e43f120cbbac4e88f7f207a6739bcc69
2023-09-29 10:19:48 +02:00
Jonathan Rosser bd5923cf5e Ensure test exclusion file is removed when there are no exclusions
If the role variable overrides are updated to remove a set of
existing tempest test exclusions, the previous exclusions file
remains on the disk even though it is not use, and not passed
to the tempest command. This is confusing and the file should
not be present unless there are active exclusions in place.

Change-Id: I5d69bf6258a00ade825cd3c746d1443dc1a35120
2023-08-31 11:44:11 +00:00
Jonathan Rosser 242203bafa Allow include/exclude lists to be defined in many variables
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
2023-08-17 11:20:14 +00:00
Jonathan Rosser 9ec945a0a3 Rename includelist/excludelist file path vars
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
2023-08-16 10:25:30 +01:00
Jonathan Rosser 47deba8c31 Remove deprecated variables
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
2023-08-16 09:03:23 +01:00
Dmitriy Rabotyagov 687dcb30bf Fix linters and metadata
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
2023-07-14 20:37:15 +02:00
Zuul 6081d1daac Merge "Remove tripleo CI jobs" 2023-05-24 17:52:56 +00:00
Arx Cruz 574f4acaf2 Temporarily re-add redhat-8.yml to vars
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
2023-05-24 12:46:02 +02:00
Zuul ec4d4a1e76 Merge "Build wheels only for source isntalls" 2023-05-23 17:51:10 +00:00
Zuul de5c8f9b26 Merge "Make tempest respect service_install_method" 2023-05-23 14:51:19 +00:00
Dmitriy Rabotyagov 6125fd5e7e Build wheels only for source isntalls
Ubuntu distro installation installs tempest plugins from source.
For this scenario we're  ensuring that wheels won't be built as
repo container that should handle wheels build is simply absent in this
scenario.

For the rest usecases we're sticking with our new default to build
wheels.

Change-Id: Id643946edf4b4e21f8420d048ce8293fc40a61fc
2023-05-22 17:44:19 +02:00
Dmitriy Rabotyagov 2441b55aac Clean up old rhel variable files
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
2023-05-22 17:32:54 +02:00
Dmitriy Rabotyagov 0a8459bec0 Make tempest respect service_install_method
For all services we do respect service_install_method vairable,
and define 'source' as the default options. At the moment tempest
attempts to follow source path even for distro deployments.

Change-Id: I5256943b5f175cbf46ae36361887dd055e0c52be
2023-05-22 15:30:38 +00:00
Jonathan Rosser a871336aa0 Handle openstack.cloud.image from collection 1.x or 2.x
Temporary code handling both cases until support for the 2.x
collection can be merged.

Change-Id: I200bf8d09d489be1433c9a269cc6cd6a1378a6cc
2023-03-28 15:38:28 +01:00
Jonathan Rosser a84a1d199e Remove tripleo CI jobs
This role was shared with tripleo, but that project is now
deprecated so there is no need to carry the cross-project CI jobs
any more.

Change-Id: I73aec0f325708f42bbd0fd07d572fb833e8dfb2c
2023-03-07 10:05:59 +00:00
Chandan Kumar d8ddd9fcee Add support for whitebox-neutron-tempest-plugin
Signed-off-by: Chandan Kumar <chkumar@redhat.com>
Change-Id: Id7fb7f53c2b099ee6f671350cf3cc896be5bf758
2023-01-19 10:22:04 +05:30
OpenStack Release Bot 62f7c7f89f Update master for stable/zed
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
2022-12-13 13:21:37 +00:00
Jonathan Rosser cdb6abe93a Update cirros image to 0.6.1
Change-Id: I9cd4d85b196ce4d4310e61f5fb46981a32365cc3
2022-12-01 16:55:54 +00:00
Dmitriy Rabotyagov c43fc6c9c8 Replace git-core with git for debian
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
2022-10-05 11:06:04 +02:00
Erik Berg 2a9d57f637 Remove redundant vars line
This line was introduced by I0230f1a93d16243fc50df79b2d0780e744706c7b
and should already be covered by the distribution_major_version line
above.

Change-Id: Ibffaadb721796d6f657972633d19bdd36e411c52
2022-09-14 14:58:11 +02:00
Damian Dabrowski bb33438d51 Fix dynamic service enablement for octavia and magnum
Dynamic service enablement wasn't fully configured for octavia and
mangum. This patch fixes it.

Change-Id: I187971f694842adc53142c575faa8d054fcd0f81
2022-08-24 18:40:22 +02:00
Zuul f8c8a1ed6c Merge "Use network UUID for floating_network_name" 2022-07-13 22:59:20 +00:00
Zuul ef333a4e7e Merge "Make router creation independent from tempest_public_net_create" 2022-07-13 22:56:34 +00:00
Damian Dabrowski d1110c3ee8 Use network UUID for floating_network_name
``floating_network_name`` works well with UUIDs as well.

This change doesn't make any difference when tempest creates public
network.

But when it's not, operator does not set ``tempest_public_net_name``
which leaves ``floating_network_name`` with a defeault value.

In order to fix ``floating_network_name`` behavior for both scenarios,
it should be set to the ``tempest_neutron_public_network_id``.

We do the same thing for ``public_network_id``.

Change-Id: I10e0c49b0d89b9530a523e9db79d5c7aa52359a4
2022-07-12 08:39:24 +00:00
Damian Dabrowski 514b0ca612 Fix the behavior of defining fixed_network_name
Currently we define fixed_network_name only when
tempest_create_isolated_networks == False.

It makes things complicated because tempest_create_isolated_networks is
applicable only when dynamic credentials are used.

fixed_network_name should be also defined when dynamic credentials
are not used.

Basically the only scenario when fixed_network_name should not be
defined is using dynamic credentials together with
tempest_create_isolated_networks.

fixed_network_name should be defined in all other cases.

Change-Id: I547d70995de5afbdc84c9f4e86b2599ad4cb100b
2022-07-12 08:39:19 +00:00
Damian Dabrowski e1ca4b83bf Allow to define extra tempest plugins
Allow to define extra tempest plugins without overriding the whole
`tempest_plugins` list.

Change-Id: Ie00ffb42ceb49331c997f1a700a9423c12a32684
2022-07-12 08:39:13 +00:00
Damian Dabrowski 021f18905f Make _tempest_plugins a list of dicts.
For some reason we define a list inside a _tempest_plugins dict.

It should be simplified to the list of dicts.

Change-Id: I891f77e3e22c962615697504d0870e25017511d7
2022-07-12 10:37:47 +02:00
Damian Dabrowski 4878640e18 Make router creation independent from tempest_public_net_create
Currently when ``tempest_router_create`` is enabled, playbook requires
``tempest_public_net_create`` to be set.

It's an incorrect behavior. Router creation should only require public
network to exist. It does not matter if that public network was created
by tempest or operator.

Change-Id: Icaa223ed03837a68e9e84a89560cc2df10e3ed3e
2022-07-11 17:12:49 +02:00
Rafael Castillo 56c07080a7 Check return value for router create
The newest openstacksdk is set to rename some of the field names of
return values. This also affects the openstack.cloud collection. This
patch checks for both field names to make sure the os_tempest role
doesn't break when the collections release.

Change-Id: I4b30650a6c78e76982e22746933be7c132490a43
2022-06-20 14:03:49 -07:00
Dmitriy Rabotyagov 18f2c885da Switch sphinx language to en
With sphinx release of 5.0.0, they changed default for language variable
to 'en' from None. With that current None valuable is not valid and should
not be used.


Change-Id: If3d84c85f5b439989c2fc7dec0b51068c6fe505a
2022-05-30 16:01:47 +02:00
Dmitriy Rabotyagov 3404d6cef9 Update default endpoint type to "internal"
internalURL is not a valid value for heat plugin, which makes workspace
creation to silenly fail. To avoid that we change  default to just
`internal`, that should be supported by all plugins.

Change-Id: I86eef4f4a5cbcd7825488293bb8eaa9c7b9be5f1
2022-05-20 21:00:56 +02:00
Zuul b39b6ba987 Merge "Improve domain support" 2022-05-03 18:32:56 +00:00
Zuul c3a2a97974 Merge "Fix hardcoded instance_type in [heat_plugin] section" 2022-04-27 14:47:43 +00:00
Zuul 1907e17a16 Merge "Do not store unnecessary sections in tempest.conf" 2022-04-27 14:47:40 +00:00
Zuul 42cea5e6b4 Merge "Remove unused variables" 2022-04-27 14:47:37 +00:00
Zuul 9e49925f3d Merge "Add support for both Credential Provider Mechanisms" 2022-04-27 14:47:34 +00:00
Zuul 88c56967e9 Merge "Fix hardcoded flavor_ref and flavor_ref_alt" 2022-04-27 14:47:31 +00:00
Zuul 601db553f8 Merge "Allow to create only specific tempest resources." 2022-04-27 14:36:42 +00:00
Damian Dabrowski 6a7a209c9b Improve domain support
Allow to set domain for admin authentication and dynamically provisioned
accounts.

Currently tempest admin user has to reside in the same domain as
dynamically provisioned accounts.

Change-Id: I1d5aa1f32bae42e2eeeed37588f6ca564563e57a
2022-04-26 16:45:44 +00:00
Damian Dabrowski 7d2083ed0f Fix hardcoded instance_type in [heat_plugin] section
This variable should not be hardcoded.
Setting it to tempest_nova_flavor_id_1 should be a reasonable default.

Change-Id: I11242e55a6925781249afe30f395d16dbeff1c9d
2022-04-26 16:45:39 +00:00
Damian Dabrowski 5f5291416f Do not store unnecessary sections in tempest.conf
tempest.conf should store configuration only for services installed
in the current environment.

Additionally, I removed empty sections and improved their ordering.
Now service sections are placed at the end of the file.

Change-Id: I43c97758b6db2e5e134d8f54e0911ade3ced8fdf
2022-04-26 16:45:32 +00:00