blob: 5eed25eb0394e2e9b49ed1595ba3f21e82daeeb3 [file] [log] [blame]
""" This file contains configuration information for the build slave host
machines. """
import collections
import ntpath
import os
import posixpath
import sys
import skia_vars
buildbot_path = os.path.abspath(os.path.join(os.path.dirname(__file__),
os.pardir))
sys.path.append(buildbot_path)
from compute_engine_scripts.compute_engine_cfg import \
PROJECT_USER as CHROMECOMPUTE_USERNAME
from compute_engine_scripts.compute_engine_cfg import \
PROJECT_ID as CHROMECOMPUTE_PROJECT
CHROMECOMPUTE_BUILDBOT_PATH = ['storage', 'skia-repo', 'buildbot']
# Indicates that this machine is not connected to a KVM switch.
NO_KVM_NUM = '(not on KVM)'
# Indicates that this machine has no static IP address.
NO_IP_ADDR = '(no static IP)'
# Files to copy into buildslave checkouts.
CHROMEBUILD_COPIES = [
{
"source": ".boto",
"destination": "build/site_config",
},
{
"source": ".bot_password",
"destination": "build/site_config",
},
]
GCE_PROJECT = skia_vars.GetGlobalVariable('gce_project')
GCE_USERNAME = skia_vars.GetGlobalVariable('gce_username')
GCE_ZONE = skia_vars.GetGlobalVariable('gce_compile_bots_zone')
GCE_COMPILE_A_ONLINE = GCE_ZONE == 'a'
GCE_COMPILE_B_ONLINE = GCE_ZONE == 'b'
GCE_COMPILE_C_ONLINE = True
LAUNCH_SCRIPT_UNIX = ['scripts', 'skiabot-slave-start-on-boot.sh']
LAUNCH_SCRIPT_WIN = ['scripts', 'skiabot-slave-start-on-boot.bat']
SKIALAB_ROUTER_IP = skia_vars.GetGlobalVariable('skialab_router_ip')
SKIALAB_USERNAME = skia_vars.GetGlobalVariable('skialab_username')
# Procedures for logging in to the host machines.
def skia_lab_login(hostname, config):
"""Procedure for logging into SkiaLab machines."""
return [
'ssh', '%s@%s' % (SKIALAB_USERNAME, SKIALAB_ROUTER_IP),
'ssh', '%s@%s' % (SKIALAB_USERNAME, config['ip'])
]
def compute_engine_login(hostname, config):
"""Procedure for logging into Skia GCE instances."""
return [
'gcutil', '--project=%s' % GCE_PROJECT,
'ssh', '--ssh_user=%s' % GCE_USERNAME, hostname,
]
def chromecompute_login(hostname, config):
"""Procedure for logging into ChromeCompute GCE instances."""
return [
'gcutil', '--project=%s' % CHROMECOMPUTE_PROJECT,
'ssh', '--ssh_user=%s' % CHROMECOMPUTE_USERNAME, hostname,
]
# Data for all Skia build slave hosts.
_slave_host_dicts = {
################################ Linux Machines ################################
'skiabot-shuttle-ubuntu12-gtx550ti-001': {
'slaves': [
('skiabot-shuttle-ubuntu12-gtx550ti-001', '0', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': skia_lab_login,
'ip': '192.168.1.132',
'kvm_num': 'A',
'path_module': posixpath,
'path_to_buildbot': ['buildbot'],
'remote_access': True,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skiabot-shuttle-ubuntu12-gtx660-001': {
'slaves': [
('skiabot-shuttle-ubuntu12-gtx660-000', '0', False),
('skiabot-shuttle-ubuntu12-gtx660-001', '0', False),
('skiabot-shuttle-ubuntu12-gtx660-002', '0', False),
('skiabot-shuttle-ubuntu12-gtx660-003', '0', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': skia_lab_login,
'ip': '192.168.1.113',
'kvm_num': 'E',
'path_module': posixpath,
'path_to_buildbot': ['buildbot'],
'remote_access': True,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skiabot-shuttle-ubuntu12-gtx660-002': {
'slaves': [
('skiabot-shuttle-ubuntu12-gtx660-bench', '0', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': skia_lab_login,
'ip': '192.168.1.122',
'kvm_num': 'F',
'path_module': posixpath,
'path_to_buildbot': ['buildbot'],
'remote_access': True,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skiabot-shuttle-ubuntu12-android-003': {
'slaves': [
('skiabot-shuttle-ubuntu12-xoom-001', '0', False),
('skiabot-shuttle-ubuntu12-xoom-003', '2', False),
('skiabot-shuttle-ubuntu12-nexus7-001', '6', False),
('skiabot-shuttle-ubuntu12-nexus7-002', '7', False),
('skiabot-shuttle-ubuntu12-nexus7-003', '8', False),
('skiabot-shuttle-ubuntu12-nexus10-001', '9', False),
('skiabot-shuttle-ubuntu12-nexus10-003', '10', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': skia_lab_login,
'ip': '192.168.1.110',
'kvm_num': 'C',
'path_module': posixpath,
'path_to_buildbot': ['buildbot'],
'remote_access': True,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skiabot-shuttle-ubuntu12-xxx': {
'slaves': [
('skiabot-shuttle-ubuntu12-002', '2', False),
('skiabot-shuttle-ubuntu12-003', '3', False),
('skiabot-shuttle-ubuntu12-004', '4', False),
('skiabot-shuttle-ubuntu12-nexus9-001', '5', False),
('skiabot-shuttle-ubuntu12-nexusplayer-001', '6', False),
('skiabot-shuttle-ubuntu12-nexusplayer-002', '7', False),
('skiabot-shuttle-ubuntu12-nexus5-001', '8', False),
('skiabot-shuttle-ubuntu12-nexus5-002', '9', False),
('skiabot-shuttle-ubuntu12-galaxys4-001', '10', False),
('skiabot-shuttle-ubuntu12-galaxys4-002', '11', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': skia_lab_login,
'ip': '192.168.1.109',
'kvm_num': 'B',
'path_module': posixpath,
'path_to_buildbot': ['buildbot'],
'remote_access': True,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skiabot-shuttle-ubuntu13-xxx': {
'slaves': [
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': skia_lab_login,
'ip': '192.168.1.120',
'kvm_num': 'D',
'path_module': posixpath,
'path_to_buildbot': ['buildbot'],
'remote_access': True,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skiabot-shuttle-ubuntu13-002': {
'slaves': [
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': skia_lab_login,
'ip': '192.168.1.115',
'kvm_num': 'G',
'path_module': posixpath,
'path_to_buildbot': ['buildbot'],
'remote_access': True,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skia-vm-001': {
'slaves': [
('skiabot-linux-compile-000', '0', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': chromecompute_login,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': posixpath,
'path_to_buildbot': CHROMECOMPUTE_BUILDBOT_PATH,
'remote_access': GCE_COMPILE_C_ONLINE,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skia-vm-002': {
'slaves': [
('skiabot-linux-compile-001', '0', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': chromecompute_login,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': posixpath,
'path_to_buildbot': CHROMECOMPUTE_BUILDBOT_PATH,
'remote_access': GCE_COMPILE_C_ONLINE,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skia-vm-003': {
'slaves': [
('skiabot-linux-compile-002', '0', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': chromecompute_login,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': posixpath,
'path_to_buildbot': CHROMECOMPUTE_BUILDBOT_PATH,
'remote_access': GCE_COMPILE_C_ONLINE,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skia-vm-004': {
'slaves': [
('skiabot-linux-compile-003', '0', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': chromecompute_login,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': posixpath,
'path_to_buildbot': CHROMECOMPUTE_BUILDBOT_PATH,
'remote_access': GCE_COMPILE_C_ONLINE,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skia-vm-005': {
'slaves': [
('skiabot-linux-compile-004', '0', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': chromecompute_login,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': posixpath,
'path_to_buildbot': CHROMECOMPUTE_BUILDBOT_PATH,
'remote_access': GCE_COMPILE_C_ONLINE,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skia-vm-006': {
'slaves': [
('skiabot-linux-compile-005', '0', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': chromecompute_login,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': posixpath,
'path_to_buildbot': CHROMECOMPUTE_BUILDBOT_PATH,
'remote_access': GCE_COMPILE_C_ONLINE,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skia-vm-007': {
'slaves': [
('skiabot-linux-compile-006', '0', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': chromecompute_login,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': posixpath,
'path_to_buildbot': CHROMECOMPUTE_BUILDBOT_PATH,
'remote_access': GCE_COMPILE_C_ONLINE,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skia-vm-008': {
'slaves': [
('skiabot-linux-compile-007', '0', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': chromecompute_login,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': posixpath,
'path_to_buildbot': CHROMECOMPUTE_BUILDBOT_PATH,
'remote_access': GCE_COMPILE_C_ONLINE,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skia-vm-009': {
'slaves': [
('skiabot-linux-compile-008', '0', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': chromecompute_login,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': posixpath,
'path_to_buildbot': CHROMECOMPUTE_BUILDBOT_PATH,
'remote_access': GCE_COMPILE_C_ONLINE,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skia-vm-010': {
'slaves': [
('skiabot-linux-compile-009', '0', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': chromecompute_login,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': posixpath,
'path_to_buildbot': CHROMECOMPUTE_BUILDBOT_PATH,
'remote_access': GCE_COMPILE_C_ONLINE,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skia-vm-011': {
'slaves': [
('skiabot-linux-compile-010', '0', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': chromecompute_login,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': posixpath,
'path_to_buildbot': CHROMECOMPUTE_BUILDBOT_PATH,
'remote_access': GCE_COMPILE_C_ONLINE,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skia-vm-012': {
'slaves': [
('skiabot-linux-compile-011', '0', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': chromecompute_login,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': posixpath,
'path_to_buildbot': CHROMECOMPUTE_BUILDBOT_PATH,
'remote_access': GCE_COMPILE_C_ONLINE,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skia-vm-013': {
'slaves': [
('skiabot-linux-compile-012', '0', False),
('skiabot-linux-housekeeper-000', '1', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': chromecompute_login,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': posixpath,
'path_to_buildbot': CHROMECOMPUTE_BUILDBOT_PATH,
'remote_access': GCE_COMPILE_C_ONLINE,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skia-vm-014': {
'slaves': [
('skia-android-canary', '0', True),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': chromecompute_login,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': posixpath,
'path_to_buildbot': CHROMECOMPUTE_BUILDBOT_PATH,
'remote_access': GCE_COMPILE_C_ONLINE,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skia-vm-015': {
'slaves': [
('skiabot-linux-housekeeper-001', '0', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': chromecompute_login,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': posixpath,
'path_to_buildbot': CHROMECOMPUTE_BUILDBOT_PATH,
'remote_access': GCE_COMPILE_C_ONLINE,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skia-vm-016': {
'slaves': [
('skiabot-win-compile-000', '0', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': None,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': ntpath,
'path_to_buildbot': ['buildbot'],
'remote_access': False,
'launch_script': LAUNCH_SCRIPT_WIN,
},
'skia-vm-017': {
'slaves': [
('skiabot-win-compile-001', '0', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': None,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': ntpath,
'path_to_buildbot': ['buildbot'],
'remote_access': False,
'launch_script': LAUNCH_SCRIPT_WIN,
},
'skia-vm-018': {
'slaves': [
('skiabot-win-compile-002', '0', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': None,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': ntpath,
'path_to_buildbot': ['buildbot'],
'remote_access': False,
'launch_script': LAUNCH_SCRIPT_WIN,
},
'skia-vm-019': {
'slaves': [
('skiabot-win-compile-003', '0', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': None,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': ntpath,
'path_to_buildbot': ['buildbot'],
'remote_access': False,
'launch_script': LAUNCH_SCRIPT_WIN,
},
'skia-vm-020': {
'slaves': [
('skiabot-linux-tester-000', '0', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': chromecompute_login,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': posixpath,
'path_to_buildbot': CHROMECOMPUTE_BUILDBOT_PATH,
'remote_access': GCE_COMPILE_C_ONLINE,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skia-vm-021': {
'slaves': [
('skiabot-linux-tester-001', '0', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': chromecompute_login,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': posixpath,
'path_to_buildbot': CHROMECOMPUTE_BUILDBOT_PATH,
'remote_access': GCE_COMPILE_C_ONLINE,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skia-vm-022': {
'slaves': [
('skiabot-linux-tester-002', '0', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': chromecompute_login,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': posixpath,
'path_to_buildbot': CHROMECOMPUTE_BUILDBOT_PATH,
'remote_access': GCE_COMPILE_C_ONLINE,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skia-vm-023': {
'slaves': [
('skiabot-linux-tester-003', '0', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': chromecompute_login,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': posixpath,
'path_to_buildbot': CHROMECOMPUTE_BUILDBOT_PATH,
'remote_access': GCE_COMPILE_C_ONLINE,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skia-vm-024': {
'slaves': [
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': chromecompute_login,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': posixpath,
'path_to_buildbot': CHROMECOMPUTE_BUILDBOT_PATH,
'remote_access': GCE_COMPILE_C_ONLINE,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skia-vm-025': {
'slaves': [
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': chromecompute_login,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': posixpath,
'path_to_buildbot': CHROMECOMPUTE_BUILDBOT_PATH,
'remote_access': GCE_COMPILE_C_ONLINE,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skia-vm-026': {
'slaves': [
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': chromecompute_login,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': posixpath,
'path_to_buildbot': CHROMECOMPUTE_BUILDBOT_PATH,
'remote_access': GCE_COMPILE_C_ONLINE,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skia-vm-027': {
'slaves': [
('skiabot-linux-xsan-000', '0', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': chromecompute_login,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': posixpath,
'path_to_buildbot': CHROMECOMPUTE_BUILDBOT_PATH,
'remote_access': GCE_COMPILE_C_ONLINE,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skia-vm-028': {
'slaves': [
('skiabot-linux-xsan-001', '0', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': chromecompute_login,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': posixpath,
'path_to_buildbot': CHROMECOMPUTE_BUILDBOT_PATH,
'remote_access': GCE_COMPILE_C_ONLINE,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skia-vm-029': {
'slaves': [
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': chromecompute_login,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': posixpath,
'path_to_buildbot': CHROMECOMPUTE_BUILDBOT_PATH,
'remote_access': GCE_COMPILE_C_ONLINE,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skia-vm-030': {
'slaves': [
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': None,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': ntpath,
'path_to_buildbot': ['buildbot'],
'remote_access': False,
'launch_script': LAUNCH_SCRIPT_WIN,
},
'skia-vm-031': {
'slaves': [
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': None,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': ntpath,
'path_to_buildbot': ['buildbot'],
'remote_access': False,
'launch_script': LAUNCH_SCRIPT_WIN,
},
'skia-vm-032': {
'slaves': [
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': None,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': ntpath,
'path_to_buildbot': ['buildbot'],
'remote_access': False,
'launch_script': LAUNCH_SCRIPT_WIN,
},
'skia-vm-101': {
'slaves': [
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': chromecompute_login,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': posixpath,
'path_to_buildbot': CHROMECOMPUTE_BUILDBOT_PATH,
'remote_access': GCE_COMPILE_C_ONLINE,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
################################# Mac Machines #################################
'skiabot-macmini-10_7-001': {
'slaves': [
('skiabot-macmini-10_7-000', '0', False),
('skiabot-macmini-10_7-001', '1', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': skia_lab_login,
'ip': '192.168.1.137',
'kvm_num': '3',
'path_module': posixpath,
'path_to_buildbot': ['buildbot'],
'remote_access': True,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skiabot-macmini-10_7-002': {
'slaves': [
('skiabot-macmini-10_7-bench', '0', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': skia_lab_login,
'ip': '192.168.1.124',
'kvm_num': '4',
'path_module': posixpath,
'path_to_buildbot': ['buildbot'],
'remote_access': True,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skiabot-macmini-10_8-001': {
'slaves': [
('skiabot-macmini-10_8-000', '0', False),
('skiabot-macmini-10_8-001', '1', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': skia_lab_login,
'ip': '192.168.1.125',
'kvm_num': '8',
'path_module': posixpath,
'path_to_buildbot': ['buildbot'],
'remote_access': True,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skiabot-macmini-10_8-002': {
'slaves': [
('skiabot-macmini-10_8-bench', '0', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': skia_lab_login,
'ip': '192.168.1.135',
'kvm_num': '6',
'path_module': posixpath,
'path_to_buildbot': ['buildbot'],
'remote_access': True,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skiabot-mac-10_7-compile': {
'slaves': [
('skiabot-mac-10_7-compile-000', '0', False),
('skiabot-mac-10_7-compile-001', '1', False),
('skiabot-mac-10_7-compile-002', '2', False),
('skiabot-mac-10_7-compile-003', '3', False),
('skiabot-mac-10_7-compile-004', '4', False),
('skiabot-mac-10_7-compile-005', '5', False),
('skiabot-mac-10_7-compile-006', '6', False),
('skiabot-mac-10_7-compile-007', '7', False),
('skiabot-mac-10_7-compile-008', '8', False),
('skiabot-mac-10_7-compile-009', '9', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': skia_lab_login,
'ip': '192.168.1.118',
'kvm_num': '5',
'path_module': posixpath,
'path_to_buildbot': ['buildbot'],
'remote_access': True,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'skiabot-mac-10_8-compile': {
'slaves': [
('skiabot-mac-10_8-compile-000', '0', False),
('skiabot-mac-10_8-compile-001', '1', False),
('skiabot-mac-10_8-compile-002', '2', False),
('skiabot-mac-10_8-compile-003', '3', False),
('skiabot-mac-10_8-compile-004', '4', False),
('skiabot-mac-10_8-compile-005', '5', False),
('skiabot-mac-10_8-compile-006', '6', False),
('skiabot-mac-10_8-compile-007', '7', False),
('skiabot-mac-10_8-compile-008', '8', False),
('skiabot-mac-10_8-compile-009', '9', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': skia_lab_login,
'ip': '192.168.1.104',
'kvm_num': '7',
'path_module': posixpath,
'path_to_buildbot': ['buildbot'],
'remote_access': True,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
############################### Windows Machines ###############################
'win7-intel-002': {
'slaves': [
('skiabot-shuttle-win7-intel-bench', '0', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': None,
'ip': '192.168.1.139',
'kvm_num': 'F',
'path_module': ntpath,
'path_to_buildbot': ['buildbot'],
'remote_access': False,
'launch_script': LAUNCH_SCRIPT_WIN,
},
'win7-intel-003': {
'slaves': [
('skiabot-shuttle-win7-intel-000', '0', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': None,
'ip': '192.168.1.114',
'kvm_num': 'G',
'path_module': ntpath,
'path_to_buildbot': ['buildbot'],
'remote_access': False,
'launch_script': LAUNCH_SCRIPT_WIN,
},
'win8-gtx660-001': {
'slaves': [
('skiabot-shuttle-win8-gtx660-bench', '0', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': None,
'ip': '192.168.1.133',
'kvm_num': 'B',
'path_module': ntpath,
'path_to_buildbot': ['buildbot'],
'remote_access': False,
'launch_script': LAUNCH_SCRIPT_WIN,
},
'win8-hd7770-000': {
'slaves': [
('skiabot-shuttle-win8-hd7770-000', '0', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': None,
'ip': '192.168.1.117',
'kvm_num': 'C',
'path_module': ntpath,
'path_to_buildbot': ['buildbot'],
'remote_access': False,
'launch_script': LAUNCH_SCRIPT_WIN,
},
'win8-hd7770-001': {
'slaves': [
('skiabot-shuttle-win8-hd7770-bench', '0', False),
],
'copies': CHROMEBUILD_COPIES,
'login_cmd': None,
'ip': '192.168.1.107',
'kvm_num': 'D',
'path_module': ntpath,
'path_to_buildbot': ['buildbot'],
'remote_access': False,
'launch_script': LAUNCH_SCRIPT_WIN,
},
############################ Machines in Chrome Golo ###########################
'build3-a3': {
'slaves': [
('build3-a3', '0', False),
],
'copies': None,
'login_cmd': None,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': None,
'path_to_buildbot': None,
'remote_access': False,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'build4-a3': {
'slaves': [
('build4-a3', '0', False),
],
'copies': None,
'login_cmd': None,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': None,
'path_to_buildbot': None,
'remote_access': False,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'build5-a3': {
'slaves': [
('build5-a3', '0', False),
],
'copies': None,
'login_cmd': None,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': posixpath,
'path_to_buildbot': None,
'remote_access': False,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'build32-a3': {
'slaves': [
('build32-a3', '0', False),
],
'copies': None,
'login_cmd': None,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': posixpath,
'path_to_buildbot': None,
'remote_access': False,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'build33-a3': {
'slaves': [
('build33-a3', '0', False),
],
'copies': None,
'login_cmd': None,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': posixpath,
'path_to_buildbot': None,
'remote_access': False,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'mini1-m3': {
'slaves': [
('mini1-m3', '0', False),
],
'copies': None,
'login_cmd': None,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': None,
'path_to_buildbot': None,
'remote_access': False,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'vm690-m3': {
'slaves': [
('vm690-m3', '0', False),
],
'copies': None,
'login_cmd': None,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': posixpath,
'path_to_buildbot': None,
'remote_access': False,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'vm691-m3': {
'slaves': [
('vm691-m3', '0', False),
],
'copies': None,
'login_cmd': None,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': posixpath,
'path_to_buildbot': None,
'remote_access': False,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'vm692-m3': {
'slaves': [
('vm692-m3', '0', False),
],
'copies': None,
'login_cmd': None,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': posixpath,
'path_to_buildbot': None,
'remote_access': False,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
'vm693-m3': {
'slaves': [
('vm693-m3', '0', False),
],
'copies': None,
'login_cmd': None,
'ip': NO_IP_ADDR,
'kvm_num': NO_KVM_NUM,
'path_module': posixpath,
'path_to_buildbot': None,
'remote_access': False,
'launch_script': LAUNCH_SCRIPT_UNIX,
},
}
# Class which holds configuration data describing a build slave host.
SlaveHostConfig = collections.namedtuple('SlaveHostConfig',
('hostname, slaves, copies, login_cmd,'
' ip, kvm_num, path_module,'
' path_to_buildbot, remote_access,'
' launch_script'))
SLAVE_HOSTS = {}
for (_hostname, _config) in _slave_host_dicts.iteritems():
login_cmd = _config.pop('login_cmd')
if login_cmd:
resolved_login_cmd = login_cmd(_hostname, _config)
else:
resolved_login_cmd = None
SLAVE_HOSTS[_hostname] = SlaveHostConfig(hostname=_hostname,
login_cmd=resolved_login_cmd,
**_config)
def default_slave_host_config(hostname):
"""Return a default configuration for the given hostname.
Assumes that the slave host is the machine on which this function is called.
Args:
hostname: string; name of the build slave host.
Returns:
SlaveHostConfig instance with configuration for this machine.
"""
path_to_buildbot = os.path.join(os.path.dirname(__file__), os.pardir)
path_to_buildbot = os.path.abspath(path_to_buildbot).split(os.path.sep)
launch_script = LAUNCH_SCRIPT_WIN if os.name == 'nt' else LAUNCH_SCRIPT_UNIX
return SlaveHostConfig(
hostname=hostname,
slaves=[(hostname, '0', True)],
copies=CHROMEBUILD_COPIES,
login_cmd=None,
ip=None,
kvm_num=None,
path_module=os.path,
path_to_buildbot=path_to_buildbot,
remote_access=False,
launch_script=launch_script,
)
def get_slave_host_config(hostname):
"""Helper function for retrieving slave host configuration information.
If the given hostname is unknown, returns a default config.
Args:
hostname: string; the hostname of the slave host machine.
Returns:
SlaveHostConfig instance representing the given host.
"""
return SLAVE_HOSTS.get(hostname, default_slave_host_config(hostname))