Enable current Designate services

designate-pool-manager and designate-zone-manager are deprecated
in favor of designate-worker and designate-producer. This enables
those services.

This does not functionally change the way Designate works, so the
associated config changes are minimal. This does remove some
cumbersome pool manager cache configuration that is no longer
needed, but wasn't being used anyway. It also simplifies the
Designate architecture by making the separation of duties easier
to grok, and enables simple horizontal scaling by starting more
``designate-worker`` processes.

Change-Id: I7adb2cea21136c18f36e0ed6404989d4e5de8e4d
This commit is contained in:
Tim Simmons 2017-01-31 18:07:39 +00:00
parent 69877f3437
commit b9adeab14f
10 changed files with 68 additions and 41 deletions

View File

@ -61,9 +61,6 @@ designate_system_user_home: "/var/lib/{{ designate_system_user_name }}"
designate_galera_address: 127.0.0.1
designate_galera_user: designate
designate_galera_database: designate
designate_pool_manager_galera_address: 127.0.0.1
designate_pool_manager_galera_user: designate_pool_manager
designate_pool_manager_galera_database: designate_pool_manager
## RabbitMQ info
designate_rabbitmq_userid: designate
@ -74,8 +71,6 @@ designate_rabbitmq_port: 5672
## Pool Configuration Defaults
designate_pool_uuid: 794ccc2c-d751-44fe-b57f-8894c9f5c842
designate_pool_nameserver_uuid: f02a0c72-c701-4ec2-85d7-197b30992ce8
designate_pool_target_uuid: f02a0c72-c701-4ec2-85d7-197b30992ce9
# Enable/Disable Ceilometer
designate_ceilometer_enabled: False
@ -158,12 +153,12 @@ designate_services:
designate-central:
group: designate_central
service_name: designate-central
designate-pool-manager:
group: designate_pool_manager
service_name: designate-pool-manager
designate-zone-manager:
group: designate_zone_manager
service_name: designate-zone-manager
designate-worker:
group: designate_worker
service_name: designate-worker
designate-producer:
group: designate_producer
service_name: designate-producer
designate-mdns:
group: designate_mdns
service_name: designate-mdns

View File

@ -7,8 +7,8 @@ This Ansible role installs and configures OpenStack Designate.
This role will install the following services:
* designate-api
* designate-central
* designate-pool-manager
* designate-zone-manager
* designate-worker
* designate-producer
* designate-mdns
* designate-sink
@ -34,7 +34,6 @@ Required variables
designate_galera_address
designate_galera_password
designate_pool_manager_galera_password
designate_service_password
designate_rabbitmq_password

View File

@ -8,6 +8,5 @@
internal_lb_vip_address: 192.168.0.1
designate_galera_address: "{{ internal_lb_vip_address }}"
designate_galera_password: "SuperSecretePassword1"
designate_pool_manager_galera_password: "SuperSecretePassword2"
designate_service_password: "SuperSecretePassword3"
designate_rabbitmq_password: "SuperSecretePassword4"

View File

@ -23,10 +23,10 @@ component_skel:
designate_mdns:
belongs_to:
- designate_all
designate_pool_manager:
designate_worker:
belongs_to:
- designate_all
designate_zone_manager:
designate_producer:
belongs_to:
- designate_all
designate_sink:
@ -41,8 +41,8 @@ container_skel:
- designate_api
- designate_central
- designate_mdns
- designate_pool_manager
- designate_zone_manager
- designate_worker
- designate_producer
- designate_sink
properties:
service_name: designate

View File

@ -1,5 +1,4 @@
designate_galera_password:
designate_pool_manager_galera_password:
designate_pool_nameserver_uuid:
designate_pool_target_uuid:
designate_pool_uuid:

View File

@ -19,12 +19,6 @@
become_user: "{{ designate_system_user_name }}"
changed_when: false
- name: Perform a Designate Pool Manager Cache sync
command: "{{ designate_bin }}/designate-manage pool-manager-cache sync"
become: yes
become_user: "{{ designate_system_user_name }}"
changed_when: false
- name: Perform a Designate DNS pools update
command: "{{ designate_bin }}/designate-manage pool update"
become: yes

View File

@ -216,9 +216,9 @@ memcached_servers = {{ memcached_servers }}
#notify_delay = 0
#-----------------------
# Zone Manager Service
# Producer Service
#-----------------------
[service:zone_manager]
[service:producer]
# Number of Zone Manager worker processes to spawn
#workers = None
@ -235,7 +235,7 @@ memcached_servers = {{ memcached_servers }}
#------------------------
# Deleted domains purging
#------------------------
[zone_manager_task:domain_purge]
[producer_task:domain_purge]
# How frequently to purge deleted domains, in seconds
#interval = 3600 # 1h
@ -245,6 +245,20 @@ memcached_servers = {{ memcached_servers }}
# How old deleted records should be (deleted_at) to be purged, in seconds
#time_threshold = 604800 # 7 days
#------------------------
# Delayed zones NOTIFY
#------------------------
[producer_task:delayed_notify]
# How frequently to scan for zones pending NOTIFY, in seconds
#interval = 5
#------------------------
# Worker Periodic Recovery
#------------------------
[producer_task:worker_periodic_recovery]
# How frequently to scan for zones in ERROR, in seconds
#interval = 120
#-----------------------
# Pool Manager Service
#-----------------------
@ -298,6 +312,40 @@ pool_id = {{ designate_pool_uuid }}
# The cache driver to use
#cache_driver = memcache
#-----------------------
# Worker Service
#-----------------------
[service:worker]
# Whether to send events to worker instead of Pool Manager
enabled = True
# Number of Worker processes to spawn
#workers = None
# Number of Worker greenthreads to spawn
#threads = 1000
# The percentage of servers requiring a successful update for a zone 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
# Whether to allow worker to send NOTIFYs. NOTIFY requests to mdns will noop
notify = True
###################################
## Pool Manager Cache Configuration
###################################
@ -305,7 +353,7 @@ pool_id = {{ designate_pool_uuid }}
# SQLAlchemy Pool Manager Cache
#-----------------------
[pool_manager_cache:sqlalchemy]
connection = mysql+pymysql://{{ designate_pool_manager_galera_user }}:{{ designate_pool_manager_galera_password }}@{{ designate_pool_manager_galera_address }}/designate_pool_manager?charset=utf8
#connection=sqlite:///$state_path/designate_pool_manager.sqlite
#connection_debug = 100
#connection_trace = False
#sqlite_synchronous = True

View File

@ -14,8 +14,8 @@ openstack1
designate_api
designate_central
designate_mdns
designate_pool_manager
designate_zone_manager
designate_worker
designate_producer
designate_sink
[designate_api]
@ -27,10 +27,10 @@ openstack1
[designate_mdns]
openstack1
[designate_pool_manager]
[designate_worker]
openstack1
[designate_zone_manager]
[designate_producer]
openstack1
[designate_sink]

View File

@ -23,10 +23,6 @@ designate_galera_address: "{{ hostvars[groups['galera_all'][0]]['ansible_host']
designate_galera_database: designate
designate_galera_user: designate
designate_galera_password: "SuperSecrete"
designate_pool_manager_galera_address: "{{ hostvars[groups['galera_all'][0]]['ansible_host'] }}"
designate_pool_manager_galera_database: designate_pool_manager
designate_pool_manager_galera_user: designate_pool_manager
designate_pool_manager_galera_password: "SuperSecrete"
designate_rabbitmq_password: "secrete"
designate_rabbitmq_userid: designate
designate_rabbitmq_vhost: /designate

View File

@ -25,9 +25,6 @@
- include: common/create-grant-db.yml
db_name: "{{ designate_galera_user }}"
db_password: "{{ designate_galera_password }}"
- include: common/create-grant-db.yml
db_name: "{{ designate_pool_manager_galera_database }}"
db_password: "{{ designate_pool_manager_galera_password }}"
- name: Install bind9
package:
name: "{{ bind_package_name }}"