This avoids the following error on some branches:
TypeError: Subscripted generics cannot be used with class and instance checks
The method keystone.keystone_client already checks whether the keystone
client was created before or not.
Change-Id: Ic5f8a9908f07be894b41017b121e03068348c8b4
When tobiko executes remote ping commands, they could fail due to:
- command error
- error connecting to the remove server to run ping
In the second case, the exception raised is a RetryLimitError. If that
exception is not captured, retries cannot be applied.
Change-Id: I00a76bb16de14440b25aeda00ee25b8d196992dd
sphinx version upgraded to 5.0
sphinx_rtd_theme version upgraded to 2.0
Depends-On: I80ae1fc69d5e8e2a31ac52c02a1604225eefba3c
Change-Id: Ib80988f8b11af93fc4e8bd3affa69795470787fc
This new class is base for both: HeatStackFixture and ResourceFixture
classes. It contains some common pieces of code like e.g. ensuring
that quota is set as required by the fixture.
This is done because fixture StatelessSecurityGroup, which don't use
HeatStackFixture needs to set quota for security groups in Neutron but
ensuring neutron (and nova) quotas are set correctly were done only in
the HeatStackFixture class so far.
Change-Id: Id3d3207f098853469bef87020fc017bec5aaba93
In Tobiko we have roles to e.g. ensure that tox is installed. It uses
pip but it didn't use upper-constraints.txt file from the OpenStack
requirements and that could cause some issues, especially on e.g. older
operating systems, see related bug for example.
With this patch those ansible roles which uses pip to install some
python packages will use upper-constraints file if it exists in the file
system (in the u/s CI it will exist).
This patch also lowers min tox version for stable/2023.1 and stable/zed
branches are those should still use tox 3.28
Closes-Bug: #2057492
Change-Id: I147770a7949c59ba61b8dcca23d5c6fbbacb2606
This patch also includes a small refactoring of
OvercloudProcessesStatus.basic_overcloud_processes_running and
OvercloudProcessesStatus.ovn_overcloud_processes_validations methods.
Change-Id: I0761afdb6e8292ebc70ba479a8eaab84353a25b4
Tobiko has used the oslo_concurrency.lockutils.synchronized to lock
execution of functions inter-process/worker.
The synchronized decorator does not support to disable intra-worker
locks. This is a problem for tobiko because there are some functions
that need to be locked between different workers, but not inside
a worker.
Why?
- Tobiko execution (based on pytest) is multi-worker, but not
multi-thread.
- The creation of Tobiko resources (which is what we need to lock
to avoid concurrency issues between workers) sometimes depends on the
creation of other Tobiko resources that are defined in either parent
or child classes from the first ones, getting blocked due to the
locks applied.
Change-Id: I0b1c2d707b585fd4e45cad9968c88cedf2932eed
All existing version from the py library are affected by the
following vulnerability:
https://github.com/advisories/GHSA-w596-4wvx-j9j6
In order to stop using py, its reference has been removed from tobiko
requirements. Besides, tox and pytest libraries versions have been
upgraded for this.
Change-Id: I2c61e753e55340b19ab941fd532de0cab875d51c
This test should not try to obtain the node hostnames via ssh when there
is no ssh_client available for the node.
Change-Id: I999ceac724ccbbedf305f5b0550a49798952d627
That method used retries wrongly:
- it did not use the tobiko retries mechanism
- its try/except did not catch all the relevant exceptions
Change-Id: I59c3d6e3db3294f135621e739d7582aa4977305e
The method is not actually used. Also we currently have a common
implementation in debtcollector and that can be used instead.
Change-Id: If9eb1f8b035a55163573f54ad8fd4c85b876e3fe
When tobiko is executed from some virtual machines, the customization of
ubuntu images fails unless LIBGUESTFS_BACKEND=direct is used.
Change-Id: Ib5f8eca1f9107ee6c2f412a1948eeffc56d5aa45
The implementation of OvnUnsupportedDhcpOptionReader requires to connect
to controller nodes and access neutron logs, which is not supported yet
The module tobiko.openstack.topology._neutron has been moved to
tobiko.openstack.neutron.neutron_log_reader because it only includes
neutron-related operations.
Change-Id: I56f222da145399ddfa8096bb92fde500b1b8c6d1
When the test test_list_nodes_processes is executed on a Podified
topology, it should only be run on compute nodes (Tobiko is unable to
connect to controllers yet).
Change-Id: I93249cb892a53ef72d49f7c50297cbe6292c81a4
It can be done using OCP APIs if nodes are provisioned using BareMetal
operator. Otherwise (e.g. in the default deployment done with
install_yamls) powering on/off nodes is not possible through Tobiko.
Change-Id: I18d3f35bbd03b7346b31302fd715b9bb0e9ac531
- in podified setups, the container runtime on the compute nodes is
podman
- for the moment, tobiko can only ssh access to EDPM nodes when tests
are executed on a Podified environment.
- the OVN NB DB address (FQDN) is different from the SB DB address (apart from
the port, which was always different): ovsdbserver-sb -> ovsdbserver-nb
Change-Id: I243b5bf468337a6e04a9625b15eac7e3a7209de8
It seems that when BareMetal operator is used to provision EDPM nodes,
there is no IP address in the OpenStackDataplaneNodeset's spec given.
In such case we need to look into the 'Status' field and look for the
Ctlplane IP address for the node.
Change-Id: Idc3b741a3c783c0e04fb786d0aea24dc970b32d6
This patch adds some basic sanity tests for the containers on the
edpm nodes in the podified topology.
Change-Id: Id2e79ae24c33c45abdf7f7bb410a821ba21c87ca
Previously it was only used in the Tripleo Topology class and containers
module decided about runtime (docker or podman) which should be used.
Now we have also Podified deployments and we can't rely on checks like
"has_overcloud()" to decide about it.
This patch moves some containers related things to the rhosp and/or
podified modules and let topology class to decide what containers
runtime should be used.
Related-Jira: #OSP-22166
Change-Id: I7187de8884e44eaefcdda6fae160e89242761f39
Some processes get blocked waiting while they cannot read from either
stdout or stderr. The command timeout was not applied when tobiko tried
to close those processes.
With this patch, those processes will be closed due to timeout and the
tobiko retries mechanism would be able to retry the command.
Change-Id: I1836de50cbbe029f7c474598ec57ea2e52822dd1
This is necessary because some openhift modules search for the
$HOME/.kube/config file and fail because they cannot find it.
Change-Id: I9ab53ffdc0ac86dd903aa1c5f2b0b52f521c3097
When the Openstack auth-url is based on https, the openstack CLI
commands should include `--os-cacert <path-to-cert-file>`, which can be
extracted from the tobiko configuration.
Change-Id: Ib62bd52ac2dfe1296bc9dfedb6450c2213bc2c7c
In podified topology OCP workers are actually OpenStack control plane
nodes. Currently we don't do ssh to those nodes in Tobiko but in some
cases, like e.g. in some tests from the
tobiko.tests.faults.neutron.test_agents module we need to filter such
nodes out as Tobiko tries to ssh to every node which it founds in the
"neutron agent-list" output and there is at least one ovn-controller
running on the controller node (OCP workers).
To workaround that issue this patch adds discoverability of the OCP
workers but without trying to create ssh_client for those nodes.
Related-Jira: #OSP-22166
Change-Id: Ib52d6b1a88046017081db30ece8969a20ead73c1
With this patch Tobiko can recognize edpm nodes and put it in one of the
following groups:
- edpm-compute - nodes which have "nova" or "nova-custom" service
defined in OpenStackDataplaneNodeset,
- edpm-networker - nodes which have "ovn" but don't have "nova" nor
"nova-custom" service defined in OpenStackDataplaneNodeset,
- edpm-other - every node which don't fit into any of the groups above.
All edpm nodes discovered in the environment are also placed in "legacy"
group called "compute".
Related-Jira: #OSP-22166
Change-Id: I64c4099e3e04df49b090f93a14f95e5fa6b74189
Change name from
test_z99_reboot_controller_galera_main_vip to
test_z999_reboot_controller_galera_main_vip
It makes it run last
Change-Id: Id9a72c60d9066910cbb16b9664885b2e93a8fbba
This patch adds "rhosp" config option group and moves some
overcloud related config options to that new group.
Those options can be used in both overcloud nodes in the Tripleo
based deployments as well as in the EDPM nodes in the "NextGen"
OSP deployments.
This patch deprecates old, "overcloud_* options names and "tripleo"
group for those options.
Additionally it also removes "podified" group as there are no config
options only for the "podified" deployments for now.
There is no need to deprecate this group or option which was there as
those were introduced just now and not released yet at all.
Related-Jira: #OSP-22166
Change-Id: I0587f85f6f5c86cf547c04c339b314720606fb74