Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Designate: No servers configured

I have a fresh OpenStack Kilo installation running based on Ubuntu 14.04. I have installed Designate and I got it working, but it tells me that no servers are configured. I have PowerDNS up and running. For test purposes, I have added a domain and some records. Everythings gets resolved correctly. PowerDNS is listening on port 53. The services designate-api, designate-central, designate-mdns and designate-pool-managerare running. I have one error in the designate-api logfile:

2015-06-08 17:09:28.543 1582 INFO designate.openstack.common.service [-] Caught SIGTERM, exiting
2015-06-08 17:09:28.543 1582 INFO designate.service [-] Stopping api service
2015-06-08 17:09:28.544 1582 ERROR designate.openstack.common.threadgroup [-] Calling waitall() from within one of the GreenPool's greenthreads will never terminate.
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup Traceback (most recent call last):
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup   File "/opt/designate/designate/openstack/common/threadgroup.py", line 98, in _stop_threads
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup     x.stop()
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup   File "/opt/designate/designate/openstack/common/threadgroup.py", line 44, in stop
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup     self.thread.kill()
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup   File "/usr/lib/python2.7/dist-packages/eventlet/greenthread.py", line 240, in kill
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup     return kill(self, *throw_args)
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup   File "/usr/lib/python2.7/dist-packages/eventlet/greenthread.py", line 294, in kill
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup     g.throw(*throw_args)
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup   File "/usr/lib/python2.7/dist-packages/eventlet/greenthread.py", line 214, in main
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup     result = function(*args, **kwargs)
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup   File "/opt/designate/designate/service.py", line 225, in _wsgi_handle
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup     log=loggers.WritableLogger(logger))
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup   File "/usr/lib/python2.7/dist-packages/eventlet/wsgi.py", line 828, in server
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup     pool.waitall()
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup   File "/usr/lib/python2.7/dist-packages/eventlet/greenpool.py", line 117, in waitall
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup     "Calling waitall() from within one of the " \
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup AssertionError: Calling waitall() from within one of the GreenPool's greenthreads will never terminate.
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup

Here is my test case using designate --debug server-list:

DEBUG: found extension EntryPoint.parse('table = cliff.formatters.table:TableFormatter')
DEBUG: found extension EntryPoint.parse('csv = cliff.formatters.commaseparated:CSVLister')
DEBUG: found extension EntryPoint.parse('yaml = clifftablib.formatters:YamlFormatter')
DEBUG: found extension EntryPoint.parse('json = clifftablib.formatters:JsonFormatter')
DEBUG: found extension EntryPoint.parse('html = clifftablib.formatters:HtmlFormatter')
DEBUG: found extension EntryPoint.parse('sync = designateclient.v1.sync:SyncController')
DEBUG: found extension EntryPoint.parse('reports = designateclient.v1.reports:ReportsController')
DEBUG: found extension EntryPoint.parse('quotas = designateclient.v1.quotas:QuotasController')
DEBUG: found extension EntryPoint.parse('records = designateclient.v1.records:RecordsController')
DEBUG: found extension EntryPoint.parse('diagnostics = designateclient.v1.diagnostics:DiagnosticsController')
DEBUG: found extension EntryPoint.parse('touch = designateclient.v1.touch:TouchController')
DEBUG: found extension EntryPoint.parse('servers = designateclient.v1.servers:ServersController')
DEBUG: found extension EntryPoint.parse('domains = designateclient.v1.domains:DomainsController')
DEBUG: REQ: curl -g -i --cacert "" -X GET http://os-intern-controller.xyz.com:35357 -H "Accept: application/json" -H "User-Agent: python-keystoneclient"
INFO: Starting new HTTP connection (1): os-intern-controller.xyz.com
DEBUG: Setting read timeout to None
DEBUG: "GET / HTTP/1.1" 300 643
DEBUG: RESP: [300] content-length: 643 vary: X-Auth-Token server: Apache/2.4.7 (Ubuntu) date: Mon, 08 Jun 2015 15:11:51 GMT content-type: application/json x-distribution: Ubuntu
RESP BODY: {"versions": {"values": [{"status": "stable", "updated": "2015-03-30T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v3+json"}], "id": "v3.4", "links": [{"href": "http://os-intern-controller.xyz.com:35357/v3/", "rel": "self"}]}, {"status": "stable", "updated": "2014-04-17T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v2.0+json"}], "id": "v2.0", "links": [{"href": "http://os-intern-controller.xyz.com:35357/v2.0/", "rel": "self"}, {"href": "http://docs.openstack.org/", "type": "text/html", "rel": "describedby"}]}]}}

DEBUG: Making authentication request to http://os-intern-controller.xyz.com:35357/v3/auth/tokens
DEBUG: Setting read timeout to None
DEBUG: "POST /v3/auth/tokens HTTP/1.1" 201 7978
DEBUG: REQ: curl -g -i --cacert "" -X GET http://os-intern-dns.xyz.com:9001 -H "Accept: application/json" -H "User-Agent: python-keystoneclient"
INFO: Starting new HTTP connection (1): os-intern-dns.xyz.com
DEBUG: Setting read timeout to None
DEBUG: "GET / HTTP/1.1" 200 473
DEBUG: RESP: [200] date: Mon, 08 Jun 2015 15:11:51 GMT content-length: 473 content-type: application/json
RESP BODY: {
  "versions": {
    "values": [
      {
        "id": "v1",
        "links": [
          {
            "href": "http://os-intern-dns.xyz.com:9001/v1",
            "rel": "self"
          }
        ],
        "status": "DEPRECATED"
      },
      {
        "id": "v2",
        "links": [
          {
            "href": "http://os-intern-dns.xyz.com:9001/v2",
            "rel": "self"
          }
        ],
        "status": "CURRENT"
      }
    ]
  }
}

DEBUG: REQ: curl -g -i --cacert "" -X GET http://os-intern-dns.xyz.com:9001/v1/servers -H "User-Agent: python-designateclient-1.1.1.2" -H "Content-Type: application/json" -H "X-Auth-Token: {SHA1}d7f5836804119fd27d8fe1ff77cb98895bde4890"
DEBUG: Setting read timeout to None
DEBUG: "GET /v1/servers HTTP/1.1" 200 19
DEBUG: RESP: [200] date: Mon, 08 Jun 2015 15:11:51 GMT content-length: 19 content-type: application/json x-openstack-request-id: req-6a95ef05-a701-4873-9f4d-0a1fab7545f5
RESP BODY: {
  "servers": []
}

This is my designate.conf

[DEFAULT]
# Where an option is commented out, but filled in this shows the default
# value of that option

########################
## General Configuration
########################
# Show more verbose log output (sets INFO log level output)
verbose = True

# Show debugging output in logs (sets DEBUG log level output)
debug = True

# Top-level directory for maintaining designate's state
state_path = /var/lib/designate

# Log Configuration
#log_config = None

# Log directory
log_dir = /var/log/designate

# Driver used for issuing notifications
notification_driver = messagingv2

# Notification Topics
notification_topics = notifications

# Use "sudo designate-rootwrap /etc/designate/rootwrap.conf" to use the real
# root filter facility.
# Change to "sudo" to skip the filtering and just run the comand directly
root_helper = sudo

# Which networking API to use, Defaults to neutron
network_api = neutron

# The messaging driver to use, defaults to rabbit. Other
# drivers include qpid and zmq. (string value)
rpc_backend = rabbit

#-----------------------
# RabbitMQ Config
#-----------------------
[oslo_messaging_rabbit]
rabbit_userid = designate
rabbit_password = XXX
rabbit_virtual_host = openstack
rabbit_use_ssl = False
rabbit_hosts = os-intern-controller.xyz.com:5672

########################
## Service Configuration
########################
#-----------------------
# Central Service
#-----------------------
[service:central]
# Maximum domain name length
#max_domain_name_len = 255

# Maximum record name length
#max_record_name_len = 255

# Minimum TTL
#min_ttl = None

## Managed resources settings

# Email to use for managed resources like domains created by the FloatingIP API
#managed_resource_email = hostmaster@example.com.

# Tenant ID to own all managed resources - like auto-created records etc.
#managed_resource_tenant_id = 123456

#-----------------------
# API Service
#-----------------------
[service:api]
# Address to bind the API server
api_host = os-intern-dns.xyz.com

# Port the bind the API server to
api_port = 9001

api_base_uri = http://$api_host:$api_port

# Authentication strategy to use - can be either "noauth" or "keystone"
auth_strategy = keystone

# Enable Version 1 API
enable_api_v1 = True

# Enabled API Version 1 extensions
# Can be one or more of : diagnostics, quotas, reports, sync, touch
enabled_extensions_v1 = diagnostics, quotas, reports, sync, touch

# Enable Version 2 API (experimental)
enable_api_v2 = True

# Enabled API Version 2 extensions
#enabled_extensions_v2 =

# Default page size in the V2 API
#default_limit_v2 = 20

# Max page size in the V2 API
#max_limit_v2 = 1000

# Enable Admin API (experimental)
enable_api_admin = True

# Enabled Admin API extensions
# Can be one or more of : reports, quotas, counts, tenants, zones
# zone import / export is in zones extension
enabled_extensions_admin = reports, quotas, counts, tenants, zones

# Show the pecan HTML based debug interface (v2 only)
# This is only useful for development, and WILL break python-designateclient
# if an error occurs
#pecan_debug = False

#-----------------------
# Keystone Middleware
#-----------------------
[keystone_authtoken]
auth_uri = http://os-intern-controller.xyz.com:5000
auth_url = http://os-intern-controller.xyz.com:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = designate
password = XXX

#-----------------------
# Sink Service
#-----------------------
[service:sink]
# List of notification handlers to enable, configuration of these needs to
# correspond to a [handler:my_driver] section below or else in the config
# Can be one or more of : nova_fixed, neutron_floatingip
#enabled_notification_handlers =

#-----------------------
# mDNS Service
#-----------------------
[service:mdns]
#workers = None
host = 10.30.19.1
port = 5354
#tcp_backlog = 100
#all_tcp = False

#-----------------------
# Agent Service
#-----------------------
[service:agent]
#workers = None
host = 10.30.19.1
port = 5358
#tcp_backlog = 100
allow_notify = 10.30.19.1
masters = 10.30.19.1:5354
#backend_driver = fake
#transfer_source = None


#-----------------------
# Pool Manager Service
#-----------------------
[service:pool_manager]
#workers = None
pool_id = 794ccc2c-d751-44fe-b57f-8894c9f5c842
#threshold_percentage = 100
#poll_timeout = 30
#poll_retry_interval = 2
#poll_max_retries = 3
#poll_delay = 1
#periodic_recovery_interval = 120
#periodic_sync_interval = 1800
#periodic_sync_seconds = None
cache_driver = memcache

##############
## Network API
##############
[network_api:neutron]
# Comma separated list of values, formatted "<name>|<neutron_uri>"
endpoints = RegionOne|http://os-intern-network.xyz.com:9696
#endpoint_type = publicURL
#timeout = 30
admin_username = designate
admin_password = XXX
admin_tenant_name = service
auth_url = http://os-intern-controller.xyz.com:35357/v2.0
#insecure = False
auth_strategy = keystone
#ca_certificates_file =

########################
## Storage Configuration
########################
#-----------------------
# SQLAlchemy Storage
#-----------------------
[storage:sqlalchemy]
# Database connection string - to configure options for a given implementation
# like sqlalchemy or other see below
connection = mysql://designate:XXX@os-intern-controller.xyz.com/designate?charset=utf8
#connection_debug = 0
#connection_trace = False
#sqlite_synchronous = True
idle_timeout = 3600
max_retries = 10
retry_interval = 10

########################
## Handler Configuration
########################
#-----------------------
# Nova Fixed Handler
#-----------------------
[handler:nova_fixed]
# Domain ID of domain to create records in. Should be pre-created
#domain_id =
#notification_topics = notifications
#control_exchange = 'nova'
#format = '%(octet0)s-%(octet1)s-%(octet2)s-%(octet3)s.%(domain)s'

#------------------------
# Neutron Floating Handler
#------------------------
[handler:neutron_floatingip]
# Domain ID of domain to create records in. Should be pre-created
#domain_id =
#notification_topics = notifications
#control_exchange = 'neutron'
#format = '%(octet0)s-%(octet1)s-%(octet2)s-%(octet3)s.%(domain)s'

###################################
## Pool Manager Cache Configuration
###################################
#-----------------------
# SQLAlchemy Pool Manager Cache
#-----------------------
[pool_manager_cache:sqlalchemy]
#connection = sqlite:///$state_path/designate_pool_manager.sqlite
#connection_debug = 100
#connection_trace = False
#sqlite_synchronous = True
#idle_timeout = 3600
#max_retries = 10
#retry_interval = 10

#-----------------------
# Memcache Pool Manager Cache
#-----------------------
[pool_manager_cache:memcache]
#memcached_servers = None
#expiration = 3600

#####################
## Pool Configuration
#####################

# This section does not have the defaults filled in but demonstrates an
# example pool / server set up. Different backends will have different options.

[pool:794ccc2c-d751-44fe-b57f-8894c9f5c842]
nameservers = 0f66b842-96c2-4189-93fc-1dc95a08b012
targets = f26e0b32-736f-4f0a-831b-039a415c481e
also_notifies = 10.30.19.1:53

[pool_nameserver:0f66b842-96c2-4189-93fc-1dc95a08b012]
port = 53
host = 10.30.19.1

[pool_target:f26e0b32-736f-4f0a-831b-039a415c481e]
options = connection: mysql://powerdns:XXX@os-intern-controller.xyz.com:3306/powerdns?charset=utf8
masters = 10.30.19.1:5354
type = powerdns
port = 53
host = 10.30.19.1

#############################
## Agent Backend Configuration
#############################
[backend:agent:bind9]
#rndc_host = 127.0.0.1
#rndc_port = 953
#rndc_config_file = /etc/rndc.conf
#rndc_key_file = /etc/rndc.key
#zone_file_path = $state_path/zones
#query_destination = 127.0.0.1

########################
## Library Configuration
########################
[oslo_concurrency]
# Path for Oslo Concurrency to store lock files, defaults to the value
# of the state_path setting.
lock_path = /var/lock/designate

Designate: No servers configured

I have a fresh OpenStack Kilo installation running based on Ubuntu 14.04. I have installed Designate and I got it working, but it tells me that no servers are configured. I have PowerDNS up and running. For test purposes, I have added a domain and some records. Everythings Everything gets resolved correctly. PowerDNS is listening on port 53. The services designate-api, designate-central, designate-mdns and designate-pool-managerare running. I have one error in the designate-api logfile:

2015-06-08 17:09:28.543 1582 INFO designate.openstack.common.service [-] Caught SIGTERM, exiting
2015-06-08 17:09:28.543 1582 INFO designate.service [-] Stopping api service
2015-06-08 17:09:28.544 1582 ERROR designate.openstack.common.threadgroup [-] Calling waitall() from within one of the GreenPool's greenthreads will never terminate.
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup Traceback (most recent call last):
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup   File "/opt/designate/designate/openstack/common/threadgroup.py", line 98, in _stop_threads
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup     x.stop()
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup   File "/opt/designate/designate/openstack/common/threadgroup.py", line 44, in stop
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup     self.thread.kill()
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup   File "/usr/lib/python2.7/dist-packages/eventlet/greenthread.py", line 240, in kill
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup     return kill(self, *throw_args)
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup   File "/usr/lib/python2.7/dist-packages/eventlet/greenthread.py", line 294, in kill
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup     g.throw(*throw_args)
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup   File "/usr/lib/python2.7/dist-packages/eventlet/greenthread.py", line 214, in main
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup     result = function(*args, **kwargs)
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup   File "/opt/designate/designate/service.py", line 225, in _wsgi_handle
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup     log=loggers.WritableLogger(logger))
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup   File "/usr/lib/python2.7/dist-packages/eventlet/wsgi.py", line 828, in server
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup     pool.waitall()
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup   File "/usr/lib/python2.7/dist-packages/eventlet/greenpool.py", line 117, in waitall
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup     "Calling waitall() from within one of the " \
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup AssertionError: Calling waitall() from within one of the GreenPool's greenthreads will never terminate.
2015-06-08 17:09:28.544 1582 TRACE designate.openstack.common.threadgroup

Here is my test case using designate --debug server-list:

DEBUG: found extension EntryPoint.parse('table = cliff.formatters.table:TableFormatter')
DEBUG: found extension EntryPoint.parse('csv = cliff.formatters.commaseparated:CSVLister')
DEBUG: found extension EntryPoint.parse('yaml = clifftablib.formatters:YamlFormatter')
DEBUG: found extension EntryPoint.parse('json = clifftablib.formatters:JsonFormatter')
DEBUG: found extension EntryPoint.parse('html = clifftablib.formatters:HtmlFormatter')
DEBUG: found extension EntryPoint.parse('sync = designateclient.v1.sync:SyncController')
DEBUG: found extension EntryPoint.parse('reports = designateclient.v1.reports:ReportsController')
DEBUG: found extension EntryPoint.parse('quotas = designateclient.v1.quotas:QuotasController')
DEBUG: found extension EntryPoint.parse('records = designateclient.v1.records:RecordsController')
DEBUG: found extension EntryPoint.parse('diagnostics = designateclient.v1.diagnostics:DiagnosticsController')
DEBUG: found extension EntryPoint.parse('touch = designateclient.v1.touch:TouchController')
DEBUG: found extension EntryPoint.parse('servers = designateclient.v1.servers:ServersController')
DEBUG: found extension EntryPoint.parse('domains = designateclient.v1.domains:DomainsController')
DEBUG: REQ: curl -g -i --cacert "" -X GET http://os-intern-controller.xyz.com:35357 -H "Accept: application/json" -H "User-Agent: python-keystoneclient"
INFO: Starting new HTTP connection (1): os-intern-controller.xyz.com
DEBUG: Setting read timeout to None
DEBUG: "GET / HTTP/1.1" 300 643
DEBUG: RESP: [300] content-length: 643 vary: X-Auth-Token server: Apache/2.4.7 (Ubuntu) date: Mon, 08 Jun 2015 15:11:51 GMT content-type: application/json x-distribution: Ubuntu
RESP BODY: {"versions": {"values": [{"status": "stable", "updated": "2015-03-30T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v3+json"}], "id": "v3.4", "links": [{"href": "http://os-intern-controller.xyz.com:35357/v3/", "rel": "self"}]}, {"status": "stable", "updated": "2014-04-17T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v2.0+json"}], "id": "v2.0", "links": [{"href": "http://os-intern-controller.xyz.com:35357/v2.0/", "rel": "self"}, {"href": "http://docs.openstack.org/", "type": "text/html", "rel": "describedby"}]}]}}

DEBUG: Making authentication request to http://os-intern-controller.xyz.com:35357/v3/auth/tokens
DEBUG: Setting read timeout to None
DEBUG: "POST /v3/auth/tokens HTTP/1.1" 201 7978
DEBUG: REQ: curl -g -i --cacert "" -X GET http://os-intern-dns.xyz.com:9001 -H "Accept: application/json" -H "User-Agent: python-keystoneclient"
INFO: Starting new HTTP connection (1): os-intern-dns.xyz.com
DEBUG: Setting read timeout to None
DEBUG: "GET / HTTP/1.1" 200 473
DEBUG: RESP: [200] date: Mon, 08 Jun 2015 15:11:51 GMT content-length: 473 content-type: application/json
RESP BODY: {
  "versions": {
    "values": [
      {
        "id": "v1",
        "links": [
          {
            "href": "http://os-intern-dns.xyz.com:9001/v1",
            "rel": "self"
          }
        ],
        "status": "DEPRECATED"
      },
      {
        "id": "v2",
        "links": [
          {
            "href": "http://os-intern-dns.xyz.com:9001/v2",
            "rel": "self"
          }
        ],
        "status": "CURRENT"
      }
    ]
  }
}

DEBUG: REQ: curl -g -i --cacert "" -X GET http://os-intern-dns.xyz.com:9001/v1/servers -H "User-Agent: python-designateclient-1.1.1.2" -H "Content-Type: application/json" -H "X-Auth-Token: {SHA1}d7f5836804119fd27d8fe1ff77cb98895bde4890"
DEBUG: Setting read timeout to None
DEBUG: "GET /v1/servers HTTP/1.1" 200 19
DEBUG: RESP: [200] date: Mon, 08 Jun 2015 15:11:51 GMT content-length: 19 content-type: application/json x-openstack-request-id: req-6a95ef05-a701-4873-9f4d-0a1fab7545f5
RESP BODY: {
  "servers": []
}

This is my designate.conf

[DEFAULT]
# Where an option is commented out, but filled in this shows the default
# value of that option

########################
## General Configuration
########################
# Show more verbose log output (sets INFO log level output)
verbose = True

# Show debugging output in logs (sets DEBUG log level output)
debug = True

# Top-level directory for maintaining designate's state
state_path = /var/lib/designate

# Log Configuration
#log_config = None

# Log directory
log_dir = /var/log/designate

# Driver used for issuing notifications
notification_driver = messagingv2

# Notification Topics
notification_topics = notifications

# Use "sudo designate-rootwrap /etc/designate/rootwrap.conf" to use the real
# root filter facility.
# Change to "sudo" to skip the filtering and just run the comand directly
root_helper = sudo

# Which networking API to use, Defaults to neutron
network_api = neutron

# The messaging driver to use, defaults to rabbit. Other
# drivers include qpid and zmq. (string value)
rpc_backend = rabbit

#-----------------------
# RabbitMQ Config
#-----------------------
[oslo_messaging_rabbit]
rabbit_userid = designate
rabbit_password = XXX
rabbit_virtual_host = openstack
rabbit_use_ssl = False
rabbit_hosts = os-intern-controller.xyz.com:5672

########################
## Service Configuration
########################
#-----------------------
# Central Service
#-----------------------
[service:central]
# Maximum domain name length
#max_domain_name_len = 255

# Maximum record name length
#max_record_name_len = 255

# Minimum TTL
#min_ttl = None

## Managed resources settings

# Email to use for managed resources like domains created by the FloatingIP API
#managed_resource_email = hostmaster@example.com.

# Tenant ID to own all managed resources - like auto-created records etc.
#managed_resource_tenant_id = 123456

#-----------------------
# API Service
#-----------------------
[service:api]
# Address to bind the API server
api_host = os-intern-dns.xyz.com

# Port the bind the API server to
api_port = 9001

api_base_uri = http://$api_host:$api_port

# Authentication strategy to use - can be either "noauth" or "keystone"
auth_strategy = keystone

# Enable Version 1 API
enable_api_v1 = True

# Enabled API Version 1 extensions
# Can be one or more of : diagnostics, quotas, reports, sync, touch
enabled_extensions_v1 = diagnostics, quotas, reports, sync, touch

# Enable Version 2 API (experimental)
enable_api_v2 = True

# Enabled API Version 2 extensions
#enabled_extensions_v2 =

# Default page size in the V2 API
#default_limit_v2 = 20

# Max page size in the V2 API
#max_limit_v2 = 1000

# Enable Admin API (experimental)
enable_api_admin = True

# Enabled Admin API extensions
# Can be one or more of : reports, quotas, counts, tenants, zones
# zone import / export is in zones extension
enabled_extensions_admin = reports, quotas, counts, tenants, zones

# Show the pecan HTML based debug interface (v2 only)
# This is only useful for development, and WILL break python-designateclient
# if an error occurs
#pecan_debug = False

#-----------------------
# Keystone Middleware
#-----------------------
[keystone_authtoken]
auth_uri = http://os-intern-controller.xyz.com:5000
auth_url = http://os-intern-controller.xyz.com:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = designate
password = XXX

#-----------------------
# Sink Service
#-----------------------
[service:sink]
# List of notification handlers to enable, configuration of these needs to
# correspond to a [handler:my_driver] section below or else in the config
# Can be one or more of : nova_fixed, neutron_floatingip
#enabled_notification_handlers =

#-----------------------
# mDNS Service
#-----------------------
[service:mdns]
#workers = None
host = 10.30.19.1
port = 5354
#tcp_backlog = 100
#all_tcp = False

#-----------------------
# Agent Service
#-----------------------
[service:agent]
#workers = None
host = 10.30.19.1
port = 5358
#tcp_backlog = 100
allow_notify = 10.30.19.1
masters = 10.30.19.1:5354
#backend_driver = fake
#transfer_source = None


#-----------------------
# Pool Manager Service
#-----------------------
[service:pool_manager]
#workers = None
pool_id = 794ccc2c-d751-44fe-b57f-8894c9f5c842
#threshold_percentage = 100
#poll_timeout = 30
#poll_retry_interval = 2
#poll_max_retries = 3
#poll_delay = 1
#periodic_recovery_interval = 120
#periodic_sync_interval = 1800
#periodic_sync_seconds = None
cache_driver = memcache

##############
## Network API
##############
[network_api:neutron]
# Comma separated list of values, formatted "<name>|<neutron_uri>"
endpoints = RegionOne|http://os-intern-network.xyz.com:9696
#endpoint_type = publicURL
#timeout = 30
admin_username = designate
admin_password = XXX
admin_tenant_name = service
auth_url = http://os-intern-controller.xyz.com:35357/v2.0
#insecure = False
auth_strategy = keystone
#ca_certificates_file =

########################
## Storage Configuration
########################
#-----------------------
# SQLAlchemy Storage
#-----------------------
[storage:sqlalchemy]
# Database connection string - to configure options for a given implementation
# like sqlalchemy or other see below
connection = mysql://designate:XXX@os-intern-controller.xyz.com/designate?charset=utf8
#connection_debug = 0
#connection_trace = False
#sqlite_synchronous = True
idle_timeout = 3600
max_retries = 10
retry_interval = 10

########################
## Handler Configuration
########################
#-----------------------
# Nova Fixed Handler
#-----------------------
[handler:nova_fixed]
# Domain ID of domain to create records in. Should be pre-created
#domain_id =
#notification_topics = notifications
#control_exchange = 'nova'
#format = '%(octet0)s-%(octet1)s-%(octet2)s-%(octet3)s.%(domain)s'

#------------------------
# Neutron Floating Handler
#------------------------
[handler:neutron_floatingip]
# Domain ID of domain to create records in. Should be pre-created
#domain_id =
#notification_topics = notifications
#control_exchange = 'neutron'
#format = '%(octet0)s-%(octet1)s-%(octet2)s-%(octet3)s.%(domain)s'

###################################
## Pool Manager Cache Configuration
###################################
#-----------------------
# SQLAlchemy Pool Manager Cache
#-----------------------
[pool_manager_cache:sqlalchemy]
#connection = sqlite:///$state_path/designate_pool_manager.sqlite
#connection_debug = 100
#connection_trace = False
#sqlite_synchronous = True
#idle_timeout = 3600
#max_retries = 10
#retry_interval = 10

#-----------------------
# Memcache Pool Manager Cache
#-----------------------
[pool_manager_cache:memcache]
#memcached_servers = None
#expiration = 3600

#####################
## Pool Configuration
#####################

# This section does not have the defaults filled in but demonstrates an
# example pool / server set up. Different backends will have different options.

[pool:794ccc2c-d751-44fe-b57f-8894c9f5c842]
nameservers = 0f66b842-96c2-4189-93fc-1dc95a08b012
targets = f26e0b32-736f-4f0a-831b-039a415c481e
also_notifies = 10.30.19.1:53

[pool_nameserver:0f66b842-96c2-4189-93fc-1dc95a08b012]
port = 53
host = 10.30.19.1

[pool_target:f26e0b32-736f-4f0a-831b-039a415c481e]
options = connection: mysql://powerdns:XXX@os-intern-controller.xyz.com:3306/powerdns?charset=utf8
masters = 10.30.19.1:5354
type = powerdns
port = 53
host = 10.30.19.1

#############################
## Agent Backend Configuration
#############################
[backend:agent:bind9]
#rndc_host = 127.0.0.1
#rndc_port = 953
#rndc_config_file = /etc/rndc.conf
#rndc_key_file = /etc/rndc.key
#zone_file_path = $state_path/zones
#query_destination = 127.0.0.1

########################
## Library Configuration
########################
[oslo_concurrency]
# Path for Oslo Concurrency to store lock files, defaults to the value
# of the state_path setting.
lock_path = /var/lock/designate