With this patch, a new pytest optional arg has been added:
--skipregex
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:
tobiko.tests.unit.test_exception.TestException.test_init
It can be used from CLI with pytest like this:
$ .tox/py3/bin/pytest \
--skipregex='test_join_chunks_.*_bytes|test_join_chunks_with_unicodes' \
tobiko/tests/unit
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
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
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
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
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
The tobiko infrared plugin allows to configure a value for manila
share_protocol within tobiko.conf
Change-Id: I5dc4923ede35958be80c1a3c1e25d30aa6325060
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
failing.
Change-Id: I05183de74d12a00bc57efd8a3bce10525a3efd0b
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
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
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
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
On TLS-e environments, manila requests were rejected due to
SSLCertVerificationError.
With this patch, the path to the cerificate is passed to manilaclient
and the requests are answered successfully.
Change-Id: Id5437488d4ec1101c0b75ed04677ed4bf28f52e1
It makes sense that the command execution timeout is applied to the
process.send_all method, which otherwise retries forever to send the
command.
Change-Id: I1f9e496d0efe6e7ff1e6b347253032c408d9e8d4
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
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
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
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
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:
/etc/neutron/neutron.conf
[DEFAULT]
enable_dvr
2) In case of OVN:
/etc/neutron/plugins/ml2/ml2_conf.ini
[ovn]
enable_distributed_floating_ip
Change-Id: Id5e099a3fea21261339e049b53063613ea4667c2
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
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
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
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
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
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
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 conf.py
file to make build of the releasenotes working fine.
[1] https://review.opendev.org/c/openstack/requirements/+/893665
Change-Id: Iff03b8596a9e772940fd959efa7cbf80a68e9eab
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
Avoid concurrency issues by locking VM creation until it is
completed.
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
procedure.
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