Completely rewrite the releng "Update Critpath" SOP
This kinda isn't even an SOP any more, because no manual action is needed in the ordinary course of events any more. We could, I guess, just remove it. But this instead rewrites it to kinda explain the process in case manual intervention is needed. The current information is entirely outdated. Signed-off-by: Adam Williamson <awilliam@redhat.com>
This commit is contained in:
parent
e5334de240
commit
2bb2853ec5
1 changed files with 24 additions and 37 deletions
|
@ -10,46 +10,33 @@ This is a collection of packages deemed "critical" to Fedora
|
||||||
|
|
||||||
=== Description
|
=== Description
|
||||||
|
|
||||||
PDC has information about which packages are critpath and which are not.
|
Bodhi has information about which packages are critpath and which are not.
|
||||||
A script that reads the yum repodata (critpath group in comps, and the
|
A script that reads the dnf repodata (critpath groups in comps, and the
|
||||||
package dependencies) is used to generate this. Since package
|
package dependencies) is used to generate this. In the normal course of
|
||||||
dependencies change, this list should be updated periodically.
|
events, an OpenShift cron job (called fedora-bodhi-critpathcron) updates
|
||||||
|
this information daily, and no manual intervention is needed, but the
|
||||||
|
steps to update it manually are documented here in case of need.
|
||||||
|
|
||||||
=== Action
|
=== Action
|
||||||
|
|
||||||
. Release engineering scripts for updating critpath live in the
|
. The release engineering script for updating critpath lives in the
|
||||||
https://pagure.io/releng[releng git repository].
|
https://pagure.io/releng[releng git repository]. Check this out.
|
||||||
. Check the critpath.py script to see if the list of releases needs to
|
. Run the script. If run with `all`, it will generate the info for
|
||||||
be updated:
|
all current releases, and name the output files as Bodhi expects.
|
||||||
|
Otherwise you can specify the release to generate info for, and the
|
||||||
|
output filename. For stable releases, use the release number. For
|
||||||
|
Branched and Rawhide, you can use the release number, or "branched" or
|
||||||
|
"rawhide". Using `--srpm` is important as Bodhi expects to get the
|
||||||
|
names of SRPMs in the critical path, not binary RPMs.
|
||||||
+
|
+
|
||||||
....
|
....
|
||||||
for r in ['12', '13', '14', '15', '16', '17']: # 13, 14, ...
|
./critpath.py --srpm all
|
||||||
releasepath[r] = 'releases/%s/Everything/$basearch/os/' % r
|
./critpath.py --srpm -j f38.json 38
|
||||||
updatepath[r] = 'updates/%s/$basearch/' % r
|
|
||||||
|
|
||||||
# Branched Fedora goes here
|
|
||||||
branched = '18'
|
|
||||||
....
|
....
|
||||||
+
|
. Place the generated files in the directory where Bodhi will look
|
||||||
The for loop has the version numbers for releases that have gone past
|
for them. This is specified by the `critpath.jsonpath` config setting,
|
||||||
final. branched has the release that's been branched from rawhide but
|
the default is `/etc/bodhi/critpath`. With a monolithic Bodhi server,
|
||||||
not yet hit final. (These have different paths in the repository and may
|
server, this is quite easy. In the current containerized OpenShift
|
||||||
not have an updates directory, thus they're in separate sections).
|
deployment, we keep this data in a persistent volume and mount it
|
||||||
. Run the script with the release to generate info for (for a release
|
at `/etc/bodhi/critpath` in the webUI pod, the consumers pod, and the
|
||||||
that's hit final, this is the release number example: "17". For
|
celery pod (which runs the cron job that updates it).
|
||||||
branched, it's "branched").
|
|
||||||
+
|
|
||||||
....
|
|
||||||
./critpath.py --srpm -o critpath.txt branched
|
|
||||||
....
|
|
||||||
. Run the update script to add that to PDC:
|
|
||||||
+
|
|
||||||
....
|
|
||||||
./update-critpath --user toshio f18 critpath.txt
|
|
||||||
....
|
|
||||||
+
|
|
||||||
The username is your fas username. You must be in cvsadmin to be able to
|
|
||||||
change this. The branch is the name of the dist-git branch. critpath.txt
|
|
||||||
is the file that the output of critpath.py went into. The script needs a
|
|
||||||
PDC token to talk to the server, configured in /etc/pdc.d/. See the PDC
|
|
||||||
SOP for more info.
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue