| {%- from "designate/map.jinja" import server, pool_manager with context %} |
| |
| [DEFAULT] |
| |
| # |
| # From designate.opts |
| # |
| |
| # Name of this node (string value) |
| #host = current_hostname |
| |
| # Directory where the designate python module is installed (string value) |
| #pybasedir = /usr/lib/python3/dist-packages |
| |
| # Top-level directory for maintaining designate's state (string value) |
| #state_path = /var/lib/designate |
| |
| # Central Topic (string value) |
| #central_topic = central |
| |
| # mDNS Topic (string value) |
| #mdns_topic = mdns |
| |
| # Pool Manager Topic (string value) |
| #pool_manager_topic = pool_manager |
| |
| # Worker Topic (string value) |
| #worker_topic = worker |
| |
| # TTL Value (integer value) |
| #default_ttl = 3600 |
| |
| # SOA refresh-min value (integer value) |
| # Deprecated group/name - [DEFAULT]/default_soa_refresh |
| #default_soa_refresh_min = 3500 |
| |
| # SOA max value (integer value) |
| #default_soa_refresh_max = 3600 |
| |
| # SOA retry (integer value) |
| #default_soa_retry = 600 |
| |
| # SOA expire (integer value) |
| #default_soa_expire = 86400 |
| |
| # SOA minimum value (integer value) |
| #default_soa_minimum = 3600 |
| |
| # Supported record types (list value) |
| #supported_record_type = A,AAAA,CNAME,MX,SRV,TXT,SPF,NS,PTR,SSHFP,SOA |
| |
| # Which API to use. (string value) |
| #network_api = neutron |
| |
| # Send notifications if there's a failure in the API. (boolean value) |
| #notify_api_faults = false |
| |
| # The notification plugin to use (string value) |
| #notification_plugin = default |
| |
| # Quota driver to use (string value) |
| #quota_driver = storage |
| |
| # Number of zones allowed per tenant (integer value) |
| #quota_zones = 10 |
| {%- if server.get('quota', {}).zones is defined %} |
| quota_zones = {{ server.quota.zones }} |
| {%- endif %} |
| |
| # Number of recordsets allowed per zone (integer value) |
| #quota_zone_recordsets = 500 |
| |
| # Number of records allowed per zone (integer value) |
| #quota_zone_records = 500 |
| |
| # Number of records allowed per recordset (integer value) |
| #quota_recordset_records = 20 |
| |
| # Number of recordsets allowed in a zone export (integer value) |
| #quota_api_export_size = 1000 |
| |
| # Timeout in seconds for XFR's. (integer value) |
| #xfr_timeout = 10 |
| |
| # designate-rootwrap configuration (string value) |
| #root_helper = sudo designate-rootwrap /etc/designate/rootwrap.conf |
| |
| # Number of backlog requests to configure the socket with (integer value) |
| #backlog = 4096 |
| |
| # Sets the value of TCP_KEEPIDLE in seconds for each server socket. Not supported on OS X. (integer value) |
| #tcp_keepidle = 600 |
| |
| {%- if server.logging is defined %} |
| {%- set _data = server.logging %} |
| {%- include "oslo_templates/files/queens/oslo/_log.conf" %} |
| {%- endif %} |
| |
| {%- set _data = server.message_queue %} |
| {%- include "oslo_templates/files/queens/oslo/messaging/_default.conf" %} |
| |
| # |
| # From oslo.service.periodic_task |
| # |
| |
| # Some periodic tasks can be run in a separate process. Should we run them here? (boolean value) |
| #run_external_periodic_tasks = true |
| |
| # |
| # 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 |
| |
| |
| [backend:agent:bind9] |
| |
| # |
| # From designate.agent |
| # |
| |
| # RNDC Host (string value) |
| #rndc_host = 127.0.0.1 |
| |
| # RNDC Port (integer value) |
| #rndc_port = 953 |
| |
| # RNDC Config File (string value) |
| #rndc_config_file = <None> |
| |
| # RNDC Key File (string value) |
| #rndc_key_file = <None> |
| |
| # Path where zone files are stored (string value) |
| #zone_file_path = $state_path/zones |
| |
| # Host to query when finding zones (string value) |
| #query_destination = 127.0.0.1 |
| |
| |
| [backend:agent:denominator] |
| |
| # |
| # From designate.agent |
| # |
| |
| # Name of the affected provider (string value) |
| #name = fake |
| |
| # Path to Denominator configuration file (string value) |
| #config_file = /etc/denominator.conf |
| |
| |
| [backend:agent:djbdns] |
| |
| # |
| # From designate.agent |
| # |
| |
| # tcpclient executable path or rootwrap command name (string value) |
| #tcpclient_cmd_name = tcpclient |
| |
| # axfr-get executable path or rootwrap command name (string value) |
| #axfr_get_cmd_name = axfr-get |
| |
| # tinydns-data executable path or rootwrap command name (string value) |
| #tinydns_data_cmd_name = tinydns-data |
| |
| # TinyDNS data directory (string value) |
| #tinydns_datadir = /var/lib/djbdns |
| |
| # Host to query when finding zones (string value) |
| #query_destination = 127.0.0.1 |
| |
| |
| [backend:agent:gdnsd] |
| |
| # |
| # From designate.agent |
| # |
| |
| # gdnsd executable path or rootwrap command name (string value) |
| #gdnsd_cmd_name = gdnsd |
| |
| # gdnsd configuration directory path (string value) |
| #confdir_path = /etc/gdnsd |
| |
| # Host to query when finding zones (string value) |
| #query_destination = 127.0.0.1 |
| |
| |
| [backend:agent:knot2] |
| |
| # |
| # From designate.agent |
| # |
| |
| # knotc executable path or rootwrap command name (string value) |
| #knotc_cmd_name = knotc |
| |
| # Host to query when finding zones (string value) |
| #query_destination = 127.0.0.1 |
| |
| |
| [coordination] |
| |
| # |
| # From designate.opts |
| # |
| |
| # The backend URL to use for distributed coordination. If unset services that need coordination will function as a standalone service. This |
| # is a `tooz` url - see https://docs.openstack.org/tooz/latest/user/compatibility.html (string value) |
| #backend_url = <None> |
| |
| # Number of seconds between heartbeats for distributed coordination. (floating point value) |
| #heartbeat_interval = 1.0 |
| |
| # Number of seconds between checks to see if group membership has changed (floating point value) |
| #run_watchers_interval = 10.0 |
| |
| |
| [cors] |
| {%- if server.cors is defined %} |
| {%- set _data = server.cors %} |
| {%- include "oslo_templates/files/queens/oslo/_cors.conf" %} |
| {%- endif %} |
| |
| |
| {%- for name, _data in server.notification_handlers.iteritems() %} |
| {%- if not _data.get('zone_id') %} |
| {%- do _data.update({'zone_id': server.domain_id}) %} |
| {%- endif %} |
| |
| {% include "designate/files/" + server.version|string + "/notification_handlers/_" + name + ".conf" %} |
| {%- endfor %} |
| |
| [healthcheck] |
| {%- if server.healthcheck is defined %} |
| {%- set _data = server.healthcheck %} |
| {%- include "oslo_templates/files/queens/oslo/_healthcheck.conf" %} |
| {%- endif %} |
| |
| [heartbeat_emitter] |
| |
| # |
| # From designate.opts |
| # |
| |
| # Number of seconds between heartbeats for reporting state (floating point value) |
| #heartbeat_interval = 5.0 |
| |
| # Emitter to use (string value) |
| #emitter_type = rpc |
| |
| |
| [keystone] |
| |
| # |
| # From designate.opts |
| # |
| |
| # The default service_type for endpoint URL discovery. (string value) |
| #service_type = <None> |
| |
| # The default service_name for endpoint URL discovery. (string value) |
| #service_name = <None> |
| |
| # List of interfaces, in order of preference, for endpoint URL. (list value) |
| #valid_interfaces = <None> |
| |
| # The default region_name for endpoint URL discovery. (string value) |
| #region_name = <None> |
| |
| # Always use this endpoint URL for requests for this client. NOTE: The unversioned endpoint should be specified here; to request a |
| # particular API version, use the `version`, `min-version`, and/or `max-version` options. (string value) |
| #endpoint_override = <None> |
| |
| # Minimum Major API version within a given Major API version for endpoint URL discovery. Mutually exclusive with min_version and max_version |
| # (string value) |
| #version = <None> |
| |
| # The minimum major version of a given API, intended to be used as the lower bound of a range with max_version. Mutually exclusive with |
| # version. If min_version is given with no max_version it is as if max version is "latest". (string value) |
| #min_version = <None> |
| |
| # The maximum major version of a given API, intended to be used as the upper bound of a range with min_version. Mutually exclusive with |
| # version. (string value) |
| #max_version = <None> |
| |
| # DEPRECATED: The default interface for endpoint URL discovery. (string value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Using valid-interfaces is preferrable because it is capable of accepting a list of possible interfaces. |
| #interface = <None> |
| |
| # PEM encoded Certificate Authority to use when verifying HTTPs connections. (string value) |
| #cafile = <None> |
| |
| # PEM encoded client certificate cert file (string value) |
| #certfile = <None> |
| |
| # PEM encoded client certificate key file (string value) |
| #keyfile = <None> |
| |
| # Verify HTTPS connections. (boolean value) |
| #insecure = false |
| |
| # Timeout value for http requests (integer value) |
| #timeout = <None> |
| |
| # Collect per-API call timing information. (boolean value) |
| #collect_timing = false |
| |
| # Log requests to multiple loggers. (boolean value) |
| #split_loggers = false |
| |
| |
| [keystone_authtoken] |
| {%- set _data = server.identity %} |
| {%- if 'cacert_file' not in _data.keys() %}{% do _data.update({'cacert_file': server.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 |
| |
| |
| [monasca:statsd] |
| |
| # |
| # From designate.opts |
| # |
| |
| # enable (boolean value) |
| #enabled = false |
| |
| # UDP port (integer value) |
| #port = 8125 |
| |
| # hostname (string value) |
| #hostname = 127.0.0.1 |
| |
| |
| [network_api:neutron] |
| |
| # |
| # From designate.opts |
| # |
| |
| # URL to use if None in the ServiceCatalog that is passed by the request context. Format: <region>|<url> (list value) |
| #endpoints = <None> |
| |
| # Endpoint type to use (string value) |
| #endpoint_type = publicURL |
| |
| # timeout value for connecting to neutron in seconds (integer value) |
| #timeout = 30 |
| |
| # username for connecting to neutron in admin context (string value) |
| #admin_username = <None> |
| |
| # password for connecting to neutron in admin context (string value) |
| #admin_password = <None> |
| |
| # tenant name for connecting to neutron in admin context (string value) |
| #admin_tenant_name = <None> |
| |
| # auth url for connecting to neutron in admin context (string value) |
| #auth_url = <None> |
| |
| # if set, ignore any SSL validation issues (boolean value) |
| #insecure = false |
| |
| # auth strategy for connecting to neutron in admin context (string value) |
| #auth_strategy = keystone |
| |
| # Location of ca certificates file to use for neutron client requests. (string value) |
| #ca_certificates_file = <None> |
| |
| |
| [oslo_concurrency] |
| {%- set _data = server.get('concurrency', {}) %} |
| {%- include "oslo_templates/files/queens/oslo/_concurrency.conf" %} |
| |
| |
| [oslo_messaging_notifications] |
| {%- set _data = server.get('notification', {}) %} |
| {%- include "oslo_templates/files/queens/oslo/messaging/_notifications.conf" %} |
| |
| |
| {%- if server.message_queue is defined %} |
| {%- set _data = server.message_queue %} |
| {%- if _data.engine == 'rabbitmq' %} |
| {%- set messaging_engine = 'rabbit' %} |
| {%- else %} |
| {%- set messaging_engine = _data.engine %} |
| {%- endif %} |
| [oslo_messaging_{{ messaging_engine }}] |
| {%- include "oslo_templates/files/queens/oslo/messaging/_" + messaging_engine + ".conf" %} |
| {%- endif %} |
| |
| |
| [oslo_middleware] |
| {%- set _data = server %} |
| {%- include "oslo_templates/files/queens/oslo/_middleware.conf" %} |
| |
| [oslo_policy] |
| {%- include "oslo_templates/files/queens/oslo/_policy.conf" %} |
| |
| [pool_manager_cache:memcache] |
| |
| # |
| # From designate.opts |
| # |
| |
| # Time in seconds to expire cache. (integer value) |
| #expiration = 3600 |
| |
| # Memcached servers or None for in process cache. (list value) |
| #memcached_servers = <None> |
| |
| |
| [pool_manager_cache:sqlalchemy] |
| {%- set _data = {} %} |
| {%- do _data.update({'engine': server.database.engine, 'user': server.database.user, 'password': server.database.password, 'host': server.database.host, 'name': server.database.name.pool_manager})%} |
| {%- if server.database.x509 is defined %} |
| {%- do _data.update({'x509': server.database.x509}) %} |
| {%- endif %} |
| {%- if server.database.ssl is defined %} |
| {%- do _data.update({'ssl': server.database.ssl}) %} |
| {%- if 'cacert_file' not in server.database.ssl.keys() %}{% do _data['ssl'].update({'cacert_file': server.cacert_file}) %}{% endif %} |
| {%- endif %} |
| {%- include "oslo_templates/files/queens/oslo/_database.conf" %} |
| |
| [producer_task:delayed_notify] |
| |
| # |
| # From designate.producer |
| # |
| |
| # Run interval in seconds (integer value) |
| #interval = 5 |
| |
| # Default amount of results returned per page (integer value) |
| #per_page = 100 |
| |
| # How many zones to receive NOTIFY on each run (integer value) |
| #batch_size = 100 |
| |
| |
| [producer_task:periodic_exists] |
| |
| # |
| # From designate.producer |
| # |
| |
| # Run interval in seconds (integer value) |
| #interval = 3600 |
| |
| # Default amount of results returned per page (integer value) |
| #per_page = 100 |
| |
| |
| [producer_task:periodic_secondary_refresh] |
| |
| # |
| # From designate.producer |
| # |
| |
| # Run interval in seconds (integer value) |
| #interval = 3600 |
| |
| # Default amount of results returned per page (integer value) |
| #per_page = 100 |
| |
| |
| [producer_task:worker_periodic_recovery] |
| |
| # |
| # From designate.producer |
| # |
| |
| # Run interval in seconds (integer value) |
| #interval = 120 |
| |
| # Default amount of results returned per page (integer value) |
| #per_page = 100 |
| |
| |
| [producer_task:zone_purge] |
| |
| # |
| # From designate.producer |
| # |
| |
| # Run interval in seconds (integer value) |
| #interval = 3600 |
| |
| # Default amount of results returned per page (integer value) |
| #per_page = 100 |
| |
| # How old deleted zones should be (deleted_at) to be purged, in seconds (integer value) |
| #time_threshold = 604800 |
| |
| # How many zones to be purged on each run (integer value) |
| #batch_size = 100 |
| |
| |
| [proxy] |
| |
| # |
| # From designate.opts |
| # |
| |
| # Proxy HTTP requests via this proxy. (string value) |
| #http_proxy = <None> |
| |
| # Proxy HTTPS requests via this proxy (string value) |
| #https_proxy = <None> |
| |
| # These addresses should not be proxied (list value) |
| #no_proxy = |
| |
| |
| [service:agent] |
| |
| # |
| # From designate.agent |
| # |
| |
| # Number of agent worker processes to spawn (integer value) |
| #workers = <None> |
| |
| # Number of agent greenthreads to spawn (integer value) |
| #threads = 1000 |
| |
| # DEPRECATED: Agent Bind Host (IP address value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Replaced by 'listen' option |
| #host = <None> |
| |
| # DEPRECATED: Agent Port Number (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 'listen' option |
| #port = <None> |
| |
| # Agent host:port pairs to listen on (list value) |
| #listen = 0.0.0.0:5358 |
| |
| # The Agent TCP Backlog (integer value) |
| #tcp_backlog = 100 |
| |
| # Agent TCP Receive Timeout (floating point value) |
| #tcp_recv_timeout = 0.5 |
| |
| # List of IP addresses allowed to NOTIFY The Agent (list value) |
| #allow_notify = |
| |
| # List of masters for the Agent, format ip:port (list value) |
| #masters = |
| |
| # The backend driver to use, e.g. bind9, djbdns, knot2 (string value) |
| #backend_driver = bind9 |
| |
| # An IP address to be used to fetch zones transferred in (string value) |
| #transfer_source = <None> |
| |
| # Delay after a NOTIFY arrives for a zone that the Agent will pause and drop subsequent NOTIFYs for that zone (floating point value) |
| #notify_delay = 0.0 |
| |
| |
| [service:api] |
| |
| # |
| # From designate.api |
| # |
| |
| # Number of api worker processes to spawn (integer value) |
| #workers = <None> |
| |
| # Number of api greenthreads to spawn (integer value) |
| #threads = 1000 |
| |
| # Enable host request headers (boolean value) |
| #enable_host_header = false |
| |
| # the url used as the base for all API responses,This should consist of the scheme (http/https),the hostname, port, and any paths that are |
| # addedto the base of Designate is URLs,For example http://dns.openstack.example.com/dns (string value) |
| #api_base_uri = http://127.0.0.1:9001/ |
| api_base_uri = {{ server.api.base_uri }} |
| |
| # DEPRECATED: API Bind Host (IP address value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Replaced by 'listen' option |
| #api_host = <None> |
| |
| # DEPRECATED: API Port Number (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 'listen' option |
| #api_port = <None> |
| |
| # API host:port pairs to listen on (list value) |
| #listen = 0.0.0.0:9001 |
| listen = {{ server.bind.api.address }}:9001 |
| |
| # File name for the paste.deploy config for designate-api (string value) |
| #api_paste_config = api-paste.ini |
| |
| # The strategy to use for auth. Supports noauth or keystone (string value) |
| #auth_strategy = keystone |
| |
| # enable-api-v2 which enable in a future (boolean value) |
| #enable_api_v2 = true |
| |
| # enable-api-admin (boolean value) |
| #enable_api_admin = false |
| enable_api_admin = {{ server.get('admin_api', {}).get('enabled', False) }} |
| |
| # Maximum line size of message headers to be accepted. max_header_line may need to be increased when using large tokens (typically those |
| # generated by the Keystone v3 API with big service catalogs). (integer value) |
| #max_header_line = 16384 |
| |
| # Enabled API Extensions for the V2 API (list value) |
| #enabled_extensions_v2 = |
| enabled_extensions_v2 = quotas,reports |
| |
| # Default per-page limit for the V2 API, a value of None means show all results by default (integer value) |
| #default_limit_v2 = 20 |
| |
| # Max per-page limit for the V2 API (integer value) |
| #max_limit_v2 = 1000 |
| |
| # Verify that the requested Project ID for quota target is a valid project in Keystone. (boolean value) |
| #quotas_verify_project_id = false |
| |
| # Enabled Admin API Extensions (list value) |
| #enabled_extensions_admin = |
| {%- if server.get('admin_api', {}).get('enabled_extensions_admin', False) %} |
| enabled_extensions_admin = {{ server.admin_api.enabled_extensions_admin }} |
| {%- endif %} |
| |
| # Default per-page limit for the Admin API, a value of None means show all results by default (integer value) |
| #default_limit_admin = 20 |
| |
| # Max per-page limit for the Admin API (integer value) |
| #max_limit_admin = 1000 |
| |
| # Enable API Maintenance Mode (boolean value) |
| #maintenance_mode = false |
| |
| # Role allowed to bypass maintaince mode (string value) |
| #maintenance_mode_role = admin |
| |
| # The HTTP Header that will be used to determine which the original request protocol scheme was, even if it was removed by an SSL |
| # terminating proxy. (string value) |
| #secure_proxy_ssl_header = X-Forwarded-Proto |
| |
| # A scheme that will be used to override the request protocol scheme, even if it was set by an SSL terminating proxy. (string value) |
| #override_proto = <None> |
| |
| # Verify that the requested Project ID for quota target |
| # is a valid project in Keystone. |
| quotas_verify_project_id = {{ server.api.get('quotas_verify_project_id', False) }} |
| |
| [service:central] |
| |
| # |
| # From designate.central |
| # |
| |
| # Number of central worker processes to spawn (integer value) |
| #workers = <None> |
| |
| # Number of central greenthreads to spawn (integer value) |
| #threads = 1000 |
| |
| # The storage driver to use (string value) |
| #storage_driver = sqlalchemy |
| |
| # Enabled Notification Handlers (list value) |
| #enabled_notification_handlers = |
| |
| # Maximum zone name length (integer value) |
| #max_zone_name_len = 255 |
| |
| # Maximum recordset name length (integer value) |
| # Deprecated group/name - [service:central]/max_record_name_len |
| #max_recordset_name_len = 255 |
| |
| # E-Mail for Managed resources (string value) |
| #managed_resource_email = hostmaster@example.com |
| |
| # The Tenant ID that will own any managed resources. (string value) |
| #managed_resource_tenant_id = 00000000-0000-0000-0000-000000000000 |
| |
| # Minimum TTL allowed (integer value) |
| #min_ttl = <None> |
| |
| # The name of the default pool (string value) |
| #default_pool_id = 794ccc2c-d751-44fe-b57f-8894c9f5c842 |
| |
| # RPC topic name of central service. (string value) |
| #central_topic = central |
| |
| # |
| # From designate.opts |
| # |
| |
| # Enabled Pool Scheduling filters (list value) |
| #scheduler_filters = default_pool |
| |
| |
| [service:mdns] |
| |
| # |
| # From designate.mdns |
| # |
| |
| # Number of mdns worker processes to spawn (integer value) |
| #workers = <None> |
| |
| # Number of mdns greenthreads to spawn (integer value) |
| #threads = 1000 |
| |
| # DEPRECATED: mDNS Bind Host (IP address value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Replaced by 'listen' option |
| #host = <None> |
| |
| # DEPRECATED: mDNS Port Number (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 'listen' option |
| #port = <None> |
| |
| # mDNS host:port pairs to listen on (list value) |
| #listen = 0.0.0.0:5354 |
| listen = {{ server.mdns.address }}:{{ server.mdns.port }} |
| |
| # mDNS TCP Backlog (integer value) |
| #tcp_backlog = 100 |
| |
| # mDNS TCP Receive Timeout (floating point value) |
| #tcp_recv_timeout = 0.5 |
| |
| # Send all traffic over TCP (boolean value) |
| #all_tcp = false |
| |
| # Enforce all incoming queries (including AXFR) are TSIG signed (boolean value) |
| #query_enforce_tsig = false |
| |
| # The storage driver to use (string value) |
| #storage_driver = sqlalchemy |
| |
| # Maximum message size to emit (integer value) |
| #max_message_size = 65535 |
| |
| # RPC topic name for mini-DNS (string value) |
| #mdns_topic = mdns |
| |
| |
| [service:pool_manager] |
| |
| # |
| # From designate.pool_manager |
| # |
| |
| # Number of Pool Manager worker processes to spawn (integer value) |
| #workers = <None> |
| {%- if pool_manager.workers is defined %} |
| workers = {{ pool_manager.workers }} |
| {%- endif %} |
| |
| # Number of Pool Manager greenthreads to spawn (integer value) |
| #threads = 1000 |
| |
| # The ID of the pool managed by this instance of the Pool Manager (string value) |
| #pool_id = 794ccc2c-d751-44fe-b57f-8894c9f5c842 |
| {%- if pool_manager.pool_id is defined %} |
| pool_id = {{ pool_manager.pool_id }} |
| {%- endif %} |
| |
| # DEPRECATED: The percentage of servers requiring a successful update for a zone change to be considered active (integer value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Migrated to designate-worker |
| #threshold_percentage = 100 |
| |
| # DEPRECATED: The time to wait for a response from a server (integer value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Migrated to designate-worker |
| #poll_timeout = 30 |
| |
| # DEPRECATED: The time between retrying to send a request and waiting for a response from a server (integer value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Migrated to designate-worker |
| #poll_retry_interval = 15 |
| |
| # DEPRECATED: The maximum number of times to retry sending a request and wait for a response from a server (integer value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Migrated to designate-worker |
| #poll_max_retries = 10 |
| |
| # DEPRECATED: The time to wait before sending the first request to a server (integer value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Migrated to designate-worker |
| #poll_delay = 5 |
| |
| # The flag for the recovery timer (boolean value) |
| #enable_recovery_timer = true |
| |
| # The time between recovering from failures (integer value) |
| #periodic_recovery_interval = 120 |
| |
| # The flag for the sync timer (boolean value) |
| #enable_sync_timer = true |
| {%- if pool_manager.enable_sync_timer is defined %} |
| enable_sync_timer = {{ pool_manager.enable_sync_timer }} |
| {%- endif %} |
| |
| # The time between synchronizing the servers with storage (integer value) |
| #periodic_sync_interval = 1800 |
| {%- if pool_manager.periodic_sync_interval is defined %} |
| periodic_sync_interval = {{ pool_manager.periodic_sync_interval }} |
| {%- endif %} |
| |
| # Zones Updated within last N seconds will be syncd.Use an empty value to sync all zones. (integer value) |
| #periodic_sync_seconds = 21600 |
| {%- if pool_manager.periodic_sync_seconds is defined %} |
| periodic_sync_seconds = {{ pool_manager.periodic_sync_seconds }} |
| {%- endif %} |
| |
| # Number of attempts to update a zone during sync (integer value) |
| #periodic_sync_max_attempts = 3 |
| {%- if pool_manager.periodic_sync_max_attempts is defined %} |
| periodic_sync_max_attempts = {{ pool_manager.periodic_sync_max_attempts }} |
| {%- endif %} |
| |
| # Interval between zone update attempts during sync (integer value) |
| #periodic_sync_retry_interval = 30 |
| {%- if pool_manager.periodic_sync_retry_interval is defined %} |
| periodic_sync_retry_interval = {{ pool_manager.periodic_sync_retry_interval }} |
| {%- endif %} |
| |
| # The cache driver to use (string value) |
| #cache_driver = memcache |
| |
| # RPC topic name for pool-manager (string value) |
| #pool_manager_topic = pool_manager |
| |
| |
| [service:producer] |
| |
| # |
| # From designate.producer |
| # |
| |
| # Number of Producer worker processes to spawn (integer value) |
| #workers = <None> |
| |
| # Number of Producer greenthreads to spawn (integer value) |
| #threads = 1000 |
| |
| # Enabled tasks to run (list value) |
| #enabled_tasks = <None> |
| |
| # The storage driver to use (string value) |
| #storage_driver = sqlalchemy |
| |
| # DEPRECATED: Whether to allow synchronous zone exports (boolean value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Migrated to designate-worker |
| #export_synchronous = true |
| |
| |
| [service:sink] |
| |
| # |
| # From designate.sink |
| # |
| |
| # Number of sink worker processes to spawn (integer value) |
| #workers = <None> |
| |
| # Number of sink greenthreads to spawn (integer value) |
| #threads = 1000 |
| |
| # Enabled Notification Handlers (list value) |
| #enabled_notification_handlers = |
| {%- set handlers = [] %} |
| {%- for name, handler in server.notification_handlers.iteritems() %} |
| {%- if handler.get('enabled', False) %} |
| {%- do handlers.append(name) %} |
| {%- endif %} |
| {%- endfor %} |
| {%- if handlers %} |
| enabled_notification_handlers = {{ handlers|sort|join(', ') }} |
| {%- endif %} |
| |
| # pool name to use for oslo.messaging notification listener. Note that listener pooling is not supported by all oslo.messaging drivers. |
| # (string value) |
| #listener_pool_name = <None> |
| listener_pool_name = {{ server.get('sink', {}).get('listener_pool_name', 'designate-sink') }} |
| |
| |
| [service:worker] |
| |
| # |
| # From designate.worker |
| # |
| |
| # DEPRECATED: Whether to send events to worker instead of Pool Manager (boolean value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: In Rocky, this option will disappear because worker will be enabled by default |
| #enabled = false |
| {# TODO: remove enabled option when https://bugs.launchpad.net/designate/+bug/1676827 is fixed #} |
| # Whether to send events to worker instead of Pool Manager |
| {%- if pool_manager.enabled is defined and pool_manager.enabled == true %} |
| enabled = False |
| {%- else %} |
| enabled = True |
| {%- endif %} |
| |
| |
| # Number of Worker worker processes to spawn (integer value) |
| #workers = <None> |
| |
| # Number of Worker threads to spawn per process (integer value) |
| #threads = 200 |
| |
| # The storage driver to use (string value) |
| #storage_driver = sqlalchemy |
| |
| # The percentage of servers requiring a successful update for a domain change to be considered active (integer value) |
| #threshold_percentage = 100 |
| |
| # The time to wait for a response from a server (integer value) |
| #poll_timeout = 30 |
| |
| # The time between retrying to send a request and waiting for a response from a server (integer value) |
| #poll_retry_interval = 15 |
| |
| # The maximum number of times to retry sending a request and wait for a response from a server (integer value) |
| #poll_max_retries = 10 |
| |
| # The time to wait before sending the first request to a server (integer value) |
| #poll_delay = 5 |
| |
| # Whether to allow worker to send NOTIFYs, this will noop NOTIFYs in mdns if true (boolean value) |
| #notify = true |
| |
| # Whether to allow synchronous zone exports (boolean value) |
| #export_synchronous = true |
| |
| # RPC topic for worker component (string value) |
| #worker_topic = worker |
| |
| |
| [service:zone_manager] |
| |
| # |
| # From designate.producer |
| # |
| |
| # DEPRECATED: Number of Zone Manager worker processes to spawn (integer value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Migrated to designate-worker |
| #workers = <None> |
| |
| # DEPRECATED: Number of Zone Manager greenthreads to spawn (integer value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Migrated to designate-worker |
| #threads = 1000 |
| |
| # DEPRECATED: Enabled tasks to run (list value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Migrated to designate-worker |
| #enabled_tasks = <None> |
| |
| # DEPRECATED: The storage driver to use (string value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Migrated to designate-worker |
| #storage_driver = sqlalchemy |
| |
| # DEPRECATED: Whether to allow synchronous zone exports (boolean value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Migrated to designate-worker |
| #export_synchronous = true |
| |
| [keystone] |
| valid_interfaces = {{ server.identity.get('endpoint_type', 'internal') }} |
| region_name = {{ server.region }} |
| {%- if server.identity.get('protocol', 'http') == 'https' %} |
| cafile = {{ server.identity.get('cacert_file', server.cacert_file) }} |
| {%- endif %} |
| |
| [ssl] |
| {%- include "oslo_templates/files/queens/oslo/service/_ssl.conf" %} |
| |
| [storage:sqlalchemy] |
| {%- set _data = {} %} |
| {%- do _data.update({'engine': server.database.engine, 'user': server.database.user, 'password': server.database.password, 'host': server.database.host, 'name': server.database.name.main_database})%} |
| {%- if server.database.x509 is defined %} |
| {%- do _data.update({'x509': server.database.x509}) %} |
| {%- endif %} |
| {%- if server.database.ssl is defined %} |
| {%- do _data.update({'ssl': server.database.ssl}) %} |
| {%- if 'cacert_file' not in server.database.ssl.keys() %}{% do _data['ssl'].update({'cacert_file': server.cacert_file}) %}{% endif %} |
| {%- endif %} |
| {%- include "oslo_templates/files/queens/oslo/_database.conf" %} |