Ansible playbooks for deploying OpenStack.
Go to file
Jean-Philippe Evrard a239b29baf
Implementation of keepalived for haproxy
This commit uses a keepalived role, available in
ansible galaxy, to configure keepalived for haproxy

Keepalived makes the haproxy truely HA, by having
haproxy's VIP highly available between the hosts
defined in the inventory.

The keepalived role configuration is fully
documented on the upstream role.

To configure keepalived on your host, you only have to
give it a variable (dict). A template handles the
generation of the configuration of keepalived.

By default, the variable files defined in vars/configs/
are enough to have a keepalived working for haproxy,
with a master-backup configuration.

You can define other variable files by setting
haproxy_keepalived_(master|backup)_vars in your
user_variables. This should point to a "variable
template" file like the one you can find
in vars/configs/*

The haproxy playbook has been changed to rely on
the dynamic generation script. It will use the env.d
to have haproxy hosts. The first host from the
generated inventory will be considered as master,
while the others are slaves. The keepalived role
will only run if more than haproxy host is found
in the inventory. This behaviour can be changed
and keepalived can be disabled by the variable:
haproxy_use_keepalived.

The implemented variables are the following:
* haproxy_keepalived_(ext|int)ernal_vip_cidr
* haproxy_keepalived_(ext|int)ernal_interface
* haproxy_keepalived_(ext|int)ernal_virtual_router_id
* haproxy_keepalived_priority_backup
* haproxy_keepalived_priority_master
* haproxy_keepalived_vars_file

In these variables, only the following variables
are necessary: keepalived_(ext|int)ernal_vip_cidr
However, it's recommended to also configure the
keepalived_(ext|int)ernal_interface
(to know which interface the vips can bind on)

Closes-Bug: 1414397
Change-Id: Ib87a3bb70d6f4b7ac9356e8a28fe4b5936eb9334
2015-10-07 23:08:41 -05:00
doc Implementation of keepalived for haproxy 2015-10-07 23:08:41 -05:00
etc Implementation of keepalived for haproxy 2015-10-07 23:08:41 -05:00
playbooks Implementation of keepalived for haproxy 2015-10-07 23:08:41 -05:00
scripts Implementation of keepalived for haproxy 2015-10-07 23:08:41 -05:00
.gitignore Fix the path of build docs in .gitignore 2015-09-22 16:32:06 +05:30
.gitreview Update .gitreview for project rename 2015-09-11 20:58:10 +00:00
ansible-role-requirements.yml Implementation of keepalived for haproxy 2015-10-07 23:08:41 -05:00
ansible-role-requirements.yml.example Convert existing roles into galaxy roles 2015-02-18 10:56:25 +00:00
dev-requirements.txt Adds a pep8 target to tox.ini 2015-08-14 11:42:26 +00:00
LICENSE.txt Add profiling for Ansible tasks 2015-09-09 15:40:24 +00:00
README.rst Various Documentation Updates 2015-10-05 18:16:01 +01:00
requirements.txt Update how neutron migrations are handled 2015-09-03 05:45:35 +00:00
setup.cfg Rename everything for the osad to osa name change 2015-09-12 02:31:21 +01:00
setup.py Uses tox for automating documentation builds 2015-08-12 06:32:40 +01:00
tox.ini Fix incorrect tox.ini config 2015-10-02 09:58:19 +01:00

OpenStack Ansible

OpenStack-Ansible is an official OpenStack project which aims to deploy production environments from source in a way that makes it scalable while also being simple to operate, upgrade, and grow.

For an overview of the mission, repositories and related Wiki home page, please see the formal Home Page for the project.

For those looking to test OpenStack-Ansible using an All-In-One (AIO) build, please see the Quick Start guide.

For more detailed Installation and Operator documentation, please see the Install Guide.

If OpenStack-Ansible is missing something you'd like to see included, then we encourage you to see the Developer Documentation for more details on how you can get involved.

If you have some questions, or would like some assistance with achieving your goals, then please feel free to reach out to us on the OpenStack Mailing Lists (particularly openstack-operators or openstack-dev) or on IRC in #openstack-ansible on the freenode network.