Bodhi Infrastructure SOP
Bodhi is used by Fedora developers to submit potential package updates for releases. From here, bodhi handles all of the dirty work, from sending around emails, dealing with Koji, to mashing the repositories.
Bodhi project Trac: https://fedorahosted.org/bodhi/
Owner: Fedora Infrastructure Team
Persons: lmacken, f13
Purpose: Push package updates, and handle new submissions.
Adding a new pending release
The following commands need to be run from a bodhi checkout at the moment...
$ tg-admin --config=/etc/bodhi/bodhi.cfg shell >>> Release(name='F13', long_name='Fedora 13', id_prefix='FEDORA', dist_tag='dist-f13', locked=True) >>> from bodhi.jobs import refresh_metrics >>> refresh_metrics()
Pushing EPEL updates
SSH into the EPEL masher, and run the following command:
* sudo bodhi --push --push-release=EL-4 --push-release=EL-5 -u $YOUR_USERNAME
This will display a list of updates that are ready to be pushed. If you press enter, it will quit the tool and write out the package lists to corresponding files (eg: Testing-EL5, Stable-EL4) which can then be used for piping through the signing scripts.
Once the packages are signed you can run the above `bodhi` command again and press `y` to begin the push. You can then keep track of the progress by running `tail -f /var/log/bodhi/server.log`. If a problem occurs, you can resume the push by running:
* sudo bodhi --push --push-release=EL-4 --push-release=EL-5 -u $YOUR_USERNAME --resume-push
Troubleshooting and Resolution
Bodhi caches the most recent repodata for all releases in `/mnt/koji/mash/updates/*.repodata`. Sometimes, if a push fails or crashes for some reason, this can lead to corrupted metadata. So, if you see this message:
* Repodata sanity check failed! * updateinfo.xml.gz contains empty ID tags
You can remove the cached metadata and try resuming the push:
* rm -fr /mnt/koji/mash/updates/el*.repodata * bodhi --push --push-release=EL-4 --push-release=EL-5 -u $YOUR_USERNAME --resume-push
More Tips/tricks for working with a Bodhi instance can be found here: