Balrog/Scripts

From MozillaWiki
< Balrog
Revision as of 02:09, 19 November 2014 by NThomas (talk | contribs) (Typos)
Jump to navigation Jump to search

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.