[AUTOTEST_WEB]
host: localhost
database: chromeos_autotest_db
db_type: mysql
user: chromeosqa-admin
password: USE SHADOW PASSWORD
job_timeout_default: 6
job_timeout_mins_default: 360
job_max_runtime_mins_default: 360
parse_failed_repair_default: 0
# Only set this if your server is not 'http://[SERVER] hostname/afe/'
#base_url: http://your_autotest_server/afe/
readonly_host: localhost
readonly_user: chromeosqa-read
readonly_password:
query_timeout: 3600
min_retry_delay: 20
max_retry_delay: 60
graph_cache_creation_timeout_minutes: 10
# 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
stainless_url: https://stainless.corp.google.com

# Servers that should use the readonly followers for heartbeat. Not shards.
readonly_heartbeat: False

# Restricted user group. The users in the specified groups only have
# access to leader 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 leader 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
throttle_incomplete_jobs_upload: False

[AUTOSERV]
# Autotest potential install paths
client_autodir_paths: /usr/local/autotest,/usr/local/autodir
# Allow list of tests with run time measurement enabled.
measure_run_time_tests: desktopui_ScreenLocker,login_LoginSuccess,security_ProfilePermissions

# Don't export tko job information to disk file.
export_tko_job_to_file: 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
# Directory stores the base LXC container
base_container_path: /usr/local/autotest/containers
# Shared mount point for host mounts for LXC containers.
container_shared_host_path: /usr/local/autotest/containers/host

# `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: https://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

# 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

# Enable test result throttling.
enable_result_throttling: False
# Default maximum test result size in KB.
default_max_result_size_KB: 350000

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

android_board_name_bat:bat_land
android_board_name_dragon:ryu
android_board_name_flo:razor
android_board_name_flo_lte:razorg
android_board_name_gm4g_sprout:seed_l8150
android_board_name_flounder:volantis
android_board_name_flounder_lte:volantis

android_artifacts_volantis:bootloader_image,zip_images
android_standalone_images_volantis:bootloader.img

android_artifacts_bat_land:zip_images
android_standalone_images_bat_land:
android_zipped_images_bat_land:boot.img,system.img,cache.img,userdata.img

# If set, sso_client is used from client tools to access AFE/TKO RPC servers.
# This is needed to access AFE via uberproxy endpoints.
# Cf b/32303896: Direct HTTP access to lab servers will soon no longer be
# possible from developer workstations. They must instead use the uberproxy
# endpoints (with this feature enabled).
# ** This should never be set for communication within the lab. **
use_sso_client: False

[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_gale: 50
kilo_inodes_required_mistral: 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

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

[SCHEDULER]
drone_installation_directory: /usr/local/autotest

[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]
# Set to True to take advantage of OpenSSH-based connection sharing. This would
# have bigger performance impact when ssh_engine is 'raw_ssh'.
enable_main_ssh: True
# By default there will not be tls. This will be enabled in the puppet scripts.
enable_tls: 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/
# Base url to open a file from Google Storage for `results_storage_server`
gs_file_base_url: https://storage.cloud.google.com/chromeos-autotest-results/

cts_results_server: gs://chromeos-cts-results/
cts_apfe_server: gs://chromeos-cts-apfe/
ctsdelta_results_server: gs://chromeos-ctsdelta-results/
ctsdelta_apfe_server: gs://chromeos-ctsdelta-apfe/
ctsbvt_apfe_server: gs://chromeos-cts-bvt-apfe/
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/
crash_server:
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.
# First argument: protocol://hostname
# Second argument: job name (e.g. 1-chromeos-test)
log_url_pattern: %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://rpm-service:9999

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

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

skip_devserver_health_check: True

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

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

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

# Flags to enable/disable SSH connection for devserver. This only applies to
# devservers inside restricted subnet, specified in CROS/restricted_subnets.
# If a devserver is not in any restriceted subnet, test will still make direct
# http call even if this option is set to True.
enable_ssh_connection_for_devserver: False

# File for hwid key.
HWID_KEY: no_hwid_labels

# Use sync script (client/bin/fs_sync.py) for performing filesystem sync
enable_fs_sync_script: False

# (Experimental) Make sync script perform fsfreeze, to block writes before reset
enable_fs_freeze: False

[BUG_REPORTING]
gs_domain: https://storage.cloud.google.com/
chromeos_image_archive: chromeos-image-archive/
arg_prefix: ?arg=
retrieve_logs_cgi: http://ubercautotest.corp.google.com/tko/retrieve_logs.cgi?job=/
generic_results_bin: results/
debug_dir: debug/
job_view = %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://
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
wmatrix_test_history_url: https://wmatrix.googleplex.com/unfiltered?hide_missing=True&tests=%s
stainless_retry_url:
stainless_test_history_url: https://stainless.corp.google.com/search?test=%s&first_date=%s&last_date=%s&row=model&col=build&view=matrix
pool_health_cc: chromeos-infra-eng@grotations.appspotmail.com
pool_health_labels: recoverduts,Pri-1
pool_health_components: Infra>Client>ChromeOS

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

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

[LXC_POOL]
use_lxc_pool: False
combine_sudos: False

