diff options
author | Andrew Butcher <abutcher@redhat.com> | 2016-05-16 11:45:32 -0400 |
---|---|---|
committer | Andrew Butcher <abutcher@redhat.com> | 2016-05-26 13:45:09 -0400 |
commit | 57abf26c30e306d1527e92a61a94088e542bb006 (patch) | |
tree | ab2f4d9f5e675e9e02ff05a22412878b5f9b9550 /roles/openshift_loadbalancer/tasks | |
parent | 643b9b30066f0130f35e9ce7b1a8a7c24a244cc7 (diff) | |
download | openshift-57abf26c30e306d1527e92a61a94088e542bb006.tar.gz openshift-57abf26c30e306d1527e92a61a94088e542bb006.tar.bz2 openshift-57abf26c30e306d1527e92a61a94088e542bb006.tar.xz openshift-57abf26c30e306d1527e92a61a94088e542bb006.zip |
Separate master and haproxy config playbooks.
* Move haproxy configuration to a separate openshift-loadbalancer play.
* Move the haproxy role to openshift_loadbalancer.
* Add openshift_loadbalancer* facts which drive haproxy configuration.
Diffstat (limited to 'roles/openshift_loadbalancer/tasks')
-rw-r--r-- | roles/openshift_loadbalancer/tasks/main.yml | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/roles/openshift_loadbalancer/tasks/main.yml b/roles/openshift_loadbalancer/tasks/main.yml new file mode 100644 index 000000000..5514aa70b --- /dev/null +++ b/roles/openshift_loadbalancer/tasks/main.yml @@ -0,0 +1,73 @@ +--- +- name: Set haproxy frontend port + openshift_facts: + role: loadbalancer + local_facts: + frontend_port: "{{ openshift_master_api_port | default(None) }}" + +- name: Set loadbalancer facts + openshift_facts: + role: loadbalancer + local_facts: + limit_nofile: "{{ openshift_loadbalancer_limit_nofile | default(None) }}" + default_maxconn: "{{ openshift_loadbalancer_default_maxconn | default(None) }}" + global_maxconn: "{{ openshift_loadbalancer_global_maxconn | default(None) }}" + frontends: + - name: atomic-openshift-api + mode: tcp + options: + - tcplog + binds: + - "*:{{ openshift.loadbalancer.frontend_port }}" + default_backend: atomic-openshift-api + backends: + - name: atomic-openshift-api + mode: tcp + option: tcplog + balance: source + servers: "{{ hostvars + | oo_select_keys(groups['oo_masters']) + | oo_haproxy_backend_masters(openshift.loadbalancer.frontend_port) }}" + +- 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: "'limit_nofile' in openshift.loadbalancer" + +- 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 }}" + when: "'limit_nofile' in openshift.loadbalancer" + 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 }}" |