ReleaseEngineering/Slave Naming

From MozillaWiki
Jump to navigation Jump to 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" 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
  • 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
  • bld-centos6-hp-XXX
  • bld-linux64-ix-XXX
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