# More details about configuration keys can be seen on the online documentation
# Addition/updates of config keys should be reflected on the below URL
# https://github.com/autotest/autotest/wiki/GlobalConfig

[AUTOTEST_WEB]
# Machine that hosts the database
host: localhost

# Name of the autotest database
database: autotest_web

# DB backend
db_type: mysql

# DB user
user: autotest

# DB password. You must set a different password than the default
password: please_set_this_password

# Timeout for jobs (hours)
# (if scheduled but does not get to run, it will be aborted)
job_timeout_default: 72

# Maximum runtime for jobs (hours)
# (if it gets to run but does not complete, it will be aborted)
job_max_runtime_hrs_default: 72

# Whether or not to parse failed repair results as part of a job
parse_failed_repair_default: 0

# Base URL. Only set this if your server is not 'http://[SERVER] hostname/afe/'
#base_url: http://your_autotest_server/afe/

# Machine that hosts the database (readonly user)
readonly_host: localhost

# Name of the autotest database (readonly user)
readonly_user: nobody

# DB backend (readonly user)
readonly_password:

# Timeout to perform queries on the MySQL database (seconds)
query_timeout: 3600

# Minimum delay before retrying a query (seconds)
min_retry_delay: 20

# Maximum delay before retrying a query (seconds)
max_retry_delay: 60

# Timeout to generate graphs cache (minutes)
graph_cache_creation_timeout_minutes: 10

# Whether to enable parametrized jobs or not
parameterized_jobs: False

# Whether to enable django template debug mode
template_debug_mode: False

# Whether to enable django SQL debug mode
sql_debug_mode: False


[COMMON]
# The path for the toplevel autotest directory
autotest_top_path: /usr/local/autotest

# The path to look for test modules
test_dir:

# The path for tests output directory
test_output_dir:

# Crash handling for the tests
crash_handling_enabled: True


[AUTOSERV]
# Autotest potential install paths
client_autodir_paths: /usr/local/autotest,/home/autotest

# SSH implementation used by autoserv (raw_ssh or paramiko)
ssh_engine: raw_ssh

# Enable OpenSSH connection sharing. Only useful if ssh_engine is 'raw_ssh'
enable_master_ssh: True

# Fix problems originated from logging + threading inside autotest
require_atfork_module: False

# Set to False to disable ssh-agent usage with paramiko
use_sshagent_with_paramiko: True


[CLIENT]
# Whether to drop the memory cache between test executions
# (recommended setting to True on server setups)
drop_caches: False

# Whether to drop the memory cache between each iteration of a single test
# (recommended setting to True on server setups)
drop_caches_between_iterations: False

# Specify an alternate location to store the test results
#output_dir: /var/log/autotest/
output_dir:

# Log installed packages (recommended setting to True on server setups)
log_installed_packages = False

# Abort on client state mismatches post reboot (!= list of devices or CPUs)
abort_on_mismatch = False

# mirror(s) of kernel.org (space-separated)
kernel_mirror: http://www.kernel.org/pub/linux/kernel/

# gitweb installation(s) (space-separated)
kernel_gitweb:

# gitweb installation(s) for -stable tree (space-separated)
stable_kernel_gitweb:

# How long to sleep before reboot
sleep_before_reboot = 5


[SERVER]
# Hostname of the autotest RPC server. You should set a different hostname
hostname: autotest

# Turn on RPC Logging
rpc_logging: False

# RPC log path. Note that webserver user needs to be able to write to that path
rpc_log_path: /usr/local/autotest/logs/rpcserver.log

# Number of old RPC logs to keep around
rpc_num_old_logs: 5

# Maximum size of the RPC logs (MB)
rpc_max_log_size_mb: 20

# Minimum amount of disk space required for AutoTest on clients (GB)
gb_diskspace_required: 5

# Time in hours to wait before giving up on crash collection. A timeout of 0
# means crash collection is skipped unless the host is already available.
crash_collection_hours_to_wait: 4.0

# Specify a location to store the server log files
#logs_dir: /var/log/autotest
logs_dir:

# Specify a location to store the server pid files
#pid_files_dir: /var/run/autotest
pid_files_dir:

# If logs disk usage (percentage) is superior to this treshold, raise health
# check concerns
logs_disk_usage_treshold: 80


[SCHEDULER]
# Whether to enable scheduler.
enable_scheduler: True

# Whether to abort the scheduler if orphaned autoserv processes are found.
die_on_orphans: False

# How many processes at once on a single server (distributed service)
max_processes_per_drone: 1000

# Maximum amount of jobs started per scheduler cycle
max_jobs_started_per_cycle: 100

# Maximum parse processes running at the same time
max_parse_processes: 5

# Maximum number of rsync/scp transfers to the results repository at once
max_transfer_processes: 50

# The pause between scheduler ticks (seconds)
tick_pause_sec: 5

# Time between database sweeps to abort timed-out jobs (minutes)
clean_interval_minutes: 60

# List of hostnames to act as drones (machines that run Autoserv)
# If adding other machines here, please make sure the next configuration item,
# drone_machines_previously_setup matches your deployment scenario
drones: localhost

# If the machines acting as dones have been already setup with the base
# autotest dependencies (desirable), this skips the code that *tries*
# to install them
drone_machines_previously_setup: True

# Directory in which Autotest is installed on drones
drone_installation_directory: /usr/local/autotest

# Hostname to copy results to after job completion
results_host: localhost

# If you installed your results_host in a different location than the
# standard /usr/local/autotest, this often will be blank
results_host_installation_directory:

# Time to wait for all hosts on an atomic group (seconds)
secs_to_wait_for_atomic_group_hosts: 600

# Timeout of a pidfile (minutes)
pidfile_timeout_mins: 300

# Maximum number of pidfile refreshes
max_pidfile_refreshes: 2000

# Garbage collection stats collection (minutes)
gc_stats_interval_mins: 360

# Period of reverification of all dead hosts (minutes). 0 means skip re-verify
reverify_period_minutes: 0

# Maximum amount of hosts to reverify at once
reverify_max_hosts_at_once: 0

# This restricts a job to running on a specified set of drones
drone_sets_enabled: False

# default_drone_set_name: This is required if drone sets are enabled
default_drone_set_name:


[EMAIL]
# Use custom SMTP server
# If none provided, will try to use MTA installed on the box
smtp_server:

# Use custom SMTP server
# If none provided, will use the default SMTP port
smtp_port:

# Use custom SMTP user
# If none provided, no authentication will be used
smtp_user:

# Use SMTP password
# It only makes sense if SMTP user is set
smtp_password:


[NOTIFICATION]
# Where to send emails with scheduler failures to
# (usually an administrator of the autotest setup or admin mailing list)
grid_admin_email:

# Where the emails seem to come from (usually a noreply bogus address)
notify_email_from:

# Which job statuses should go to the grid admin
notify_admin_email_statuses: Failed,Aborted

# Which job statuses deserve an e-mail on completion
notify_email_statuses: Completed

# Keyval names that you want to see listed on the results email
# (space/comma separated)
keyval_names_exibit_summary_mail:


[HOSTS]
# Comma delimited list of processes that must be present to call a host 'up'
wait_up_processes:

# Default level of protection to put on new hosts. See HostProtections on wiki
default_protection: NO_PROTECTION

# Time to wait for a machine to come back after reboot (seconds)
default_reboot_timeout: 1800

# Time to wait for a machine to go down prior to reboot (seconds)
wait_down_reboot_timeout: 840

# Time to wait before generating a warning if a host has not gone down (seconds)
wait_down_reboot_warning: 540

# Time to wait for a host to recover after a down state (hours)
hours_to_wait_for_recovery: 2.5


[INSTALL_SERVER]
# Install server type
type: cobbler

# URL for xmlrpc_server, such as http://foo.com/cobbler_api
xmlrpc_url:

# XMLRPC user, in case the server requires authentication
user:

# XMLRPC password, in case the server requires authentication
password:

# Profile to install by default on your client machine
fallback_profile:

# Number of installation/reset attempts before failing it altogether
num_attempts: 2

# By default use current profile from install server, if False: will default
# to 'Do_not_install'
use_current_profile: True

# Default install timeout in case none was specified
default_install_timeout: 3600


[PACKAGES]
# Location from where download and fetch packages. You can use multiple
# git/http repos, comma separated.
#fetch_packages: git://foo.com/autotest-tests, http://foo.bar/my-autotest-repo

# Max age of packages in days. Pkgs older than this will be purged from repos
custom_max_age: 40

# Minimum amount of disk space on pkg server, required for packaging (GB)
minimum_free_space: 1

# Whether to make autoserv the autotest package provider
serve_packages_from_autoserv: True

# Location to store packages
upload_location:
