blob: 8bd79ddd10573e762766e11100d700ebf56f16be [file] [log] [blame]
#!/usr/bin/env python
# Copyright (c) 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""This file contains config constants for the Skia's GCE instances."""
import os
import types
PROJECT_USER = 'default'
SKIA_NETWORK_NAME = 'default'
SKIA_REPO_DIR = '/home/%s/storage/skia-repo' % PROJECT_USER
SCOPES = 'https://www.googleapis.com/auth/devstorage.full_control,https://www.googleapis.com/auth/userinfo.email,https://www.googleapis.com/auth/pubsub'
SKIA_BOT_LINUX_IMAGE_NAME = 'skia-buildbot-v8'
SKIA_SWARMING_IMAGE_NAME = 'skia-swarming-v3'
SKIA_BOT_WIN_IMAGE_NAME = 'projects/google.com:windows-internal/global/images/windows-server-2008-r2-ent-internal-v20150310'
SKIA_BOT_MACHINE_TYPE = os.environ.get(
'SKIA_BOT_MACHINE_TYPE', 'n1-standard-16')
# Options are Linux and Windows.
VM_INSTANCE_OS = os.environ.get('VM_INSTANCE_OS', 'Linux')
IP_ADDRESS_WITHOUT_MACHINE_PART = '104.154.112'
VM_PERSISTENT_DISK_SIZE_GB = os.environ.get('VM_PERSISTENT_DISK_SIZE_GB', 300)
# If this is true then the swarming image is used.
VM_IS_SWARMINGBOT = os.environ.get('VM_IS_SWARMINGBOT', 1)
# If this is true then a CT VM is created in the SkiaCT pool.
# These bots are used by the Skia CT builders. Eg: CT_DM_100k_SKPs.
VM_IS_SKIA_CTBOT = os.environ.get('VM_IS_SKIA_CTBOT', 0)
# If this is true then a CT VM is created in the CT pool.
# These bots are used as workers by the CT framework.
VM_IS_CTBOT = os.environ.get('VM_IS_CTBOT', 0)
# If this is true then a CT builder VM is created in the CT
# AndroidBuilder/LinuxBuilder pools. Must use VM_IS_CTBOT=1 if using this env
# var otherwise it will have no effect.
VM_IS_CTBUILDER = os.environ.get('VM_IS_CTBUILDER', 0)
# If this is true then the VM is created in the SkiaInternal pool.
VM_IS_SKIA_INTERNAL = os.environ.get('VM_IS_SKIA_INTERNAL', 0)
# The Project ID is found in the Compute tab of the dev console.
# https://console.developers.google.com/project/31977622648
PROJECT_ID = 'google.com:skia-buildbots'
# The (Shared Fate) Zone is conceptually equivalent to a data center cell. VM
# instances live in a zone.
#
# We flip the default one as required by PCRs in bigcluster.
ZONE_TAG = os.environ.get('ZONE_TAG', 'c')
VM_BOT_NAME = 'skia-vm'
PERSISTENT_DISK_NAME = 'skia-disk'
if VM_IS_SKIA_CTBOT:
# Use skia-ct prefix. Swarming uses this prefix to put them in the 'SkiaCT' pool.
VM_BOT_NAME = 'skia-ct-vm'
VM_PERSISTENT_DISK_SIZE_GB = 3000
elif VM_IS_CTBOT:
# Use ct prefix. Swarming uses this prefix to put them in the 'CT' pool.
VM_BOT_NAME = 'ct-vm'
PERSISTENT_DISK_NAME = 'ct-disk'
# Always use us-central1-b for CT bots because of maddigan@'s comment in
# https://gcpquotatool.googleplex.com/requests?request=ahlzfmdvb2dsZS5jb206Z2NwcXVvdGF0b29sci4LEghDdXN0b21lchiAgICAhN6GCgwLEgxRdW90YVJlcXVlc3QYgICAgIC5hAoM
ZONE_TAG = 'b'
IP_ADDRESS_WITHOUT_MACHINE_PART = '104.154.123'
elif VM_IS_SKIA_INTERNAL:
VM_BOT_NAME = 'skia-i-vm'
PERSISTENT_DISK_NAME = 'skia-i-disk'
if os.environ.get('VM_MIN_CPU_PLATFORM'):
ZONE_TAG = {
'Intel Skylake': 'b'
}[os.environ.get('VM_MIN_CPU_PLATFORM')]
ZONE = 'us-central1-%s' % ZONE_TAG
# The below constants determine which instances the delete and create/setup
# scripts apply to.
# Eg1: VM_BOT_COUNT_START=1 VM_BOT_COUNT_END=5 vm_create_setup_instances.sh
# The above command will create and setup skia-vm-001 to skia-vm-005.
# Eg2: VM_BOT_COUNT_START=1 VM_BOT_COUNT_END=1 vm_create_setup_instances.sh
# The above command will create and setup only skia-vm-001.
VM_BOT_COUNT_START = os.environ.get('VM_BOT_COUNT_START', 1)
VM_BOT_COUNT_END = os.environ.get('VM_BOT_COUNT_END', 100)
if __name__ == '__main__':
# Set all above constants as environment variables if this module is called as
# a script.
for var in vars().keys():
# Ignore if the var is a system var or a module.
if not var.startswith('__') and not type(vars()[var]) == types.ModuleType:
print 'export %s=%s' % (var, vars()[var])