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