When 'resources' keys are set up with a flavor, it
looks like the values are a string. The
collect-flavors-and-verify-profiles validation is
comparing the values against an integer and fails.
Change-Id: I1b27b8adeb3f5f83d761cac7b8b9ee1a3b6b5407
Story: 2007457
The fwaas driver isn't generally supported and while included in the
kolla containers, there is no current means to configure it in tripleo.
Change-Id: I6fb4cfa7c9ef0f2589a01e83792cc0422cfebe78
This repo is now testing only with Python 3, so let's make
a few cleanups:
- Remove python 2.7 stanza from setup.py
- Add requires on python >= 3.6 to setup.cfg so that pypi and pip
know about the requirement
- Remove obsolete sections from setup.cfg
- Update classifiers
- Update requirements, no need for python_version anymore
- Use newer openstackdocstheme version
- Add basepython to tox.ini
Change-Id: I4b731354119ebc3a7519da420121404aa2fbb640
This change moves all of the fedora28 container images to centos8 to ensure
we're maximizing coverage in all of our roles with OS images that represent
real deployments. While fedora28 was useful to exercise RHEL8 code path's
while there was no RHEL/CentOS8 container image, we can now use the upstream
CentOS8 image ensuring we're getting a true, representative, environment.
The following molecule test has been moved to non-voting as it is
facing some issues. A follow up patch will try to fix them ASAP.
- check_network_gateway (facing an issue when Ansible is trying to
discover the python interpreter used in CentOS8 Docker Image)
Change-Id: I02f68b78fdf73a60443d8ea5d2dcb46e5ad67e25
Signed-off-by: Gael Chamoulaud (Strider) <gchamoul@redhat.com>
- Ensure we have docker installed
- Don't run molecule tests for uncovered roles
Depends-On: Ic76cad76ebdd7cc9adf64866a4fd2ed16477166a
Change-Id: I77c7e928f301b255bf92439f88e7393dde6e3511
Signed-off-by: Gael Chamoulaud (Strider) <gchamoul@redhat.com>
oslo.service has bumped the min requirement to 0.22.0 with
commit 19517d0bd6b34a54ae2779aff98af5172c09e4b6.
It's not directly used in tripleo-validations and there is
no reason to constrain it.
Change-Id: Icb6591068c7d13e5adc6e5876fea07063163b43e
Switch to new multistack inventory class interface.
Also TRIPLEO_PLAN_NAME did not work for comma seperated list.
Depends-On: Ife14dbe04dd11db44a944f98373f63e01dfbb8d8
Change-Id: I2cc721676005536b14995980f7a042991c92adcc
Related-bug: #1849073
Now that OpenStack has moved to py36 and later runtimes, we no longer
need to use the third party mock library and can use the standard
library unittest.mock instead.
Change-Id: I100001fd0615cb55cbdbabbf0c6aa41b1729569c
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
THT incorporated a change so that the keystone_cron container deploys
only if a persistent token format is used (e.g, `uuid`, `pki`):
https://review.opendev.org/#/c/682265/
This is because `fernet` and `jws` tokens are completely non-persistent
by way of authenticated encryption and the keystone_cron container only
runs a cron job to execute `keystone-manage token_flush`, which prunes
expired tokens from keystone's token table. This cron job is useful for
deployments relying on `uuid`, `pki`, or some other out-of-tree provider
that requires tokens to be recorded for keystone's token validation
process.
This commit updates the validation to check for the token format and
only performs the validation if the token format isn't `fernet` or
`jws`.
Change-Id: Ib4d0a505021568975b79400d67fd709dd74e9acf
This patch updates service_status check, importing what was done in
oooq-extras back in 2019[1].
This will allow to actually ensure only tripleo related services are
checked.
The legacy Docker support is still here in order to allow checking on
older releases.
This patch also adds some fancy molecule testing.
[1] https://review.opendev.org/#/c/637729/
Change-Id: I9016497305b4ec1a1e49b4b1c3cb23d219a42458
This patch adds basic molecule tests which fail until developers create
real ones. The molecule jobs are, of course, non-voting on the check and
not present on the gate. This way, the reminder will be haunting the
damned developers who prefer doing new things, sexier than doing important
molecule tests!
Change-Id: I7ff9506fed0fe4f00e80ff476189f9ea103d81d7
Signed-off-by: Gael Chamoulaud (Strider) <gchamoul@redhat.com>
Roles can no longer have a "-" in them according to the upstream ansible
documentation[0]. This change adds a new ansible-lint rule to check if
the role name is respecting the Ansible recommendations.
[0] https://docs.ansible.com/ansible/devel/dev_guide/developing_collections.html#roles-directory
Change-Id: I62bffc9ed3c0076f9a8415d00ed9b34911a7597f
Signed-off-by: Gael Chamoulaud <gchamoul@redhat.com>
Currently tox -e lower-constraints job is failing as pbr=2.0.0
is quite old, let's move to higher version and let's make the
job happy.
Change-Id: I3066d0194a4b5f2ea221d88c180d9273a72ee9c8
Signed-off-by: Chandan Kumar (raukadah) <chkumar@redhat.com>
Firewalls have been removed from nova. No need to keep this around any
longer.
Change-Id: I98ffa9b34b22e03bac6b1633e7886cc70504c77f
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Depends-On: https://review.opendev.org/#/c/700511/
If you follow the docs for developing validations, you will find
you run into an error when attempting to execute your new validation
because the code is currently hard coded to search in a path in
/usr/share where the packaging installs the validations. For
development, you must hack the path in the script to make this work.
This patch adds a simple override where a developer can export
a path to the VALIDATIONS_BASEDIR environment variable and that will
be used as the search path for validations. Example:
cd tripleo-validations
export VALIDATIONS_BASEDIR=$(pwd)
Depends-On: https://review.opendev.org/#/c/706196/
Change-Id: I064c11561af67d284dcf1ab024e0d600e12a8f98
Previous patch[1] wanted to make things easier to read, but it didn't
work as expected. The current change should allow a better readability
of the check task.
[1] https://review.opendev.org/691826
Change-Id: I0c41ec100a42a9fc4520c3bf8069a6ec45d054c7
There is no need to run functional jobs if the linters don't pass; often
due to syntax errors.
This patch will help to save CI resources when syntax isn't good in a
patch.
Change-Id: Ibc202e84108fb7f64906dc41cc14923bb113f9cd
Co-Authored-By: Emilien Macchi <emacchi@redhat.com>
Signed-off-by: Gael Chamoulaud <gchamoul@redhat.com>
THT is calling this role as an inflight validation. So to get rid of a
chicken-and-egg problem between tht and validations, this role has been
kept until THT and tripleo-validations changes get merged.
If you read this message, it's time to erase it!
Depends-On: I62014508358a83166f2c1d2838fde037f3645d20
Change-Id: I4fea9095f02b6e71caf5c61125579413f5663523
Signed-off-by: Gael Chamoulaud (Strider) <gchamoul@redhat.com>
The groups.yaml file is now the source of information concerning the
validations groups. The groups information part is now created
dynamically by reading the groups.yaml file.
This patch also fixes the basepython conflict for the tox py37 testenv.
Change-Id: Id199fc250afa0646b1e851581e3a92290f7bcb00
Signed-off-by: Gael Chamoulaud <gchamoul@redhat.com>
The call to ansible-galaxy was wrong:
- wrong init path (tripleo_validations/roles instead of roles)
- missing role name
This patch adds a sort method to keep the job lists (check & gate)
sorted when adding a new role.
Change-Id: I9cfe5a83cd804f4793d6f4a73821a21ce64f40f6
This change replaces all of the roles references in our various files with the
new role name. This is being done because Ansible no longer allows hyphens in
role names.
TODO: (gchamoul) Remove healthcheck-service-status once this patch is
merged. Tripleo Jobs are RED due to THT trying to execute this
validation as inflight one but it has been renamed healthcheck_service_status.
Co-Authored-by: Gael Chamoulaud <gchamoul@redhat.com>
Change-Id: I19bb587ece403f86ddd0bbe174c282326500cfd3
Roles can no longer have a "-" in them according to the upstream ansible
documentation[0]. This change ensures that we're no longer generating roles
that have a "-" within them. The role-addition.yml playbook will now
normalize the name and replace any "-" with an "_".
[0] https://docs.ansible.com/ansible/devel/dev_guide/developing_collections.html#roles-directory
Change-Id: Ib758906a08dd611589394c77c627510d667034e9
Signed-off-by: Kevin Carter <kecarter@redhat.com>
This change removes the default ansible option in test runs. This is being
removed because if any args are presnet the test job will only run one
scenario, which is "default", unless otherwise defined.
Change-Id: I0fac174ef4ac801f6bb96e06eed0a29e3a064d27
Signed-off-by: Kevin Carter <kecarter@redhat.com>
This patch add a custom ansible-lint rule to enforce the structure of
the validations playbooks:
*ValidationHasMetadataRule*:
Throw an ansible-lint error if:
- the *hosts* key is empty or not found,
- *vars* dictionary is missing,
- *metadata* dict is missing in *vars*
- *name*/*description*/*groups* keys are missing or found with a wrong
data type
- the validation belongs to one or several groups NOT in the official list of
groups (groups.yaml)
*YAMLLINT*:
- Enable yamllint check in tox linters
- WIP Fix detected yamllint errors
Change-Id: If233286aa9f4299f02f13dc34f1e8c05d89df851
Signed-off-by: Gael Chamoulaud <gchamoul@redhat.com>