[designate] Add coordination backend for designate workers

Add coordination backend configuration to designate.conf which is
required in multinode environments. Fixes warning from designate:

WARNING designate.coordination [-] No coordination backend configured,
assuming we are the only worker. Please configure a coordination backend

Change-Id: I23c4d2de7e3f9368795c423000a4f9a6c3a431e2
Closes-Bug: #1843842
Related-Bug: #1840070
This commit is contained in:
Joseph M 2019-09-13 11:50:21 -04:00
parent 5dae45e26e
commit 9cae608392
5 changed files with 26 additions and 0 deletions

View File

@ -869,6 +869,8 @@ designate_backend: "bind9"
designate_ns_record: "sample.openstack.org"
designate_backend_external: "no"
designate_backend_external_bind9_nameservers: ""
# Valid options are [ '', redis, etcd ]
designate_coordination_backend: "{{ 'redis' if enable_redis|bool else 'etcd' if enable_etcd|bool else '' }}"
#######################
# Neutron options

View File

@ -114,3 +114,11 @@ enable_proxy_headers_parsing = True
[oslo_policy]
policy_file = {{ designate_policy_file }}
{% endif %}
[coordination]
{% if designate_coordination_backend == 'redis' %}
backend_url = {{ redis_connection_string }}
{% elif designate_coordination_backend == 'etcd' %}
# NOTE(noxoid): python-etcd3 does not support multiple endpoints
backend_url = etcd3://{{ hostvars[groups['etcd'][0]]['ansible_' + hostvars[groups['etcd'][0]]['api_interface']]['ipv4']['address'] }}:{{ etcd_client_port }}
{% endif %}

View File

@ -37,6 +37,13 @@ Configure Designate options in ``/etc/kolla/globals.yml``
dns_interface: "eth1"
designate_ns_record: "sample.openstack.org"
.. important::
If multiple nodes are assigned to be Designate workers then you must
enable a supported coordination backend, currently either 'redis' or
'etcd'. The backend choice can be overridden by the
``designate_coordination_backend`` variable.
The following additional variables are required depending on which backend you
intend to use:

View File

@ -439,6 +439,8 @@
# Valid options are [ bind9 ]
#designate_backend: "bind9"
#designate_ns_record: "sample.openstack.org"
# Valid options are [ '', redis, etcd ]
#designate_coordination_backend: "{{ 'redis' if enable_redis|bool else 'etcd' if enable_etcd|bool else '' }}"
########################
# Nova - Compute Options

View File

@ -0,0 +1,7 @@
---
features:
- |
Designate coordination backend can now be configured via the
designate_coordination_backend variable. Coordination is mandatory
when multiple workers are deployed as in a multinode environment.
Possible values are redis or etcd.