| {%- from "octavia/map.jinja" import api with context %} |
| {%- from "octavia/map.jinja" import manager with context %} |
| [DEFAULT] |
| |
| # |
| # From octavia |
| # |
| |
| # The hostname Octavia is running on (string value) |
| #host = example.domain |
| |
| # Name of the controller plugin to use (string value) |
| #octavia_plugins = hot_plug_plugin |
| |
| # |
| # From oslo.log |
| # |
| |
| # If set to true, the logging level will be set to DEBUG instead of the default |
| # INFO level. (boolean value) |
| # Note: This option can be changed without restarting. |
| #debug = false |
| debug = {{ manager.get('debug', 'False') }} |
| |
| # DEPRECATED: If set to false, the logging level will be set to WARNING instead |
| # of the default INFO level. (boolean value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| #verbose = true |
| verbose = True |
| |
| # The name of a logging configuration file. This file is appended to any |
| # existing logging configuration files. For details about logging configuration |
| # files, see the Python logging module documentation. Note that when logging |
| # configuration files are used then all logging configuration is set in the |
| # configuration file and other logging configuration options are ignored (for |
| # example, logging_context_format_string). (string value) |
| # Note: This option can be changed without restarting. |
| # Deprecated group/name - [DEFAULT]/log_config |
| #log_config_append = <None> |
| |
| # Defines the format string for %%(asctime)s in log records. Default: |
| # %(default)s . This option is ignored if log_config_append is set. (string |
| # value) |
| #log_date_format = %Y-%m-%d %H:%M:%S |
| |
| # (Optional) Name of log file to send logging output to. If no default is set, |
| # logging will go to stderr as defined by use_stderr. This option is ignored if |
| # log_config_append is set. (string value) |
| # Deprecated group/name - [DEFAULT]/logfile |
| #log_file = <None> |
| |
| # (Optional) The base directory used for relative log_file paths. This option |
| # is ignored if log_config_append is set. (string value) |
| # Deprecated group/name - [DEFAULT]/logdir |
| #log_dir = <None> |
| |
| # Uses logging handler designed to watch file system. When log file is moved or |
| # removed this handler will open a new log file with specified path |
| # instantaneously. It makes sense only if log_file option is specified and |
| # Linux platform is used. This option is ignored if log_config_append is set. |
| # (boolean value) |
| #watch_log_file = false |
| |
| # Use syslog for logging. Existing syslog format is DEPRECATED and will be |
| # changed later to honor RFC5424. This option is ignored if log_config_append |
| # is set. (boolean value) |
| #use_syslog = false |
| |
| # Syslog facility to receive log lines. This option is ignored if |
| # log_config_append is set. (string value) |
| #syslog_log_facility = LOG_USER |
| |
| # Log output to standard error. This option is ignored if log_config_append is |
| # set. (boolean value) |
| #use_stderr = false |
| |
| # Format string to use for log messages with context. (string value) |
| #logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s |
| |
| # Format string to use for log messages when context is undefined. (string |
| # value) |
| #logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s |
| |
| # Additional data to append to log message when logging level for the message |
| # is DEBUG. (string value) |
| #logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d |
| |
| # Prefix each line of exception output with this format. (string value) |
| #logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s |
| |
| # Defines the format string for %(user_identity)s that is used in |
| # logging_context_format_string. (string value) |
| #logging_user_identity_format = %(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s |
| |
| # List of package logging levels in logger=LEVEL pairs. This option is ignored |
| # if log_config_append is set. (list value) |
| #default_log_levels = amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,dogpile.core.dogpile=INFO |
| |
| # Enables or disables publication of error events. (boolean value) |
| #publish_errors = false |
| |
| # The format for an instance that is passed with the log message. (string |
| # value) |
| #instance_format = "[instance: %(uuid)s] " |
| |
| # The format for an instance UUID that is passed with the log message. (string |
| # value) |
| #instance_uuid_format = "[instance: %(uuid)s] " |
| |
| # Interval, number of seconds, of log rate limiting. (integer value) |
| #rate_limit_interval = 0 |
| |
| # Maximum number of logged messages per rate_limit_interval. (integer value) |
| #rate_limit_burst = 0 |
| |
| # Log level name used by rate limiting: CRITICAL, ERROR, INFO, WARNING, DEBUG |
| # or empty string. Logs with level greater or equal to rate_limit_except_level |
| # are not filtered. An empty string means that all levels are filtered. (string |
| # value) |
| #rate_limit_except_level = CRITICAL |
| |
| # Enables or disables fatal status of deprecations. (boolean value) |
| #fatal_deprecations = false |
| |
| # |
| # From oslo.messaging |
| # |
| |
| # Size of RPC connection pool. (integer value) |
| # Deprecated group/name - [DEFAULT]/rpc_conn_pool_size |
| #rpc_conn_pool_size = 30 |
| |
| # The pool size limit for connections expiration policy (integer value) |
| #conn_pool_min_size = 2 |
| |
| # The time-to-live in sec of idle connections in the pool (integer value) |
| #conn_pool_ttl = 1200 |
| |
| # ZeroMQ bind address. Should be a wildcard (*), an ethernet interface, or IP. |
| # The "host" option should point or resolve to this address. (string value) |
| # Deprecated group/name - [DEFAULT]/rpc_zmq_bind_address |
| #rpc_zmq_bind_address = * |
| |
| # MatchMaker driver. (string value) |
| # Allowed values: redis, sentinel, dummy |
| # Deprecated group/name - [DEFAULT]/rpc_zmq_matchmaker |
| #rpc_zmq_matchmaker = redis |
| |
| # Number of ZeroMQ contexts, defaults to 1. (integer value) |
| # Deprecated group/name - [DEFAULT]/rpc_zmq_contexts |
| #rpc_zmq_contexts = 1 |
| |
| # Maximum number of ingress messages to locally buffer per topic. Default is |
| # unlimited. (integer value) |
| # Deprecated group/name - [DEFAULT]/rpc_zmq_topic_backlog |
| #rpc_zmq_topic_backlog = <None> |
| |
| # Directory for holding IPC sockets. (string value) |
| # Deprecated group/name - [DEFAULT]/rpc_zmq_ipc_dir |
| #rpc_zmq_ipc_dir = /var/run/openstack |
| |
| # Name of this node. Must be a valid hostname, FQDN, or IP address. Must match |
| # "host" option, if running Nova. (string value) |
| # Deprecated group/name - [DEFAULT]/rpc_zmq_host |
| #rpc_zmq_host = localhost |
| |
| # Number of seconds to wait before all pending messages will be sent after |
| # closing a socket. The default value of -1 specifies an infinite linger |
| # period. The value of 0 specifies no linger period. Pending messages shall be |
| # discarded immediately when the socket is closed. Positive values specify an |
| # upper bound for the linger period. (integer value) |
| # Deprecated group/name - [DEFAULT]/rpc_cast_timeout |
| #zmq_linger = -1 |
| |
| # The default number of seconds that poll should wait. Poll raises timeout |
| # exception when timeout expired. (integer value) |
| # Deprecated group/name - [DEFAULT]/rpc_poll_timeout |
| #rpc_poll_timeout = 1 |
| |
| # Expiration timeout in seconds of a name service record about existing target |
| # ( < 0 means no timeout). (integer value) |
| # Deprecated group/name - [DEFAULT]/zmq_target_expire |
| #zmq_target_expire = 300 |
| |
| # Update period in seconds of a name service record about existing target. |
| # (integer value) |
| # Deprecated group/name - [DEFAULT]/zmq_target_update |
| #zmq_target_update = 180 |
| |
| # Use PUB/SUB pattern for fanout methods. PUB/SUB always uses proxy. (boolean |
| # value) |
| # Deprecated group/name - [DEFAULT]/use_pub_sub |
| #use_pub_sub = false |
| |
| # Use ROUTER remote proxy. (boolean value) |
| # Deprecated group/name - [DEFAULT]/use_router_proxy |
| #use_router_proxy = false |
| |
| # This option makes direct connections dynamic or static. It makes sense only |
| # with use_router_proxy=False which means to use direct connections for direct |
| # message types (ignored otherwise). (boolean value) |
| #use_dynamic_connections = false |
| |
| # How many additional connections to a host will be made for failover reasons. |
| # This option is actual only in dynamic connections mode. (integer value) |
| #zmq_failover_connections = 2 |
| |
| # Minimal port number for random ports range. (port value) |
| # Minimum value: 0 |
| # Maximum value: 65535 |
| # Deprecated group/name - [DEFAULT]/rpc_zmq_min_port |
| #rpc_zmq_min_port = 49153 |
| |
| # Maximal port number for random ports range. (integer value) |
| # Minimum value: 1 |
| # Maximum value: 65536 |
| # Deprecated group/name - [DEFAULT]/rpc_zmq_max_port |
| #rpc_zmq_max_port = 65536 |
| |
| # Number of retries to find free port number before fail with ZMQBindError. |
| # (integer value) |
| # Deprecated group/name - [DEFAULT]/rpc_zmq_bind_port_retries |
| #rpc_zmq_bind_port_retries = 100 |
| |
| # Default serialization mechanism for serializing/deserializing |
| # outgoing/incoming messages (string value) |
| # Allowed values: json, msgpack |
| # Deprecated group/name - [DEFAULT]/rpc_zmq_serialization |
| #rpc_zmq_serialization = json |
| |
| # This option configures round-robin mode in zmq socket. True means not keeping |
| # a queue when server side disconnects. False means to keep queue and messages |
| # even if server is disconnected, when the server appears we send all |
| # accumulated messages to it. (boolean value) |
| #zmq_immediate = true |
| |
| # Enable/disable TCP keepalive (KA) mechanism. The default value of -1 (or any |
| # other negative value) means to skip any overrides and leave it to OS default; |
| # 0 and 1 (or any other positive value) mean to disable and enable the option |
| # respectively. (integer value) |
| #zmq_tcp_keepalive = -1 |
| |
| # The duration between two keepalive transmissions in idle condition. The unit |
| # is platform dependent, for example, seconds in Linux, milliseconds in Windows |
| # etc. The default value of -1 (or any other negative value and 0) means to |
| # skip any overrides and leave it to OS default. (integer value) |
| #zmq_tcp_keepalive_idle = -1 |
| |
| # The number of retransmissions to be carried out before declaring that remote |
| # end is not available. The default value of -1 (or any other negative value |
| # and 0) means to skip any overrides and leave it to OS default. (integer |
| # value) |
| #zmq_tcp_keepalive_cnt = -1 |
| |
| # The duration between two successive keepalive retransmissions, if |
| # acknowledgement to the previous keepalive transmission is not received. The |
| # unit is platform dependent, for example, seconds in Linux, milliseconds in |
| # Windows etc. The default value of -1 (or any other negative value and 0) |
| # means to skip any overrides and leave it to OS default. (integer value) |
| #zmq_tcp_keepalive_intvl = -1 |
| |
| # Maximum number of (green) threads to work concurrently. (integer value) |
| #rpc_thread_pool_size = 100 |
| |
| # Expiration timeout in seconds of a sent/received message after which it is |
| # not tracked anymore by a client/server. (integer value) |
| #rpc_message_ttl = 300 |
| |
| # Wait for message acknowledgements from receivers. This mechanism works only |
| # via proxy without PUB/SUB. (boolean value) |
| #rpc_use_acks = false |
| |
| # Number of seconds to wait for an ack from a cast/call. After each retry |
| # attempt this timeout is multiplied by some specified multiplier. (integer |
| # value) |
| #rpc_ack_timeout_base = 15 |
| |
| # Number to multiply base ack timeout by after each retry attempt. (integer |
| # value) |
| #rpc_ack_timeout_multiplier = 2 |
| |
| # Default number of message sending attempts in case of any problems occurred: |
| # positive value N means at most N retries, 0 means no retries, None or -1 (or |
| # any other negative values) mean to retry forever. This option is used only if |
| # acknowledgments are enabled. (integer value) |
| #rpc_retry_attempts = 3 |
| |
| # List of publisher hosts SubConsumer can subscribe on. This option has higher |
| # priority then the default publishers list taken from the matchmaker. (list |
| # value) |
| #subscribe_on = |
| |
| # Size of executor thread pool. (integer value) |
| # Deprecated group/name - [DEFAULT]/rpc_thread_pool_size |
| #executor_thread_pool_size = 64 |
| |
| # Seconds to wait for a response from a call. (integer value) |
| #rpc_response_timeout = 60 |
| |
| # A URL representing the messaging driver to use and its full configuration. |
| # (string value) |
| #transport_url = <None> |
| {%- if manager.message_queue.members is defined %} |
| transport_url = rabbit://{% for member in manager.message_queue.members -%} |
| {{ manager.message_queue.user }}:{{ manager.message_queue.password }}@{{ member.host }}:{{ member.get('port', 5672) }} |
| {%- if not loop.last -%},{%- endif -%} |
| {%- endfor -%} |
| /{{ manager.message_queue.virtual_host }} |
| {%- else %} |
| transport_url = rabbit://{{ manager.message_queue.user }}:{{ manager.message_queue.password }}@{{ manager.message_queue.host }}:{{ manager.message_queue.port }}/{{ manager.message_queue.virtual_host }} |
| {%- endif %} |
| |
| # DEPRECATED: The messaging driver to use, defaults to rabbit. Other drivers |
| # include amqp and zmq. (string value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Replaced by [DEFAULT]/transport_url |
| #rpc_backend = rabbit |
| |
| # The default exchange under which topics are scoped. May be overridden by an |
| # exchange name specified in the transport_url option. (string value) |
| #control_exchange = octavia |
| |
| # |
| # From oslo.service.service |
| # |
| |
| # Enable eventlet backdoor. Acceptable values are 0, <port>, and |
| # <start>:<end>, where 0 results in listening on a random tcp port number; |
| # <port> results in listening on the specified port number (and not enabling |
| # backdoor if that port is in use); and <start>:<end> results in listening on |
| # the smallest unused port number within the specified range of port numbers. |
| # The chosen port is displayed in the service's log file. (string value) |
| #backdoor_port = <None> |
| |
| # Enable eventlet backdoor, using the provided path as a unix socket that can |
| # receive connections. This option is mutually exclusive with 'backdoor_port' |
| # in that only one should be provided. If both are provided then the existence |
| # of this option overrides the usage of that option. (string value) |
| #backdoor_socket = <None> |
| |
| # Enables or disables logging values of all registered options when starting a |
| # service (at DEBUG level). (boolean value) |
| #log_options = true |
| |
| # Specify a timeout after which a gracefully shutdown server will exit. Zero |
| # value means endless wait. (integer value) |
| #graceful_shutdown_timeout = 60 |
| |
| |
| [api_settings] |
| |
| # |
| # From octavia |
| # |
| |
| # The host IP to bind to (IP address value) |
| #bind_host = 127.0.0.1 |
| {%- if pillar.octavia.api is defined %} |
| bind_host = {{ api.bind.address }} |
| {% endif %} |
| |
| # The port to bind to (port value) |
| # Minimum value: 0 |
| # Maximum value: 65535 |
| #bind_port = 9876 |
| {%- if pillar.octavia.api is defined %} |
| bind_port = {{ api.bind.port }} |
| {% endif %} |
| |
| # The auth strategy for API requests. (string value) |
| # Allowed values: noauth, keystone |
| #auth_strategy = keystone |
| |
| # The handler that the API communicates with (string value) |
| #api_handler = queue_producer |
| |
| # Allow the usage of the pagination (boolean value) |
| #allow_pagination = false |
| |
| # Allow the usage of the sorting (boolean value) |
| #allow_sorting = false |
| |
| # Allow the usage of the filtering (boolean value) |
| #allow_filtering = false |
| |
| # Allow the usage of the field selection (boolean value) |
| #allow_field_selection = false |
| |
| # The maximum number of items returned in a single response. |
| # The string 'infinite' or a negative integer value means 'no limit' |
| #pagination_max_limit = 'infinite' |
| |
| # Base URI for the API for use in pagination links. |
| # This will be autodetected from the request if not overridden here. |
| #api_base_uri = '' |
| |
| # Enable/disable exposing API endpoints (boolean value) |
| # api_v1_enabled = True |
| # api_v2_enabled = True |
| |
| {%- if pillar.octavia.api is defined %} |
| api_v1_enabled = {{ api.get('api_v1_enabled', 'True') }} |
| api_v2_enabled = {{ api.get('api_v2_enabled', 'True') }} |
| {% endif %} |
| |
| # Allow users to create TLS Terminated listeners |
| #allow_tls_terminated_listeners = True |
| |
| [amphora_agent] |
| |
| # |
| # From octavia |
| # |
| |
| # The ca which signed the client certificates (string value) |
| #agent_server_ca = /etc/octavia/certs/client_ca.pem |
| |
| # The server certificate for the agent.py server to use (string value) |
| #agent_server_cert = /etc/octavia/certs/server.pem |
| |
| # The directory where new network interfaces are located (string value) |
| #agent_server_network_dir = <None> |
| |
| # The file where the network interfaces are located. Specifying this will |
| # override any value set for agent_server_network_dir. (string value) |
| #agent_server_network_file = <None> |
| |
| # The time in seconds to allow a request from the controller to run before |
| # terminating the socket. (integer value) |
| #agent_request_read_timeout = 120 |
| |
| # The amphora ID. (string value) |
| #amphora_id = <None> |
| |
| [certificates] |
| |
| # |
| # From octavia |
| # |
| |
| # Absolute path to the CA Certificate for signing. Defaults |
| # to env[OS_OCTAVIA_TLS_CA_CERT]. |
| # ca_certificate = /etc/ssl/certs/ssl-cert-snakeoil.pem |
| ca_certificate = {{ manager.certificates.ca_certificate }} |
| |
| # Absolute path to the Private Key for signing. Defaults |
| # to env[OS_OCTAVIA_TLS_CA_KEY]. |
| # ca_private_key = /etc/ssl/private/ssl-cert-snakeoil.key |
| ca_private_key = {{ manager.certificates.ca_private_key }} |
| |
| # Passphrase for the Private Key. Defaults |
| # to env[OS_OCTAVIA_CA_KEY_PASS] or None. |
| # ca_private_key_passphrase = |
| |
| # Certificate signing digest. Defaults |
| # to env[OS_OCTAVIA_CA_SIGNING_DIGEST] or "sha256". |
| # signing_digest = sha256 |
| |
| # Absolute path to the certificate storage directory. |
| # Defaults to env[OS_OCTAVIA_TLS_STORAGE]. |
| # storage_path = /var/lib/octavia/certificates/ |
| |
| # Name of the cert manager to use (string value) |
| #cert_manager = barbican_cert_manager |
| |
| # Name of the cert generator to use (string value) |
| #cert_generator = local_cert_generator |
| |
| # Name of the Barbican authentication method to use (string value) |
| #barbican_auth = barbican_acl_auth |
| |
| # The name of the certificate service in the keystonecatalog (string value) |
| #service_name = <None> |
| |
| # A new endpoint to override the endpoint in the keystone catalog. (string |
| # value) |
| #endpoint = <None> |
| |
| # Region in Identity service catalog to use for communication with the barbican |
| # service. (string value) |
| #region_name = <None> |
| |
| # The endpoint_type to be used for barbican service. (string value) |
| #endpoint_type = publicURL |
| endpoint_type = {{ manager.identity.get('endpoint_type', 'public') }} |
| |
| # CA certificates file path (string value) |
| #ca_certificates_file = <None> |
| |
| # Disable certificate validation on SSL connections (boolean value) |
| #insecure = false |
| |
| [controller_worker] |
| |
| # |
| # From octavia |
| # |
| #Number of workers for the controller-worker service. |
| workers= {{ manager.controller_worker.workers }} |
| |
| # Retry attempts to wait for Amphora to become active (integer value) |
| #amp_active_retries = 10 |
| amp_active_retries = 100 |
| |
| # Seconds to wait between checks on whether an Amphora has become active |
| # (integer value) |
| #amp_active_wait_sec = 10 |
| amp_active_wait_sec = 2 |
| |
| # Nova instance flavor id for the Amphora (string value) |
| #amp_flavor_id = |
| amp_flavor_id = {{ manager.controller_worker.amp_flavor_id }} |
| |
| # Glance image tag for the Amphora image to boot. Use this option to be able to |
| # update the image without reconfiguring Octavia. Ignored if amp_image_id is |
| # defined. (string value) |
| #amp_image_tag = |
| amp_image_tag = {{ manager.controller_worker.amp_image_tag }} |
| |
| # DEPRECATED: Glance image id for the Amphora image to boot (string value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Superseded by amp_image_tag option. |
| #amp_image_id = |
| |
| # Restrict glance image selection to a specific owner ID. This is a |
| # recommended security setting. (string value) |
| #amp_image_owner_id = |
| amp_image_owner_id = {{ amp_image_owner_id }} |
| |
| # SSH key name used to boot the Amphora (string value) |
| #amp_ssh_key_name = |
| amp_ssh_key_name = {{ manager.controller_worker.amp_ssh_key_name }} |
| |
| # Determines whether or not to allow access to the Amphorae (boolean value) |
| #amp_ssh_access_allowed = true |
| |
| # List of networks to attach to the Amphorae. All networks defined in the list |
| # will be attached to each amphora. (list value) |
| #amp_boot_network_list = |
| amp_boot_network_list = {{ amp_boot_network_list }} |
| |
| # DEPRECATED: Network to attach to the Amphorae. (string value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Replaced by amp_boot_network_list. |
| #amp_network = |
| |
| # List of security groups to attach to the Amphora. (list value) |
| #amp_secgroup_list = |
| amp_secgroup_list = {{ amp_secgroup_list }} |
| |
| # Client CA for the amphora agent to use (string value) |
| #client_ca = /etc/octavia/certs/ca_01.pem |
| client_ca = {{ manager.haproxy_amphora.server_ca }} |
| |
| # Name of the amphora driver to use (string value) |
| #amphora_driver = amphora_noop_driver |
| amphora_driver = amphora_haproxy_rest_driver |
| |
| # Name of the compute driver to use (string value) |
| #compute_driver = compute_noop_driver |
| compute_driver = compute_nova_driver |
| |
| # Name of the network driver to use (string value) |
| #network_driver = network_noop_driver |
| network_driver = allowed_address_pairs_driver |
| |
| # Distributor driver options are distributor_noop_driver |
| # single_VIP_amphora |
| # |
| # distributor_driver = distributor_noop_driver |
| |
| # Load balancer topology configuration. SINGLE - One amphora per load balancer. |
| # ACTIVE_STANDBY - Two amphora per load balancer. (string value) |
| # Allowed values: ACTIVE_STANDBY, SINGLE |
| #loadbalancer_topology = SINGLE |
| loadbalancer_topology = {{ manager.controller_worker.loadbalancer_topology }} |
| |
| # If True, build cloud-init user-data that is passed to the config drive on |
| # Amphora boot instead of personality files. If False, utilize personality |
| # files. (boolean value) |
| #user_data_config_drive = false |
| |
| [cors] |
| {%- if pillar.octavia.api is defined %} |
| {%- if api.cors is defined %} |
| {%- set _data = api.cors %} |
| {%- include "oslo_templates/files/queens/oslo/_cors.conf" %} |
| {%- endif %} |
| {%- endif %} |
| |
| [database] |
| |
| {%- set _data = manager.database %} |
| {%- if _data.ssl is defined and 'cacert_file' not in _data.ssl.keys() %}{% do _data['ssl'].update({'cacert_file': manager.cacert_file}) %}{% endif %} |
| {%- include "oslo_templates/files/queens/oslo/_database.conf" %} |
| |
| [glance] |
| |
| # |
| # From octavia |
| # |
| |
| # The name of the glance service in the keystone catalog (string value) |
| #service_name = <None> |
| |
| # A new endpoint to override the endpoint in the keystone catalog. (string |
| # value) |
| #endpoint = <None> |
| |
| # Region in Identity service catalog to use for communication with the |
| # OpenStack services. (string value) |
| #region_name = <None> |
| |
| # Endpoint interface in identity service to use (string value) |
| #endpoint_type = publicURL |
| endpoint_type = {{ manager.identity.get('endpoint_type', 'public') }} |
| |
| # CA certificates file path (string value) |
| #ca_certificates_file = <None> |
| |
| # Disable certificate validation on SSL connections (boolean value) |
| #insecure = false |
| |
| [haproxy_amphora] |
| |
| # |
| # From octavia |
| # |
| |
| # Base directory for amphora files. (string value) |
| #base_path = /var/lib/octavia |
| base_path = /var/lib/octavia |
| |
| # Base directory for cert storage. (string value) |
| #base_cert_dir = /var/lib/octavia/certs |
| base_cert_dir = /var/lib/octavia/certs |
| |
| # Custom haproxy template. (string value) |
| #haproxy_template = <None> |
| |
| # Retry threshold for connecting to amphorae. (integer value) |
| #connection_max_retries = 300 |
| connection_max_retries = {{ manager.haproxy_amphora.get('connection_max_retries', '500') }} |
| |
| # Retry timeout between connection attempts in seconds. (integer value) |
| #connection_retry_interval = 5 |
| connection_retry_interval = 1 |
| |
| # Number of amphorae that could be built per controller worker, simultaneously. |
| #build_rate_limit=-1 |
| build_rate_limit = {{ manager.haproxy_amphora.get('build_rate_limit', '-1') }} |
| |
| # Retry threshold for waiting for a build slot for an amphorae. |
| #build_active_retries=300 |
| |
| # Retry timeout between build attempts in seconds. |
| #build_retry_interval=5 |
| |
| # The user group for haproxy to run under inside the amphora. (string value) |
| #user_group = nogroup |
| |
| # Size of the HAProxy stick table. Accepts k, m, g suffixes. Example: 10k |
| # (string value) |
| #haproxy_stick_size = 10k |
| |
| # The host IP to bind to (IP address value) |
| #bind_host = :: |
| |
| # The port to bind to (port value) |
| # Minimum value: 0 |
| # Maximum value: 65535 |
| #bind_port = 9443 |
| |
| # Network interface through which to reach amphora, only required if using IPv6 |
| # link local addresses. (string value) |
| #lb_network_interface = o-hm0 |
| |
| # The full path to haproxy (string value) |
| #haproxy_cmd = /usr/sbin/haproxy |
| |
| # The respawn count for haproxy's upstart script (integer value) |
| #respawn_count = 2 |
| |
| # The respawn interval for haproxy's upstart script (integer value) |
| #respawn_interval = 2 |
| |
| # The time in seconds to wait for a REST API to connect. (floating point value) |
| #rest_request_conn_timeout = 10 |
| rest_request_conn_timeout = 10 |
| |
| # The time in seconds to wait for a REST API response. (floating point value) |
| #rest_request_read_timeout = 60 |
| rest_request_read_timeout = 120 |
| |
| # These "active" timeouts are used once the amphora should already |
| # be fully up and active. These values are lower than the other values to |
| # facilitate "fail fast" scenarios like failovers |
| # active_connection_max_retries = 15 |
| # active_connection_rety_interval = 2 |
| |
| # The client certificate to talk to the agent (string value) |
| #client_cert = /etc/octavia/certs/client.pem |
| client_cert = {{ manager.haproxy_amphora.client_cert_all }} |
| |
| # The ca which signed the server certificates (string value) |
| #server_ca = /etc/octavia/certs/server_ca.pem |
| server_ca = {{ manager.haproxy_amphora.server_ca }} |
| |
| # DEPRECATED: If False, use sysvinit. (boolean value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: This is now automatically discovered and configured. |
| #use_upstart = true |
| |
| [health_manager] |
| |
| # |
| # From octavia |
| # |
| |
| # IP address the controller will listen on for heart beats (IP address value) |
| #bind_ip = 127.0.0.1 |
| bind_ip = {{ manager.health_manager.bind_ip }} |
| |
| # Port number the controller will listen on for heart beats (port value) |
| # Minimum value: 0 |
| # Maximum value: 65535 |
| #bind_port = 5555 |
| bind_port = {{ manager.health_manager.get('bind_port', 5555) }} |
| |
| # Number of threads performing amphora failovers. (integer value) |
| #failover_threads = 10 |
| |
| # status_update_threads will default to the number of processors on the host |
| # status_update_threads = |
| |
| # key used to validate amphora sending the message (string value) |
| #heartbeat_key = <None> |
| heartbeat_key = {{ manager.health_manager.heartbeat_key }} |
| |
| # Interval, in seconds, to wait before failing over an amphora. (integer value) |
| #heartbeat_timeout = 60 |
| |
| # Sleep time between health checks in seconds. (integer value) |
| #health_check_interval = 3 |
| |
| # sets the value of the heartbeat recv buffer (integer value) |
| #sock_rlimit = 0 |
| |
| # Health/StatsUpdate options are |
| # *_db |
| # *_logger |
| # health_update_driver = health_db |
| # stats_update_driver = stats_db |
| |
| # List of controller ip and port pairs for the heartbeat receivers. Example |
| # 127.0.0.1:5555, 192.168.0.1:5555 (list value) |
| #controller_ip_port_list = |
| {%- if manager.health_manager.controller_ip_port_list is defined %} |
| controller_ip_port_list = {{ manager.health_manager.controller_ip_port_list }} |
| {%- else %} |
| controller_ip_port_list = {{ manager.health_manager.bind_ip }}:{{ manager.health_manager.get('bind_port', 5555) }} |
| {%- endif %} |
| |
| # Sleep time between sending heartbeats. (integer value) |
| #heartbeat_interval = 10 |
| |
| # Specifies which driver to use for the event_streamer for syncing the octavia |
| # and neutron_lbaas dbs. If you don't need to sync the database or are running |
| # octavia in stand alone mode use the noop_event_streamer (string value) |
| #event_streamer_driver = noop_event_streamer |
| |
| [house_keeping] |
| |
| # |
| # From octavia |
| # |
| |
| # Spare check interval in seconds (integer value) |
| #spare_check_interval = 30 |
| |
| # Number of spare amphorae (integer value) |
| #spare_amphora_pool_size = 0 |
| spare_amphora_pool_size = {{ manager.house_keeping.spare_amphora_pool_size }} |
| |
| # DB cleanup interval in seconds (integer value) |
| #cleanup_interval = 30 |
| |
| # Amphora expiry age in seconds (integer value) |
| #amphora_expiry_age = 604800 |
| amphora_expiry_age = 3600 |
| |
| # Load balancer expiry age in seconds (integer value) |
| #load_balancer_expiry_age = 604800 |
| load_balancer_expiry_age = 3600 |
| |
| # Certificate check interval in seconds (integer value) |
| #cert_interval = 3600 |
| |
| # Seconds until certificate expiration (integer value) |
| #cert_expiry_buffer = 1209600 |
| |
| # Number of threads performing amphora certificate rotation (integer value) |
| #cert_rotate_threads = 10 |
| |
| [keepalived_vrrp] |
| |
| # |
| # From octavia |
| # |
| |
| # Amphora role and priority advertisement interval in seconds. (integer value) |
| #vrrp_advert_int = 1 |
| |
| # VRRP check script run interval in seconds. (integer value) |
| #vrrp_check_interval = 5 |
| |
| # Number of successive failures before transition to a fail state. (integer |
| # value) |
| #vrrp_fail_count = 2 |
| |
| # Number of consecutive successes before transition to a success state. |
| # (integer value) |
| #vrrp_success_count = 2 |
| |
| # Time in seconds between gratuitous ARP announcements from the MASTER. |
| # (integer value) |
| #vrrp_garp_refresh_interval = 5 |
| |
| # Number of gratuitous ARP announcements to make on each refresh interval. |
| # (integer value) |
| #vrrp_garp_refresh_count = 2 |
| |
| [keystone_authtoken] |
| |
| # |
| # From keystonemiddleware.auth_token |
| # |
| |
| # Complete "public" Identity API endpoint. This endpoint should not be an |
| # "admin" endpoint, as it should be accessible by all end users. |
| # Unauthenticated clients are redirected to this endpoint to authenticate. |
| # Although this endpoint should ideally be unversioned, client support in the |
| # wild varies. If you're using a versioned v2 endpoint here, then this should |
| # *not* be the same endpoint the service user utilizes for validating tokens, |
| # because normal end users may not be able to reach that endpoint. (string |
| # value) |
| # The www_authenticate_uri is the public endpoint and is returned in headers on a 401 |
| # auth_uri = https://localhost:5000/v3 # www_authenticate_uri |
| auth_uri={{ manager.identity.get('protocol', 'http') }}://{{ manager.identity.host }}:5000/v3 |
| |
| # The auth_url is the admin endpoint actually used for validating tokens |
| #auth_url = <None> |
| auth_url={{ manager.identity.get('protocol', 'http') }}://{{ manager.identity.host }}:35357 |
| |
| {%- set _data = manager.identity %} |
| {%- if 'cacert_file' not in _data.keys() %}{% do _data.update({'cacert_file': manager.cacert_file}) %}{% endif %} |
| {%- set auth_type = _data.get('auth_type', 'password') %} |
| {%- include "oslo_templates/files/queens/keystonemiddleware/_auth_token.conf" %} |
| {%- include "oslo_templates/files/queens/keystoneauth/_type_" + auth_type + ".conf" %} |
| |
| [matchmaker_redis] |
| |
| # |
| # From oslo.messaging |
| # |
| |
| # DEPRECATED: Host to locate redis. (string value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Replaced by [DEFAULT]/transport_url |
| #host = 127.0.0.1 |
| |
| # DEPRECATED: Use this port to connect to redis host. (port value) |
| # Minimum value: 0 |
| # Maximum value: 65535 |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Replaced by [DEFAULT]/transport_url |
| #port = 6379 |
| |
| # DEPRECATED: Password for Redis server (optional). (string value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Replaced by [DEFAULT]/transport_url |
| #password = |
| |
| # DEPRECATED: List of Redis Sentinel hosts (fault tolerance mode), e.g., |
| # [host:port, host1:port ... ] (list value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Replaced by [DEFAULT]/transport_url |
| #sentinel_hosts = |
| |
| # Redis replica set name. (string value) |
| #sentinel_group_name = oslo-messaging-zeromq |
| |
| # Time in ms to wait between connection attempts. (integer value) |
| #wait_timeout = 2000 |
| |
| # Time in ms to wait before the transaction is killed. (integer value) |
| #check_timeout = 20000 |
| |
| # Timeout in ms on blocking socket operations. (integer value) |
| #socket_timeout = 10000 |
| |
| [networking] |
| |
| # |
| # From octavia |
| # |
| |
| # The maximum attempts to retry an action with the networking service. (integer |
| # value) |
| #max_retries = 15 |
| |
| # Seconds to wait before retrying an action with the networking service. |
| # (integer value) |
| #retry_interval = 1 |
| |
| # Seconds to wait for a port to detach from an amphora. (integer value) |
| #port_detach_timeout = 300 |
| |
| # Can users supply a network_id for their VIP ? (boolean value) |
| #allow_vip_network_id = True |
| |
| # Can users supply a subnet_id for their VIP ? (boolean value) |
| #allow_vip_port_id = True |
| |
| # List of network_ids that are valid for VIP creation. |
| # If this field is empty, no validation is performed. |
| #valid_vip_networks = <None> |
| |
| [neutron] |
| |
| # |
| # From octavia |
| # |
| |
| # The name of the neutron service in the keystone catalog (string value) |
| #service_name = <None> |
| |
| # A new endpoint to override the endpoint in the keystone catalog. (string |
| # value) |
| #endpoint = <None> |
| |
| # Region in Identity service catalog to use for communication with the |
| # OpenStack services. (string value) |
| #region_name = <None> |
| |
| # Endpoint interface in identity service to use (string value) |
| #endpoint_type = publicURL |
| endpoint_type = {{ manager.identity.get('endpoint_type', 'public') }} |
| |
| # CA certificates file path (string value) |
| #ca_certificates_file = <None> |
| |
| # Disable certificate validation on SSL connections (boolean value) |
| #insecure = false |
| |
| [nova] |
| |
| # |
| # From octavia |
| # |
| |
| # The name of the nova service in the keystone catalog (string value) |
| #service_name = <None> |
| |
| # A new endpoint to override the endpoint in the keystone catalog. (string |
| # value) |
| #endpoint = <None> |
| |
| # Region in Identity service catalog to use for communication with the |
| # OpenStack services. (string value) |
| #region_name = <None> |
| |
| # Endpoint interface in identity service to use (string value) |
| #endpoint_type = publicURL |
| endpoint_type = {{ manager.identity.get('endpoint_type', 'public') }} |
| |
| # CA certificates file path (string value) |
| #ca_certificates_file = <None> |
| |
| # Disable certificate validation on SSL connections (boolean value) |
| #insecure = false |
| |
| # Flag to indicate if nova anti-affinity feature is turned on. (boolean value) |
| #enable_anti_affinity = false |
| |
| # Availability zone to use for creating Amphorae |
| availability_zone = {{ manager.nova.get('availability_zone', 'nova') }} |
| |
| [oslo_messaging] |
| |
| # |
| # From octavia |
| # |
| |
| # (string value) |
| #topic = <None> |
| topic = octavia_prov |
| |
| # topic name for communicating events through a queue (string value) |
| #event_stream_topic = neutron_lbaas_event |
| |
| # Transport URL to use for the neutron-lbaas synchronization event stream |
| # when neutron and octavia have separate queues. |
| # For Single Host, specify one full transport URL: |
| # event_stream_transport_url = rabbit://<user>:<pass>@127.0.0.1:5672/<vhost> |
| # For HA, specify queue nodes in cluster, comma delimited: |
| # event_stream_transport_url = rabbit://<user>:<pass>@server01,<user>:<pass>@server02/<vhost> |
| # event_stream_transport_url = |
| |
| [oslo_messaging_amqp] |
| |
| {%- set _data = manager %} |
| {%- include "oslo_templates/files/queens/oslo/messaging/_amqp.conf" %} |
| |
| [oslo_messaging_kafka] |
| {%- include "oslo_templates/files/queens/oslo/messaging/_kafka.conf" %} |
| |
| |
| [oslo_messaging_notifications] |
| |
| {%- set _data = manager.get('notification', {}) %} |
| {%- include "oslo_templates/files/queens/oslo/messaging/_notifications.conf" %} |
| |
| [oslo_messaging_rabbit] |
| |
| {%- set _data = manager.message_queue %} |
| {%- if 'cacert_file' not in _data.keys() %}{% do _data.update({'cacert_file': manager.cacert_file}) %}{% endif %} |
| {%- include "oslo_templates/files/queens/oslo/messaging/_rabbit.conf" %} |
| |
| [oslo_messaging_zmq] |
| |
| {%- set _data = manager.message_queue %} |
| {%- include "oslo_templates/files/queens/oslo/messaging/_zmq.conf" %} |
| |
| [oslo_policy] |
| |
| {%- set _data = manager.get('oslo_policy', {}) %} |
| {%- include "oslo_templates/files/queens/oslo/_policy.conf" %} |
| |
| [service_auth] |
| |
| # |
| # From octavia |
| # |
| |
| # Authentication URL (string value) |
| #auth_url = <None> |
| auth_url={{ manager.identity.get('protocol', 'http') }}://{{ manager.identity.host }}:35357 |
| |
| # Authentication type to load (string value) |
| # Deprecated group/name - [service_auth]/auth_plugin |
| #auth_type = <None> |
| auth_type = password |
| |
| # PEM encoded Certificate Authority to use when verifying HTTPs connections. |
| # (string value) |
| #cafile = <None> |
| |
| # PEM encoded client certificate cert file (string value) |
| #certfile = <None> |
| |
| # Optional domain ID to use with v3 and v2 parameters. It will be used for both |
| # the user and project domain in v3 and ignored in v2 authentication. (string |
| # value) |
| #default_domain_id = <None> |
| |
| # Optional domain name to use with v3 API and v2 parameters. It will be used |
| # for both the user and project domain in v3 and ignored in v2 authentication. |
| # (string value) |
| #default_domain_name = <None> |
| |
| # Domain ID to scope to (string value) |
| #domain_id = <None> |
| |
| # Domain name to scope to (string value) |
| #domain_name = <None> |
| |
| # Verify HTTPS connections. (boolean value) |
| #insecure = false |
| |
| # PEM encoded client certificate key file (string value) |
| #keyfile = <None> |
| |
| # User's password (string value) |
| #password = <None> |
| password = {{ manager.identity.password }} |
| |
| # Domain ID containing project (string value) |
| #project_domain_id = <None> |
| project_domain_id = {{ manager.identity.get('domain', 'default') }} |
| |
| # Domain name containing project (string value) |
| #project_domain_name = <None> |
| |
| # Project ID to scope to (string value) |
| # Deprecated group/name - [service_auth]/tenant-id |
| #project_id = <None> |
| |
| # Project name to scope to (string value) |
| # Deprecated group/name - [service_auth]/tenant-name |
| #project_name = <None> |
| project_name = {{ manager.identity.tenant }} |
| |
| # Tenant ID (string value) |
| #tenant_id = <None> |
| |
| # Tenant Name (string value) |
| #tenant_name = <None> |
| |
| # Timeout value for http requests (integer value) |
| #timeout = <None> |
| |
| # Trust ID (string value) |
| #trust_id = <None> |
| |
| # User's domain id (string value) |
| #user_domain_id = <None> |
| user_domain_id = {{ manager.identity.get('domain', 'default') }} |
| |
| # User's domain name (string value) |
| #user_domain_name = <None> |
| |
| # User id (string value) |
| #user_id = <None> |
| |
| # Username (string value) |
| # Deprecated group/name - [service_auth]/user-name |
| #username = <None> |
| username = {{ manager.identity.user }} |
| |
| [task_flow] |
| |
| # |
| # From octavia |
| # |
| |
| # TaskFlow engine to use (string value) |
| #engine = serial |
| |
| # The maximum number of workers (integer value) |
| #max_workers = 5 |