libra/doc/config.rst
Andrew Hutchings 27cde75e86 Add some documentation for statsd
Change-Id: Ie93681bec4c12bfda5c3c31d34e3cb02176e252d
2013-04-19 15:51:25 +01:00

9.3 KiB

Configuration of Services

Options can be specified either via the command line, or with a configuration file, or both. Options given on the command line will override any options set in the configuration file.

Configuration File Format

The configuration file is in INI format. Options are expressed in one of two forms:

key = value
key : value

Some key points to note:

  • Boolean options should be given either a value of true or false.
  • Some options can contain multiple values (see 'server' option in the [worker] section).
  • If an option has both a short-form and long-form (e.g., -d and --debug), then you should use the long-form name in the configuration file.
  • Unknown sections are ignored. This allows all Libra utilities to share the same configuration file, if desired.

Global Section

The [global] section contains options common to the various Libra utilities (worker, mgm, etc). This section is read before any other section, so values may be overridden by the other sections:

[global]
verbose = true

Worker Section

The [worker] section is specific to the libra_worker utility. Below is an example:

[worker]
user = haproxy
group = haproxy
driver = haproxy
reconnect_sleep = 60
server = 10.0.0.1:8080 10.0.0.2:8080
pid = /var/run/libra/libra_worker.pid
logfile = /var/log/libra/libra_worker.log

Pool Manager Section

The [mgm] section is specific to the libra_pool_mgm utility. Below is an example:

[mgm]
pid = /var/run/libra/libra_mgm.pid
logfile = /var/log/libra/libra_mgm.log
datadir = /etc/libra/
nova_auth_url = https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/
nova_user = username
nova_pass = password
nova_tenant = tenant
nova_region = region
nova_keyname = default
nova_secgroup = default
nova_image = 12345
nova_image_size = standard.medium
api_server = 10.0.0.1:8889 10.0.0.2:8889
nodes = 10
check_interval = 5
failed_interval = 15
node_basename = 'libra'

Worker Command Line Options

libra_worker.py

-c <FILE>, --config <FILE>

Load options from the specified configuration file. Command line options will take precedence over any options specified in the configuration file.

-d, --debug

Enable debugging output.

--driver <DRIVER>

Load balancer driver to use. Valid driver options are:

  • haproxy - HAProxy software load balancer. This is the default driver.

--group <GROUP>

Specifies the group for the process when run in daemon mode.

-h, --help

Show the help message and quit.

-l <FILE>, --logfile <FILE>

Name of the log file. When running in daemon mode, the default log file is /var/log/libra/libra_worker.log. When not in daemon mode, logging will go to STDOUT unless a log file is specified.

-n, --nodaemon

Do not run as a daemon. This option is useful for debugging purposes only as the worker is intended to be run as a daemon normally.

-p <PID>, --pid <PID>

Name of the PID file to use. Default is: /var/run/libra/libra_worker.pid

-s <SECONDS>, --reconnect_sleep <SECONDS>

The number of seconds to sleep between job server reconnect attempts when no specified job servers are available. Default is 60 seconds.

--server <HOST:PORT>

Used to specify the Gearman job server hostname and port. This option can be used multiple times to specify multiple job servers.

--user <USER>

Specifies the user for the process when in daemon mode. Default is the current user.

-v, --verbose

Enable verbose output. Normally, only errors are logged. This enables additional logging, but not as much as the -d option.

--stats-poll <SECONDS>

The number of seconds to sleep between statistics polling of the load balancer driver. Default is 300 seconds.

Pool Manager Command Line Options

libra_pool_mgm.py

--api_server <HOST:PORT>

The hostname/IP and port colon separated for use with the HP REST API driver. Can be specified multiple times for multiple servers

-c <FILE>, --config <FILE>

Load options from the specified configuration file. Command line options will take precedence over any options specified in the configuration file.

--check_interval <CHECK_INTERVAL>

How often to check the API server to see if new nodes are needed (value is minutes)

--failed_interval <FAILED_INTERVAL>

How often to check the list of failed node uploads to see if the nodes are now in a good state (value is in minutes)

-d, --debug

Enable debugging output.

--driver <DRIVER>

API driver to use. Valid driver options are:

  • hp_rest - HP REST API, talks to the HP Cloud API server (based on Atlas API) This is the default driver.

--group <GROUP>

Specifies the group for the process when run in daemon mode.

-h, --help

Show the help message and quit.

-l <FILE>, --logfile <FILE>

Name of the log file. When running in daemon mode, the default log file is /var/log/libra/libra_worker.log. When not in daemon mode, logging will go to STDOUT unless a log file is specified.

--datadir <DATADIR>

The data directory used to store things such as the failed node list.

-n, --nodaemon

Do not run as a daemon. This option is useful for debugging purposes only as the worker is intended to be run as a daemon normally.

--node_basename <NODE_BASENAME>

A name to prefix the UUID name given to the nodes the pool manager generates.

--nodes <NODES>

The size of the pool of spare nodes the pool manager should keep.

--nova_auth_url <NOVA_AUTH_URL>

The URL used to authenticate for the Nova API

--nova_user <NOVA_USER>

The username to authenticate for the Nova API

--nova_pass <NOVA_PASS>

The password to authenticate for the Nova API

--nova_tenant <NOVA_TENANT>

The tenant to use for the Nova API

--nova_region <NOVA_REGION>

The region to use for the Nova API

--nova_keyname <NOVA_KEYNAME>

The key name to use when spinning up nodes in the Nova API

--nova_secgroup <NOVA_SECGROUP>

The security group to use when spinning up nodes in the Nova API

--nova_image <NOVA_IMAGE>

The image ID or name to use on new nodes spun up in the Nova API

--nova_image_size <NOVA_IMAGE_SIZE>

The flavor ID (image size ID) or name to use for new nodes spun up in the Nova API

-p <PID>, --pid <PID>

Name of the PID file to use. Default is: /var/run/libra/libra_worker.pid

--user <USER>

Specifies the user for the process when in daemon mode. Default is the current user.

-v, --verbose

Enable verbose output. Normally, only errors are logged. This enables additional logging, but not as much as the -d option.

Statsd Command Line Options

libra_statsd.py

--api_server <HOST:PORT>

The hostname/IP and port colon separated for use with the HP REST API driver. Can be specified multiple times for multiple servers. This option is also used for the hp_rest alerting driver.

--server <HOST:PORT>

Used to specify the Gearman job server hostname and port. This option can be used multiple times to specify multiple job servers

--driver <DRIVER LIST>

The drivers to be used for alerting. This option can be used multiple times to specift multiple drivers.

--ping_interval <PING_INTERVAL>

How often to run a ping check of load balancers (in seconds), default 60

--repair_interval <REPAIR_INTERVAL>

How often to run a check to see if damaged load balancers had been repaired (in seconds), default 180

--datadog_api_key <KEY>

The API key to be used for the datadog driver

--datadog_app_key <KEY>

The Application key to be used for the datadog driver

--datadog_message_tail <TEXT>

Some text to add at the end of an alerting message such as a list of users to alert (using @user@email.com format), used for the datadog driver.

--datadog_tags <TAGS>

A list of tags to be used for the datadog driver