ReleaseEngineering/How To/Update BuildAPI

From MozillaWiki
Jump to: navigation, search

BuildAPI is composed of a web application plus an agent that runs on a few buildmasters (self-serve agent). Also see ReleaseEngineering/BuildAPI

So, how do you update one of those?

Common

Bump the version in setup.py if you haven't already done so in your patch, get review and land in the repo.

Build a new sdist tarball of BuildAPI, using normal python techniques, and upload it to the puppetagain python repository at releng-puppet2.srv.releng.scl3.mozilla.com (/data/python/packages on the distinguished puppetmaster).

You will need this diff in your local copy of setup.cfg:

diff --git a/setup.cfg b/setup.cfg
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,5 +1,5 @@
 [egg_info]
-tag_build = dev
-tag_svn_revision = true
+tag_build =
+tag_svn_revision = 0

In detail:

 python setup.py sdist
 scp dist/buildapi-0.2.4.tar.gz releng-puppet2.srv.releng.scl3.mozilla.com:
 ssh releng-puppet2.srv.releng.scl3.mozilla.com
 sudo mv buildapi-0.2.4.tar.gz /data/python/packages
 cd /data/python/packages
 sudo chown puppetsync:puppetsync buildapi-0.2.4.tar.gz
 sudo chmod 664 buildapi-0.2.4.tar.gz

Web Application

Login to relengwebadm.private.scl3.mozilla.com and become root. Go to

  • /data/releng-stage/src/buildapi for staging
  • /data/releng/src/buildapi for production

and have a look at README.txt.

If 0.2.4 is the version you want to install, it boils down to:

 ./update 0.2.4

Self-Serve Agent

Update the buildapi version in puppet, get review, land, and merge to production. Puppet will deploy within 60 minutes, usually within 30.