Add content provider job, which builds containers using `current` dlrn
tag on same release branch as regular content-provider job.
Apart from new content provider job, the change adds new variable called
`minor_update`, which enables to consume containers created by new
content provider job in depended multinode-oooq-container-updates job.
minor_update variable is used in featureset068.
The featureset is activated in jobs for wallaby branch and onwards.
Train job uses featureset038 as previously.
Related-Bug: #2015993
Change-Id: I7a7713be0cd15321d5b16f6b8ca85f06d296219f
The test of this patch can be seen at:
https://review.opendev.org/c/openstack/tripleo-heat-templates/+/861363
Co-authored-by: Jose Luis Franco
Co-authored-by: Daniel Bengtsson
Depends-On: Idd922d921fe52e9ca88ed84177d2eb81285bafae
Change-Id: I867febeb9b694401c0cfeb7931864a2291f87b99
In [1] we removed the related jobs for these EOL releases. Here
we deal with removing code related to these branches including
any conditionals or special cases from emit releases and the
build-containers and run-test roles. Also removes some really
old references to newton.
[1] https://review.opendev.org/c/openstack/tripleo-ci/+/838110
Change-Id: I184cd525a8696b0b634ac8d6f895ab642ac5aa33
This patch adds all the missing bits to be able to perform
an Undercloud upgrade from Train to Wallaby in the CI. This
type of job is identified by the ffu_undercloud_upgrade keyword
and runs a similar set of steps as the Undercloud upgrade CI job,
relying on the tripleo-upgrade role to setup and run the upgrade
of the node.
The emit_releases_file script has been also modified to cover this
ffu jump from Train to Wallaby, as well as understanding the keyword
ffu_undercloud_upgrade (up to know only the ffu_overcloud_upgrade
existed).
This patch depends on the addition of a new featureset065 in which
the right parameters are being set.
Depends-On: https://review.opendev.org/c/openstack/tripleo-quickstart/+/822714
Change-Id: I876f7b2e03511b27cc1f02638964945c9518e503
As described in related-bug, this allows us to override the install
and target delorean hash for use by consumer jobs. There was a previous
attempt with [1] which added the ability to override the target hash.
As commented in the bug (see comment #7) we need to override both target
and install versions. Since this is nested bash/jinja/python :/ we do this
by passing the content provider branches as a string
"branch1:hash1;branch2:hash2" generated in the jinja templating
which is then decoded on the emit-releases python side.
[1] https://review.opendev.org/c/openstack/tripleo-ci/+/813629
Co-Authored-By: Marios Andreou <marios@redhat.com>
Related-Bug: 1946659
Change-Id: I9e0162f88cf262957234bf946ad3c013f6213891
emit_releases_file needed to be updated to support centos9 and
integration pipeline.
The tests have been only partially updated: added the success
scenario to cover the centos9 case.
Change-Id: I4e35a0ce1c7b38a7e354c4571ac6a005697632d7
From time to time, due a promotion happening between the time
that the content provider job executes, and the upgrade job
the upgrade job fails because it can not find the hash in the
content provider. This is because the upgrade job, instead of
rely on the zuul job variable passed by the content provider,
it reads in execution time, the current-tripleo hash from
rdo registry. This patch ensure that if there is a zuul variable
passed by content provider, it will use that hash, instead of
read it from rdo registry.
Related-Bug: #1946659
Change-Id: I273243ced8b83aecec9da775e7f7a3c3865b4fc3
- update setup.cfg to advertise supported platforms
- fix tox.ini file use version agnostic envlist
- add openstack-tox-py39 job
- minor fix on test file which wrongly assumed that pop
returns a new dictionary
- added type to release dictionary, which is what would
have prevented previous item from being introduced.
Change-Id: I60b80ebe41a66d39e6f1a51a3d00c0b9292d42fd
Assures consistent formatting of our python codebase without having
to rely on humans to do it, or to debate during reviews.
Change-Id: I1e62cc755fa60e453dea865f436241ecae330771
emit_releases_file needed to be updated to support centos8 and
integration pipeline.
I needed to make the script distro aware, then distringuish between
distros to get the proper repo and hash in get_dlrn_hash function.
The tests have been only partially updated: I updated the success script
to cover the centos8 case, and accountfor the change in signature for
get_dlrn_hash, but the rest of the workflow is exaclty the same either
if we are in centos7 or centos8, so I did not add any additional checks.
Change-Id: I26799d5e6a3ed404b4a29be621c5871ef9be6e4c
Flake8 went broken recently, adopts correct calling method to avoid
regression and fixes broken rules.
Also removes openstack-tox-pep8 from gate which was a guaranteed
failure when triggered as pep8 was removed.
Change-Id: Iba03d3051952f461bb16299a6d32475b2be43041
It is needed train related upgrade jobs and fixes
the tests for the same.
It also rename the old-current-tripleo to previous-current-tripleo
in test name.
https://tree.taiga.io/project/tripleo-ci-board/task/1299
Change-Id: I9c4b6743547327457bbe1762605a48d59f4fa902
Signed-off-by: Chandan Kumar (raukadah) <chkumar@redhat.com>
If there is defined NODEPOOL_RDO_PROXY environment variable, use
it for retrieving delorean.repo file.
Depends-On: https://review.opendev.org/#/c/677088
Change-Id: Ia1fd563950acb9dca2e804d0eae03d3aa86b9261
Gate jobs are failing when this script is run from providers
outside of rdocloud. The review increases the timeout and
retries to avoid spordic failures.
Related-Bug: #1839845
Change-Id: I5903b8eee40868f57dcd019dd7ab5cdd9652cabc
not sure this is what we are looking for... i think we
need docs.
the functions here go beyond the script, but also how
its used by the rest of our tripleo-ci code.
tracked by tripleo-ci-squad in [1]
[1] https://tree.taiga.io/project/tripleo-ci-board/task/982
Change-Id: I185cf7e95928bac06f273b20687f8a8ec6cb926e
It's the first release that supports standalone and also LTS has not
change and it's still for queens only.
Story: https://tree.taiga.io/project/tripleo-ci-board/us/847
Change-Id: Id246cdab8a574ed57cd90813652532f47fbd0643
This also add dlrn_hash_newest variable to be able to make proper repo
switching.
The $title is just adding the necessary bits into emit_release to take
standalone_upgrade into account.
The dlrn_hash_newest is a forgotten variable from the initial emit
release. It has been included for standalone upgrade where the
problem first appeared, but will likely be needed for other upgrade
jobs as well when they switch to non specific release file.
Currently we only set dlrn_hash which becomes TRIPLEO_DLRN_REPO which
becomes delorean url. We don't do anything about dlrn_hash_tag_newest
which becomes RDO_DLRN_REPO which becomes delorean-current.
This means that when we are upgrading we get the dlrn_hash_tag_newest
that was defined in the previous run, ie during deployment.
Change-Id: I0e298fc37eb7b3fd0afaa13ab021330b789b2f5e
Closes-Bug: #1795367
It also calculates the releases with the emit releses script for fs047
Depends-On: Ic578de2237f9a43ff4fcd24141802a49a06be59c
Depends-On: https://review.openstack.org/#/c/605989/
Closes-Bug: 1792892
Change-Id: Ic1aea1052a9518999f0f02539459eeef516f9654
Periodic jobs should use 'tripleo-ci-testing' hash as
a target hash, currently 'current-tripleo' was used,
this patch fixes it.
Also added unit tests for the same.
Also allow using promotion-testing-hash-$release in
upgrade job in promotion pipeline.
Closes-Bug: #1787817
Change-Id: I8893c7406fcf1bb3936f5ba2d9dca7d4a3e9e82a
Until the rocky repos are in place and working adjust
deployment to not install rocky in undercloud/overcloud.
Follow up patch required once rocky is promoted to start
installing rocky.
Change-Id: I3f714203803ddcbf72aa203c11ebbc68ad3c8def
After emit releases script refactoring, we were using
{stable_release}.yml as release file for fs010 periodic jobs
The correct release file for it should use
promotion-testing-hash-{stable_release}.yml
Closes-Bug: 1779108
Change-Id: I7bd0ebba906887db31c34085a1c8a7efa31871a9
Currently, we are only able to upgrade TO a change under test. (n-1->n)
This change adds an argument (--upgrade-from), which allows for testing
that a change does not break upgrading FROM a release. (n->n+1)
The change itself is a no-op other than changing the signature of the
compose_releases_dictionary method.
Change-Id: I141aa5e01a097968a2a3427ebcfb5b8d304c9753
This wires in the get_dlrn_hash function to the release dictionary,
so that we end up with an actual dlrn hash instead of a named hash.
Release dictionary tests updated to mock this function, including
verification of the expected calls to get_dlrn_hash.
This also adds more comprehensive logging and unittests to the
get_dlrn_hash function.
Change-Id: I41087bf0c247b933a641ea0da582b5f2b368840e
I will output a sourceable bash script with a capitalized
version of the releases dictionary variables.
Change-Id: I1fa8cbfd737d22e8d44723e0274d49d268b213e2
This review adds a pep8 jobs to be triggered
with changes to the releases script files.
pylint was considered but removed from this
initial review.
Change-Id: Ib8809c94d99ccb1ecafa94b3791f613c35dbd9ef
This adds a CLI interface with the following options:
--stable-release
--featureset-file
--output-file
--log-file
This also adds the code and tests for the YAML file
parsing. I tried adding a specific error case for
when the YAML file fails to parse vs the more generic
case when the file just cannot be opened. However,
mock would not behave for testing the specific case.
We log and raise the exception in both cases though,
and the tests cover both as well.
Change-Id: I0834a0e9b3193c664b377ae7e066fe15239bbfb1
Add tox testing in upstream jobs with changes to
the releases script.
Removed pyflakes as these test are not running as
required.
Change-Id: I3fdf0be7beb814a681a2dcc155bae87fdb6a4c7e
This method will parse the full repo hash from the delorean.repo
file in a similar way to what we currently do via bash in the
release files. In the future, it may be better to just get this
data directly via the DLRN API.
Unittests included which assert the validity of the regex used
to parse the delorean.repo file, as well as the format of the
repo URL.
Change-Id: Ic7177d0ad1fcec5635d16d360b425f3b2737f668
Currently, we do this in a combination of bash in this
repo and the release files themselves. However, as we begin
to support more different upgrade scenarios, this has proven
to be difficult to maintain.
Instead, we will use this python script to create a dictionary
of releases which describes which release will be used at each
point in the deploy: undercloud_install, undercloud_upgrade,
overcloud_deploy, and overcloud_upgrade.
This commit only provides an intial skeleton to work from.
Follow-up commits will provide:
1. The ability to get a DLRN hash for each of the above breakpoints
2. A CLI for the tool so it can be called from the TOCI scripts
3. The ability to parse a featureset config for upgrade variables
4. The ability to output the dictionary for consumption by TOCI scripts
Change-Id: Ibf61d7d12230f6714eb7dad91169aa043f5f8417