Code refactoring to use templates
diff --git a/designate/client.sls b/designate/client.sls
new file mode 100644
index 0000000..81c5860
--- /dev/null
+++ b/designate/client.sls
@@ -0,0 +1,8 @@
+{%- from "designate/map.jinja" import client with context %}
+{%- if client.enabled %}
+
+designate_client_packages:
+ pkg.installed:
+ - names: {{ client.pkgs }}
+
+{%- endif %}
diff --git a/designate/files/liberty/api-paste.ini b/designate/files/liberty/api-paste.ini
new file mode 100644
index 0000000..0888d00
--- /dev/null
+++ b/designate/files/liberty/api-paste.ini
@@ -0,0 +1,66 @@
+[composite:osapi_dns]
+use = egg:Paste#urlmap
+/: osapi_dns_versions
+/v1: osapi_dns_v1
+/v2: osapi_dns_v2
+/admin: osapi_dns_admin
+
+[pipeline:osapi_dns_versions]
+pipeline = maintenance faultwrapper ssl osapi_dns_app_versions
+
+[app:osapi_dns_app_versions]
+paste.app_factory = designate.api.versions:factory
+
+[composite:osapi_dns_v1]
+use = call:designate.api.middleware:auth_pipeline_factory
+noauth = request_id noauthcontext maintenance validation_API_v1 faultwrapper ssl normalizeuri osapi_dns_app_v1
+keystone = request_id authtoken keystonecontext maintenance validation_API_v1 faultwrapper ssl normalizeuri osapi_dns_app_v1
+
+[app:osapi_dns_app_v1]
+paste.app_factory = designate.api.v1:factory
+
+[composite:osapi_dns_v2]
+use = call:designate.api.middleware:auth_pipeline_factory
+noauth = request_id faultwrapper ssl validation_API_v2 noauthcontext maintenance normalizeuri osapi_dns_app_v2
+keystone = request_id faultwrapper ssl validation_API_v2 authtoken keystonecontext maintenance normalizeuri osapi_dns_app_v2
+
+[app:osapi_dns_app_v2]
+paste.app_factory = designate.api.v2:factory
+
+[composite:osapi_dns_admin]
+use = call:designate.api.middleware:auth_pipeline_factory
+noauth = request_id faultwrapper ssl noauthcontext maintenance normalizeuri osapi_dns_app_admin
+keystone = request_id faultwrapper ssl authtoken keystonecontext maintenance normalizeuri osapi_dns_app_admin
+
+[app:osapi_dns_app_admin]
+paste.app_factory = designate.api.admin:factory
+
+[filter:request_id]
+paste.filter_factory = oslo_middleware:RequestId.factory
+
+[filter:noauthcontext]
+paste.filter_factory = designate.api.middleware:NoAuthContextMiddleware.factory
+
+[filter:authtoken]
+paste.filter_factory = keystonemiddleware.auth_token:filter_factory
+
+[filter:keystonecontext]
+paste.filter_factory = designate.api.middleware:KeystoneContextMiddleware.factory
+
+[filter:maintenance]
+paste.filter_factory = designate.api.middleware:MaintenanceMiddleware.factory
+
+[filter:normalizeuri]
+paste.filter_factory = designate.api.middleware:NormalizeURIMiddleware.factory
+
+[filter:faultwrapper]
+paste.filter_factory = designate.api.middleware:FaultWrapperMiddleware.factory
+
+[filter:validation_API_v1]
+paste.filter_factory = designate.api.middleware:APIv1ValidationErrorMiddleware.factory
+
+[filter:validation_API_v2]
+paste.filter_factory = designate.api.middleware:APIv2ValidationErrorMiddleware.factory
+
+[filter:ssl]
+paste.filter_factory = designate.api.middleware:SSLMiddleware.factory
\ No newline at end of file
diff --git a/designate/files/liberty/designate.conf.Debian b/designate/files/liberty/designate.conf.Debian
new file mode 100644
index 0000000..95a96e7
--- /dev/null
+++ b/designate/files/liberty/designate.conf.Debian
@@ -0,0 +1,468 @@
+{%- from "designate/map.jinja" import server with context %}
+[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 = False
+
+# Top-level directory for maintaining designate's state
+#state_path = /var/lib/designate
+
+# Log Configuration
+#log_config = None
+
+# Log directory
+logdir = /var/log/designate
+
+# Driver used for issuing notifications
+{%- if server.notification.driver is defined %}
+notification_driver = {{ server.notification.driver }}
+{%- else %}
+notification_driver = messagingv2
+{%- endif %}
+
+# Notification Topics
+{%- if server.notification.topics is defined %}
+notification_topics = {{ server.notification.topics }}
+{%- endif %}
+
+# 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 designate-rootwrap /etc/designate/rootwrap.conf
+
+# Which networking API to use, Defaults to neutron
+#network_api = neutron
+
+# RabbitMQ Config
+rabbit_userid = {{ server.message_queue.user }}
+rabbit_password = {{ server.message_queue.password }}
+rabbit_virtual_host = {{ server.message_queue.virtual_host }}
+#rabbit_use_ssl = False
+{%- 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 %}
+rabbit_host = {{ server.message_queue.host }}
+rabbit_port = {{ server.message_queue.port }}
+{%- endif %}
+
+########################
+## Service Configuration
+########################
+#-----------------------
+# Central Service
+#-----------------------
+[service:central]
+# Number of central worker processes to spawn
+#workers = None
+
+# Number of central greenthreads to spawn
+#threads = 1000
+
+# Maximum domain name length
+#max_domain_name_len = 255
+
+# Maximum recordset name length
+#max_recordset_name_len = 255
+
+# Minimum TTL
+#min_ttl = None
+
+# The name of the default pool
+#default_pool_id = '794ccc2c-d751-44fe-b57f-8894c9f5c842'
+
+## 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]
+# Number of api worker processes to spawn
+#workers = None
+
+# Number of api greenthreads to spawn
+#threads = 1000
+
+# Enable host request headers
+#enable_host_header = False
+
+# The base uri used in responses
+api_base_uri = http://{{ server.bind.api.address }}:9001/
+
+# Address to bind the API server
+api_host = {{ server.bind.api.address }}
+
+# Port the bind the API server to
+api_port = 9001
+
+# 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).
+#max_header_line = 16384
+
+# Authentication strategy to use - can be either "noauth" or "keystone"
+auth_strategy = keystone
+
+# Enable Version 1 API (deprecated)
+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
+enable_api_v2 = True
+
+# Enabled API Version 2 extensions
+enabled_extensions_v2 = quotas, reports
+
+# Default per-page limit for the V2 API, a value of None means show all results
+# by default
+#default_limit_v2 = 20
+
+# Max page size in the V2 API
+#max_limit_v2 = 1000
+
+# Enable Admin API (experimental)
+#enable_api_admin = False
+
+# Enabled Admin API extensions
+# Can be one or more of : reports, quotas, counts, tenants, zones
+# zone export is in zones extension
+#enabled_extensions_admin =
+
+# Default per-page limit for the Admin API, a value of None means show all results
+# by default
+#default_limit_admin = 20
+
+# Max page size in the Admin API
+#max_limit_admin = 1000
+
+# 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_host = {{ server.identity.host }}
+auth_port = 35357
+auth_protocol = http
+admin_tenant_name = {{ server.identity.tenant }}
+admin_user = {{ server.identity.user }}
+admin_password = {{ server.identity.password }}
+
+#-----------------------
+# 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 = nova_fixed, neutron_floatingip
+
+#-----------------------
+# mDNS Service
+#-----------------------
+[service:mdns]
+# Number of mdns worker processes to spawn
+#workers = None
+
+# Number of mdns greenthreads to spawn
+#threads = 1000
+
+# mDNS Bind Host
+#host = 0.0.0.0
+
+# mDNS Port Number
+#port = 5354
+
+# mDNS TCP Backlog
+#tcp_backlog = 100
+
+# mDNS TCP Receive Timeout
+#tcp_recv_timeout = 0.5
+
+# Enforce all incoming queries (including AXFR) are TSIG signed
+#query_enforce_tsig = False
+
+# Send all traffic over TCP
+#all_tcp = False
+
+# Maximum message size to emit
+#max_message_size = 65535
+
+#-----------------------
+# Agent Service
+#-----------------------
+[service:agent]
+#workers = None
+#host = 0.0.0.0
+#port = 5358
+#tcp_backlog = 100
+#allow_notify = 127.0.0.1
+#masters = 127.0.0.1:5354
+#backend_driver = fake
+#transfer_source = None
+#notify_delay = 0
+
+#-----------------------
+# Zone Manager Service
+#-----------------------
+[service:zone_manager]
+# Number of Zone Manager worker processes to spawn
+#workers = None
+
+# Number of Zone Manager greenthreads to spawn
+#threads = 1000
+
+# List of Zone Manager tasks to enable, a value of None will enable all tasks.
+# Can be one or more of: periodic_exists
+#enabled_tasks = None
+
+# Whether to allow synchronous zone exports
+#export_synchronous = True
+
+#------------------------
+# Deleted domains purging
+#------------------------
+[zone_manager_task:domain_purge]
+# How frequently to purge deleted domains, in seconds
+#interval = 3600 # 1h
+
+# How many records to be deleted on each run
+#batch_size = 100
+
+# How old deleted records should be (deleted_at) to be purged, in seconds
+#time_threshold = 604800 # 7 days
+
+#-----------------------
+# Pool Manager Service
+#-----------------------
+[service:pool_manager]
+# Number of Pool Manager worker processes to spawn
+#workers = None
+
+# Number of Pool Manager greenthreads to spawn
+#threads = 1000
+
+# The ID of the pool managed by this instance of the Pool Manager
+{%- if server.pool is defined %}
+pool_id = {{ server.pool.pool_id }}
+{%- endif %}
+
+# The percentage of servers requiring a successful update for a domain change
+# to be considered active
+#threshold_percentage = 100
+
+# The time to wait for a response from a server
+#poll_timeout = 30
+
+# The time between retrying to send a request and waiting for a response from a
+# server
+#poll_retry_interval = 15
+
+# The maximum number of times to retry sending a request and wait for a
+# response from a server
+#poll_max_retries = 10
+
+# The time to wait before sending the first request to a server
+#poll_delay = 5
+
+# Enable the recovery thread
+#enable_recovery_timer = True
+
+# The time between recovering from failures
+#periodic_recovery_interval = 120
+
+# Enable the sync thread
+#enable_sync_timer = True
+
+# The time between synchronizing the servers with storage
+#periodic_sync_interval = 1800
+
+# Zones Updated within last N seconds will be syncd. Use None to sync all zones
+#periodic_sync_seconds = None
+
+# Perform multiple update attempts during periodic_sync
+#periodic_sync_max_attempts = 3
+#periodic_sync_retry_interval = 30
+
+
+# The cache driver to use
+#cache_driver = memcache
+
+###################################
+## Pool Manager Cache Configuration
+###################################
+#-----------------------
+# SQLAlchemy Pool Manager Cache
+#-----------------------
+[pool_manager_cache:sqlalchemy]
+connection = {{ server.database.engine }}://{{ server.database.user }}:{{ server.database.password }}@{{ server.database.host }}/{{ server.database.name.pool_manager }}
+#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.
+{%- if server.pool is defined %}
+[pool:{{ server.pool.pool_id }}]
+nameservers = {% for nameserver in server.pool.nameservers -%}
+ {{ nameserver.uuid }}
+ {%- if not loop.last -%},{%- endif -%}
+ {% endfor %}
+targets = {{ server.pool.targets.uuid }}
+#also_notifies = 192.0.2.1:53, 192.0.2.2:53
+
+{% for nameserver in server.pool.nameservers -%}
+[pool_nameserver:{{ nameserver.uuid }}]
+port = {{ nameserver.port }}
+host = {{ nameserver.host }}
+{% endfor -%}
+
+[pool_target:{{ server.pool.targets.uuid }}]
+options = {{ server.pool.targets.options }}
+masters = {{ server.pool.targets.masters }}
+type = {{ server.pool.targets.type }}
+{%- endif %}
+
+##############
+## Network API
+##############
+[network_api:neutron]
+# Comma separated list of values, formatted "<name>|<neutron_uri>"
+#endpoints = RegionOne|http://localhost:9696
+#endpoint_type = publicURL
+#timeout = 30
+#admin_username = designate
+#admin_password = designate
+#admin_tenant_name = designate
+#auth_url = http://localhost: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 = {{ server.database.engine }}://{{ server.database.user }}:{{ server.database.password }}@{{ server.database.host }}/{{ server.database.name.main_database }}
+#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 = {{ server.domain_id }}
+notification_topics = notifications
+control_exchange = 'neutron'
+#format = '%(octet0)s-%(octet1)s-%(octet2)s-%(octet3)s.%(domain)s'
+format = '%(hostname)s.%(domain)s'
+
+#------------------------
+# Neutron Floating Handler
+#------------------------
+[handler:neutron_floatingip]
+# Domain ID of domain to create records in. Should be pre-created
+domain_id = {{ server.domain_id }}
+notification_topics = notifications
+control_exchange = 'neutron'
+#format = '%(octet0)s-%(octet1)s-%(octet2)s-%(octet3)s.%(domain)s'
+format = '%(hostname)s.%(domain)s'
+
+#############################
+## 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
+#
+[backend:agent:denominator]
+#name = dynect
+#config_file = /etc/denominator.conf
+
+########################
+## Library Configuration
+########################
+[oslo_concurrency]
+# Path for Oslo Concurrency to store lock files, defaults to the value
+# of the state_path setting.
+#lock_path = $state_path
+
+########################
+## Coordination
+########################
+[coordination]
+# URL for the coordination backend to use.
+#backend_url = kazoo://127.0.0.1/
+
+########################
+## Hook Points
+########################
+# Hook Points are enabled when added to the config and there has been
+# a package that provides the corresponding named designate.hook_point
+# entry point.
+
+# [hook_point:name_of_hook_point]
+# some_param_for_hook = 42
+# Hooks can be disabled in the config
+# enabled = False
+
+# Hook can also be applied to the import path when the hook has not
+# been given an explicit name. The name is created from the hook
+# target function / method:
+#
+# name = '%s.%s' % (func.__module__, func.__name__)
+
+# [hook_point:designate.api.v2.controllers.zones.get_one]
diff --git a/designate/files/liberty/designate.conf.RedHat b/designate/files/liberty/designate.conf.RedHat
new file mode 120000
index 0000000..e08d560
--- /dev/null
+++ b/designate/files/liberty/designate.conf.RedHat
@@ -0,0 +1 @@
+designate.conf.Debian
\ No newline at end of file
diff --git a/designate/init.sls b/designate/init.sls
index d723433..58ccc9b 100644
--- a/designate/init.sls
+++ b/designate/init.sls
@@ -3,4 +3,7 @@
{%- if pillar.designate.server is defined %}
- designate.server
{%- endif %}
+{%- if pillar.designate.client is defined %}
+- designate.client
+{%- endif %}
{%- endif %}
diff --git a/designate/map.jinja b/designate/map.jinja
index fcc367b..a510b8e 100644
--- a/designate/map.jinja
+++ b/designate/map.jinja
@@ -8,3 +8,12 @@
'services': ['designate-central', 'designate-api', 'designate-mdns', 'designate-pool-manager'],
},
}, merge=pillar.designate.get('server', {})) %}
+
+{% set client = salt['grains.filter_by']({
+ 'Debian': {
+ 'pkgs': ['python-designateclient'],
+ },
+ 'RedHat': {
+ 'pkgs': ['python-designateclient'],
+ },
+}, merge=pillar.designate.get('client', {})) %}
diff --git a/designate/server.sls b/designate/server.sls
index 52904a4..a795a3d 100644
--- a/designate/server.sls
+++ b/designate/server.sls
@@ -20,36 +20,46 @@
- file: /etc/bind/named.conf.options
{%- endif %}
-designate_packages:
+designate_server_packages:
pkg.installed:
- names: {{ server.pkgs }}
/etc/designate/designate.conf:
- ini.options_present:
- - sections: {{ server.designate_config }}
- - require:
- - pkg: designate_packages
+ file.managed:
+ - source: salt://designate/files/{{ server.version }}/designate.conf.{{ grains.os_family }}
+ - template: jinja
+ - require:
+ - pkg: designate_server_packages
-designate_db_sync:
+/etc/designate/api-paste.ini:
+ file.managed:
+ - source: salt://designate/files/{{ server.version }}/api-paste.ini
+ - template: jinja
+ - require:
+ - pkg: designate_server_packages
+
+designate_syncdb:
cmd.run:
- name: designate-manage database sync
- require:
- - ini: /etc/designate/designate.conf
+ - file: /etc/designate/designate.conf
+ - pkg: designate_server_packages
designate_pool_sync:
cmd.run:
- name: designate-manage pool-manager-cache sync
- require:
- - ini: /etc/designate/designate.conf
+ - file: /etc/designate/designate.conf
+ - pkg: designate_server_packages
designate_server_services:
service.running:
- enable: true
- names: {{ server.services }}
- require:
- - cmd: designate_db_sync
+ - cmd: designate_syncdb
- cmd: designate_pool_sync
- watch:
- - ini: /etc/designate/designate.conf
+ - file: /etc/designate/designate.conf
{%- endif %}
diff --git a/metadata/service/client/init.yml b/metadata/service/client/init.yml
new file mode 100644
index 0000000..bf1abe2
--- /dev/null
+++ b/metadata/service/client/init.yml
@@ -0,0 +1,4 @@
+parameters:
+ designate:
+ client:
+ enabled: true
diff --git a/metadata/service/server/cluster.yml b/metadata/service/server/cluster.yml
index e2eafbb..f1e9f69 100644
--- a/metadata/service/server/cluster.yml
+++ b/metadata/service/server/cluster.yml
@@ -7,83 +7,32 @@
server:
enabled: true
local_bind: true
- ################################################################################
- ######### Designate config (/etc/designate/designate.conf) #########
- ################################################################################
- designate_config:
- DEFAULT:
- verbose: 'True'
- debug: 'False'
- rabbit_userid: 'stackrabbit'
- rabbit_password: 'PASSWORD'
- rabbit_hosts: '127.0.0.1'
- service:api:
- api_base_uri: http://127.0.0.1:9001/
- api_host: 127.0.0.1
- api_port: '9001'
- enabled_extensions_v1: diagnostics, quotas, reports, sync, touch
- enable_api_v2: 'True'
- enable_api_v1: 'True'
- enabled_extensions_v2: quotas, reports
- auth_strategy: keystone
- service:sink:
- enabled_notification_handlers: nova_fixed, neutron_floatingip
- handler:nova_fixed:
- domain_id: 833e4a34-bddd-45e4-b754-1b7616d95681
- notification_topics: notifications
- control_exchange: neutron
-# format: '%(octet0)s-%(octet1)s-%(octet2)s-%(octet3)s.%(domain)s'
- format: '%(hostname)s.%(domain)s'
- keystone_authtoken:
- auth_host: 127.0.0.1
- auth_port: '35357'
- auth_protocol: http
- admin_tenant_name: admin
- admin_user: admin
- admin_password: PASSWORD
- pool_manager_cache:sqlalchemy:
- connection: mysql://designate-common:PASSWORD@127.0.0.1/designate_pool_manager
- storage:sqlalchemy:
- connection: mysql://designate-common:PASSWORD@127.0.0.1/designatedb
- service:pool_manager:
- pool_id: 794ccc2c-d751-44fe-b57f-8894c9f5c842
- pool:794ccc2c-d751-44fe-b57f-8894c9f5c842:
- nameservers: 0f66b842-96c2-4189-93fc-1dc95a08b012, a7c98d54-6c08-497e-ae50-c31b44923041, 871df553-07e4-4a21-8b5b-c15439e286b1
- targets: f26e0b32-736f-4f0a-831b-039a415c481e, 2683d05e-1290-4018-a02b-9a69af847d7c, dab43696-04bf-4162-8fc4-61947815c628
- pool_target:f26e0b32-736f-4f0a-831b-039a415c481e:
- masters: 127.0.0.1:5354
- type: bind9
- options: 'port: 53, host: 192.168.122.169'
- pool_target:2683d05e-1290-4018-a02b-9a69af847d7c:
- masters: 192.168.122.69:5354
- type: bind9
- options: 'port: 53, host: 192.168.122.69'
- pool_target:dab43696-04bf-4162-8fc4-61947815c628:
- masters: 192.168.122.119:5354
- type: bind9
- options: 'port: 53, host: 192.168.122.119'
- pool_nameserver:0f66b842-96c2-4189-93fc-1dc95a08b012:
- port: '53'
- host: 127.0.0.1
- pool_nameserver:a7c98d54-6c08-497e-ae50-c31b44923041:
- port: '53'
- host: 192.168.122.69
- pool_nameserver:871df553-07e4-4a21-8b5b-c15439e286b1:
- port: '53'
- host: 192.168.122.119
- ################################################################################
+ region: RegionOne
+ domain_id: 5186883b-91fb-4891-bd49-e6769234a8fc
+ version: ${_param:designate_version}
+ bind:
+ api:
+ address: ${_param:cluster_local_address}
database:
engine: mysql
host: ${_param:cluster_vip_address}
port: 3306
- name: designate
+ name:
+ main_database: designate
+ pool_manager: designate_pool_manager
user: designate
password: ${_param:mysql_designate_password}
identity:
engine: keystone
- region: RegionOne
host: ${_param:cluster_vip_address}
port: 35357
tenant: service
user: designate
password: ${_param:keystone_designate_password}
+ message_queue:
+ engine: rabbitmq
+ host: ${_param:cluster_vip_address}
+ port: 5672
+ user: openstack
+ password: ${_param:rabbitmq_openstack_password}
+ virtual_host: '/openstack'
diff --git a/metadata/service/server/single.yml b/metadata/service/server/single.yml
index db774e4..0939d68 100644
--- a/metadata/service/server/single.yml
+++ b/metadata/service/server/single.yml
@@ -7,69 +7,32 @@
server:
enabled: true
local_bind: true
- ################################################################################
- ######### Designate config (/etc/designate/designate.conf) #########
- ################################################################################
- designate_config:
- DEFAULT:
- verbose: 'True'
- debug: 'False'
- rabbit_userid: 'stackrabbit'
- rabbit_password: 'PASSWORD'
- rabbit_hosts: '127.0.0.1'
- service:api:
- api_base_uri: http://127.0.0.1:9001/
- api_host: 127.0.0.1
- api_port: '9001'
- enabled_extensions_v1: diagnostics, quotas, reports, sync, touch
- enable_api_v2: 'True'
- enable_api_v1: 'True'
- enabled_extensions_v2: quotas, reports
- auth_strategy: keystone
- service:sink:
- enabled_notification_handlers: nova_fixed, neutron_floatingip
- handler:nova_fixed:
- domain_id: 833e4a34-bddd-45e4-b754-1b7616d95681
- notification_topics: notifications
- control_exchange: neutron
-# format: '%(octet0)s-%(octet1)s-%(octet2)s-%(octet3)s.%(domain)s'
- format: '%(hostname)s.%(domain)s'
- keystone_authtoken:
- auth_host: 127.0.0.1
- auth_port: '35357'
- auth_protocol: http
- admin_tenant_name: admin
- admin_user: admin
- admin_password: PASSWORD
- pool_manager_cache:sqlalchemy:
- connection: mysql://designate-common:PASSWORD@127.0.0.1/designate_pool_manager
- storage:sqlalchemy:
- connection: mysql://designate-common:PASSWORD@127.0.0.1/designatedb
- service:pool_manager:
- pool_id: 794ccc2c-d751-44fe-b57f-8894c9f5c842
- pool:794ccc2c-d751-44fe-b57f-8894c9f5c842:
- nameservers: 0f66b842-96c2-4189-93fc-1dc95a08b012
- targets: f26e0b32-736f-4f0a-831b-039a415c481e
- pool_nameserver:0f66b842-96c2-4189-93fc-1dc95a08b012:
- port: 53
- host: 127.0.0.1
- pool_target:f26e0b32-736f-4f0a-831b-039a415c481e:
- options: 'port: 53, host: 127.0.0.1'
- masters: 127.0.0.1:5354
- type: bind9
- ################################################################################
+ region: RegionOne
+ domain_id: 5186883b-91fb-4891-bd49-e6769234a8fc
+ version: ${_param:designate_version}
+ bind:
+ api:
+ address: ${_param:single_address}
database:
engine: mysql
- host: ${_param:cluster_vip_address}
+ host: ${_param:single_address}
port: 3306
- name: designate
+ name:
+ main_database: designate
+ pool_manager: designate_pool_manager
user: designate
password: ${_param:mysql_designate_password}
identity:
engine: keystone
- region: RegionOne
- host: ${_param:cluster_vip_address}
+ host: ${_param:single_address}
port: 35357
tenant: service
user: designate
password: ${_param:keystone_designate_password}
+ message_queue:
+ engine: rabbitmq
+ host: ${_param:single_address}
+ port: 5672
+ user: openstack
+ password: ${_param:rabbitmq_openstack_password}
+ virtual_host: '/openstack'
diff --git a/metadata/service/support.yml b/metadata/service/support.yml
index 01a81ff..3241a5c 100644
--- a/metadata/service/support.yml
+++ b/metadata/service/support.yml
@@ -4,7 +4,7 @@
collectd:
enabled: false
heka:
- enabled: true
+ enabled: false
sensu:
enabled: true
sphinx: