In [1] we are wiring up a role from the tripleo-quickstart repo.
There is already a 'common' role in t-q. Because of the name
clash we can rename the tripleo-ci common role.
[1] https://review.opendev.org/c/openstack/tripleo-ci/+/818222
Change-Id: I2bf7cebcefc19888058e368783a77ff8b524c998
In zuul, roles can be easily included cross repos, while playbooks need
to be replicated and copied.
This change creates three roles roles, and move tasks to be included in
the new roles, so the playbooks are just minimal, and replicating them
is not a problem since the logic is in roles that are included
The common variables are loaded in the role common, the node preparation
i moved to the prepare-node role, and it's now called in the pre,yaml
playbook in pre-run.
run-test role contains the rendering of bash scripts and effective test
run
Taiga-id: https://tree.taiga.io/project/tripleo-ci-board/task/112
Change-Id: Ie51fcfbee79727d04fca47d26a5ed8ad44ed3bf6
For some of the scripts with need the distro setuptools looks like this
exclusions where there so devstack don't break, but we are not using
devstack at tripleo.
Closes-Bug: #1808118
Change-Id: Ib776800a6f1480d05d06349506e8cd344096fc76
Ansible had a security fix which now prevents it from loading
ansible.cfg files that are world writable (o+w) which is exactly what
the old jobs did in order to make devstack work with hardlinks across
multiple users.
We replace the hardlinks with CoW and reset the permissions to system
default which is what is to be expected for source code.
Change-Id: Ia1bfc89ee8edecd1ebad3487e8c63bdda4d083a0
Partial-Bug: 1807703
* tempest_workers var is used by validate-tempest role in order to
allocate numbers of cpus while running the tests parallely. In
order to complete scenario standalone migration, fs016 needs it.
In order to improve the reusability of the job, we need to add
this var under featureset_overrides.
https://tree.taiga.io/project/tripleo-ci-board/task/492
Change-Id: I84d8c2f766fd1dbbfbe8948737d08113f3041541
This moves ceph /dev/loop3 tasks to a new ceph-loop-device role.
This has no effect in the 'normal' case with tasks included as
always for subnodes.
However we are moving scenario jobs to standalone and so
need these tasks on primary node when we have ceph. A new
parameter on the job definition 'standalone_ceph' will
signal this and include the role accordingly. See [1] for example.
Tracked by ci team at [2]
[1] https://review.openstack.org/#/c/619508/
[2] https://tree.taiga.io/project/tripleo-ci-board/task/405
Change-Id: Icae7d956061e444d3bf9364c7336cd834aa7622a
As part of [1] we need the ability to override the environment
file passed to standalone jobs for the different scenarios.
This adds a standalone_environment_files parameter into the
allowable values for featureset_override and it expects a list
of paths, relative to /usr/share/openstack-tripleo-heat-templates.
This list will then be passed to the standalone deployment command
using the standalone_custom_env_files (see [1]). With this we
can avoid needing a new featureset to override this environment
for each of the scenario standalone jobs
[1] https://tree.taiga.io/project/tripleo-ci-board/task/363
Co-Authored-By: Alex Schultz <aschultz@redhat.com>
Change-Id: If36d96a96d98b63881ee096eaae54ffc60b6ecf1
* In run-v3.yaml, we have started adding tempest overrides in a list
and it started growing which is hard to handle so we can move to
a var with list and re-use that and it also improves the
readability.
Change-Id: Icde2989122889be426309c36a912163f69398190
Fixes problem where log collection was using config files from
old location after we already switched deployment to use new location.
This was not observed because the file content was the same but
once we attempted to remove the old files we discovered the issue.
Prepares for removal of config files from their old location.
Change-Id: I70aeb3724d6d162aa6d8b00024f3ce1a74dbf79f
Story: https://tree.taiga.io/project/tripleo-ci-board/task/7
Projects may want to override tempest runs for a given job:
- tempest_format
- tempest_extra_config
- tempest_plugins
Change-Id: I80c4db20e4b4deeb576380d20d3ee5f3f8fff66d
Now that the periodic jobs are using the same workflow, LOG_PATH cannot
be correctly formed since no zuul.change is defined in periodic
pipeline.
Adding the legacy role to set the log path and changing the bash env var
to use that value
Change-Id: I1dea572774a3f397aa82eefd92c0a8160b9c0a74
Projects may want to override tempest runs for a given job:
- run_tempest
- tempest_whitelist
- test_black_regex
Fail in case of a non-overridable config.
Change-Id: I8ca492ab21f80fec4f6fb2f00cbf0132dd77f836
we need to pass some zuul variables to the inner ansible calls. We dump
the zuul variables subtree to a file, then we add it as extra-vars to
the ansible calls.
Change-Id: I8d7c877b64cf22c00b1ad538f25ad4ff87574a8a
Add parent jobs (based off tripleo-ci-base) for
multinode, ovb, singlenode and standlone.
This will allow child jobs to override the playbooks
and tags defined.
- add new parent jobs: multinode, ovb, singlenode and standlone
- reparent jobs definitions
- remove include_vars for environment_type
- remove playbooks/tripleo-ci/vars/environment_type
Change-Id: Ib05797303e2775284125af8fbfb875676f1eaf78
Composing bash env var TOCI_JOBTYPE from the job invidual variables
allow as to remove the redudant ansible variable toci_jobtype from jobs.
We cannot remove TOCI_JOBTYPE since collect-logs role is using it [1] (to
generate reproducer) and it's called without playbook within a generated
bash script, so major refactoring is needed to pass the new individual
variables to it.
http://git.openstack.org/cgit/openstack/tripleo-quickstart-extras/tree/roles/collect-logs/tasks/publish.yml#n76
Change-Id: I593b989151fa70e1b5b6d2da75027529b0b911cd
This are the variable replaced
- $UNDERCLOUD -> {{ undercloud }}
- $ENVIRONMENT -> {{ environment_infra }}
- $PLAYBOOKS -> {{ playbooks }}
NOTE: 'environment' variable name is already taken
that's why we use 'environment_infra'
They are stored at vars/{{ environment_type }}.yaml
Change-Id: I79d2b8b3a4bd1fbb46d80d82b9a946974c1cde8f
For vars that are common to all the jobs, we can have a
vars/common.yaml file with it and add the appropiate
ansible task to read it
Included vars:
- tripleo_root
- workspace
- vxlan_vars
- extra_vars
- periodic
Also some bash input has being replaced by ansible counterpart:
- The variable 'ansible_user_id' is used instead of 'USER' bash env.
Change-Id: I3f741a78db854b7c0aa9c4751677d9a08b99228d
This changes make the undercloud jobs use the new base jobs, nodeset and
playbooks requireed to run the job with the configuration that are
closer to zuulv3.
It also adds logic to not run any vxlan networking on our own for all
the v3 runners.
Change-Id: Idf7b8a54499ef252bf7d34b3b5f16a9a34e6a83f
For the migration to zuulv3 we need a different playbook that does not
rely on devstack anymore, is compatible with the new nodesets, and
maintain compatibility for the repo location, still removing zuul cloner
use
Change-Id: Ibc79cc34cdf3f2fc3f4004494c3deec167e6ecd1