From 097e259ee90fc2aa829945a13e9397ca5090e785 Mon Sep 17 00:00:00 2001 From: "Michal (inc0) Jastrzebski" Date: Mon, 22 Feb 2016 22:01:06 +0000 Subject: [PATCH] HAProxy and Keepalived upgrade This is single task to upgrade both haproxy and keepalived. It stops slave nodes of keepalived and upgrades them separately to avoid VIP migration and allow nearly no-downtime upgrade Change-Id: I06124635a3f3553a4e8e91013cefbf897dd7179f Implements: blueprint upgrade-haproxy Implements: blueprint upgrade-keepalived Partially-implements: blueprint upgrade-kolla --- ansible/roles/haproxy/tasks/upgrade.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/ansible/roles/haproxy/tasks/upgrade.yml b/ansible/roles/haproxy/tasks/upgrade.yml index ed97d539c0..c4670a5aa0 100644 --- a/ansible/roles/haproxy/tasks/upgrade.yml +++ b/ansible/roles/haproxy/tasks/upgrade.yml @@ -1 +1,19 @@ --- +- include: config.yml + +- set_fact: secondary_addresses={{ hostvars[inventory_hostname]['ansible_' + api_interface].get('ipv4_secondaries', []) | map(attribute='address') | list }} + +- name: Stopping all slave keepalived containers + kolla_docker: + action: "stop_container" + common_options: "{{ docker_common_options }}" + name: "keepalived" + when: kolla_internal_address not in secondary_addresses + +# Upgrading master keepalived and haproxy +- include: start.yml + when: kolla_internal_address in secondary_addresses + +# Upgrading slave keepalived and haproxy +- include: start.yml + when: kolla_internal_address not in secondary_addresses