diff --git a/playbooks/roles/haproxy/files/rsyslog.d/49-haproxy.conf b/playbooks/roles/haproxy/files/rsyslog.d/49-haproxy.conf new file mode 100644 index 0000000000..402c122984 --- /dev/null +++ b/playbooks/roles/haproxy/files/rsyslog.d/49-haproxy.conf @@ -0,0 +1,8 @@ +# Create additional haproxy socket to be mapped into container + +$AddUnixListenSocket /var/haproxy/dev/log + +:programname, startswith, "haproxy" { + /var/log/haproxy.log + stop +} diff --git a/playbooks/roles/haproxy/tasks/main.yaml b/playbooks/roles/haproxy/tasks/main.yaml index 5cfce31519..4c7913a023 100644 --- a/playbooks/roles/haproxy/tasks/main.yaml +++ b/playbooks/roles/haproxy/tasks/main.yaml @@ -12,12 +12,34 @@ loop: - etc - run + - dev - name: Ensure haproxy config template available assert: that: - haproxy_config_template is defined +- name: Write rsyslog file + copy: + src: rsyslog.d/49-haproxy.conf + dest: /etc/rsyslog.d/ + owner: root + group: root + mode: 0644 + register: _rsyslog_added + +- name: Restart rsyslog if config updates + service: + name: rsyslog + state: restarted + when: _rsyslog_added.changed + +- name: Add haproxy log rotation + include_role: + name: logrotate + vars: + logrotate_file_name: '/var/log/haproxy.log' + - name: Write haproxy config file template: src: '{{ haproxy_config_template }}' diff --git a/playbooks/roles/haproxy/templates/docker-compose.yaml.j2 b/playbooks/roles/haproxy/templates/docker-compose.yaml.j2 index d28b52c4e1..04488bde3f 100644 --- a/playbooks/roles/haproxy/templates/docker-compose.yaml.j2 +++ b/playbooks/roles/haproxy/templates/docker-compose.yaml.j2 @@ -35,7 +35,7 @@ services: user: "root:root" network_mode: host volumes: - - /dev/log:/dev/log + - /var/haproxy/dev/log:/dev/log - /var/haproxy/etc:/usr/local/etc/haproxy:ro - /var/haproxy/run:/var/haproxy/run logging: diff --git a/zuul.d/system-config-run.yaml b/zuul.d/system-config-run.yaml index 80863fbc6a..20b6583c96 100644 --- a/zuul.d/system-config-run.yaml +++ b/zuul.d/system-config-run.yaml @@ -611,6 +611,7 @@ gitea-lb01.opendev.org: host_copy_output: '/var/haproxy/etc': logs + '/var/log/haproxy.log': logs files: - playbooks/bootstrap-bridge.yaml - playbooks/letsencrypt.yaml @@ -894,6 +895,7 @@ zuul-lb01.opendev.org: host_copy_output: '/var/haproxy/etc': logs + '/var/log/haproxy.log': logs files: - playbooks/bootstrap-bridge.yaml - playbooks/service-zookeeper.yaml