diff --git a/ansible/roles/cinder/templates/cinder.conf.j2 b/ansible/roles/cinder/templates/cinder.conf.j2 index 8c219f181e9e6a744411987557be1030cee2057a..914e8b2dfd10ea17f4b28036f365857cbc27afca 100644 --- a/ansible/roles/cinder/templates/cinder.conf.j2 +++ b/ansible/roles/cinder/templates/cinder.conf.j2 @@ -238,9 +238,8 @@ verify_ssl_path = {{ openstack_cacert }} {% if cinder_coordination_backend == 'redis' %} backend_url = {{ redis_connection_string }} {% elif cinder_coordination_backend == 'etcd' %} -# 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+{{ etcd_protocol }}://{{ 'api' | kolla_address(groups['etcd'][0]) | put_address_in_context('url') }}:{{ etcd_client_port }} +backend_url = etcd3+{{ internal_protocol }}://{{ kolla_internal_vip_address }}:{{ etcd_client_port }} {% endif %} diff --git a/ansible/roles/ironic/templates/ironic-inspector.conf.j2 b/ansible/roles/ironic/templates/ironic-inspector.conf.j2 index fa9462dff534689de4287cb5a043e09cf2f27fc3..51a34c2a51741eb3551d954cfd531d8b20aac09f 100644 --- a/ansible/roles/ironic/templates/ironic-inspector.conf.j2 +++ b/ansible/roles/ironic/templates/ironic-inspector.conf.j2 @@ -83,9 +83,8 @@ dnsmasq_interface = {{ ironic_dnsmasq_interface }} {% if ironic_coordination_backend == 'redis' %} backend_url = {{ redis_connection_string }} {% elif ironic_coordination_backend == 'etcd' %} -# 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+{{ etcd_protocol }}://{{ 'api' | kolla_address(groups['etcd'][0]) | put_address_in_context('url') }}:{{ etcd_client_port }} +backend_url = etcd3+{{ internal_protocol }}://{{ kolla_internal_vip_address }}:{{ etcd_client_port }} {% endif %} diff --git a/releasenotes/notes/use-loadbalancer-for-etcdgw-coordination-6704a8b1389bbabe.yaml b/releasenotes/notes/use-loadbalancer-for-etcdgw-coordination-6704a8b1389bbabe.yaml new file mode 100644 index 0000000000000000000000000000000000000000..fa8b1d670319e4475135e7a2634eb1c942599c21 --- /dev/null +++ b/releasenotes/notes/use-loadbalancer-for-etcdgw-coordination-6704a8b1389bbabe.yaml @@ -0,0 +1,6 @@ +--- +features: + - | + Services using etcd3gw via tooz now use etcd via haproxy. This removes + a single point of failure, where we hardcoded the first etcd host for + backend_url.