---
- name: Install haproxy
  action: "{{ ansible_pkg_mgr }} name=haproxy state=present"
  when: not openshift.common.is_containerized | bool

- name: Configure systemd service directory for haproxy
  file:
    path: /etc/systemd/system/haproxy.service.d
    state: directory
  when: haproxy_limit_nofile is defined

- name: Configure the nofile limits for haproxy
  ini_file:
    dest: /etc/systemd/system/haproxy.service.d/limits.conf
    section: Service
    option: LimitNOFILE
    value: "{{ haproxy_limit_nofile }}"
  when: haproxy_limit_nofile is defined
  notify: restart haproxy
  register: nofile_limit_result

- name: Reload systemd if needed
  command: systemctl daemon-reload
  when: nofile_limit_result | changed

- name: Configure haproxy
  template:
    src: haproxy.cfg.j2
    dest: /etc/haproxy/haproxy.cfg
    owner: root
    group: root
    mode: 0644
  notify: restart haproxy

- name: Enable and start haproxy
  service:
    name: haproxy
    state: started
    enabled: yes
  register: start_result

- set_fact:
    haproxy_start_result_changed: "{{ start_result | changed }}"