Commit Graph

46 Commits

Author SHA1 Message Date
Ghanshyam Mann a606c60efc Retire Tripleo: remove repo content
TripleO project is retiring
- https://review.opendev.org/c/openstack/governance/+/905145

this commit remove the content of this project repo

Depends-On: https://review.opendev.org/c/openstack/ansible-role-collect-logs/+/910044
Depends-On: https://review.opendev.org/c/openstack/neutron/+/910099

Change-Id: I338ed19678cf4a6248c46551bdf9cb23abc511bd
2024-02-24 20:22:39 +00:00
Sofer Athlan-Guyot 9e7cf30337 Add content provider using current tag to build containers for minor update
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
2023-06-22 15:03:51 +02:00
Pooja Jadhav 062c151332 Fix flake8 failures on tripleo-ci check jobs
This patch fixes flake8 failures which are hitting
tripleo-ci jobs.

Change-Id: I9af17b5bc888e1679adb49bff383ee73c6426ad3
Closes-Bug: #2004557
2023-02-02 17:57:17 +05:30
Juan Badia Payno a7214267b6 Added standalone-ffu job.
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
2022-11-04 09:43:29 +01:00
Pooja Jadhav 17130a2150 Add zed release to emit_release code
This patch adds zed release to emit_release code baecasue
it is blocking while adding periodic zed minor update job [1]
with error logs [2].
[1] https://review.rdoproject.org/r/c/rdo-jobs/+/45292/3/zuul.d/integration-jobs-cs9-zed.yaml
[2] https://logserver.rdoproject.org/97/40897/7/check/periodic-tripleo-ci-centos-9-scenario000-multinode-oooq-container-updates-zed/eeede57/job-output.txt

Change-Id: If1d45e7e0a882b4645253d6e8c1887af918f9a58
2022-10-11 12:22:27 +05:30
Ronelle Landy bbf1787508 Revert "Victoria tear down : emit release file"
This reverts commit 7a6b71241d.

Reason for revert: https://bugs.launchpad.net/tripleo/+bug/1991240

Change-Id: I8026f2fa78b247231e718577a0522fb9ebacb128
2022-09-29 15:21:09 +00:00
Pooja Jadhav 7a6b71241d Victoria tear down : emit release file
This patch removes emit release files cleaup
of victoria/ussuri EOL releases.

Depends-On: https://review.opendev.org/c/openstack/tripleo-ci/+/859437

Change-Id: I77381bcbb6a88cffef19c0ff30bf3e9ceffdeed2
2022-09-28 11:21:06 +00:00
Pooja Jadhav b11d21ad8f Ussuri tear down as EOL
Ref : https://review.opendev.org/c/openstack/releases/+/834049

Change-Id: Ie5be105b3b65108e741a6e1d2ea79d54596a7a5a
2022-05-16 11:51:39 +05:30
Marios Andreou 800d36d83f Cleanup code from old releases already EOL pike|queens|rocky|stein
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
2022-04-20 13:47:27 +03:00
Jose Luis Franco Arza 7070665677 Add undercloud-ffu-wallaby job.
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
2022-03-02 09:23:41 +02:00
Marios Andreou 4f84e22440 Allow hash override for emit releases script for minor update
In [1] we addressed related-bug for the undercloud upgrade. This
addresses the minor update case.

Tests at [2] (DNM patches on tht branches) & [3] (rdo).

[1] https://review.opendev.org/c/openstack/tripleo-ci/+/816991
[2] https://review.opendev.org/q/topic:lp1946659
[3] https://review.rdoproject.org/r/c/testproject/+/37144/2..3#message-f194606c5a1d3e495e65fe092673796250394437

Related-Bug: 1946659
Change-Id: Ib9b7d16d6e7888a16c9fae22a3035e48600519ab
2022-01-03 07:24:45 +00:00
Arx Cruz 4a6b1f0bcf Allow override for install and target hash in emit releases undercloud
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
2021-12-16 10:47:32 +02:00
Pooja Jadhav a4e789cbfe Add centos9 support for emit_releases_script
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
2021-11-24 15:46:22 +05:30
Arx Cruz 0b0aa53a9b Ensure upgrade job read the proper hash
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
2021-10-29 13:42:10 +02:00
Sorin Sbarnea cc0d019446 Add py39 support
- 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
2021-04-12 18:42:38 +01:00
Zuul 8055430854 Merge "Add wallaby support for emit_releases_file.py" 2021-04-07 11:26:29 +00:00
frenzyfriday f14bb680fb Add wallaby support for emit_releases_file.py
Adds wallaby into the emit releases script. Similar to https://review.opendev.org/c/openstack/tripleo-ci/+/757861 which was for victoria.

Change-Id: Ib7d4bde73d3206b96b43a8f3ef2a78882cddf855
2021-03-30 14:58:34 +02:00
Marios Andreou b813597a5a Remove all rocky related jobs/conditionals tests after rocky End of Life
Rocky is now EOL since [1][2] so this removes all the rocky related jobs
or conditionals.
Moves tripleo-ci-centos-7-undercloud-containers to deprecated jobs as it
is still in use in other repos so we can't remove yet.
Related reviews in topic branch tripleo-ci-reduce-rocky [3].

[1] https://review.opendev.org/c/openstack/releases/+/774244
[2] http://lists.openstack.org/pipermail/openstack-discuss/2021-March/020912.html
[3] https://review.opendev.org/q/topic:tripleo-ci-reduce-rocky

Change-Id: Ibe2fd5c7792d55236c09dbf9cf88e23e1c5a5673
2021-03-26 13:47:18 +02:00
Bhagyashri Shewale d69df19d22 Add victoria support for emit_releases_file.py
Adds victoria into the emit releases script [1].

[1]: https://projects.engineering.redhat.com/browse/TRIPLEOCI-230
Change-Id: I1758ff860cb36692af638be0cae3c3076dbd5b9e
2020-10-18 15:09:04 +00:00
Hervé Beraud e025b60f1a Use unittest.mock instead of mock
The mock third party library was needed for mock support in py2
runtimes. Since we now only support py36 and later, we can use the
standard lib unittest.mock module instead.

Change-Id: Iba639e105ef6d8d9223967863ec6ac5d971be58f
2020-06-11 10:12:54 +02:00
Marios Andreou 22d77e7f88 Add ussuri support for emit_releases_file.py
Adds ussuri into the emit releases script as tracked at [1] by
tripleo-ci squad

[1] https://tree.taiga.io/project/tripleo-ci-board/task/1666

Change-Id: I38a5c2abcdbd3dc5927ed6ccfdd31d357fc25f8a
2020-05-14 13:23:59 +00:00
Sorin Sbarnea f78da2885a lint: enable black
Assures consistent formatting of our python codebase without having
to rely on humans to do it, or to debate during reviews.

Change-Id: I1e62cc755fa60e453dea865f436241ecae330771
2020-03-24 13:17:31 +00:00
Gabriele Cerami 50203ab44a Add centos8 support for emit_releases_script
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
2020-03-06 12:23:55 +00:00
Sorin Sbarnea b6611fd03a Fixed flake8 and broken gate
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
2020-01-27 19:21:48 +00:00
Chandan Kumar (raukadah) 8c31506575 Added support for train for emit release file
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>
2019-10-04 12:03:49 +05:30
Sagi Shnaidman 3ef2836a23 Use proxy when retrieving delorean file from RDO
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
2019-08-18 14:20:23 +00:00
Ronelle Landy eb1235fccd Increase retries to get dlrn repo in emit_releases file
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
2019-08-13 17:17:15 -04:00
Marios Andreou e4ebc2e387 commenting emit-releases.py for maintainability
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
2019-04-17 19:06:33 +03:00
Quique Llorente 4381539ba5 Add stein support to emit releases script
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
2019-04-02 15:12:59 +02:00
Jiri Stransky c6bc5f8ace Reduce unit testing changes required for emit_releases_file
When looking at recent edit of emit_releases_file.py it seems that the
amount of manual unit test changes required [1] is so high that it
might deter contributors and consume too much effort.

Much of the edited unit test data seems repetitive, so my rationale
here is that we can reduce the amount of data resulting in a small
loss of coverage but considerable reduction of required labor when
making emit_releases_file amendments.

The order of side effects for get_hash function was considered for the
test result, now we use a fixture that is backed up by a tuple to a
string dictionary to configure the mock, so the order is not important
anymore.

Co-Authored-By: Quique Llorente <ellorent@redhat.com>

[1] https://review.openstack.org/#/c/606996/7/scripts/emit_releases_file/test_release_name.py

Change-Id: Ie573813a4916aeb1bb15b5aa38dc2a732586e8c2
2018-11-05 09:07:43 +00:00
Sofer Athlan-Guyot f3702f4335 Add standalone upgrade to emit release.
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
2018-10-24 00:18:40 +02:00
Jiri Stransky 8ac067890d Switch previous release of master from 'queens' to 'rocky'
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
2018-10-02 12:02:07 +02:00
Sorin Sbarnea 04e2fcf4d8 replace pep8 check with generic linters
Includes removal of file pattern from pep8 job which prevented
it from running on most changes. Linters will use multiple tools
and a pattern would make it fail to spot errors.

This check should run even if no files are changed, so it would
be able to check commit messages.

There are no real load implications because linters check is
just a simple tox execution which has minimal resource requirements.

Includes reactivaction or linting which was not running on
the entire repository. This required few minor fixes.

Partial-Bug: #1786286
Change-Id: I4d4279309af55c2663e98bd0cdec9224f03c1fa0
2018-08-29 19:03:09 +01:00
yatin 6bc9d7ef97 Fix HASH for periodic jobs(use tripleo-ci-testing)
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
2018-08-22 03:01:43 +00:00
Sagi Shnaidman f16bbeeaf2 Add rocky to emit files
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
2018-08-18 18:08:44 +05:30
Quique Llorente 90cce3d112 Use correct release file for periodic jobs
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
2018-07-02 07:55:33 +02:00
John Trowbridge d7adb74342 Add ability to upgrade FROM change under test
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
2018-06-12 12:11:40 +01:00
Enrique Llorente 93f091b1ac Fix relase file name for mixed upgrades
It has to be foo-undercloud-bar-overcloud, it was undercloud-foo-overcloud-bar

Change-Id: I212a0a66f1c36187cbb64a5b8a8d851443a91b73
2018-05-22 12:36:18 +00:00
John Trowbridge 6f06040bad Wire in get_dlrn_hash
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
2018-05-21 08:25:09 -04:00
John Trowbridge f76569c23b Add newton->ocata undercloud upgrades to unsupported list
Change-Id: I4c8f389978717848e755f12856dd454d605c9137
2018-05-18 17:13:09 +00:00
Enrique Llorente 8d4adf4233 Implement --output-file to write the bash script
I will output a sourceable bash script with a capitalized
version of the releases dictionary variables.

Change-Id: I1fa8cbfd737d22e8d44723e0274d49d268b213e2
2018-05-18 14:39:15 +00:00
Ronelle Landy dbca28c411 Add linter jobs for releases file script
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
2018-05-18 10:37:44 -04:00
John Trowbridge 53e4092038 Add CLI argument parser and YAML file parser
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
2018-05-18 14:35:41 +00:00
Ronelle Landy 7ca3fcd685 Add releases script pytest tests to tox.ini
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
2018-05-18 10:33:47 -04:00
John Trowbridge 935b7e76a9 Add method for getting dlrn_hash from release and hash_name
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
2018-05-18 10:19:57 +02:00
John Trowbridge d0bb823d0c Add python script to dynamically compose releases
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
2018-05-16 11:47:27 +02:00