Auto-tools/staging

From MozillaWiki
< Auto-tools
Revision as of 20:50, 26 October 2010 by Anodelman (talk | contribs)
Jump to navigation Jump to search

Tools Staging Environment Booking

masters

Master User Testing Notes Dates Interruptable Waiting
mozilla-tests1 (9010) jmaher bug 605039 - Oct 25 - Oct 30 yes -
mozilla-tests2 (9012) anode bug 599162 talos needs to be able to install release builds oct 5 - ? yes -

slaves

001 slaves are attached to mozilla-tests1, 002 slaves are attached to mozilla-tests2. The slaves themselves can also be removed from the pool and booked individually.

currently booked

Slave User Testing/Notes Dates
- - - -

known slaves

Platform Slaves
Linux tools-r3-fed-{001,002}
Linux64 tools-r3-fed64-{001,002}
Mac tools-r3-leopard-{001,002}
Mac64 tools-r3-snow-{001,002}
Win32 tools-r3-xp-{001,002}, tools-r3-w7-{001,002}
Win64 tools-r3-w764-{001,002}

Notes & Best Practices

restarting buildbot

Go to your master configuration path and run

make reconfig

or

make stop; make start

restarting buildslaves

The waterfall should tell you if builders are offline

  • click on the builder on your waterfall to get a list of slaves
  • vnc into each slave

On Windows:

  • open a terminal
  • change to the c:\ directory
  • run `buildbot start talos-slave`

sending changes

run

/builds/buildbot/sendchanges.sh

vnc vs. rdc

  • only log into talos slaves using vnc
  • rdc gives you a remote, virtual console on the box, you end up running performance tests against your home machine's graphics display which is not desired
  • to restart the slave, open a terminal and run buildbot start talos-slave
  • you must use vnc to restart a slave; you can ssh into a slave but the tests require a display. so use vnc
  • don't use the startTalos icon on the desktop for reasons i don't understand

test-master1

  • uses 001 slaves
  • master path : buildbot master configuration
/builds/buildbot/mozilla-tests1
  • buildbotcustom path
/tools/buildbotcustom/buildbotcustom
  • user configs
/builds/buildbot/user-configs

test-master2

  • uses 002 slaves
  • master path
/builds/buildbot/mozilla-tests2
  • buildbotcustom path
/tools/buildbotcustom2/buildbotcustom
  • user configs
/builds/buildbot/user-configs2

switching users

create your own user environment

  • go to the user configs path for your master
  • create configs-{your_name}
cp -r configs-clean configs-{your_name}

create your own buildbotcustom

  • go to the buildbotcustom path for your master
  • create buildbotcustom-{your_name}
cp -r buildbotcustom-clean buildbotcustom-{your_name}

switch master to use your configs/buildbotcustom

  • book the master you want to use
  • go to the directory of your master
  • run
./switch-user {your_name}
  • A possible doc update on script name and location?:
[root@localhost mozilla-tests2]# pwd
/builds/buildbot/mozilla-tests2
[root@localhost mozilla-tests2]# ./switch_configs.sh jmaher

buildbot config files and what they do

  • you will be working out of
configs-{your_name}/mozilla-tests
  • you can switch configs from /builds/buildbot/mozilla-tests1
./switch_configs {name}

config.py

  • contains configuration for talos tests
  • contains configuration for which talos tests are run on which branches
  • shared between production and staging machines

staging-config.py

  • contains graph server configuration (points to graphs-stage)
  • contains slave names
    • NOTE have to be updated to point to tools machine names instead of releng stage talos machine names)

staging_tests_master_stm{01,02}_localconfig.py

  • sets slave port number
  • sets master waterfall link
    • NOTE has to be updated to point to correct tools set up
  • sets active branches + platforms
    • can switch on/off branches to narrow down testing to some/all branches
    • can switch on/off platforms to narrow testing to some/all OSes

how to run custom talos code

  • talos code is checked out per-run by default
  • edit
/tools/buildbotcustom{ ,2}/buildbotcustom-{your-name}/process/factory.py
#self.customTalos = customTalos
self.customTalos = 'talos.zip' #customTalos
  • there is already a copy of talos in your user configs that you can edit
/build/buildbot/user-configs{ ,2}/configs-{your_name}/talos
  • just package it into and it will be downloaded and unzipped per-run
/build/buildbot/user-configs{ ,2}/configs-{your_name}/talos.zip

userland code

If you need non shared code, make a directory

/home/cltbld/{your_name}

Landing Your Changes