
The haproxy role and the site.yml file calls the haproxy-config role to provide configuration for individual services. If the configuration within a service changes, the haproxy container is restarted. If the configuration in n services changes, there will be n restarts. This is not necessary, a restart at the end is sufficient. By removing the handler from the haproxy-config role and using the listen parameter in the handler of the haproxy role, the handler is executed only once. Change-Id: I535fe67579fb748093bb4b30a6bd31b81e021a1b Closes-Bug: #1864810
52 lines
1.5 KiB
YAML
52 lines
1.5 KiB
YAML
---
|
|
- name: Restart haproxy container
|
|
vars:
|
|
service_name: "haproxy"
|
|
service: "{{ haproxy_services[service_name] }}"
|
|
become: true
|
|
kolla_docker:
|
|
action: "recreate_or_restart_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
name: "{{ service.container_name }}"
|
|
image: "{{ service.image }}"
|
|
privileged: "{{ service.privileged | default(False) }}"
|
|
volumes: "{{ service.volumes }}"
|
|
dimensions: "{{ service.dimensions }}"
|
|
when:
|
|
- kolla_action != "config"
|
|
- inventory_hostname in groups[service.group]
|
|
- service.enabled | bool
|
|
notify:
|
|
- Waiting for haproxy to start
|
|
listen: "Restart haproxy container"
|
|
|
|
- name: Restart keepalived container
|
|
vars:
|
|
service_name: "keepalived"
|
|
service: "{{ haproxy_services[service_name] }}"
|
|
become: true
|
|
kolla_docker:
|
|
action: "recreate_or_restart_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
name: "{{ service.container_name }}"
|
|
image: "{{ service.image }}"
|
|
privileged: "{{ service.privileged | default(False) }}"
|
|
volumes: "{{ service.volumes }}"
|
|
dimensions: "{{ service.dimensions }}"
|
|
when:
|
|
- kolla_action != "config"
|
|
- inventory_hostname in groups[service.group]
|
|
- service.enabled | bool
|
|
notify:
|
|
- Waiting for virtual IP to appear
|
|
|
|
- name: Waiting for haproxy to start
|
|
wait_for:
|
|
host: "{{ api_interface_address }}"
|
|
port: "{{ haproxy_monitor_port }}"
|
|
|
|
- name: Waiting for virtual IP to appear
|
|
wait_for:
|
|
host: "{{ kolla_internal_vip_address }}"
|
|
port: "{{ haproxy_monitor_port }}"
|