Default to etcd3gw driver for etcd-based coordination
To fix instability and availability issues: etcd3 is not available in repos for binary kolla images. etcd3 does not support eventlet-based services [1]. [1] https://review.opendev.org/466098 Change-Id: I430bab735da204fc81696130b17931a89214c876 Closes-bug: #1852086 Closes-bug: #1854932 (cherry picked from commit 58b5acbf65013f468db3fe73349689271a3c287e) (cherry picked from commit bfd1bde4e0ed1fe98d49253f15b53b31e1ee0645)
This commit is contained in:
parent
98a0c14eb8
commit
a019074748
@ -223,6 +223,9 @@ auth_endpoint = {{ keystone_internal_url }}
|
||||
{% if cinder_coordination_backend == 'redis' %}
|
||||
backend_url = {{ redis_connection_string }}
|
||||
{% elif cinder_coordination_backend == 'etcd' %}
|
||||
# NOTE(jeffrey4l): python-etcd3 module do not support multi endpoint here.
|
||||
backend_url = etcd3://{{ hostvars[groups['etcd'][0]]['ansible_' + hostvars[groups['etcd'][0]]['api_interface']]['ipv4']['address'] }}:{{ etcd_client_port }}
|
||||
# NOTE(yoctozepto): etcd-compatible tooz drivers do not support multiple endpoints here (verified in Stein, Train)
|
||||
# NOTE(yoctozepto): we must use etcd3gw (aka etcd3+http) due to issues with alternative (etcd3) and eventlet (as used by cinder)
|
||||
# see https://bugs.launchpad.net/kolla-ansible/+bug/1854932
|
||||
# and https://review.opendev.org/466098 for details
|
||||
backend_url = etcd3+http://{{ hostvars[groups['etcd'][0]]['ansible_' + hostvars[groups['etcd'][0]]['api_interface']]['ipv4']['address'] }}:{{ etcd_client_port }}
|
||||
{% endif %}
|
||||
|
@ -116,6 +116,9 @@ policy_file = {{ designate_policy_file }}
|
||||
{% 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 }}
|
||||
# NOTE(yoctozepto): etcd-compatible tooz drivers do not support multiple endpoints here (verified in Stein, Train)
|
||||
# NOTE(yoctozepto): we must use etcd3gw (aka etcd3+http) due to issues with alternative (etcd3) and eventlet (as used by designate)
|
||||
# see https://bugs.launchpad.net/kolla-ansible/+bug/1854932
|
||||
# and https://review.opendev.org/466098 for details
|
||||
backend_url = etcd3+http://{{ hostvars[groups['etcd'][0]]['ansible_' + hostvars[groups['etcd'][0]]['api_interface']]['ipv4']['address'] }}:{{ etcd_client_port }}
|
||||
{% endif %}
|
||||
|
@ -0,0 +1,15 @@
|
||||
---
|
||||
fixes:
|
||||
- |
|
||||
When ``etcd`` is used with ``cinder_coordination_backend``
|
||||
and/or ``designate_coordination_backend``, the config has been changed
|
||||
to use the ``etcd3gw`` (aka ``etcd3+http``) ``tooz`` coordination driver
|
||||
instead of ``etcd3`` due to issues with the latter's availability and
|
||||
stability. ``etcd3`` does not handle well eventlet-based services,
|
||||
such as cinder's and designate's.
|
||||
See bugs `1852086
|
||||
<https://bugs.launchpad.net/kolla-ansible/+bug/1852086>`__ and `1854932
|
||||
<https://bugs.launchpad.net/kolla-ansible/+bug/1854932>`__
|
||||
for details.
|
||||
See also `tooz change introducing etcd3gw
|
||||
<https://review.opendev.org/466098>`__.
|
Loading…
x
Reference in New Issue
Block a user