--- # Copyright 2014, Rackspace US, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. - name: Make haproxy bindable on non local addresses sysctl: name: "{{ item }}" value: 1 sysctl_set: yes state: present when: haproxy_bind_on_non_local | bool with_items: - "net.ipv4.ip_nonlocal_bind" - "net.ipv6.ip_nonlocal_bind" tags: - haproxy-non-local-bind-config # NOTE (noonedeadpunk) Debian/Ubuntu haproxy packages configure rsyslog # to handle log collection and log file rotation. This is not needed since # journald is used for this purpose - name: Delete rsyslog and logrotate configs file: path: "{{ item }}" state: absent with_items: - /etc/rsyslog.d/49-haproxy.conf - /etc/logrotate.d/haproxy - /etc/rsyslog.d/10-haproxy-local-logging.conf notify: Restart rsyslog tags: - haproxy-logging-config - name: Drop base haproxy config template: src: "haproxy.cfg.j2" dest: "/etc/haproxy/conf.d/00-haproxy" notify: Regenerate haproxy configuration tags: - haproxy-base-config - include_tasks: haproxy_service_config.yml tags: - haproxy-service-config - name: Create log directory if it does not exist file: path: "{{ haproxy_log_mount_point | dirname }}" state: directory mode: '0755' owner: 'haproxy' group: 'haproxy' #NOTE(jrosser) The next task fails on Centos without this, #an empty directory rather than a file is made and the bind mount fails - name: Ensure empty file is availble to bind mount log socket file: state: touch path: "{{ haproxy_log_mount_point }}" access_time: preserve modification_time: preserve - name: Make log socket available to chrooted filesystem mount: src: "{{ haproxy_log_socket }}" path: "{{ haproxy_log_mount_point }}" opts: bind state: mounted fstype: none