summaryrefslogtreecommitdiffstats
path: root/roles/openshift_loadbalancer/tasks/main.yml
blob: 863738143718ad1dd6e09db3ccb511ea2edcac65 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
---
- fail: msg="Cannot use containerized=true for load balancer hosts."
  when: openshift.common.is_containerized | bool

- name: Install haproxy
  action: "{{ ansible_pkg_mgr }} name=haproxy state=present"

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

# Work around ini_file create option in 2.2 which defaults to no
- name: Create limits.conf file
  file:
    dest: /etc/systemd/system/haproxy.service.d/limits.conf
    state: touch
    mode: 0660
    owner: root
    group: root
  changed_when: false

- name: Configure the nofile limits for haproxy
  ini_file:
    dest: /etc/systemd/system/haproxy.service.d/limits.conf
    section: Service
    option: LimitNOFILE
    value: "{{ openshift_loadbalancer_limit_nofile | default(100000) }}"
  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 }}"