ReleaseEngineering/How To/Update Mock Build Repositories

From MozillaWiki
Jump to: navigation, search

Mock builders use yum repositories designed specifically for the purpose. There are several repos -- one onsite in scl3, and one in each AWS zone.

Adding new Packages

When adding packages, best practice is to add a new, purpose-specific repository, as done in bug 1043023.

  1. on relengwebadm.private.scl3.mozilla.com, as root, create a new directory under /mnt/netapp/relengweb/mockbuild-repos/custom
  2. fill it with packages
  3. run `createrepo --update .` in your directory
  4. verify that the repo works properly at http://mockbuild-repos.pub.build.mozilla.org/custom/DIRNAME
  5. sync to S3 (see below)
  6. add a repo clause to `modules/runner/files/mockbuild-config-template` in build/puppet, get the change reviewed, and land it; this will activate your repo in every mock build

Updating Repos

When updating a mirrored repo, MAKE A BACKUP, and then re-mirror in the proper directory under /mnt/netapp/relengweb/mockbuild-repos/mirrors on relengwebadm. Note that this change will take effect immediately!

After that, synchronize your changes to S3 (see below). There's no puppet change to land in this case.

Synchronizing to S3

The process here is ReleaseEngineering/How To/Update a Releng Cluster Site; the update script just runs `s3cmd` using pre-set credentials to synchronize the netapp share to S3.

Note that ordinarily a change isn't "live" until you run an update script, but in this case any changes made to the netapp mount are visible immediately on the http://mockbuild-repos.pub.build.mozilla.org/ URL.