Add configurable values for Pool manager
In order to configure Pool manager to work correctly with pdns
instances and sync changes periodically, changes to Designate
configuration file should be made.
Change-Id: I91347038230455bd32a5e3a2361cff9a959e209c
Related-PROD: https://mirantis.jira.com/browse/PROD-12631
diff --git a/designate/files/ocata/designate.conf.Debian b/designate/files/ocata/designate.conf.Debian
index 3c2ad84..6c3ded3 100644
--- a/designate/files/ocata/designate.conf.Debian
+++ b/designate/files/ocata/designate.conf.Debian
@@ -348,13 +348,21 @@
#-----------------------
[service:pool_manager]
# Number of Pool Manager worker processes to spawn
+{%- if server.pool_manager.workers is defined %}
+workers = {{ server.pool_manager.workers }}
+{%- else %}
#workers = None
+{%- endif %}
# 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_manager.pool_id is defined %}
+pool_id = {{ server.pool_manager.pool_id }}
+{%- else %}
#pool_id = 794ccc2c-d751-44fe-b57f-8894c9f5c842
+{%- endif %}
# The percentage of servers requiring a successful update for a domain change
# to be considered active
@@ -381,17 +389,17 @@
#periodic_recovery_interval = 120
# Enable the sync thread
-#enable_sync_timer = True
+enable_sync_timer = {{ server.pool_manager.get('enable_sync_timer', 'True') }}
# The time between synchronizing the servers with storage
-#periodic_sync_interval = 1800
+periodic_sync_interval = {{ server.pool_manager.get('periodic_sync_interval', '1800') }}
# Zones Updated within last N seconds will be syncd. Use None to sync all zones
-#periodic_sync_seconds = None
+periodic_sync_seconds = {{ server.pool_manager.get('periodic_sync_seconds', '') }}
# Perform multiple update attempts during periodic_sync
-#periodic_sync_max_attempts = 3
-#periodic_sync_retry_interval = 30
+periodic_sync_max_attempts = {{ server.pool_manager.get('periodic_sync_max_attempts', '3') }}
+periodic_sync_retry_interval = {{ server.pool_manager.get('periodic_sync_retry_interval', '30') }}
# The cache driver to use
#cache_driver = memcache
@@ -403,7 +411,11 @@
[service:worker]
{# 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 server.pool_manager.enabled is defined and server.pool_manager.enabled == true %}
+enabled = False
+{%- else %}
enabled = True
+{%- endif %}
# Number of Worker processes to spawn
#workers = None
diff --git a/designate/map.jinja b/designate/map.jinja
index 30d73c3..bf08f5d 100644
--- a/designate/map.jinja
+++ b/designate/map.jinja
@@ -1,6 +1,9 @@
{%- set version = salt['pillar.get']('designate:server:version') -%}
{%- if version not in ['mitaka','liberty', 'juno', 'kilo'] %}
{% set server = salt['grains.filter_by']({
+ 'default': {
+ 'pool_manager': {}
+ },
'Debian': {
'pkgs': ['designate', 'designate-producer', 'designate-mdns', 'designate-sink', 'designate-worker'],
'services': ['designate-agent', 'designate-api', 'designate-central', 'designate-mdns', 'designate-producer', 'designate-sink', 'designate-worker'],
@@ -9,9 +12,12 @@
'pkgs': ['openstack-designate-api', 'openstack-designate-central', 'openstack-designate-sink', 'openstack-designate-producer', 'openstack-designate-worker', 'openstack-designate-mdns', 'openstack-designate-common', 'python-designate', 'python-designateclient', 'openstack-designate-agent'],
'services': ['designate-central', 'designate-api', 'designate-mdns', 'designate-producer', 'designate-worker'],
},
-}, merge=pillar.designate.get('server', {})) %}
+}, merge=pillar.designate.get('server', {}), base='default') %}
{%- else %}
{% set server = salt['grains.filter_by']({
+ 'default': {
+ 'pool_manager': {}
+ },
'Debian': {
'pkgs': ['designate', 'designate-pool-manager', 'designate-mdns', 'designate-sink', 'designate-zone-manager'],
'services': ['designate-agent', 'designate-api', 'designate-central', 'designate-mdns', 'designate-pool-manager', 'designate-sink', 'designate-zone-manager'],
@@ -20,7 +26,7 @@
'pkgs': ['openstack-designate-api', 'openstack-designate-central', 'openstack-designate-sink', 'openstack-designate-pool-manager', 'openstack-designate-zone-manager', 'openstack-designate-mdns', 'openstack-designate-common', 'python-designate', 'python-designateclient', 'openstack-designate-agent'],
'services': ['designate-central', 'designate-api', 'designate-mdns', 'designate-pool-manager', 'designate-zone-manager'],
},
-}, merge=pillar.designate.get('server', {})) %}
+}, merge=pillar.designate.get('server', {}), base='default') %}
{%- endif %}
{% set client = salt['grains.filter_by']({