[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

# 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:

[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
# Download link for base image of container
container_base: http://storage.googleapis.com/chromeos-image-archive/autotest-containers/base.tar.xz
# 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

# 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:

[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
# 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

[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_processes_warning_threshold: 0.8
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

[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: R44-7077.134.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/
# 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://172.17.40.27:8082, http://100.107.160.1:8082, http://100.107.160.2:8082, http://172.17.40.17:8082, http://172.17.40.20:8082, http://172.17.40.19:8082, http://100.107.160.3:8082, http://100.107.160.4:8082, http://172.17.40.22:8082, http://100.107.160.7:8082
canary_channel_server: gs://chromeos-releases/canary-channel/
# chromeos-crash1.cros
crash_server: http://172.17.40.24:8082, http://100.107.160.5:8082, http://100.107.160.6:8082
sharding_factor: 1
infrastructure_user: chromeos-test
gs_offloader_use_rsync: False

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

# 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-rpmserver1.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-lab-graphite.cbf.corp.google.com
# This es server is used for testing purposes only.
ES_HOST: 172.25.61.45
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:


[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
tracker_url: https://code.google.com/p/chromium/issues/detail?id=
gs_file_prefix: gs://
chromium_email_address = @chromium.org
credentials: USE SHADOW CREDENTIALS
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


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


[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:
