ReleaseEngineering/Slave Naming
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" for ec2 instances since renaming is harder with in-house hosts
- Moving machines from the try vlan to the build vlan will requires hostname changes (after the first 'dot')
Proposed naming
Desktop hostname convention
P-O-T-XXXX
1) P = purpose
- "b-" - for build purposes
- "t-" - for test machines
2) O = OS + instruction size (optional)
- xp32/w732/w864/2008/2012
- we currently use "w64" for "w2008"
- linux32/linux64
- for linux we camouflage the distro
- snow/lion/mtnlion/mavericks
3) T = Type of hardware
For VMs:
- "ec2" for Amazon
- "vm" if run in-house
- "vmw" for in-house vmware
For real hardware:
- "hp" for hp machines
- "ix" for ix machines
- "r#" - # depends on the revision of Mac mini that we use
4) XXXX = number
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-linux64-hp-XXXX
- currently, they're named bld-centos6-hp-XXXX
- bug open to change these - https://bugzil.la/847912
- b-linux64-ec2-XXXX
- b-linux64-vm-XXXX
- we still use *some* in-house Linux build VMs for esr17
- b-2012-ec2-XXXX (15 chars)
- this platform is forward thinking if we build on AWS for Windows
- b-2008-ix-XXXX (14 chars)
- currently named w64-ix-slaveXXX - to be renamed on scl3
- b-lion-r#-XXXX
Test machine examples:
- t-linux32-ec2-XXXX
- t-linux64-ec2-XXXX
- t-linux32-ix-XXXX
- t-linux64-ix-XXXX
- t-snow-r4-XXXX
- t-mountainlion-r5-XXXX
- t-xp32-ix-XXXX
- t-w732-ix-XXXX
- t-w864-ix-XXXX
Mobile hostname convention
T-XXXX
T = type (e.g. panda or tegra) Examples:
- panda-XXXX
- tegra-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-{hp.ix}-XXXX |
|
b-linux64-ec2-XXXX | bld-linux64-ec2-XXX |
b-linux64-vmw-XXXX | bld-centos5-32-vmw-XXX (not supported) |
b-2008-ix-XXXX | w64-ix-slaveXXX |
b-2012-ec2-XXXX | |
b-lion-r#-XXXX | bld-lion-r#-XXX |
t-linux32-ec2-XXXX | tst-linux32-ec2-XXX |
t-linux64-ec2-XXXX | tst-linux64-ec2-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-xp32-ix-XXXX | t-xp32-ix-XXX |
t-w732-ix-XXXX | t-w732-ix-XXX |
t-w864-ix-XXXX | t-w864-ix-XXX |