Commit Graph

2936 Commits (master)

Author SHA1 Message Date
Eduardo Olivares 69bfc9cbbe Update latest stable tag to 0.7.1
Change-Id: I9f1e9b1a8535af4751610af1b98f95e0293dd7ac
2023-12-04 18:41:25 +01:00
Zuul 00dd52d1b8 Merge "Add support to skip tests from CLI" 2023-12-04 14:26:37 +00:00
Eduardo Olivares 5af7c53c05 Add support to skip tests from CLI
With this patch, a new pytest optional arg has been added:

When it is used, tests are skipped when the regex is found in their test
names. Fully qualified test names are used for this search. Example:

It can be used from CLI with pytest like this:
$ .tox/py3/bin/pytest \
  --skipregex='test_join_chunks_.*_bytes|test_join_chunks_with_unicodes' \

It can be used from CLI with tox like this:
$ PYTEST_ADDOPTS="--skipregex='test_join_chunks_.*_bytes|test_join_chunks_with_unicodes'" \
  TOX_PYTHON=python3.9 \
  tox -e py3

It can be used from the Tobiko Infrared plugin by using the following
option (limitation: the skipregex is applied to all the steps from the
the executed Tobiko workflow):
$ infrared tobiko ... --pytest-addopts "--skipregex='test_join_chunks_.*_bytes|test_join_chunks_with_unicodes'"

It can be used from a zuul job by configuring the following variable
within the zuul job yaml file (limitation: the skipregex is applied to
all the steps from the executed Tobiko workflow):
pytest_addopts_global: "--skipregex='test_join_chunks_.*_bytes|test_join_chunks_with_unicodes'"

Change-Id: I8ee32ba467bd70142816953598d1736fa353d3d0
2023-12-04 12:17:26 +01:00
Eduardo Olivares 1833f3e2fc Increase retry timeout to obtain multi_ip_test_fixture.vms_detailed_info
Test test_z99_reboot_controller_galera_main_vip creates a set of 10 VMs.
While the creation is in progress, the test reboots some controller
nodes. Then, it waits until all VMs are created. It uses a timeout
because sometimes not all the VMs reach the ACTIVE status due to the
controller rebooted.
The timeout value of 4 minutes seems to be not enough in some cases.
This patch increases that value to 5 minutes.

Change-Id: I40fa9798f71d82047237e914373016122f54a392
2023-12-01 07:29:51 +00:00
Eduardo Olivares 9bc3c0a650 Pin podman-py version to 4.7.0
Tobiko tox virtual env creation fails with podman-py 4.8.0 due to
an issue with dependencies.
The new podman-py does not include any feature relevant for Tobiko, so
we can continue using 4.7.0.

Change-Id: I6003d5f7f36620a71e9ad31eab707edd7e81a041
2023-11-30 09:53:42 +01:00
Zuul b65a92446f Merge "New faults test test_restart_neutron" 2023-11-24 19:26:21 +00:00
Eduardo Olivares ebdeee396e Fix cleanup octavia LBs
Change-Id: I805b0d434e2c2f204645eff8c9e38ce825b2e405
2023-11-23 16:40:02 +01:00
Eduardo Olivares 425b6f3817 New faults test test_restart_neutron
This test has the same structure as other faults tests:
- check cloud is healthy
- perform some disruption
- check cloud is recovered and healthy after the disruption

In this case, the disruption is restarting the neutron server on the
overcloud nodes where it is running

Change-Id: I23de4fd028a88df4edb22826eda4c9e223bb3470
2023-11-23 10:12:56 +01:00
Zuul 8487bf0ba2 Merge "Fix podman client creation with IPv6 control planes" 2023-11-23 09:07:07 +00:00
Zuul 38d3c3d4a2 Merge "Add neutron-radvd to sidecar_container_list" 2023-11-22 17:37:16 +00:00
Eduardo Olivares 68d4edff18 Fix podman client creation with IPv6 control planes
When the overcloud nodes use IPv6 addresses, the socket file name
created before this patch was not valid because character ":" cannot be
used on that file.
This patch replaces ":" with "." for the podman socket filename.

Change-Id: I3cd2ac7cee39bc7c4bdf5958096f848bf6e30ae9
2023-11-22 12:29:14 +01:00
Eduardo Olivares d50f39b1e7 Manila share_protocol value can be configured
The tobiko infrared plugin allows to configure a value for manila
share_protocol within tobiko.conf

Change-Id: I5dc4923ede35958be80c1a3c1e25d30aa6325060
2023-11-21 18:18:43 +01:00
Eduardo Olivares 11a625d215 Move network_undisrupt_controller_main_vip to tearDown
The faults test test_network_disruptor_main_vip runs a method to undo
the disruptive action that it executes.
That method is called at the end of the test. If something fails before,
the "undisruption" is not called.
This patch moves network_undisrupt_controller_main_vip to the tearDown
method, which guarantees it would be executed, regardless of passing or

Change-Id: I05183de74d12a00bc57efd8a3bce10525a3efd0b
2023-11-20 18:42:33 +01:00
Zuul 87cd444254 Merge "find_ovn_db_ctl_files only fails when file is not found" 2023-11-16 09:28:41 +00:00
Zuul 35b59a826d Merge "Improve DisruptTripleoNodesTest tearDown" 2023-11-15 15:32:37 +00:00
Eduardo Olivares a91c0d49c8 Add neutron-radvd to sidecar_container_list
This patch affects only ML2/OVS setups.
Some faults tests fail after reboots or disruptive actions because
the neutron-radvd sidecar containers move from one controller to
another one, which is not really wrong.

Change-Id: I3fa53563e6ed92eadb7e53789df04297684c312c
2023-11-15 11:46:58 +01:00
Eduardo Olivares d8dad718eb find_ovn_db_ctl_files only fails when file is not found
Before this patch, the find command could fail due to other reasons
(some directory was not accessible) that are irrelevant to the aim of
this function, which is to find the path of the ovn db ctl files

Change-Id: If8ddee01fbc0c9500131360aa3db499f04528e5d
2023-11-15 11:34:08 +01:00
Eduardo Olivares bb712907d4 Make ubuntu VM interface name configurable
Depending on the hypervisor/compute were the Ubuntu VM instances are
spawned, their interface names are created following differnt
conventions. Tobiko decides which is the expected name depending on the
OSP version, but that is not a valid method to decide it in some cases.
This patch allows to configure the expected Ubuntu interface name.

Change-Id: I6d876c73d883dc588360d6f6bc54f952d0fa9e84
2023-10-27 12:22:48 +02:00
Eduardo Olivares 2e5a23e95c Make keystone endpoint interface configurable
By default, admin interface is used. In case of podified setups, this is
not valid.
With this patch, a value can be configured.

Change-Id: I97582a76fdaf2d60682ab27b6668c19db3ef53c1
2023-10-27 12:11:18 +02:00
Zuul 096ed1fbde Merge "Ensure default manila share type exists" 2023-10-24 15:58:15 +00:00
Zuul 26de8973b2 Merge "Add cacert to manilaclient" 2023-10-24 13:20:38 +00:00
Eduardo Olivares 1cab5fbf5d Ensure default manila share type exists
Before the manila scenario tests create shares, they should ensure the
default share type exists.

Change-Id: I26a76baf9e6b62a4f85104e548ce3235155799a3
2023-10-23 12:42:38 +02:00
Eduardo Olivares 3d1bace079 Add cacert to manilaclient
On TLS-e environments, manila requests were rejected due to
With this patch, the path to the cerificate is passed to manilaclient
and the requests are answered successfully.

Change-Id: Id5437488d4ec1101c0b75ed04677ed4bf28f52e1
2023-10-23 12:35:07 +02:00
Eduardo Olivares 2ea22c58bb Set timeout to 40 secs for pcs status command
Change-Id: I50792aea599ab53b07a62dbed486ab3836b46674
2023-10-18 11:33:40 +02:00
Eduardo Olivares 5aafb1e068 Apply process timeout to process.send_all method from sh.execute
It makes sense that the command execution timeout is applied to the
process.send_all method, which otherwise retries forever to send the

Change-Id: I1f9e496d0efe6e7ff1e6b347253032c408d9e8d4
2023-10-18 11:33:31 +02:00
Eduardo Olivares 89f94d21cd Add some logs with info about process retry loop
Tobiko does not print any information about the status of this loop
because the sleep_interval is None.
After one hour, the retry loop is broken because the timeout expires,
but there is no information about the reason why it expired.
With this patch, information about the timeout and the retry loop is
printed within the Tobiko logs.

Change-Id: I74e97bf251bbb0180b26d7111bde52663cee2406
2023-10-18 11:33:21 +02:00
Eduardo Olivares cc3c91acd7 Keystone password could be a number
Change-Id: I5af3b88754b3aaad90be015ca641764af9c33882
2023-10-18 08:40:58 +02:00
Fiorella Yanac 17c0262329 Add note in L3 agent test
Note: Sleep(30 sec) to make sure the L3 agent has time
to fully provision all the resources.

test: test_metadata_haproxy_during_stop_L3_agent
Change-Id: Icc0f0401e9d0f2be1d61fb80a82c28c586261aae
2023-10-16 11:41:10 +02:00
lkuchlan 5d04e37ab0 [Manila] pre-upgrade resource creation and post-procedure validation
There's a need to create a Manila share resource before the upgrade
process and then validate the share after the process is complete.
To achieve this objective, it is essential to incorporate support for
the Manila client, a task that is accomplished through this commit.

Change-Id: I0d520e40a1a491ee864e707d63413d10035b99ca
2023-10-09 12:45:10 +00:00
Zuul 1449078813 Merge "[Faults] Verify that 'network_disruption' method takes place." 2023-10-06 11:59:30 +00:00
Eduardo Olivares 262a754620 Update latest stable tag to 0.7.0
This version drops support for python3.6 and python3.7

Change-Id: I8060618eb8483d16256e860212a2dc5f31dbd2ea
2023-10-04 11:37:41 +02:00
Julia Marciano 5a67d307a6 [Faults] Verify that 'network_disruption' method takes place.
We expect that after traffic to the dedicated controller node(s) is dropped, the controller(s) will be fenced and restarted. Using "check_overcloud_node_uptime" method to check it happens.

Change-Id: Id26e3b4200643fa7ab4f42e6a5ddfe019c41266c
2023-10-04 09:14:17 +00:00
Eduardo Olivares f5796f650f Fix is_dvr_enabled method when OVN is configured
The configuration parameter that provides the information about DVR when
ML2/OVN is used is different from the parameter used by ML2/OVS.
1) In case of OVS:
2) In case of OVN:

Change-Id: Id5e099a3fea21261339e049b53063613ea4667c2
2023-10-02 12:18:47 +02:00
Zuul 6009ff1e79 Merge "Skip background ping checks during controllers reboot with nonDVR" 2023-09-29 14:53:34 +00:00
Zuul d47aefd7e7 Merge "Make ResourceFixtures configurable" 2023-09-29 12:13:31 +00:00
Zuul 6d89125d3e Merge "Create ResourceFixture: common class to manage OSP resources" 2023-09-29 12:04:52 +00:00
Eduardo Olivares 7cbf30b983 Skip background ping checks during controllers reboot with nonDVR
When DVR is disabled, rebooting or applying network disruptions on the
controllers nodes can affect dataplane traffic because the packets are
not directly routed to the compute nodes.
Due to this, some faults tests fail during the background ping checks.
This patch skips the background ping checks on those tests.

Change-Id: If51016ce7c3562d1f18ac1f2124db72ef29c90d7
2023-09-28 10:31:47 +02:00
Eduardo Olivares c2f03aff50 Skip SharedFixture.cleanUp during check-resources steps
The SharedFixture.cleanUp method is called when setup_fixture fails. The
aim of this is to delete the resources that were not successfully
created and allow next tests to create them properly.
This is not valid with check-resources steps because resources are not
created again.
So, in this case, it makes more sense to skip deletion of resources and
run the rest of tests with the existing ones, even if they fail.

Change-Id: I11b4eb5178c9891a692836ef720ca0487f407e60
2023-09-27 12:04:35 +02:00
Eduardo Olivares 6845550e0f Make ResourceFixtures configurable
With this patch, ResourceFixtures can be declared with
tobiko.required_fixture using kwargs.
Those kwargs can be used to modify default values from attributes used
within the ResourceFixtures subclass constructors

Change-Id: Ib3dbff002cec51336ed56aaa2a86e8dc207d9807
2023-09-26 08:53:49 +02:00
Eduardo Olivares 798ccdad50 Create ResourceFixture: common class to manage OSP resources
The new ResourceFixture is the base class used to manage the creation of
OSP resources that are not based on Heat Stacks.
The child classes only need to provide some mandatory attributes and
implement methods to create, find and delete resources.

Change-Id: I684e9561289e02578ee967aa4b6de02ac757fb14
2023-09-25 16:25:29 +02:00
Fiorella Yanac 715d6c9361 Add conditional trunk port
When vm is created, the trunk port may not have been created first.
By adding this conditional, vm depends on the existing trunk port.

Change-Id: I069698b869633007f49110463658c858236c9f32
2023-09-22 14:51:35 +01:00
Zuul cd0b58190c Merge "Skip wait_for_guest_os_ready during check-resources" 2023-09-20 10:13:28 +00:00
Eduardo Olivares 1c1fb2d8e3 Skip wait_for_guest_os_ready during check-resources
Some tests from some CI jobs fail during check-resources test steps
because the console output is empty and the wait_for_guest_os_ready
method fails due to that.

Change-Id: Id0150f10cdf008fd7501bbedeff3209b3aa90cd0
2023-09-20 08:55:01 +02:00
Eduardo Olivares 6ca96d033a Fix cleanup Loadbalancers task from tobiko-cleanup role
Deleting Loadbalancer should be done one by one. The command fails if
more than one LB is used

Change-Id: Icd316cd410f8f94ab99136817c1fe45b68aa77e9
2023-09-19 08:37:23 +00:00
Zuul 2fc1b3b171 Merge "Fix Octavia HA test_stop_haproxy" 2023-09-18 15:07:38 +00:00
Slawek Kaplonski c24dd0c244 Move sphinx_rtd_theme to the readthedocs requirements
This package was removed from the OpenStack requirements with [1] so
keeping it in the doc/requirements.txt file is causing failure in the
requirements-check job.
As we want to use this theme to build our docs, lets keep it in the
readthedocs_requirements.txt file which isn't checked by the
requirements-check job at all.

This patch also changes docs and releasenotes configs in the way that it
will fallback to one of the default themes provided by sphinx.

Finally it makes some additional changes to the releasenotes
file to make build of the releasenotes working fine.


Change-Id: Iff03b8596a9e772940fd959efa7cbf80a68e9eab
2023-09-18 15:45:23 +02:00
Zuul 54c29d5bfa Merge "Wait for guest OS ready after starting a VM" 2023-09-16 10:24:36 +00:00
Eduardo Olivares 25e38d1114 Wait for guest OS ready after starting a VM
test_3_activate_server shuts off and on a VM. With this patch, the test
will wait until the guest OS is ready after starting it.

Change-Id: I0350aec46c937d18e1188d2103c2059237005f92
2023-09-15 11:41:37 +02:00
Slawek Kaplonski dc7e3b87b9 Stop using "system_packages" in readthedocs builds
It was removed on Aug 29th. See [1] for details.


Change-Id: I0a97d33236f198670351dab7da61dc8f82981ac5
2023-09-15 06:36:51 +00:00
Eduardo Olivares 417a8ab14b Lock VM creation until guest OS is ready and cloud-init done
Avoid concurrency issues by locking VM creation until it is
Add step that verifies that the VM instance boot is completed before
releasing the lock and before the tests try to ping, ssh, etc that VM.
Add another step that checks the VM FIP is pingable.
Add a third step that checks the VM has completed the cloud-init

Some tests (SameHostNetworkTest and DifferentHostNetworkTest) try to
migrate VMs immediately after creating them in order to move them to the
expected compute node. Sometimes, those VMs fail to contact the metadata
service because their migration happens exactly when the guest OS was
trying to obtain the metadata.
With this patch, those VMs are not migrated until the guest OS is ready.

Change-Id: Ia32b8c774e1c94277fa7243b7943a8b19763a501
2023-09-14 17:18:21 +02:00