Deploy haproxy with keepalived

Bug #1414397 reported by Pellaeon Lin
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OpenStack-Ansible
Fix Released
Wishlist
Jean-Philippe Evrard
Kilo
Won't Fix
Wishlist
Jean-Philippe Evrard
Trunk
Fix Released
Wishlist
Jean-Philippe Evrard

Bug Description

Currently, there is infrastructure/haproxy-install.yml playbook, haproxy becomes the single point of failure.

I hope keepalived could be integrated in the playbooks. I can help with the development.

Changed in openstack-ansible:
importance: Undecided → Wishlist
milestone: none → next
Revision history for this message
Kevin Carter (kevin-carter) wrote :

@Pellaeon Lin if you're able to throw devote time at this that'd be great. While HAProxy is not a high priority for us at this time I can see its uses. As an aside we have a weekly community meeting on Tuesday and Thursday "https://wiki.openstack.org/wiki/Meetings/openstack-ansible" if you're available to join us regarding this topic that'd be great otherwise ping me @cloudnull or any of us on IRC in #openstack-ansible if you have questions.

Changed in openstack-ansible:
status: New → Confirmed
Changed in openstack-ansible:
milestone: next → none
Changed in openstack-ansible:
milestone: none → 11.1.1
Revision history for this message
Jesse Pretorius (jesse-pretorius) wrote :

Removing milestone. If someone picks this up then it can be targeted.

Changed in openstack-ansible:
milestone: 11.1.1 → none
Revision history for this message
Jesse Pretorius (jesse-pretorius) wrote :
Revision history for this message
Jean-Philippe Evrard (jean-philippe-evrard) wrote :

Email sent today to sshen to integrate work of the commit https://review.openstack.org/217517 into https://review.openstack.org/#/c/218818/

(following the last comment on the https://review.openstack.org/217517)

Waiting for feedback.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on os-ansible-deployment (master)

Change abandoned by Shu Shen (<email address hidden>) on branch: master
Review: https://review.openstack.org/217517
Reason: Abandoned in favor of https://review.openstack.org/#/c/218818

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to openstack-ansible (master)

Reviewed: https://review.openstack.org/218818
Committed: https://git.openstack.org/cgit/openstack/openstack-ansible/commit/?id=a239b29baf21dc09570b55f45d86f70581841602
Submitter: Jenkins
Branch: master

commit a239b29baf21dc09570b55f45d86f70581841602
Author: Jean-Philippe Evrard <email address hidden>
Date: Mon Aug 31 13:44:46 2015 +0200

    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

Changed in openstack-ansible:
status: In Progress → Fix Committed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to openstack-ansible (kilo)

Fix proposed to branch: kilo
Review: https://review.openstack.org/234063

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on openstack-ansible (kilo)

Change abandoned by Jesse Pretorius (<email address hidden>) on branch: kilo
Review: https://review.openstack.org/234063
Reason: This is implemented in Liberty and Kilo is now considered a stable branch. As such this new feature will not be backported to Kilo unless there is a very, very good reason which must be requested and supported by multiple parties in the community meeting on Thu.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.