Skip to content
Snippets Groups Projects
main.yml 3.95 KiB
---
loadbalancer_services:
  haproxy:
    container_name: haproxy
    group: loadbalancer
    enabled: true
    image: "{{ haproxy_image_full }}"
    privileged: True
    volumes: "{{ haproxy_default_volumes + haproxy_extra_volumes }}"
    dimensions: "{{ haproxy_dimensions }}"
    healthcheck: "{{ haproxy_healthcheck }}"
  keepalived:
    container_name: keepalived
    group: loadbalancer
    enabled: "{{ enable_keepalived | bool }}"
    image: "{{ keepalived_image_full }}"
    privileged: True
    volumes: "{{ keepalived_default_volumes + keepalived_extra_volumes }}"
    dimensions: "{{ keepalived_dimensions }}"


####################
# Docker
####################
keepalived_install_type: "{{ kolla_install_type }}"
keepalived_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ keepalived_install_type }}-keepalived"
keepalived_tag: "{{ openstack_tag }}"
keepalived_image_full: "{{ keepalived_image }}:{{ keepalived_tag }}"

haproxy_install_type: "{{ kolla_install_type }}"
haproxy_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ haproxy_install_type }}-haproxy"
haproxy_tag: "{{ openstack_tag }}"
haproxy_image_full: "{{ haproxy_image }}:{{ haproxy_tag }}"

syslog_server: "{{ api_interface_address }}"
syslog_haproxy_facility: "local1"

# Traffic mode. Valid options are [ multicast, unicast ]
keepalived_traffic_mode: "multicast"

# Extended global configuration, optimization options.
haproxy_max_connections: 40000
haproxy_processes: 1
haproxy_process_cpu_map: "no"
# Matches the mariadb 10000 max connections limit
haproxy_defaults_max_connections: 10000

haproxy_dimensions: "{{ default_container_dimensions }}"
keepalived_dimensions: "{{ default_container_dimensions }}"

haproxy_enable_healthchecks: "{{ enable_container_healthchecks }}"
haproxy_healthcheck_interval: "{{ default_container_healthcheck_interval }}"
haproxy_healthcheck_retries: "{{ default_container_healthcheck_retries }}"
haproxy_healthcheck_start_period: "{{ default_container_healthcheck_start_period }}"
haproxy_healthcheck_test: ["CMD-SHELL", "healthcheck_curl http://{{ api_interface_address |  put_address_in_context('url') }}:{{ haproxy_monitor_port }}"]
haproxy_healthcheck_timeout: "{{ default_container_healthcheck_timeout }}"
haproxy_healthcheck:
  interval: "{{ haproxy_healthcheck_interval }}"
  retries: "{{ haproxy_healthcheck_retries }}"
  start_period: "{{ haproxy_healthcheck_start_period }}"
  test: "{% if haproxy_enable_healthchecks | bool %}{{ haproxy_healthcheck_test }}{% else %}NONE{% endif %}"
  timeout: "{{ haproxy_healthcheck_timeout }}"

haproxy_default_volumes:
  - "{{ node_config_directory }}/haproxy/:{{ container_config_directory }}/:ro"
  - "/etc/localtime:/etc/localtime:ro"
  - "{{ '/etc/timezone:/etc/timezone:ro' if ansible_facts.os_family == 'Debian' else '' }}"
  - "haproxy_socket:/var/lib/kolla/haproxy/"
keepalived_default_volumes:
  - "{{ node_config_directory }}/keepalived/:{{ container_config_directory }}/:ro"