blob: 15895e9ab1999e82cb428a62054f7aa5380201b4 [file] [log] [blame]
{%- from "ceilometer/map.jinja" import server with context %}
[DEFAULT]
#
# From oslo.messaging
#
# Print debugging output (set logging level to DEBUG instead
# of default WARNING level). (boolean value)
#debug=false
{%- if server.debug is defined %}
debug = {{ server.debug }}
{%- else %}
debug = False
{%- endif %}
# Print more verbose output (set logging level to INFO instead
# of default WARNING level). (boolean value)
#verbose=false
verbose=True
# Size of RPC connection pool. (integer value)
#rpc_conn_pool_size = 30
auth_strategy = keystone
# ZeroMQ bind address. Should be a wildcard (*), an ethernet
# interface, or IP. The "host" option should point or resolve to this
# address. (string value)
#rpc_zmq_bind_address = *
# MatchMaker driver. (string value)
#rpc_zmq_matchmaker = local
# ZeroMQ receiver listening port. (integer value)
#rpc_zmq_port = 9501
# Number of ZeroMQ contexts, defaults to 1. (integer value)
#rpc_zmq_contexts = 1
# Maximum number of ingress messages to locally buffer per topic.
# Default is unlimited. (integer value)
#rpc_zmq_topic_backlog = <None>
# Directory for holding IPC sockets. (string value)
#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)
#rpc_zmq_host = localhost
# Seconds to wait before a cast expires (TTL). Only supported by
# impl_zmq. (integer value)
#rpc_cast_timeout = 30
# Heartbeat frequency. (integer value)
#matchmaker_heartbeat_freq = 300
# Heartbeat time-to-live. (integer value)
#matchmaker_heartbeat_ttl = 600
# Size of RPC thread pool. (integer value)
#rpc_thread_pool_size = 64
{%- if server.message_queue.rpc_thread_pool_size is defined %}
rpc_thread_pool_size = {{ server.message_queue.rpc_thread_pool_size }}
{%- endif %}
# Driver or drivers to handle sending notifications. (multi valued)
#notification_driver =
# AMQP topic used for OpenStack notifications. (list value)
# Deprecated group/name - [rpc_notifier2]/topics
#notification_topics = notifications
notification_topics=notifications
# 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. If not set, we fall back to the rpc_backend option
# and driver specific configuration. (string value)
#transport_url = <None>
# The messaging driver to use, defaults to rabbit. Other drivers
# include qpid and zmq. (string value)
#rpc_backend = rabbit
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 = openstack
# List of pollsters (or wildcard templates) to be used while polling
#pollster_list =
{%- if server.pollster_list is defined %}
pollster_list = {{ server.pollster_list }}
{%- endif %}
# To reduce polling agent load, samples are sent to the notification
# agent in a batch. To gain higher throughput at the cost of load set
# this to False.
#batch_polled_samples = True
{%- if server.batch_polled_samples is defined %}
batch_polled_samples = {{ server.batch_polled_samples|lower }}
{%- endif %}
[api]
#
# Options defined in ceilometer.api
#
# The port for the ceilometer API server. (integer value)
# Deprecated group/name - [DEFAULT]/metering_api_port
#port=8777
port={{ server.bind.port }}
# The listen IP for the ceilometer API server. (string value)
#host=0.0.0.0
host={{ server.bind.host }}
# Set it to False if your environment does not need or have
# dns server, otherwise it will delay the response from api.
# (boolean value)
#enable_reverse_dns_lookup=false
workers={{ server.get('workers', 1) }}
[coordination]
#
# From ceilometer
#
# The backend URL to use for distributed coordination. If left empty, per-
# deployment central agent and per-host compute agent won't do workload
# partitioning and will only function correctly if a single instance of that
# service is running. (string value)
{%- if server.coordination_backend is defined %}
backend_url = {{ server.coordination_backend.url }}
{%- endif %}
# Number of seconds between heartbeats for distributed coordination. (floating
# point value)
#heartbeat = 1.0
# Number of seconds between checks to see if group membership has changed
# (floating point value)
#check_watchers = 10.0
[database]
metering_time_to_live = {{ server.ttl }}
event_time_to_live = {{ server.ttl }}
alarm_history_time_to_live = {{ server.ttl }}
#
# From oslo.db
#
# The file name to use with SQLite. (string value)
# Deprecated group/name - [DEFAULT]/sqlite_db
#sqlite_db = oslo.sqlite
# If True, SQLite uses synchronous mode. (boolean value)
# Deprecated group/name - [DEFAULT]/sqlite_synchronous
#sqlite_synchronous = true
# The back end to use for the database. (string value)
# Deprecated group/name - [DEFAULT]/db_backend
#backend = sqlalchemy
# The SQLAlchemy connection string to use to connect to the database.
# (string value)
# Deprecated group/name - [DEFAULT]/sql_connection
# Deprecated group/name - [DATABASE]/sql_connection
# Deprecated group/name - [sql]/connection
{%- if server.database.influxdb.members is defined %}
metering_connection = {% for member in server.database.influxdb.members -%}
stacklight://{{ server.database.influxdb.user }}:{{ server.database.influxdb.password }}@{% for member in server.database.influxdb.members %}{{ member.host }}:{{ member.port }}{% if not loop.last %},{% endif %}{% endfor %}/{{ server.database.influxdb.name }}
{%- endfor -%}
{%- else %}
metering_connection = stacklight://{{ server.database.influxdb.user }}:{{ server.database.influxdb.password }}@{{ server.database.influxdb.host }}:{{ server.database.influxdb.port }}/{{ server.database.influxdb.database }}
{%- endif %}
{%- if server.database.elasticsearch.enabled %}
resource_connection = es://{{ server.database.elasticsearch.host}}:{{server.database.elasticsearch.port }}
event_connection = es://{{ server.database.elasticsearch.host}}:{{server.database.elasticsearch.port }}
{%- else %}
resource_connection = es://localhost:9200
event_connection = log://
{%- endif %}
# Maximum number of database connection retries during startup. Set to
# -1 to specify an infinite retry count. (integer value)
# Deprecated group/name - [DEFAULT]/sql_max_retries
# Deprecated group/name - [DATABASE]/sql_max_retries
#max_retries = 10
max_retries = -1
[keystone_authtoken]
#
# From keystonemiddleware.auth_token
#
# Service tenant name. (string value)
#admin_tenant_name = admin
auth_host={{ server.identity.host }}
# Port of the admin Identity API endpoint (integer value)
#auth_port=35357
auth_port={{ server.identity.port }}
# Protocol of the admin Identity API endpoint(http or https)
# (string value)
#auth_protocol=https
auth_protocol=http
# Complete public Identity API endpoint (string value)
#auth_uri=<None>
auth_uri=http://{{ server.identity.host }}:5000/
# Complete admin Identity API endpoint. This should specify
# the unversioned root endpoint e.g. https://localhost:35357/
# (string value)
#identity_uri=<None>
identity_uri=http://{{ server.identity.host }}:35357
# API version of the admin Identity API endpoint (string
# value)
#auth_version=<None>
# Do not handle authorization requests within the middleware,
# but delegate the authorization decision to downstream WSGI
# components (boolean value)
#delay_auth_decision=false
# Request timeout value for communicating with Identity API
# server. (boolean value)
#http_connect_timeout=<None>
# How many times are we trying to reconnect when communicating
# with Identity API Server. (integer value)
#http_request_max_retries=3
# This option is deprecated and may be removed in a future
# release. Single shared secret with the Keystone
# configuration used for bootstrapping a Keystone
# installation, or otherwise bypassing the normal
# authentication process. This option should not be used, use
# `admin_user` and `admin_password` instead. (string value)
#admin_token=<None>
# Keystone account username (string value)
#admin_user=<None>
admin_user={{ server.identity.user }}
# Keystone account password (string value)
#admin_password=<None>
admin_password={{ server.identity.password }}
# Keystone service account tenant name to validate user tokens
# (string value)
#admin_tenant_name=admin
admin_tenant_name={{ server.identity.tenant }}
[notification]
#
# Options defined in ceilometer.notification
#
# Acknowledge message when event persistence fails. (boolean
# value)
#ack_on_event_error=true
ack_on_event_error=True
# Save event details. (boolean value)
#store_events=false
{%- if server.database.elasticsearch.enabled %}
store_events=True
{%- else %}
store_events=False
{%- endif %}
# Messaging URLs to listen for notifications. Example:
# transport://user:pass@host1:port[,hostN:portN]/virtual_host
# (DEFAULT/transport_url is used if empty) (multi valued)
#messaging_urls=
disable_non_metric_meters = False
{%- if server.workers is defined %}
workers = server.get("workers", 1)
{%- endif %}
[publisher]
#
# Options defined in ceilometer.publisher.utils
#
# Secret value for signing metering messages. (string value)
# Deprecated group/name - [DEFAULT]/metering_secret
# Deprecated group/name - [publisher_rpc]/metering_secret
#metering_secret=change this or be hacked
telemetry_secret={{ server.secret }}
{%- for publisher_name, publisher in server.get('publisher', {}).iteritems() %}
{%- if publisher_name == 'graphite' %}
graphite=ceilometer.publisher.graphite:GraphitePublisher
{%- endif %}
{%- endfor %}
[oslo_messaging_rabbit]
#
# From oslo.messaging
#
# Use durable queues in AMQP. (boolean value)
# Deprecated group/name - [DEFAULT]/rabbit_durable_queues
#amqp_durable_queues = false
# Auto-delete queues in AMQP. (boolean value)
# Deprecated group/name - [DEFAULT]/amqp_auto_delete
#amqp_auto_delete = false
# SSL version to use (valid only if SSL enabled). Valid values are
# TLSv1 and SSLv23. SSLv2, SSLv3, TLSv1_1, and TLSv1_2 may be
# available on some distributions. (string value)
# Deprecated group/name - [DEFAULT]/kombu_ssl_version
#kombu_ssl_version =
# SSL key file (valid only if SSL enabled). (string value)
# Deprecated group/name - [DEFAULT]/kombu_ssl_keyfile
#kombu_ssl_keyfile =
# SSL cert file (valid only if SSL enabled). (string value)
# Deprecated group/name - [DEFAULT]/kombu_ssl_certfile
#kombu_ssl_certfile =
# SSL certification authority file (valid only if SSL enabled).
# (string value)
# Deprecated group/name - [DEFAULT]/kombu_ssl_ca_certs
#kombu_ssl_ca_certs =
# How long to wait before reconnecting in response to an AMQP consumer
# cancel notification. (floating point value)
# Deprecated group/name - [DEFAULT]/kombu_reconnect_delay
#kombu_reconnect_delay = 1.0
kombu_reconnect_delay = 5.0
# RabbitMQ HA cluster host:port pairs. (list value)
# Deprecated group/name - [DEFAULT]/rabbit_hosts
{%- if server.message_queue.members is defined %}
rabbit_hosts = {% for member in server.message_queue.members -%}
{{ member.host }}:{{ member.get('port', 5672) }}
{%- if not loop.last -%},{%- endif -%}
{%- endfor -%}
{%- else %}
# The RabbitMQ broker address where a single node is used. (string
# value)
# Deprecated group/name - [DEFAULT]/rabbit_host
#rabbit_host = localhost
rabbit_host = {{ server.message_queue.host }}
# The RabbitMQ broker port where a single node is used. (integer
# value)
# Deprecated group/name - [DEFAULT]/rabbit_port
#rabbit_port = 5672
rabbit_port = {{ server.message_queue.port }}
{%- endif %}
# Connect over SSL for RabbitMQ. (boolean value)
# Deprecated group/name - [DEFAULT]/rabbit_use_ssl
#rabbit_use_ssl = false
# The RabbitMQ userid. (string value)
# Deprecated group/name - [DEFAULT]/rabbit_userid
#rabbit_userid = guest
rabbit_userid = {{ server.message_queue.user }}
# The RabbitMQ password. (string value)
# Deprecated group/name - [DEFAULT]/rabbit_password
#rabbit_password = guest
rabbit_password = {{ server.message_queue.password }}
# The RabbitMQ login method. (string value)
# Deprecated group/name - [DEFAULT]/rabbit_login_method
#rabbit_login_method = AMQPLAIN
# The RabbitMQ virtual host. (string value)
# Deprecated group/name - [DEFAULT]/rabbit_virtual_host
#rabbit_virtual_host = /
rabbit_virtual_host = {{ server.message_queue.virtual_host }}
# How frequently to retry connecting with RabbitMQ. (integer value)
#rabbit_retry_interval = 1
# How long to backoff for between retries when connecting to RabbitMQ.
# (integer value)
# Deprecated group/name - [DEFAULT]/rabbit_retry_backoff
#rabbit_retry_backoff = 2
# Maximum number of RabbitMQ connection retries. Default is 0
# (infinite retry count). (integer value)
# Deprecated group/name - [DEFAULT]/rabbit_max_retries
#rabbit_max_retries = 0
# Use HA queues in RabbitMQ (x-ha-policy: all). If you change this
# option, you must wipe the RabbitMQ database. (boolean value)
# Deprecated group/name - [DEFAULT]/rabbit_ha_queues
#rabbit_ha_queues = false
# Number of seconds after which the Rabbit broker is considered down
# if heartbeat's keep-alive fails (0 disable the heartbeat). (integer
# value)
#heartbeat_timeout_threshold = 60
# How often times during the heartbeat_timeout_threshold we check the
# heartbeat. (integer value)
#heartbeat_rate = 2
# Deprecated, use rpc_backend=kombu+memory or rpc_backend=fake
# (boolean value)
# Deprecated group/name - [DEFAULT]/fake_rabbit
#fake_rabbit = false
[service_credentials]
#
# Options defined in ceilometer.service
#
# User name to use for OpenStack service access. (string
# value)
#os_username=ceilometer
os_username={{ server.identity.user }}
# Password to use for OpenStack service access. (string value)
#os_password=admin
os_password={{ server.identity.password }}
# Tenant ID to use for OpenStack service access. (string
# value)
#os_tenant_id=
# Tenant name to use for OpenStack service access. (string
# value)
#os_tenant_name=admin
os_tenant_name={{ server.identity.tenant }}
# Certificate chain for SSL validation. (string value)
#os_cacert=<None>
# Auth URL to use for OpenStack service access. (string value)
#os_auth_url=http://localhost:5000/v2.0
os_auth_url=http://{{ server.identity.host }}:5000/v2.0
# Region name to use for OpenStack service endpoints. (string
# value)
#os_region_name=<None>
os_region_name={{ server.get('region', 'RegionOne') }}
# Type of endpoint in Identity service catalog to use for
# communication with OpenStack services. (string value)
os_endpoint_type={{ server.identity.get('endpoint_type', 'publicURL') }}
# Disables X.509 certificate validation when an SSL connection
# to Identity Service is established. (boolean value)
#insecure=false
[cors]
#
# From oslo.middleware
#
# Indicate whether this resource may be shared with the domain received in the
# requests "origin" header. (list value)
#allowed_origin = <None>
{% if server.get('cors', {}).allowed_origin is defined %}
allowed_origin = {{ server.cors.allowed_origin }}
{% endif %}
# Indicate that the actual request can include user credentials (boolean value)
#allow_credentials = true
{% if server.get('cors', {}).allow_credentials is defined %}
allow_credentials = {{ server.cors.allow_credentials }}
{% endif %}
# Indicate which headers are safe to expose to the API. Defaults to HTTP Simple
# Headers. (list value)
#expose_headers = X-Auth-Token,X-Openstack-Request-Id,X-Subject-Token
{% if server.get('cors', {}).expose_headers is defined %}
expose_headers = {{ server.cors.expose_headers }}
{% endif %}
# Maximum cache age of CORS preflight requests. (integer value)
#max_age = 3600
{% if server.get('cors', {}).max_age is defined %}
max_age = {{ server.cors.max_age }}
{% endif %}
# Indicate which methods can be used during the actual request. (list value)
#allow_methods = GET,PUT,POST,DELETE,PATCH
{% if server.get('cors', {}).allow_methods is defined %}
allow_methods = {{ server.cors.allow_methods }}
{% endif %}
# Indicate which header field names may be used during the actual request.
# (list value)
#allow_headers = X-Auth-Token,X-Openstack-Request-Id,X-Subject-Token,X-Project-Id,X-Project-Name,X-Project-Domain-Id,X-Project-Domain-Name,X-Domain-Id,X-Domain-Name
{% if server.get('cors', {}).allow_headers is defined %}
allow_headers = {{ server.cors.allow_headers }}
{% endif %}