The tripleo-ansible-inventory script uses the role names in order to
group the different hosts.
Since we can use custom roles, the fixed "Controller" and others aren't
relevant in such cases.
Ansible allows to use parameter for the "hosts" value in playbooks,
allowing us to call the validations using this command:
openstack tripleo validator run --validation haproxy \
--extra-vars '{"controller_rolename": "MyCustomController"}'
(or use the --extra-vars-file in order to avoid in-line JSON)
This patch also correct a non-existent group call, Database. The closest
we have is the "mysql" group in the inventory - let's reflect it in
order to avoid useless warning(s).
Change-Id: I3bec039283fe5df56771d84fff5bd5940fd149d8
the /var/log/validations directory doesn't exist on the overcloud, since
we don't install the validations there.
Change-Id: Ib125ca44f7e3d7fed1d19d2b1847b5bbe64226ed
This module is needed by the "xml" ansible module, used in the new
nova_svirt role intruduced here:
https://review.opendev.org/744835
Change-Id: I9694ab3fde1248a25e1b1736a3351abde5d619ca
Also ensure we don't collect facts by default.
Also ensure we get the right name for the playbook itself.
Change-Id: I1dfafed5ac75b0c52d6fd6ec48a43fbd4666c124
Previously validator failed running on neutron_api as the
neutron-sanity-check binary requires additional capabilities, causing it
to alway fail [0]. In addition, in some cases a race condition in
oslo_privsep can cause the validator to hang indefinitely [1].
This fixes it if the overcloud uses ML2/OVS, using the neutron_ovs_agent
container as we already did on the undercloud, and skipping the check if
it cannot be found (ML2/OVN deployments typically).
Additional fixes to the validator:
* skip gather_facts step
* fix output parsing
* call neutron-sanity-check only once, with all configuration files
passed to it
* drop redundant default values in playbook itself
[0] https://bugzilla.redhat.com/show_bug.cgi?id=1783195
[1] https://bugzilla.redhat.com/show_bug.cgi?id=1862364
Change-Id: Ifacbbd6a493019e606105f45f0302bf1a88bed62
Co-Authored-By: Cédric Jeanneret <cjeanner@redhat.com>
On upgrades we're using validations (from train) against controller that
are still on queens. On queens jq package is <1.5 and the "try" keyword
is not available.
This purpose of this change is to fix this validations getting rid of
"try-catch" in favour of "if-else" which works for 1.3+ < jq < 1.5.
Change-Id: Id16ccf69888ceb03cc33e0627de5270f9c8f4b95
Closes-Bug: #1889279
I don't know how to explain how it happens, but we have had several
customers case[1], for example, different local for writing to the database
and reading. What causes an error during minor update, the keystone
client calls the command to list the openstack projects. So we have a
python unicode error. For rabbitmq we force the utf-8 local, so we
decided that we assume that we must be in utf-8 everywhere. Add this
validation to ensure the local system is configure with the good local.
[1] https://bugzilla.redhat.com/show_bug.cgi?id=1824513
Change-Id: I8b8f2a17a4963af46dd2c5407fb089414a804247
Now that we have moved to py36 and later runtimes, we no longer need
to use the third party mock library and can only use the standard
library unittest.mock instead.
Change-Id: I8994aaadaf2feb806e70e1ea6dc87157012d1334
Signed-off-by: Gael Chamoulaud (Strider) <gchamoul@redhat.com>
On upgrade we might be using the newer validations against a Luminous
cluster, hence the check needs to work in both cases.
Change-Id: I16e7eb081640332ac69ee0b32d3d871fab40d447
Related-Bug: 1882387
The purpose of this fix is to address a bug hit during
upgrades: in order to run yum info the current user should
be able to download metadata for repositories and a privileges
escalation is required by pkg manager.
Change-Id: I248fc36ab3b1f4a81a6884b18fba5fcc0cff08ea
As part of the cleanup test node python spec [1], the
pip and virtualenv elements were removed from the
infra image builds. Therefore, it's the zuul job itself
the one which needs to make sure virtualenv is installed.
This patch installs virtualenv using the generic zuul
role ensurei-virtualenv.
[1] - https://docs.opendev.org/opendev/infra-specs/latest/specs/cleanup-test-node-python.html
Change-Id: Id20ee6bf069f53739f7a5ea7983edf2fc9b445d2
In order to run TripleO validations before any
TripleO deployments, we need a simple cli as entry point
for validations execution.
This review just override the Validation cli
in validations-common by provided TripleO specific
path for validations
Depends-On: https://review.opendev.org/#/c/735973/
Change-Id: Ic6d5ca2445b3285182ba6a1b12939fef4c2b3e61
The variables for 'num_osds' and similar are now enclosed
in an additional map whose key is 'osdmap' so we need to
use that key when extracting them.
Change-Id: I40bed1fdc9cd39295a1b9f9aaed21d3814d7e2b5
Closes-Bug: #1882387
Switch to openstackdocstheme 2.2.1 and reno 3.1.0 versions. Using
these versions will allow especially:
* Linking from HTML to PDF document
* Allow parallel building of documents
* Fix some rendering problems
Update Sphinx version as well.
Disable openstackdocs_auto_name to use 'project' variable as name.
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.
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: Ia2daec6d0819b99ef0ace7dae52f6c8ef0779cca
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: Iffc24b94c61f6e7792d3aa5d7cf48bd90d4980a9
Sem-Ver: feature
Introduce support of python 3.8 and add py38 envlist in tox. Update the
jsonschema 3.2.0[1] to support python 3.8.
[1] https://github.com/Julian/jsonschema/pull/627
Change-Id: I3d432a9d679ffdc2e3577bbc73b90d43d2232ee3
Get the uuid set by ansible if exist for logging file creation
on disk.
validations-common is using this uuid set by ansible from ansible-libs
in order to share the same id for logging.
Since the tripleo-validations callback plugin will be used for tripleo
releases for some times, we need to set this here as well
nb: fix doc for pep8
Change-Id: I24ee8fead53dcb9b480447c5fc1d4e2b49e0a8ec
This patch just fixes the variable name used to
compute the container_client on the overcloud
nodes.
Change-Id: I4722c0a444cb7c8925d87c4b53c26cd2bbf079a0
The purpose of this change is to improve the error message
of the ceph-ansible repository validation to point out that
tripleo-heat-templates project exposes a variable to override
the repository location where the operator expects ceph-ansible
to be installed from.
Change-Id: If2a6706769bf5798dc4cbe57dc3feed01ea65a69
This patch also removes duplicates nova_status line in jobs queue.
Change-Id: Ifa4287f5dabb340065059aec93b1d0a0722f2abb
Signed-off-by: Gael Chamoulaud (Strider) <gchamoul@redhat.com>
The purpose of this change is to fix the upgrade scenario
without breaking the existing validation for the
deployment phase. During the upgrade from queens, the
default 'container_cli' is podman in the undercloud (which
is updated), but it's still docker in the overcloud and this
let the validation playbook to fail because we're computing
this fact starting from inventory_hostname that still points
to the undercloud. This issue can be solved by removing the
delegation directive from tht and rely on tripleo delegate
wrapper.
This should be enough to access the overcloud (ceph_mon)
variables, setting the right fact.
Closes-Bug: #1871380
Change-Id: I46c4fbe0ef7b281d77bff82483eb0b48b4570bb3