-
Notifications
You must be signed in to change notification settings - Fork 186
Releasing Uyuni versions
- Python3
- python-libarchive module for Python3 installed
- An OBS account able to create projects at https://build.opensuse.org/project/show/systemsmanagement:Uyuni and submit packages to https://build.opensuse.org/project/show/systemsmanagement:Uyuni:Stable
- The account configured at
~/.osrc
Some days before the release:
- Warn everyone about the upcoming release (email to uyuni-devel mailing list, topic at IRC)
- Ask Doc team to submit the susemanager-docs_en package
- Increase WebUI version number in
web/conf/rhn_web.conf
(x.y.z+1) - Push the changes using the Jenkins Job
manager-Head-2obs
- Run
rel-eng/uyuni-check-version
to check what other packages need changes and adjust them.
At the day you start the update:
-
Get a green cucumber testsuite.
-
Lock master branch at https://github.com/uyuni-project/uyuni/settings/branch_protection_rules/2243617 (enable the checkbox for
Restrict who can push to matching branches
) -
Check if the schema directory exists with the correct versions (first
check schema/spacewalk/susemanager-schema.spec
and take note of the version in format X.Y.Z, then see if there is a directoryschema/spacewalk/upgrade/susemanager-schema-X.Y.Z-to-susemanager-schema-X.Y.Z+1
with contents). E.g.: if current version for package is 4.0.10, then there should be a foldersusemanager-schema-4.0.10-to-susemanager-schema-4.0.11
If not:- Create a new directory for the database migration scripts in
schema/spacewalk/upgrade
- Create an empty file called
.gitkeep
in it (otherwise the empty directory couldn't be added to git) - Add the directory to git, commit, push back to the remote of current branch
- Create a new directory for the database migration scripts in
-
Now you can start listing which packages need tagging:
tito report --untagged-commits
See the home directory for every package:
cat rel-eng/packages
And for every package:
-
Tag it:
tito tag
The entries for the changelog should be there, including. all bugs, CVE and Fate numbers. Notice an empty point is automatically created and you must remove it if you won't use it.
-
Follow the tito instructions: push tags to remote
-
-
Create a tag 'Uyuni-X.Y.Z' being 'X.Y.Z' the version you configured at
web/conf/rhn_web.conf
-
Force a submission to OBS using https://ci.suse.de/view/Manager/view/Manager-Head/job/manager-Head-2obs/. Then disable the job.
-
Go to https://build.opensuse.org/project/show/systemsmanagement:Uyuni:Master and https://build.opensuse.org/project/show/systemsmanagement:Uyuni:Master:Other and the client projects until everything is built.
-
Promote the packages with the help of
release-uyuni
script. For example if you want a new version 2021.03 for openSUSE Leap 15.2 run:./release-uyuni -u 2021.03 -l 15-.2
Wait until the script is complete, and check there are no errors.
This will release the packages to
systemsmanagement:Uyuni:Stable
andsystemsmanagement:Uyuni:Snapshots:2021.03
(notice the version will depend on the previous call torelease-uyuni
. Have a look at both projects to check that everything is fine.NOTE: I need to adapt the script, for now the releasing needs to be done manually:
- Create the Snapshot project manually (for example
systemsmanagement:Uyuni:Snapshots:2021.03
, use a previous snapshot for reference) - Configure the meta information at
systemsmanagement:Uyuni:Stable
to promote tosystemsmanagement:Uyuni:Snapshots:2021.03
- Release to Stable with
osc release systemsmanagement:Uyuni:Master
, go the stable project and wait until the release is complete - Release the Snapshot with
osc release systemsmanagement:Uyuni:Stable
, go the snapshot project and wait until the release is complete
- Create the Snapshot project manually (for example
-
Promote client tools:
osc release systemsmanagement:Uyuni:Master:openSUSE_Leap_15-Uyuni-Client-Tools osc release systemsmanagement:Uyuni:Master:SLE12-Uyuni-Client-Tools osc release systemsmanagement:Uyuni:Master:SLE15-Uyuni-Client-Tools osc release systemsmanagement:Uyuni:Master:CentOS7-Uyuni-Client-Tools osc release systemsmanagement:Uyuni:Master:EL8-Uyuni-Client-Tools osc release systemsmanagement:Uyuni:Master:EL9-Uyuni-Client-Tools osc release systemsmanagement:Uyuni:Master:Ubuntu1804-Uyuni-Client-Tools osc release systemsmanagement:Uyuni:Master:Ubuntu2004-Uyuni-Client-Tools osc release systemsmanagement:Uyuni:Master:Ubuntu2204-Uyuni-Client-Tools osc release systemsmanagement:Uyuni:Master:Debian10-Uyuni-Client-Tools osc release systemsmanagement:Uyuni:Master:Debian11-Uyuni-Client-Tools
-
Wait until all client tools are released.
-
Enable https://ci.suse.de/view/Manager/view/Manager-Head/job/manager-Head-2obs/ to use
master
branch again. -
Announce the new release at twitter, IRC channel and uyuni-announce and uyuni-devel mailing lists.