# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
[GENERAL]
debug: True
logging_format: %%(asctime)s - %%(levelname)s - %%(message)s
frontend_logname_format = frontend_server_log_%%Y%%m%%d_%%H%%M%%S.txt
dispatcher_logname_format =  rpm_dispatcher_log_%%Y%%m%%d_%%H%%M%%S.txt
email_subject_line_format: ** RPM INFRASTRUCTURE ISSUE on %%s **

[CROS]
# The zone that all Chrome OS devices are in if they are in a lab.
dns_zone: cros.corp.google.com

[RPM_INFRASTRUCTURE]
# General RPM infrastructure information.
frontend_port: 9999
default_rpm_id = rpm1
email_notification_recipients = chromeos-build-alerts+rpm-control-system@google.com
call_timeout_mins: 15
# Number of seconds for the call set_power_state to timeout. This is used
# to guarantee that such call won't block the controller working thread.
set_power_state_timeout_seconds = 120
# Size of the LRU that holds power management unit information related
# to a device, e.g. rpm_hostname, outlet, hydra_hostname, etc.
lru_size = 1500

[SENTRY]
# Access information for Sentry Based Devices.
username: admn
password: dummy_admin_password
testing_user: testing
testing_password: dummy_password

[WEBPOWERED]
# Access information for Web Powered Devices.
username: testing
password: dummy_password

[CiscoPOE]
# Acess information for POE Switches.
username: root
password: dummy_admin_password
servo_interface_mapping_file: servo_interface_mapping.csv

[HYDRA]
username: autotest
password: dummy_password
admin_username: root
admin_password: dummy_admin_password
