ReleaseEngineering/How To/Reset the Try Server
< ReleaseEngineering | How To
Due to increased usage on tryserver, this is something we need to do approx once a month. This can typically be done in 30-60minutes.
- joduinn can grab this information through buildapi now.
make sure joduinn has extracted all the logs he needs for blogposts. Its nice, but not required, to do this repo reset at the end of the calendar month, as it makes blogpost work easier. - RelEng to post downtime notices to dev.planning, and mark the TryServer closed.
- Note this does *not* touch any production build/test/talos machines, so does *not* require closing mozilla-central, or any other tree.
- File IT bug to
- delete the try server hg repo
- Before you do this, save the hgrc (/repo/hg/mozilla/try/hgrc). You'll have to put the hooks back and this will help.
- rm -rf /repo/hg/mozilla/try
- (Alternatively, move the try repo away so you have a backup till everything is verified as working)
- create a fresh new hg repo cloned from mozilla-central
- su - hg
- cd /repo/hg/mozilla
- hg clone -U mozilla-central try
- create an empty pushlog db.
- su - hg
- cp /repo/hg/mozilla/mozilla-central/.hg/pushlog2.db /repo/hg/mozilla/try/.hg/pushlog2.db
- chown hg:scm_level_1 /repo/hg/mozilla/try/.hg/pushlog2.db
- chmod g+w /repo/hg/mozilla/try/.hg/pushlog2.db
- cd /repo/hg/mozilla/try/.hg/
- sqlite3 pushlog2.db
- sqlite> delete from changesets;
- sqlite> delete from pushlog;
- sqlite> .exit
- Reset perms on the repo.
- Become the root user on the machine.
- cd /repo/hg/mozilla/
- chown -R hg:hg_mozilla try
- Reset the varnish cache
- Login to dm-vcview04
- unmount /mnt/tmp_try && mount /mnt/tmp_try
- cp -a /repo/hg/mozilla/try /mnt/tmp_try/
- cp -f /repo/hg/scripts/try_clone.hgrc /mnt/tmp_try/try/.hg/hgrc
- chown -R hg:scm_level_1 /mnt/tmp_try/try
- service httpd restart
- service varnish restart
- delete the try server hg repo
- RelEng to remove message from tinderbox server.
[RelEng no longer needs to push 1.9.1 and 1.9.2 to try, since we don't support those branches; and doesn't need to reconfig any masters to get the hg polling working again.]
It turns out that sometimes when the repository is reset the hg poller gets into a bad state. Reconfiguring the scheduler master fixes the problem and is a quick procedure