Ussuri is the last release that openstack-ansible supports Centos-7.
Remove support for Centos-7 for Victoria.
Depends-On: https://review.opendev.org/742166
Change-Id: I3e3cda925b9bf8361f2c3a8d6b2a226e50974001
setting ANSIBLE_PYTHON_INTERPRETER to auto will use the value from the
ansible/config/base.yml
debian gets a /usr/bin/python3 for now and need to revisit once we have
ansible 2.10.
Change-Id: I503c1b71c0d01eea668500c0125c752c0584a7ef
Co-Authored-By: Jonathan Rosser <jonathan.rosser@rd.bbc.co.uk>
This defaults to $HOME/.ansible/tmp for the 'remote tmp dir' , and for
functional tests ~zuul does not exist inside containers.
Change-Id: If9b414c1d9e43b8183c68c7c3a6dff130cfcab34
The EPEL repositories currently conflict with the RDO packages,
this commit drops it from openstack_hosts so new installs do not
get it.
Change-Id: I25d585c25d2b7a3e8bbf3d96060050f3426ed4a7
These discovery tasks always show up as "changed" in the Ansible
output. This patch ensures that they are not labeled as changed
when they are run.
The patch also fixes the idempotency check grep so that it works
properly with multiple hosts. Previously, if *any* of the hosts
finished with no changes/failures, the entire job was marked as
passing the idempotency tests.
Depends-On: I17748b0dd2307fd9bee705140c67883140090298
Change-Id: Ie414d32d39fdeeedd77fe94b57a09ba344084ec1
Signed-off-by: Major Hayden <major@mhtx.net>
The SELinux policy work for CentOS 7 is not yet done, and it is a
tricky process. The gate jobs ran with Permissive mode a couple of
months ago and gate jobs were more stable.
This patch changes the SELinux mode to Permissive for testing.
Change-Id: I861e20ebd74b3b0df92d5832db76de83a9d63398
Some gate jobs appear to have SELinux in enforcing mode occasionally.
SELinux support is improving but OSA is not ready to run in enforcing
more until some remaining bugs are fixed.
This patch adds a line that prints the current SELinux status during
testing.
Change-Id: I054c1849e5426801f6fdde761b7f64a2e8867af4
Right now, ARA is being setup when we are running functional tests.
However, we could use it for other type of tests such as the upgrade
ones. As such, we can setup ARA by default as part of the environment
preparation steps.
Change-Id: I49052809c4970592c40a394a31a4d8eca12116e5
This reverts commit af3a08a5b1
but adds the tests repository as a required repo to make sure that
it works properly across other repositories. This will be tested
through another review using depends-on so that it does not
break the role tests again.
Change-Id: If9bded9d60e2fe839c0ec8c49cc5102b5a541474
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
This reverts commit fd4db8ea90.
The playbook used here needs to be in every repo calling that job
(which is all our branches and all our repos).
I suggest we revert it until alll the other zuul v3 changes are settled.
We can then take a more organized approach.
Change-Id: I8ba967af69311fc0684635462d27cdc03728ca81
To ensure that logs are collected regardless of whether
a job succeeds, fails or times out, we move the log
collection to the 'post' stage of the job definition.
As the job playbook only gets run in nodepool, we remove
the detection of nodepool in the log collection script
and also remove the trap which executes it so that it
is only ever run when executed in zuul.
Change-Id: I5ab31cc141804cbcb6d8721032a79d0c724fc0a2
With zuul v3 the ARA git clone will be there if
the test is executed by the ARA repo, or if there
is a depends-on patch from ARA. This allows us to
simplify the conditional.
Change-Id: Id76b2084b1ba8df7bfddd4fbb4b0cbe9859fd849
Change-Id: Id5097cd734240880a633f6d9887bbc467c26403e
Closes-Bug: #1723028
Related-Fix: I2443242f285381037a0351ceb4e6d997271dbd4b
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
In order to reduce the quantity of unnecessary log content
being kept in OpenStack-Infra we only generate the ARA report
when the test result is a failure. The ARA sqlite database is
still available for self generation if desired for successful
tests.
Change-Id: I3ab9752650911bba0b8be5e73b65019e97bfef42
The yum-config-manager command has a ton of output and it's not
possible to make it more quiet with command line arguments. This
patch ensures that the output is removed.
Change-Id: I84fee9e76db638b2561152d60b17d45bbf60b3cf
The existing conditional was wrong since it matched the Fedora
distribution which doesn't need to run yum-config-manager. As such,
we only run it if it's available and if it's a CentOS host.
This is similar to what is being proposed for the project-config
repository at https://review.openstack.org/#/c/493643
Change-Id: I0f321b9d5a6df64a9a0bc93c53738fa9a20b63dc
The OpenStack CI image for CentOS has LOTS of repositories enabled
and downloading all of that metadata may be slowing CentOS jobs
down. This patch disables all CentOS repositories in the gate
except for base, epel, and updates.
Individual playbooks may enable other repositories, like RDO/MariaDB,
later on in the deployment.
Change-Id: I5a94aa5d46f65e0c52f90970b4c095e431ec73a8
Currently all role playbook executions use very verbose
logging in order to help with diagnosing problems in
their execution.
ARA provides the most useful information available in
the verbose log output, so instead of trawling very
large logs we should instead use ARA's easier to navigate
output.
Change-Id: Idea3c01f27b72c73fdbaf5ff96c24421f4d3fa28
When executing tests in OpenStack-CI, this patch
enables the use of 'Depends-On: <change-id>' in
the commit message to execute the test using a
patch that is still in review for the openstack/ara
repository.
This patch also lays the ground for similar testing
to be done with other openstack repositories, but
that will no work just yet as it will take quite a
bit more machinery to make the cloned repositories
be used to build the venvs. That work will be
submitted in subsequent patches.
Change-Id: I7bc665bc7f8dd1759f521622e7607c089696a546
The ARA prep currently hard codes the tox environment name to
find pip/python in the tox env called 'functional', which does
not universally work.
This patch removes the strict path for pip/python as the script
only runs once the python venv has been activated and therefore
the correct binary path is used.
Change-Id: Ibd8957a85092a48089a6d9d336f27ccab36f009c
This commit mutually benefits both OSA and ARA: it allows ARA to
leverage the func jobs of OSA as a mean to test itself in it's
own gate and make sure one of it's patches does not break OSA.
It also moves the ARA callback setup from env-prep to functional
which is the only place where it makes sense to set up ARA in the
first place.
Change-Id: Ia7b46424740da94b82c57b828b53c7993fdaa76b
Ubuntu Trusty is not a supported platform for Ocata onwards.
Currently the CI system is executing jobs against Trusty
unintentionally and it's taking some time to unwind it.
This bypasses all tests if the platform detected is Trusty
so that development can continue while we work out the CI
configuration issue.
Change-Id: I236cf4aa748c22ad0249c1eb62e7fc64736f7f7f
This information is useful when trying to understand what's
been passed to the playbook execution.
Change-Id: I386b184068dbcd2ec83ee0286c80ddfc6e59b459
Some playbook parameters, like --extra-vars, aren't interpreted
properly if they come before the playbook YAML file. This patch moves
the parameters to the end of the ansible-playbook command to ensure
they will be parsed properly.
Change-Id: I0ec6eb0692e67ebdfdf81b3cbfa89e8c51d88d10
The current idempotency check is broken because Ansible
does not produce a log output without the environment
variable being exported.
This patch ensures that each playbook run produces an
individual log, and ensures that the idempotency check
uses the correct log output.
The following are also included:
- The script outputs the full CLI used to execute the test
playbook. This is useful for debugging purposes.
- The parameters are re-ordered in alphabetical order to
make them easier to find.
- The log collection now also collects the Ansible logs.
- Instead of repeating the rsync command in the log collection
a variable is used, reducing the line length and making it
easier to change/re-use.
Change-Id: Ie379de765c6ebba958ce8e7f9dc27b7a3af74ff8
This patch implements test scripts intended for use by all
OpenStack-Ansible role tests.
The intent is to simplify the role tox.ini configuration
and ensure that as many changes to role testing configuration
can be managed from the centralised tests repo instead of
individually in each repository.
This patch implements the scripts to centralise the
ansible-lint, ansible-syntax, and functional Ansible tests.
Functionality included:
- For a simple functional test, the defaults will be allow
the execution of the test without any parameters set.
- For a scenario test the scripts allow the inventory,
extra vars and any other CLI parameters for Ansible to be
set via environment variables.
- Both check mode and an idempotence test.
In addition to this functionality, the bash scripts are all
set to fail on error to ensure that tox shows a failure.
Change-Id: I23c24146485da340d4f046f80e4814652e6e3876