ReleaseEngineering/Slave Naming

From MozillaWiki
Jump to: navigation, search

Introduction

At Release Engineering we do builds and tests of Firefox, Firefox for Android, Firefox OS and Thunderbird. We also do some other tier-2 type of jobs on the same hardware used to ship the mentioned products. For builds, we build both on real hardware and VMs (in-house & AWS). For unit and performance tests (aka talos), we build both on real desktop machines, VMs (EC2) and mobile development boards (tegras & pandas). As we move everything to scl3, we can see the purpose of the machine indicated on the full hostname (try build machines VS release build machines VS test machines VS "Windows" vlan).

Notes

  • We only use "try" or "y" for ec2 instances since renaming is harder with in-house hosts
  • We are unable to use hostnames longer than 15 characters on Windows, so any try hosts in EC2 are y-2008, not try-2008.
  • Moving machines from the try vlan to the build vlan will requires hostname changes (after the first 'dot').

Proposed naming

Server hostname convention

P-O-T-XXXX

1) P = purpose

  • "b-" - for build machines
  • "t-" - for test machines
  • "y-" - for try machines in AWS


2) O = OS + instruction size (optional)

  • xp32/w732/w864/w1064/2008/2012
    • we currently use "w64" for "w2008"
  • linux32/linux64
    • for linux we camouflage the distro
  • snow/lion/mtnlion/mavericks/yosemite

3) T = Type of hardware
For VMs:

  • "ec2" for Amazon on-demand instances
  • "spot" for Amazon spot instances
  • "vmw" for in-house vmware


For real hardware:

  • "ix" for ix machines
  • "r#" - # depends on the revision of Mac mini that we use


4) XXXX = number (or XXX = number in AWS)
Fixed digits allow lexical sorting, but limit to 9999 slaves per type. This is at variance with numbering throughout the rest of Mozilla, where zero-padding is not used.

Examples

Build machine examples:

  • b-2008-spot-XXX (15 chars)
  • b-2008-ix-XXXX (14 chars)
  • b-lion-r#-XXXX


Try machine examples:

  • y-2008-spot-XXX (15 chars)
  • y-linux64-spot-XXXX
  • y-linux32-spot-XXXX


Test machine examples:

  • t-linux32-spot-XXXX
  • t-linux64-spot-XXXX
  • t-linux32-ix-XXXX
  • t-linux64-ix-XXXX
  • t-snow-r4-XXXX
  • t-yosemite-r5-XXXX
  • t-xp32-ix-XXXX
  • t-w732-ix-XXXX
  • t-w864-ix-XXXX
  • t-w1064-ix-XXXX

Mobile hostname convention

T-XXXX

T = type (e.g. panda) Examples:

  • panda-XXXX


Other infra

buildbot-masterXX - for buildbot masters foopyXXX - for foopy machines

Current naming differences

NOTE: Differences are bolded to make it easier to read As of January, 2014 (note that machines have moved to four digits)

Proposed Current
b-linux64-spot-XXXX bld-linux64-spot-XXX
y-linux64-spot-XXXX try-linux64-xpot-XXXX
y-linux32-spot-XXXX try-linux32-xpot-XXXX
b-2008-ix-XXXX
b-2008-spot-XXX
y-2008-spot-XXX
b-lion-r#-XXXX bld-lion-r#-XXX
t-linux32-spot-XXXX tst-linux32-spot-XXX
t-linux64-spot-XXXX tst-linux64-spot-XXX
t-linux32-ix-XXXX talos-linux32-ix-XXX
t-linux64-ix-XXXX talos-linux64-ix-XXX
t-snow-r4-XXXX talos-r4-snow-XXX
t-mtnlion-r5-XXXX talos-mtnlion-r5-XXX
t-yosemite-r5-XXXX
t-xp32-ix-XXXX t-xp32-ix-XXX
t-w732-ix-XXXX t-w732-ix-XXX
t-w864-ix-XXXX t-w864-ix-XXX