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

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

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

[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
# 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: R49-7834.42.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

# 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

# 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-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 devserver and drone election in resctricted subnet.
enable_drone_in_restricted_subnet: False
enable_devserver_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

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


[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
package_url_pattern: %s/static/%s
