| {%- 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 %} |