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: .. code-block:: ini [global] verbose = true Worker Section ^^^^^^^^^^^^^^ The ``[worker]`` section is specific to the libra_worker utility. Below is an example: .. code-block:: ini [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: .. code-block:: ini [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 --------------------------- .. program:: libra_worker.py .. option:: -c , --config Load options from the specified configuration file. Command line options will take precedence over any options specified in the configuration file. .. option:: -d, --debug Enable debugging output. .. option:: --driver Load balancer driver to use. Valid driver options are: * *haproxy* - `HAProxy `_ software load balancer. This is the default driver. .. option:: --group Specifies the group for the process when run in daemon mode. .. option:: -h, --help Show the help message and quit. .. option:: -l , --logfile 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. .. option:: -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. .. option:: -p , --pid Name of the PID file to use. Default is: */var/run/libra/libra_worker.pid* .. option:: -s , --reconnect_sleep The number of seconds to sleep between job server reconnect attempts when no specified job servers are available. Default is 60 seconds. .. option:: --server Used to specify the Gearman job server hostname and port. This option can be used multiple times to specify multiple job servers. .. option:: --user Specifies the user for the process when in daemon mode. Default is the current user. .. option:: -v, --verbose Enable verbose output. Normally, only errors are logged. This enables additional logging, but not as much as the :option:`-d` option. .. option:: --stats-poll The number of seconds to sleep between statistics polling of the load balancer driver. Default is 300 seconds. Pool Manager Command Line Options --------------------------------- .. program:: libra_pool_mgm.py .. option:: --api_server The hostname/IP and port colon separated for use with the HP REST API driver. Can be specified multiple times for multiple servers .. option:: -c , --config Load options from the specified configuration file. Command line options will take precedence over any options specified in the configuration file. .. option:: --check_interval How often to check the API server to see if new nodes are needed (value is minutes) .. option:: --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) .. option:: -d, --debug Enable debugging output. .. option:: --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. .. option:: --group Specifies the group for the process when run in daemon mode. .. option:: -h, --help Show the help message and quit. .. option:: -l , --logfile 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. .. option:: --datadir The data directory used to store things such as the failed node list. .. option:: -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. .. option:: --node_basename A name to prefix the UUID name given to the nodes the pool manager generates. .. option:: --nodes The size of the pool of spare nodes the pool manager should keep. .. option:: --nova_auth_url The URL used to authenticate for the Nova API .. option:: --nova_user The username to authenticate for the Nova API .. option:: --nova_pass The password to authenticate for the Nova API .. option:: --nova_tenant The tenant to use for the Nova API .. option:: --nova_region The region to use for the Nova API .. option:: --nova_keyname The key name to use when spinning up nodes in the Nova API .. option:: --nova_secgroup The security group to use when spinning up nodes in the Nova API .. option:: --nova_image The image ID or name to use on new nodes spun up in the Nova API .. option:: --nova_image_size The flavor ID (image size ID) or name to use for new nodes spun up in the Nova API .. option:: -p , --pid Name of the PID file to use. Default is: */var/run/libra/libra_worker.pid* .. option:: --user Specifies the user for the process when in daemon mode. Default is the current user. .. option:: -v, --verbose Enable verbose output. Normally, only errors are logged. This enables additional logging, but not as much as the :option:`-d` option. Statsd Command Line Options --------------------------- .. program:: libra_statsd.py .. option:: --api_server 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. .. option:: --server Used to specify the Gearman job server hostname and port. This option can be used multiple times to specify multiple job servers .. option:: --driver The drivers to be used for alerting. This option can be used multiple times to specift multiple drivers. .. option:: --ping_interval How often to run a ping check of load balancers (in seconds), default 60 .. option:: --repair_interval How often to run a check to see if damaged load balancers had been repaired (in seconds), default 180 .. option:: --datadog_api_key The API key to be used for the datadog driver .. option:: --datadog_app_key The Application key to be used for the datadog driver .. option:: --datadog_message_tail 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. .. option:: --datadog_tags A list of tags to be used for the datadog driver