libra/doc/api/config.rst
David Shrewsbury 4d3fd33614 [ALL] Add Gearman KEEPALIVE options
This requires the lastest development version of python-gearman
to support the new keepalive options. Using these options (off
by default) will solve the problem when the Gearman job server
gets paused/unpaused in a cloud environment, but the clients and
workers never recognize that they are indeed disconnected.

WARNING: Not backwards compatible with older versions of the
python-gearman driver, even if the SSL and keepalive options
are not specified. This is a change in behavior.

Change-Id: Ic8db6676f7408364b6fe9a8690deb72bb6e2772c
2013-09-16 12:56:38 -04:00

3.5 KiB

API Configuration

These options are specific to the API in addition to the common options </config>.

Configuration File

The [api] section is specific to the libra_api utility. Below is an example:

[api]
db_sections=mysql1
gearman=127.0.0.1:4730
keystone_module=keystoneclient.middleware.auth_token:AuthProtocol
swift_basepath=lbaaslogs
swift_endpoint=https://host.com:443/v1/
ssl_certfile=/opt/certfile.crt
ssl_keyfile=/opt/keyfile.key

[mysql1]
host=localhost
port=3306
username=root
password=
schema=lbaas
ssl_cert=/opt/mysql_cert.crt
ssl_key=/opt/mysql_key.key
ssl_ca=/opt/mysql_ca.ca

In addition to this any options that are specific to the given keystone module should be stored in the [keystone] section.

Command Line Options

libra_api

--host <IP ADDRESS>

The IP address to bind the frontend to, default is 0.0.0.0

--port <PORT NUMBER>

The port number to listen on, default is 443

--disable_keystone

Do not use keystone authentication, for testing purposes only

--db_secions <SECTIONNAME>

Config file sections that describe the MySQL servers. This option can be specified multiple times for Galera or NDB clusters.

--gearman <HOST:POST>

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

--gearman_keepalive

Use TCP KEEPALIVE to the Gearman job server. Not supported on all systems.

--gearman_keepcnt <COUNT>

Maximum number of TCP KEEPALIVE probes to send before killing the connection to the Gearman job server.

--gearman_keepidle <SECONDS>

Seconds of idle time on the Gearman job server connection before sending TCP KEEPALIVE probes.

--gearman_keepintvl <SECONDS>

Seconds between TCP KEEPALIVE probes.

--gearman_ssl_ca <PATH>

The path for the Gearman SSL Certificate Authority

--gearman_ssl_cert <PATH>

The path for the Gearman SSL certificate

--gearman_ssl_key <PATH>

The path for the Gearman SSL key

--keystone_module <MODULE:CLASS>

A colon separated module and class to use as the keystone authentication module. The class should be compatible with keystone's AuthProtocol class.

--swift_basepath <CONTAINER>

The default container to be used for customer log uploads.

--swift_endpoint <URL>

The default endpoint for swift. The user's tenant ID will automatically be appended to this unless overridden at the log archive request.

--ssl_certfile <PATH>

The path for the SSL certificate file to be used for frontend of the API server

--ssl_keyfile <PATH>

The path for the SSL key file to be used for the frontend of the API server

--ip_filters <FILTERS>

A mask of IP addresses to filter for backend nodes in the form xxx.xxx.xxx.xxx/yy

Any backend node IP address supplied which falls outside these filters will result in an error for the create or node add functions. This option can be specified multiple times.