| # Copyright 2014 The Chromium OS 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 module contains Google Compute Engine configurations.""" |
| |
| from __future__ import print_function |
| |
| from chromite.cbuildbot import config_lib |
| |
| |
| # Metadata keys to tag our GCE artifacts with. |
| METADATA_IMAGE_NAME = 'cros-image' |
| |
| PROJECT = 'chromeos-bot' |
| DEFAULT_BASE_IMAGE = 'ubuntu-14-04-server-v20150324' |
| DEFAULT_IMAGE_NAME = 'chromeos-bot-v5' |
| DEFAULT_ZONE = 'us-east1-a' |
| DEFAULT_MACHINE_TYPE_16 = 'n1-highmem-16' |
| DEFAULT_MACHINE_TYPE_32 = 'n1-highmem-32' |
| DEFAULT_SCOPES = ('https://www.googleapis.com/auth/devstorage.full_control', |
| 'https://www.googleapis.com/auth/gerritcodereview') |
| |
| # TODO: We do not archive the official images to Google Storage yet |
| # because the imaging creating process for this path does not allow |
| # the rootfs to be larger than 10GB. |
| GS_IMAGE_ARCHIVE_BASE_URL = ('%s/gce-images' % |
| config_lib.GetConfig().params.ARCHIVE_URL) |
| IMAGE_SUFFIX = '.tar.gz' |
| |
| BOOT_DISK = '/dev/sda' |
| # TODO: Automatically detects the partitions. |
| DRIVES = ('sda1',) |
| |
| |
| configs = {} |
| |
| configs['image-creation'] = dict( |
| zone=DEFAULT_ZONE, |
| scopes=DEFAULT_SCOPES, |
| ) |
| IMAGE_CREATION_CONFIG = configs['image-creation'] |
| |
| # The default config for Chrome OS builders. |
| configs['cros-bot'] = dict( |
| machine_type=DEFAULT_MACHINE_TYPE_16, |
| zone=DEFAULT_ZONE, |
| image=DEFAULT_IMAGE_NAME, |
| scopes=DEFAULT_SCOPES, |
| ) |
| |
| # The default config for Chrome OS PreCQ builders. |
| configs['cros-precq-bot'] = dict( |
| machine_type=DEFAULT_MACHINE_TYPE_16, |
| zone=DEFAULT_ZONE, |
| image=DEFAULT_IMAGE_NAME, |
| scopes=DEFAULT_SCOPES, |
| ) |
| |
| # A light-weight config for light jobs, like boardless masters. |
| configs['cros-master'] = dict( |
| machine_type='n1-standard-8', |
| zone=DEFAULT_ZONE, |
| image=DEFAULT_IMAGE_NAME, |
| scopes=DEFAULT_SCOPES, |
| ) |
| |
| # A 32-core config for resource intensive builders (such as chrome continuous). |
| configs['cros-chrome-continuous-bot'] = dict( |
| machine_type=DEFAULT_MACHINE_TYPE_32, |
| zone=DEFAULT_ZONE, |
| image=DEFAULT_IMAGE_NAME, |
| scopes=DEFAULT_SCOPES, |
| ) |
| |
| # A wimpy config for testing purposes. |
| configs['cros-test'] = dict( |
| machine_type='n1-standard-1', |
| zone=DEFAULT_ZONE, |
| image=DEFAULT_IMAGE_NAME, |
| scopes=DEFAULT_SCOPES, |
| ) |
| |
| # Config to use to launch an instance with the image created for the purposes of |
| # testing changes to cros_compute. |
| configs['cros-bot-testing'] = dict( |
| machine_type=DEFAULT_MACHINE_TYPE_16, |
| zone=DEFAULT_ZONE, |
| image='%s-testing' % DEFAULT_IMAGE_NAME, |
| scopes=DEFAULT_SCOPES, |
| ) |
| |
| # Same as cros-bot, but launch in the staging network. |
| configs['cros-bot-staging'] = dict( |
| machine_type=DEFAULT_MACHINE_TYPE_16, |
| zone=DEFAULT_ZONE, |
| image=DEFAULT_IMAGE_NAME, |
| scopes=DEFAULT_SCOPES, |
| network='staging-network', |
| ) |