Logan V 149076cd2c Reimplement external LB management handler hook
Based on conversation on an ansible issue[1], I implemented
a LB orchestration role[2] similar to the POC here[3].

This will allow external loadbalancer management roles to hook
into a universal notify listener "Manage LB" to perform before/
after endpoint management actions when the service is being
restarted.

[1]: https://github.com/ansible/ansible/issues/27813
[2]: https://github.com/Logan2211/ansible-haproxy-endpoints
[3]: https://github.com/Logan2211/tmp-ansible-27813

This reverts commit f876cf2926d5a80bd4e8b3acd6da2e9553b98e8f.

Change-Id: Ib17c9ae6f5e75ce2288d52f6368cd40e9586ffdb
2017-09-10 17:05:30 -05:00

45 lines
1.4 KiB
ReStructuredText

===============================
OpenStack-Ansible Galera server
===============================
Ansible role to install and configure a Galera cluster powered by MariaDB
To clone or view the source code for this repository, visit the role repository
for `galera_server <https://github.com/openstack/openstack-ansible-galera_server>`_.
Default variables
~~~~~~~~~~~~~~~~~
.. literalinclude:: ../../defaults/main.yml
:language: yaml
:start-after: under the License.
Required variables
~~~~~~~~~~~~~~~~~~
To use this role, define the following variables:
.. code-block:: yaml
galera_root_password: secrete
Example playbook
~~~~~~~~~~~~~~~~
.. literalinclude:: ../../examples/playbook.yml
:language: yaml
External Restart Hooks
~~~~~~~~~~~~~~~~~~~~~~
When the role performs a restart of the mariadb service, it will notify an
Ansible handler named ``Manage LB``, which is a noop within this role. In the
playbook, other roles may be loaded before and after this role which will
implement Ansible handler listeners for ``Manage LB``, that way external roles
can manage the load balancer endpoints responsible for sending traffic to the
MariaDB servers being restarted by marking them in maintenance or active mode,
draining sessions, etc. For an example implementation, please reference the
`ansible-haproxy-endpoints role <https://github.com/Logan2211/ansible-haproxy-endpoints>`_
used by the openstack-ansible project.