152 lines
6 KiB
Text
152 lines
6 KiB
Text
include::_partials/attributes.adoc[]
|
|
|
|
= Fedora Final Release
|
|
|
|
== Update `FedoraPreviousPrevious.yaml` in ansible repository
|
|
|
|
Set the https://pagure.io/fedora-infra/ansible/blob/main/f/vars/all[variable] to True in ansible repository.
|
|
|
|
== Koji changes
|
|
|
|
[source,subs="attributes+"]
|
|
....
|
|
$ koji edit-tag --lock f{branched}
|
|
....
|
|
|
|
== Bodhi Changes
|
|
|
|
Set the bodhi release to `current`
|
|
[source,subs="attributes+"]
|
|
....
|
|
$ bodhi releases edit --name F{branched} --state current
|
|
....
|
|
|
|
Set the bodhi stable tag to point to updates instead of base repo
|
|
[source,subs="attributes+"]
|
|
....
|
|
$ bodhi releases edit --name F{branched} --stable-tag f{branched}-updates
|
|
....
|
|
|
|
Set EOL of oldest release to corret date
|
|
[source,subs="attributes+"]
|
|
....
|
|
$ bodhi releases edit --name F{old_release} --eol YYYY-MM-DD
|
|
$ bodhi releases edit --name F{old_release}C --eol YYYY-MM-DD
|
|
$ bodhi releases edit --name F{old_release}F --eol YYYY-MM-DD
|
|
$ bodhi releases edit --name F{old_release}M --eol YYYY-MM-DD
|
|
....
|
|
|
|
== Ansible Changes
|
|
|
|
=== Disable Branched Compose
|
|
|
|
Now that we have a final GOLD compose, we dont need nightly branched
|
|
composes anymore. This is disabled in
|
|
https://pagure.io/fedora-infra/ansible/blob/main/f/roles/releng/files/branched[releng
|
|
role] in infra ansible repo and then running the playbook.
|
|
|
|
....
|
|
$ sudo rbac-playbook groups/releng-compose.yml
|
|
....
|
|
|
|
=== Lift RelEng freeze
|
|
|
|
Lift the RelEng Freeze so that the updates will be pushed to stable.
|
|
This is done by editing
|
|
https://pagure.io/fedora-infra/ansible/blob/main/f/vars/all/RelEngFrozen.yaml[RelEngFrozen
|
|
variable] in infra ansible repo and then run the bodhi playbook.
|
|
|
|
....
|
|
$ sudo rbac-playbook groups/bodhi-backend.yml
|
|
....
|
|
|
|
=== Update Release Versions
|
|
|
|
In pungi.rpm.conf.j2 we need to check that the release.version_int should be now pointing to {rawhide} for all the artifacts that compose location is going to be under /compose/branched/. For the reference https://pagure.io/fork/jnsamyak/fedora-infra/ansible/c/cf05a84bfd652b264dc74eef29a453a55be565c1[pungi.rpm.conf.j2] check.
|
|
|
|
=== Update releng roles updates
|
|
|
|
. https://pagure.io/fedora-infra/ansible/blob/main/f/roles/releng/files/cloud-updates[cloud-updates]: Remove the commented version and append a new entry for {branched}.
|
|
|
|
. https://pagure.io/fedora-infra/ansible/blob/main/f/roles/releng/files/container-updates[container-updates]: Remove the commented version and append a new entry for {branched}.
|
|
|
|
. Update https://pagure.io/fedora-infra/ansible/blob/main/f/vars/all/00-FedoraCycleNumber.yaml[FedoraCycleNumber] to {branched}.
|
|
|
|
. Update https://pagure.io/fedora-infra/ansible/blob/main/f/vars/all/FedoraBranchedBodhi.yaml[FedoraBranchedBodhi] to current.
|
|
|
|
. Set https://pagure.io/fedora-infra/ansible/blob/main/f/vars/all/FedoraPreviousPrevious.yaml[FedoraPreviousPrevious] to True.
|
|
|
|
. Update https://pagure.io/releng/blob/main/f/scripts/sync-latest-container-base-image.sh[The container sync script's] `current_stable` variable. (see https://pagure.io/releng/c/697a12fb07bc2afbd3a1c057f65e41e1cf6ebf24[Example])
|
|
. Update https://pagure.io/releng/blob/main/f/scripts/sync-ostree-base-containers.sh[The ostree container sync script's] `current_stable` variable. (see https://pagure.io/releng/c/15de8fc77d5c7fb3be0762b6bf56ad023908d144[Example])
|
|
|
|
|
|
For the references, checkout this https://pagure.io/fork/jnsamyak/fedora-infra/ansible/c/6d1267970e09f412f1f51a2c203ae64e29e2c4c3[PR].
|
|
|
|
== Final Container Release
|
|
|
|
On the GA date run the `sync-latest-container-base-image.sh` and `sync-ostree-base-containers.sh`
|
|
|
|
[source,subs="attributes+"]
|
|
....
|
|
$ scripts/sync-latest-container-base-image.sh {branched}
|
|
$ scripts/sync-ostree-base-containers.sh {branched}
|
|
....
|
|
|
|
== Stage Final Release for Mirrors
|
|
|
|
To prepare for running the staging script, make sure you have the following information:
|
|
|
|
. Release Version: This is the numerical version number of the release, for example, {branched}.
|
|
. ComposeID: The ID associated with the Compose, such as "Fedora-{branched}-20160614.0".
|
|
. Label: The label used for the location in stage, for example, "Compsoe label for the location in stage 39_RC-1.2."
|
|
. Key: The name of the release key, which can be "fedora-{branched}" or "fedora-{branched}-secondary," as examples.
|
|
. Prerelease: Set this to 0 or 1 to determine if the release should be placed in a testing environment or not.
|
|
. Arch (Optional): For secondary architectures, this parameter can be used to make changes to some internal locations.
|
|
+
|
|
[source,subs="attributes+"]
|
|
....
|
|
$ scripts/stage-release.sh {branched} Fedora-{branched}-20160614.0 {branched}_RC-1.2 fedora-{branched} 0
|
|
....
|
|
. Sync the release to the Red Hat internal archive following internally
|
|
documented
|
|
|
|
[NOTE]
|
|
====
|
|
Make sure to grab the directory size usage numbers which is used to send
|
|
an email to [.title-ref]#mirror-admin@lists.fedoraproject.org# list.
|
|
====
|
|
|
|
== Check and set EOL on previous releases to reflect reality
|
|
|
|
. check PDC for active releases and respective EOL date
|
|
. if needed run the adjust-eol-all.py script from releng repository to
|
|
correct any mistakes
|
|
|
|
== Make sure there are no tagging leftovers from bodhi
|
|
|
|
Sometimes builds are not properly tagged during the freeze process.
|
|
Make sure all builds are properly tagged, for more info about the [issue](https://pagure.io/releng/issue/11775)
|
|
|
|
== Verification
|
|
|
|
Verification is somewhat difficult as one cannot look at the content via
|
|
the web server due to permissions. Typically we ask somebody from the
|
|
Infrastructure team to give the tree a second set of eyes.
|
|
|
|
== Post Release
|
|
|
|
=== One Week After the Release
|
|
|
|
In the first week after the release MirrorManager still uses the files
|
|
at `fedora/linux/development/<version>` and not at
|
|
`fedora/linux/releases/<version>`
|
|
|
|
Once enough mirrors have picked up the files in the release directory
|
|
following script (on _mm-backend01_) can be used to change the paths in
|
|
MirrorManager:
|
|
|
|
[source,subs="attributes+"]
|
|
....
|
|
sudo -u mirrormanager mm2_move-devel-to-release --version={branched} --category="Fedora Linux"
|
|
sudo -u mirrormanager mm2_move-devel-to-release --version={branched} --category="Fedora Secondary Arches"
|
|
....
|