This change removes logic for releases older than train, because these
releases are already EOLed. This covers only tempest roles and
playbooks.
Change-Id: I0b50cad30107a83b562b8c22b2afd7af7636c615
Make validate_tempest send mail only when it's configured so.
It's used in queens, on recent branches we use os_tempest.
Change-Id: Id0d57b3f78b51f756f5ca4d5c1fcf60452bbcc16
Change I02ac67e333cc1a5133269bd8562f18a8d50bb036 renamed
openstack/python-tempestconf to osf/python-tempestconf. Update use in
this repository.
TripleO team: Please check whether this needs backporting and
do the backporting yourself.
Depends-On: https://review.opendev.org/#/c/735890/
Change-Id: I5221ea1324cf6dfbfd48153f6a99a396c36c042a
- run `pre-commit autoupdate` and fixed new issues
- adopted newer pre-commit config for ansible-lint 4.2.0+
- fixed some reported broken rules
- temporary disabled few rules, just to contain the size of of review,
planning to drop/fix them in follow-ups.
Change-Id: I807ba4e919527be56c85ec72d0f4c7148f04e994
- Fixes 206 errors and removed the skip.
- Also replaces revision with latest tag (pushed today)
Bug: https://bugs.launchpad.net/tripleo/+bug/1848512
Change-Id: I69d75ba9de8ab0e91eb45fd4f9febfdb28cdcb3a
The copy module look for a directory or file locally, and copy to remote
machine. In upstream, this code works, because we run quickstart in the
undercloud machine. However, if you're running quickstart on a different
machine, it will try to search locally for /var/lib/tempestdata, which
doesn't exist. Use remote_src doesn't work for recursive directory. The
other option was to use synchronize but it's very slow for recursive
directories. The best option is to use command to copy locally.
https://tree.taiga.io/project/tripleo-ci-board/issue/836?kanban-status=2027734
Change-Id: I589241e657178909b115fcfdca907ac16dc79b71
Closes-Bug: 1819440
We weren't testing containerized tempest in standalone job due the
missing logic on tempest-setup.sh script. This patch adds the logic for
when containerized tempest runs in standalone, copying the clouds.yaml
file instead of the stackrc/undercloudrc and also maintain the logic
when you execute tempest in the ovb, copying the rc file.
This also ensures that /var/lib/tempestdata and /var/log/tempest
directories exists in order to not fail the execution of containerized
tempest.
https://tree.taiga.io/project/tripleo-ci-board/issue/836
Depends-On: https://review.openstack.org/#/c/643212/
Change-Id: I90204150085a1c9b943f9e054c0420a8a5e66538
Related-Bug: 1819440
Currently when podman tempest container tempest tests fails, it
stores the exit status as fail and exit the run_tempest.sh script
leading to not copying the stuff from tempest container to host.
It decouples the step of copying and managing permission for tempest
post log processing and run only when tempest run finishes with in
a container.
https://tree.taiga.io/project/tripleo-ci-board/task/819
Change-Id: I9c7f97f3aa97c0ea061ba6aeb125501bf3a1adbf
In order to run novajoin tempest tests for testing tls in tempest
container we need to mount ipa related files and export
KRB5_CLIENT_KTNAME within tempest container so that novajoin
tempest plugin ipaclient can access those and help to run tempest
tests.
Copy tls related files in pre-tempest phase.
https://tree.taiga.io/project/tripleo-ci-board/us/670
Change-Id: I105d7839a3cdbf6e69d006fc588fb7d13e4e3a03
In tempest-venv, there is a space in the tempestconf command which results in a
double spacing issue in the final tempest-setup.sh file.
It looks like this:
export TEMPESTCONF=""/home/zuul/tempest_git/tools/with_venv.sh discover-tempest-config"
"
This patch removes the outer quote.
Change-Id: I690191f9abbad5f35063f57d53eb209332f30f15
This task can fail with various errors and this change enables us
to spot its failure with a single LogStash query.
In order to avoid false positive string match when bash is using verbose
more we encoded the W char in the source, so a string match would happen
only when printed and not on the source code.
Change-Id: Icbb7f71aba2e9d2a4cf4e4c07f953fe3613e6707
Partial-Bug: 1806495
In order to use it, in any FS, set tempest_format to venv
and then set:
tempest_plugins_venv:
- '<complete upstream openstack tempest plugin git url>'
Change-Id: I95a4449ca3976a914faf1ba5f3f4c0e756a6fefc
Upgrades yamllint to latest version and adots use of its strict
checking.
Fix all known problems reported by yamllint so we don't have to do
that while touching these files.
Change-Id: I4bdc520d9e2aff086c4b463718bc1e053261a4f5
Story: https://tree.taiga.io/project/tripleo-ci-board/task/381
Makes those files conformant with current linting rules and avoids
linting errors when we need to toch them again.
Previous doing "pre-commit run -a" uncovered these errors, now is no
longer reporting any other errors.
Change-Id: Ie4cf229c8f11c2b55b323eac23c89483b26d3781
* https://review.openstack.org/#/c/600517 introduces undercloud_container_cli
to choose docker/podman container runtime. This changes introduces to use
both docker/podman for running tempest tests.
* Tempest user does not have permission to create tempest workspace let's
create the tempest workspace and own it with the tempest user.
* Introducing tempest_data directory to keep tempest related data
which can be used by tempestconf and tempest run to tests
* Cleaned up stuff which is not necessary for tempest container.
Depends-On: https://review.openstack.org/#/c/614664/
Change-Id: I1b19b2580d1d4c9844e9221f18b23655b36b5a23
We don't need to have pip installed with easy_install because virtualenv
will install their own pip locally.
Change-Id: I1d469a685e59447bc2cad78031eeabd8f4fcd617
Closes-Bug: 1797931
* When Moving 'stackviz to /var/log/extra/stackviz' task is called,
/var/log/extra/stackviz directory does not exist which leads to
failure giving no such directory in order to fix that we need
to check whether destination exists or not. If not first create
it and then move the content and also make sure stackviz-export
operation has successfully completed.
Change-Id: Ie84c150c74363da25e76bbb234a864a72c6c366a
This is a better way to install and run stackviz, also removing some
tasks that's no longer necessary:
* Remove stackviz static files from the repo, since it's already in the
tarball
* Remove stackviz cloning, and using tarball
* Install stackviz directly from pip module
* Removing tempest-status.yml since we don't use to anything
* Move tempest-results.yml to run before stackviz, so we can take
advantage of the testrepository.subunit file to generate stackviz data
* Use testrepository.subunit to generate subunit2html report instead
of stestr/testr stream
Closes-Bug: 1779562
Change-Id: I918e5401b4f46e947bbaca99a48c2b21bce9a4bd
* https://review.openstack.org/#/c/583940/ added tempest user with
tempest container to fix tempest init log issue and it broke the
container as all the directory with in tempest container and files
getting mounted from host have different permision. It fixes the
same.
* It moves all the tempest related files to tempest_data dir and then
mount the same to tempest container by changing dir permission if
tempest user is present else run the docker run as it is.
* Moving tempest dir creation step under container shell script
Change-Id: I9696b490e5d4646044de5258c676a357ee2779bb
Closes-Bug: #1783055
Depends-On: I20f04e8b821058a89a5464c9be1bb14d30f1f223
* It changes the git url of python-tempestconf and tempest
and list files to make sure directory get clonned.
Change-Id: I82ea378ac5da93e65db44613404965566903a89f
* In CI, when tempest container is used, It is good to dump the
logs in /var/log/tempest so that it would be easier to verify
tempest container is used.
* Introduced tempest_log_dir and tempest_log_file var to the
validate-tempest-playbook
Depends-On: https://review.openstack.org/#/c/566364/
Change-Id: Ifd72d902c623b3941a6c714e36b7cf104109a570
* subunit2html is provided by python-os-testr and os-testr package is not
available on undercloud which leads to failure to subunit2html command
not found in tempest log.
* The above fixes the issue.
Change-Id: Id3c7688f97f1986514fb431ffc26e87a44341d7d
These packages are only needed when tempest_format is packages,
since the containerized tempest already have all the packages
installed in the docker image, let's save a few seconds here.
Change-Id: Id107ffc2f86ad0771658e77fb9e7c0aa84625005
When using pipes in ansible shell module we can miss the error
because shell is executing without pipefail by default.
This rule will check every shell module if it has "set -e pipefail"
and will fail in case if not.
It excludes tasks which have 'ignore_errors: true' or register
variables.
Change-Id: I394c72040d62dff76180aeb9d703bb8a212bcc98
* https://review.openstack.org/551441 introduced test_black_regex
in order to skip test directly from featureset files. In order
to avoid confusion between test_regex and test_black_regex,
we are renaming test_regex to test_white_regex.
* Added deprecation message for the same.
Change-Id: I7e6240117c9fbab0e51d6248d74180c7a91dc9e2
The stestr package was introduced on pike, so in order to not break the
ocata jobs, adding a conditional to not install if it's ocata release.
Also added conditional for newton just for compatibility
Change-Id: If134720ad00925b25cea0fb0d98e7833fe8e24ac
Stackviz is failing in multinode container because tempest runs as root,
so all the result files are created with root as owner, so when stackviz
tries to access these files, got a permission error. This patch set the
owner back to undercloud_user for tempest directory
Change-Id: Ia3b3dd4688a8d20c3750d299136211acc5a5db82
* https://review.openstack.org/#/c/551441/ refactored the whole
validate-tempest role. It introduced a regression at few places.
It fixes the path of tempestconf directory to use tempest_dir.
Change-Id: I69deba467157ad2134616aacec4368a5d0f5b92e
Always uses the result file in the format 2 to generate the final JUNIT
file. The file works fine in all cases and this allow us to simplify the
logic. Tested on OSP9 and OSP10.
Change-Id: I6ac64fc6f9a574475984ebfec174d691a3504cbb
* Introduced new workflow for validate-tempest role
- Remove previously created tempest artifacts
- Install tempest
- Create tempest workspace
- Create tempest resources
- Generate tempest configurations
- Run tempest
- Removed unused ironic undercloud fake services
- Removing public network from undercloud as there is no public network
- Added tempest_dir var to give path to tempest workspace
- use {{ working_dir }}/tempest_git for clonning stuff
- Added test_black_regex to skip a series of tests
- Fixed permission issue for tempest_dir to generate subunit files
- Install stestr subunit-filters and subunit for generating subunit files
- Added tempest_skip_master containing skip list for undercloud
- Introduced tempest_conf_version for installing particular version of
tempestconf from git
- Enable set -e to find the exit status of command running inside
container
Change-Id: I021432e222fae0e57a13ca4859ba77e990ac6c67