Balrog/Scripts
Intro
These tools all live in tools/scripts/updates. We use them to programmatically adjust the update server.
balrog-submitter.py
Used to submit nightly and release style builds into release blobs. Called on build slaves, once per each combination of platform-locale.
balrog-release-pusher.py
Used by the release automation to add the metadata to a release blob, and to push the new release onto the test channels. Example builder name - release-mozilla-beta-firefox_updates.
balrog-release-shipper.py
Used by the release automation to push a release to the production chanenl. Example builder name - release-mozilla-beta-update_shipping.
balrog-tweaker.py
We don't have UI support for modifying blobs, so this is a helper to submit a blob fragment to replace content on the server. Doesn't handle removing keys.
Example:
python scripts/updates/balrog-tweaker.py --json json -b 'Firefox-33.0-build1' --api-root 'https://aus4-admin.mozilla.org' --credentials-file cred -u 'nthomas@mozilla.com' -v
where json is a file containing the fragment of json to submit, cred is a file containing the password for the -u argument, with format
balrog_credentials = {
'username': 'password'
}
balrog-nightly-locker.py
Used to 'freeze' nightly updates by pointing to a dated release blob instead of the latest, eg for big code landings, merges. Also to unfreeze afterwards. More details on usage at Enable/disable updates on Aurora
Common code
cli.py and api.py in tools/lib/python/balrog/submitter/ provide the shared code.