ReleaseEngineering/Slave Naming: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
= Introduction =
= Introduction =
On 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 but we use the same hardware used to ship the mentioned products.
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 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).
For unit and performance tests (aka talos), we build both on real desktop machines, VMs (EC2) and mobile development boards (tegras & pandas).
Line 7: Line 7:
== Notes ==
== Notes ==
* We only use "try" for ec2 instances since renaming is harder with in-house hosts
* 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 require hostname changes (after the first 'dot')
* Moving machines from the try vlan to the build vlan will requires hostname changes (after the first 'dot')


= Proposed naming =
= Proposed naming =
== Desktop hostname convention ==
== Desktop hostname convention ==
P-O-T-XXX
P-O-T-XXXX


1) P = purpose
1) P = purpose
Line 18: Line 18:
<br />
<br />
2) O = OS + instruction size (optional)
2) O = OS + instruction size (optional)
* xp32/w732/w864
* xp32/w732/w864/2008/2012
* w2008/w2012
** we currently use "w64" for "w2008"
** we currently use "w64" for "w2008"
* linux32/linux64
* linux32/linux64
** for linux we camouflage the distro
** for linux we camouflage the distro
* snow/lion/mtnlion
* snow/lion/mtnlion/mavericks
<br />
<br />
3) T = Type of hardware
3) T = Type of hardware
Line 36: Line 35:
* "r#" - # depends on the revision of Mac mini that we use
* "r#" - # depends on the revision of Mac mini that we use
<br />
<br />
4) XXX = number
4) XXXX = number
Fixed digits allow lexical sorting, but limit to 999 slaves per type. This is at variance with numbering throughout the rest of Mozilla, where zero-padding is not used.
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 ==
=== Examples ===
Build machine examples:
Build machine examples:
* b-linux64-hp-XXX
* b-linux64-hp-XXXX
** currently is named bld-centos6-hp-XXX
** currently, they're named bld-centos6-hp-XXXX
** bug open to change these - https://bugzil.la/847912
** bug open to change these - https://bugzil.la/847912
* b-linux64-ec2-XXX
* b-linux64-ec2-XXXX
* b-linux64-vm-XXX
* b-linux64-vm-XXXX
** we still use *some* in-house Linux build VMs for esr17
** we still use *some* in-house Linux build VMs for esr17
* b-w2012-ec2-XXX (15 chars)
* b-2012-ec2-XXXX (15 chars)
** this platform is forward thinking if we build on AWS for Windows
** this platform is forward thinking if we build on AWS for Windows
* b-w2008-ix-XXX (14 chars)
* b-2008-ix-XXXX (14 chars)
** currently named w64-ix-slaveXXX
** currently named w64-ix-slaveXXX - to be renamed on scl3
*  b-lion-r#-XXX
*  b-lion-r#-XXXX
<br />
<br />
Test machine examples:
Test machine examples:
* t-linux32-ec2-XXX
* t-linux32-ec2-XXXX
* t-linux64-ec2-XXX
* t-linux64-ec2-XXXX
* t-linux32-ix-XXX
* t-linux32-ix-XXXX
* t-linux64-ix-XXX
* t-linux64-ix-XXXX
* t-snow-r4-XXX
* t-snow-r4-XXXX
* t-lion-r4-XXX
* t-mountainlion-r5-XXXX
* t-mountainlion-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


== Mobile hostname convention ==
== Mobile hostname convention ==
Line 75: Line 73:
== Other infra ==
== Other infra ==
buildbot-masterXX - for buildbot masters
buildbot-masterXX - for buildbot masters
foopyXXX - for foopy machines that
foopyXXX - for foopy machines  


= Current naming differences =
= Current naming differences =
Line 84: Line 82:
! Current
! Current
|-
|-
| b-linux64-T-XXX
| b-linux64-{hp.ix}-XXXX
|
|
* b'''ld-centos6'''-hp-XXX
* b'''ld-centos6'''-hp-XXXX
* b'''ld-linux64'''-ix-XXX
* b'''ld-linux64'''-ix-XXXX
|-
|-
| b-linux64-ec2-XXX
| b-linux64-ec2-XXXX
| b'''ld'''-linux64-ec2-XXX
| b'''ld'''-linux64-ec2-XXXX
|-
|-
| b-linux64-vm-XXX
| b-linux64-vm-XXXX
| bld-centos5-32-vmw-XXX (not supported)
| bld-centos5-32-vmw-XXXX (not supported)
|-
|-
| b-2008-ix-XXXX
| b-2008-ix-XXXX
Line 101: Line 99:
|
|
|-
|-
| b-lion-r#-XXX
| b-lion-r#-XXXX
| b'''ld'''-lion-r#-XXX
| b'''ld'''-lion-r#-XXXX
|-
|-
| t-linux32-ec2-XXX
| t-linux32-ec2-XXXX
| t'''st'''-linux32-ec2-XXX
| t'''st'''-linux32-ec2-XXXX
|-
|-
| t-linux64-ec2-XXX
| t-linux64-ec2-XXXX
| t'''st'''-linux64-ec2-XXX
| t'''st'''-linux64-ec2-XXXX
|-
|-
| t-linux32-ix-XXX
| t-linux32-ix-XXXX
| talos-linux32-ix-XXX
| talos-linux32-ix-XXXX
|-
|-
| t-linux64-ix-XXX
| t-linux64-ix-XXXX
| talos-linux64-ix-XXX
| talos-linux64-ix-XXXX
|-
|-
| t-snow-r4-XXX
| t-snow-r4-XXXX
| talos-r4-snow-XXX
| talos-r4-snow-XXXX
|-
|-
| t-lion-r5-XXX
| t-lion-r5-XXXX
| talos-r4-lion-XXX
| talos-r4-lion-XXXX
|-
|-
| t-mtnlion-r5-XXX
| t-mtnlion-r5-XXXX
| talos-mtnlion-r5-XXX
| talos-mtnlion-r5-XXXX
|-
|-
| t-xp32-ix-XXX
| t-xp32-ix-XXXX
| same
| same
|-
|-
| t-w732-ix-XXX
| t-w732-ix-XXXX
| same
| same
|-
|-
| t-w864-ix-XXX
| t-w864-ix-XXXX
| same
| same
|}
|}

Revision as of 19:17, 14 January 2014

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 windows builders have moved to four digits)

Proposed Current
b-linux64-{hp.ix}-XXXX
  • bld-centos6-hp-XXXX
  • bld-linux64-ix-XXXX
b-linux64-ec2-XXXX bld-linux64-ec2-XXXX
b-linux64-vm-XXXX bld-centos5-32-vmw-XXXX (not supported)
b-2008-ix-XXXX w64-ix-slaveXXX
b-2012-ec2-XXXX
b-lion-r#-XXXX bld-lion-r#-XXXX
t-linux32-ec2-XXXX tst-linux32-ec2-XXXX
t-linux64-ec2-XXXX tst-linux64-ec2-XXXX
t-linux32-ix-XXXX talos-linux32-ix-XXXX
t-linux64-ix-XXXX talos-linux64-ix-XXXX
t-snow-r4-XXXX talos-r4-snow-XXXX
t-lion-r5-XXXX talos-r4-lion-XXXX
t-mtnlion-r5-XXXX talos-mtnlion-r5-XXXX
t-xp32-ix-XXXX same
t-w732-ix-XXXX same
t-w864-ix-XXXX same