[AUTOTEST_WEB]
# IP == cautotest-mysql, see http://crosbug.com/38773
# TODO(milleral): Switch back to DNS name when bug is fixed
# master db: chromeos-server25.mtv
host: 172.24.26.45
database: chromeos_autotest_db
db_type: mysql
user: chromeosqa-admin
password: USE SHADOW PASSWORD
job_timeout_default: 24
job_timeout_mins_default: 1440
job_max_runtime_mins_default: 1440
parse_failed_repair_default: 0
# Only set this if your server is not 'http://[SERVER] hostname/afe/'
#base_url: http://your_autotest_server/afe/
# IP == cautotest-mysql, see http://crosbug.com/38773
readonly_host: 172.24.26.45
readonly_user: chromeosqa-read
readonly_password: qyBM6kDu
query_timeout: 3600
min_retry_delay: 20
max_retry_delay: 60
graph_cache_creation_timeout_minutes: 10
parameterized_jobs: False
# Whether to enable django template debug mode. If this is set to True, all
# django errors will be wrapped in a nice debug page with detailed environment
# and stack trace info. Turned off by default.
template_debug_mode: True
# Whether to enable django SQL debug mode. If this is set to True, all
# queries performed by the Object Relational Mapper subsystem will be printed,
# which means the scheduler logs will contains all the queries executed. This
# is too much verbosity for 'production' systems, hence turned off by default.
sql_debug_mode: False

# Restricted user group. The users in the specified groups only have
# access to master server. Will always direct them to google storage for logs
# rather than drones or shards.
restricted_groups:  USE SHADOW RESTRICTED_GROUPS

# The tko parser will use these database settings.
# This is for sharding: Even when sharding, the results (tko tables) should
# still be written to the master database.
global_db_host:
global_db_database:
global_db_type:
global_db_user:
global_db_password:
global_db_query_timeout:
global_db_min_retry_delay:
global_db_max_retry_delay:

# Used for constructing URLs to AFE pages.
afe_root_url: http://cautotest.corp.google.com/afe/

[AUTOTEST_SERVER_DB]
# Server database setting. Fall back to use AFE database settings.
database: chromeos_lab_servers

[SHARD]
# If this is not None, the instance is considered a shard.
# The value should be the hostname of the local shard.
shard_hostname:
heartbeat_pause_sec: 60

[AUTOSERV]
# Autotest potential install paths
client_autodir_paths: /usr/local/autotest,/usr/local/autodir
# White list of tests with run time measurement enabled.
measure_run_time_tests: desktopui_ScreenLocker,login_LoginSuccess,security_ProfilePermissions
# Incrementally update TKO with the status as the test runs.
incremental_tko_parsing: False
# If True, autoserv won't interact with real devices.
# It will sleep 10 seconds and then pass successfully.
testing_mode: False

# Directory stores LXC containers
container_path: /usr/local/autotest/containers

# `container_base` is replaced by `container_base_folder_url` and `container_base_name`
# The setting is kept for backwards compatibility reason.
# Download link for base image of container.
container_base: http://storage.googleapis.com/chromeos-image-archive/autotest-containers/base.tar.xz

# URL to tbe folder contains base container image.
container_base_folder_url: http://storage.googleapis.com/abci-ssp/autotest-containers

# Name of the base container.
# `base` is the container with the smallest size, still used by MobLab.
container_base_name: base

# Enable server-side package using container
# TODO(dshi): Change this to True after SSP via container is rolled out.
enable_ssp_container: False

# Minimum OS version that supports server side packaging. Older builds may
# not have server side package built or with Autotest code change to support
# server-side packaging.
min_version_support_ssp: 6986
min_launch_control_build_id_support_ssp: 2675445

# Set to True to allow servod to be started automatically in Moblab.
auto_start_servod: False

[CLIENT]
drop_caches: False
drop_caches_between_iterations: False
# Specify an alternate location to store the test results
#output_dir: /var/log/autotest/
output_dir:
#wireless_ssid: SEE SHADOW CONFIG
#wireless_password: SEE SHADOW CONFIG
#wireless_security: SEE SHADOW CONFIG
# The zone that all Chrome OS devices are in if they are in a lab.
dns_zone: cros.corp.google.com
# If necessary, specify a proxy for client downloads
http_proxy:
https_proxy:

# Index to upload metadata to.
metadata_index:
android_artifacts_volantis:bootloader_image,zip_images
android_standalone_images_volantis:bootloader.img
android_artifacts_volantisg:bootloader_image,zip_images
android_Standalone_images_volantisg:bootloader.img

android_artifacts_bat_land:zip_images
android_standalone_images_bat_land:

[SERVER]
hostname: cautotest
# Turn on RPC Logging
rpc_logging: False
# Note the user that is running the webserver has to be able to write
# to the below directory/file otherwise the frontend will not work with logging
rpc_log_path: /usr/local/autotest/logs/rpcserver.log
# Number of old logs to keep around
rpc_num_old_logs: 5
rpc_max_log_size_mb: 20
# Transfer RPC logs to a RPC logging server
rpc_logserver: False
# Minimum amount of disk space required for AutoTest in GB
gb_diskspace_required: 0.7
# Minmum number of i-nodes for stateful, in 1000 i-node units.
kilo_inodes_required: 100
# Rialto has a small disk size, so reduce the required inodes for it.
# See https://code.google.com/p/chrome-os-partner/issues/detail?q=45875
kilo_inodes_required_veyron_rialto: 55
kilo_inodes_required_arkham: 50
kilo_inodes_required_storm: 50
kilo_inodes_required_whirlwind: 50

# Minimum amount of disk space required for encrypted stateful partition in GB
gb_encrypted_diskspace_required: 0.1
# If for some reason you don't want to rely on the Mail Transport Agent
# installed on this machine, you can provide an SMTP server directly here.
# If none provided, defaults to 'localhost', which tries to use the MTA
# configured on the machine to send the messages.
smtp_server:
smtp_port:
smtp_user:
smtp_password:
# Time in hours to wait before giving up on crash collection.
crash_collection_hours_to_wait: 0.001

# If True, use autotest_server_db to verify the host before running services
# like scheduler, host-scheduler and suite-scheduler.
use_server_db: False

# Suite scheduler afe server
# If no specified, will default to [SERVER]: hostname
suite_scheduler_afe:

# AFE server connected to the master DB.
global_afe_hostname: cautotest

# Credential directory where all credentials files should go. If not specified,
# will look for credentils in autotest root dir.
creds_dir:

# Set to True to upload results to prod Sponge server.
use_prod_sponge_server: False

[SCHEDULER]
die_on_orphans: False
enable_scheduler: True
notify_email: chromeos-test-cron+cautotest@google.com
notify_email_errors: USE SHADOW NOTIFY_EMAIL_ERRORS
notify_email_from: chromeos-autotest@google.com
notify_email_statuses: Completed,Failed,Aborted
max_processes_per_drone: 1000
max_parse_processes: 100
max_transfer_processes: 50
tick_pause_sec: 5
minimum_tick_sec: 0.5
clean_interval_minutes: 5
drones: SET IN SHADOW CONFIG
drone_installation_directory: /usr/local/autotest
results_host: localhost
results_host_installation_directory:
secs_to_wait_for_atomic_group_hosts: 600
pidfile_timeout_mins: 300
max_pidfile_refreshes: 2000
gc_stats_interval_mins: 360
# set nonzero to enable periodic reverification of all dead hosts
reverify_period_minutes: 30
reverify_max_hosts_at_once: 30
drone_sets_enabled: False
# default_drone_set_name: This is required if drone sets are enabled.
default_drone_set_name:
# Disable archiving by default.
enable_archiving: False
copy_task_results_back: False
copy_parse_log_back: False
tick_debug: True
extra_debugging: False
# max_repair_limit sets how many times a single HQE will go through
# repairing -> requeued -> fail -> repairing
max_repair_limit: 2
max_provision_retries: 0
drone_build_externals: False
inline_host_acquisition: USE SHADOW INLINE_HOST_ACQUISITION
# If True, the drone manager creates a thread for each drone.
# Otherwise, drones are handled in a single thread.
threaded_drone_manager: True

[HOSTS]
wait_up_processes:
default_protection: NO_PROTECTION
# Time in seconds to wait for a machine to come back after reboot.
default_reboot_timeout: 240
# Time in seconds to wait for a machine to go down prior to reboot.
wait_down_reboot_timeout: 120
# Time in seconds to wait before generating a warning if a host has not gone
# down for reboot.
wait_down_reboot_warning: 30
# Time in hours to wait for a host to recover after a down state.
hours_to_wait_for_recovery: 0.01

[AUTOSERV]
# Autotest has 2 implementations of SSH based hosts, the default (raw_ssh), and
# another one based on the python SSH library paramiko (paramiko).
# You can change the default 'raw_ssh' to 'paramiko' if you want to.
ssh_engine: raw_ssh
# Set to True to take advantage of OpenSSH-based connection sharing. This would
# have bigger performance impact when ssh_engine is 'raw_ssh'.
enable_master_ssh: True
# Autotest server operators *really should* set this to True, specially if
# using ssh_engine 'paramiko'.
require_atfork_module: False
# Set to False to disable ssh-agent usage with paramiko
use_sshagent_with_paramiko: True
enable_server_prebuild: False

[PACKAGES]
# in days
custom_max_age: 1
# in Gigabyte
minimum_free_space: 1
serve_packages_from_autoserv: True

[CROS]
# If afe_stable_versions table does not have the stable version for a given
# board and there is no entry of board `DEFAULT`, following value defined in
# stable_cros_version will be used as the stable CrOS version.
# Use `cli/atest stable_version` command to view or manage stable versions.
# WARNING! Edit following setting will NOT work if stable versions are stored
# in afe_stable_versions table already!
stable_cros_version: R54-8743.44.0
stable_build_pattern: %s-release/%s
source_tree: /usr/local/google/chromeos
gs_offloading_enabled: True
image_storage_server: gs://chromeos-image-archive/
results_storage_server: gs://chromeos-autotest-results/
cts_results_server: gs://chromeos-cts-results/
cts_apfe_server: gs://chromeos-cts-apfe/
# dev_server_hosts is the list of all servers running a devserver instance
# (regardless of CrashServer/ImageServer/etc.) that should be considered for
# monitoring/deploy actions.  You should very likely keep this list in sync with
# `dev_server` and `crash_server` unless you're very temporarily pulling a
# server out of rotation.
dev_server_hosts: chromeos-devserver1, chromeos-devserver2, chromeos-devserver3, chromeos-devserver4, chromeos-devserver5, chromeos-devserver6, chromeos-devserver7, chromeos-crash1, chromeos2-devserver6, chromeos2-devserver7, chromeos2-devserver5
dev_server: http://100.115.245.199:8082, http://100.115.245.200:8082, http://100.115.219.131:8082, http://100.115.219.132:8082, http://100.115.219.133:8082, http://100.115.219.134:8082, http://100.115.219.137:8082
canary_channel_server: gs://chromeos-releases/canary-channel/
# chromeos-crash1.cros
crash_server: http://172.17.40.24:8082, http://100.107.160.6:8082, http://100.107.160.5:8082
sharding_factor: 1
infrastructure_user: chromeos-test
gs_offloader_use_rsync: False
gs_offloader_multiprocessing: False
# Cloud pubsub
cloud_notification_enabled: False
# The cloud pubsub topic where notifications are sent to.
cloud_notification_topic:

# Naming convention of Android build.
android_build_name_pattern: %\(branch\)s/%\(target\)s/%\(build_id\)s

firmware_url_pattern: %s/static/%s/firmware_from_source.tar.bz2
factory_image_url_pattern: %s/static/canary-channel/%s/factory_test/chromiumos_factory_image.bin
factory_artifact: factory_image
image_url_pattern: %s/update/%s
log_url_pattern: http://%s/tko/retrieve_logs.cgi?job=/results/%s/
package_url_pattern: %s/static/%s/autotest/packages
servo_board: beaglebone_servo

# TODO: Remove these released RO builds once they are migrated to Goldeneye.
# Released RO builds for running FAFT to qualify an AU firmware in which the
# RW portion comes from the latest build and the RO portion comes these builds.
# Each value is a comma-separated list. The most recent build is on the left.
RELEASED_RO_BUILDS_auron_paine: auron_paine-firmware/R39-6301.58.6
RELEASED_RO_BUILDS_auron_yuna: auron_yuna-firmware/R39-6301.59.5
RELEASED_RO_BUILDS_banjo: banjo-firmware/R34-5216.334.4
RELEASED_RO_BUILDS_buddy: buddy-firmware/R39-6301.202.5
RELEASED_RO_BUILDS_candy: candy-firmware/R34-5216.310.1
RELEASED_RO_BUILDS_celes: celes-firmware/R46-7287.92.3
RELEASED_RO_BUILDS_cyan: cyan-firmware/R46-7287.57.32,cyan-firmware/R46-7287.57.25
RELEASED_RO_BUILDS_gandof: gandof-firmware/R39-6301.155.9
RELEASED_RO_BUILDS_gnawty: gnawty-firmware/R34-5216.239.34,gnawty-firmware/R34-5216.239.16
RELEASED_RO_BUILDS_guado: guado-firmware/R39-6301.108.4
RELEASED_RO_BUILDS_heli: heli-firmware/R34-5216.392.4
RELEASED_RO_BUILDS_lulu: lulu-firmware/R39-6301.136.39,lulu-firmware/R39-6301.136.16
RELEASED_RO_BUILDS_mccloud: mccloud-firmware/R36-5827.14.0
RELEASED_RO_BUILDS_ninja: ninja-firmware/R34-5216.383.7
RELEASED_RO_BUILDS_orco: orco-firmware/R34-5216.362.7
RELEASED_RO_BUILDS_panther: panther-firmware/R32-4920.24.26
RELEASED_RO_BUILDS_rikku: rikku-firmware/R39-6301.110.4
RELEASED_RO_BUILDS_samus: samus-firmware/R39-6300.102.0,samus-firmware/R39-6300.90.0
RELEASED_RO_BUILDS_squawks: squawks-firmware/R34-5216.152.22,squawks-firmware/R34-5216.152.21,squawks-firmware/R34-5216.152.17
RELEASED_RO_BUILDS_tricky: tricky-firmware/R36-5829.12.0
RELEASED_RO_BUILDS_veyron_jaq: veyron_jaq-firmware/R41-6588.160.0,veyron_jaq-firmware/R41-6588.92.0,veyron_jaq-firmware/R41-6588.44.0
RELEASED_RO_BUILDS_veyron_jerry: veyron_jerry-firmware/R41-6588.160.0,veyron_jerry-firmware/R41-6588.92.0,veyron_jerry-firmware/R41-6588.40.0
RELEASED_RO_BUILDS_veyron_mickey: veyron_mickey-firmware/R41-6588.168.0,veyron_mickey-firmware/R41-6588.159.0
RELEASED_RO_BUILDS_veyron_mighty: veyron_mighty-firmware/R41-6588.160.0,veyron_mighty-firmware/R41-6588.97.0,veyron_mighty-firmware/R41-6588.51.0
RELEASED_RO_BUILDS_veyron_minnie: veyron_minnie-firmware/R41-6588.160.0,veyron_minnie-firmware/R41-6588.92.0
RELEASED_RO_BUILDS_veyron_speedy: veyron_speedy-firmware/R41-6588.160.0,veyron_speedy-firmware/R41-6588.92.0,veyron_speedy-firmware/R41-6588.55.0
RELEASED_RO_BUILDS_wolf: wolf-firmware/R30-4389.24.62,wolf-firmware/R30-4389.24.58,wolf-firmware/R30-4389.24.39

# Username and password for connecting to remote power control switches of
# the "Sentry Switched CDU" type
rpm_sentry_username: fake_user
rpm_sentry_password: fake_password
rpm_frontend_uri: http://chromeos-rpmserver2.cbf.corp.google.com:9999
rpm_recovery_boards: stumpy,kiev

# Path the devserver source tree, used for spawning devserver from autoserv in
# some of the tests. Please override in local shadow config file.
#devserver_dir: /path/to/src/platform/dev

lab_status_url: http://chromiumos-lab.appspot.com/current?format=json

# statsd server feeding Graphite (swift-capsule-791 GCE project)
STATSD_SERVER: 146.148.70.158
STATSD_PORT: 8125


sam_instances: cautotest
test_instance: chromeos-autotest.cbf
extra_servers: chromeos-mcp

# ES_HOST's hostname is chromeos-metadb-test.cbf.corp.google.com
# This es server is used for testing purposes only.
ES_HOST: 172.25.65.90
ES_PORT: 9200
ES_UDP_PORT: 9700
ES_USE_HTTP: False

skip_devserver_health_check: True

# The swarming instance that will be used for golo proxy
swarming_proxy:

# Limit the number of files in the result folder.
gs_offloader_limit_file_count: False

# A list of pools that allow to be repaired using firmware repair.
pools_support_firmware_repair: faft-test,faft-test-tot,faft-test-experiment

# A list of restricted subnets, in the format of ip/mask_bits, e.g., 10.0.0.1/24
restricted_subnets:

# Flags to enable/disable drone election in resctricted subnet.
enable_drone_in_restricted_subnet: False

# Set to True for test to prefer devserver in the same subnet.
prefer_local_devserver: False

# Flags to enable/disable SSH tunnel connection for servo host.
enable_ssh_tunnel_for_servo: False

# Flags to enable/disable SSH tunnel connection for chameleon host.
enable_ssh_tunnel_for_chameleon: False

# Flags to enable/disable SSH connection for devserver.
enable_ssh_connection_for_devserver: False

# Flags to enable/disable SSH tunnel connection for moblab host.
enable_ssh_tunnel_for_moblab: False

# Flags to enable/disable get control file contents in batch.
enable_getting_controls_in_batch: False

# Flags to enable/disable making devserver trigger auto-update for cros host.
enable_devserver_trigger_auto_update: False

# File for hwid key.
HWID_KEY: no_hwid_labels

[BUG_REPORTING]
gs_domain: https://storage.cloud.google.com/
chromeos_image_archive: chromeos-image-archive/
arg_prefix: ?arg=
retrieve_logs_cgi: http://cautotest.corp.google.com/tko/retrieve_logs.cgi?job=/
generic_results_bin: results/
debug_dir: debug/
buildbot_builders: http://chromegw.corp.google.com/i/chromeos/builders/
build_prefix: build/
job_view = http://%s/afe/#tab_id=view_job&object_id=%s
crbug_url: https://code.google.com/p/chromium/issues/detail?id=%s
gs_file_prefix: gs://
chromium_email_address = @chromium.org
credentials: USE SHADOW CREDENTIALS
monorail_server:
client_id: USE SHADOW CLIENT_ID
client_secret: USE SHADOW CLIENT_SECRET
scope: USE SHADOW SCOPE
wmatrix_retry_url: https://wmatrix.googleplex.com/retry_teststats/?days_back=30&tests=%s
wmatrix_test_history_url: https://wmatrix.googleplex.com/unfiltered?hide_missing=True&tests=%s
pool_health_cc: chromeos-infra-eng@grotations.appspotmail.com
pool_health_labels: recoverduts,Pri-1
pool_health_components: Infra>Client>ChromeOS


[NOTIFICATIONS]
chromium_build_url: http://build.chromium.org/p/chromiumos/
sheriffs: USE SHADOW SHERIFFS
lab_sheriffs: USE SHADOW SHERIFFS
gmail_api_credentials:
gmail_api_credentials_test_failure:


[POOL_INSTANCE_SHARDING]
# Add a mapping of `pool_name: server` to your shadow config to have run_suite
# send all of the suites for pool to the specified server.

[UPDATE_COMMANDS]
afe: AUTOTEST_REPO/utils/compile_gwt_clients.py -c autotest.AfeClient
apache: sudo service apache2 reload
build_externals: AUTOTEST_REPO/utils/build_externals.py
migrate: AUTOTEST_REPO/database/migrate.py sync
test_importer: AUTOTEST_REPO/utils/test_importer.py
tko: AUTOTEST_REPO/utils/compile_gwt_clients.py -c autotest.TkoClient

# [UPDATE]
# Set this with command names that should run after every update.
# commands: build_externals test_importer etc
# Set this with service names that should be restarted after every update.
# services:

[SSP]
# Section for configuration needed for server-side packaging.
# User that runs the autoserv process in the host of the container.
# The user is passed to a container through global config file so a process
# running inside the container can use the same user to make RPC.
user:

[ACTS]
# Section for ACTS configuration.
acts_config_folder:

[ANDROID]
image_url_pattern: %s/static/%s
stable_version_dragonboard: git_mnc-brillo-dev/dragonboard-userdebug/2512766
stable_version_edison: git_nyc-jaqen-dev/jaqen_edison-userdebug/2979181
package_url_pattern: %s/static/%s
