diff --git a/ansible/roles/common/tasks/config.yml b/ansible/roles/common/tasks/config.yml index a2c03ad0cb7d19b3ba2093914910f017176af506..f53464f84b6ca1712bc9d740c4ee20abfdfa1d06 100644 --- a/ansible/roles/common/tasks/config.yml +++ b/ansible/roles/common/tasks/config.yml @@ -39,6 +39,57 @@ command: systemd-tmpfiles --create when: kolla_container_engine == 'podman' +- name: Ensure fluentd image is present for label check + vars: + service_name: "fluentd" + service: "{{ common_services[service_name] }}" + become: true + kolla_container: + action: "ensure_image" + common_options: "{{ docker_common_options }}" + image: "{{ service.image }}" + when: enable_fluentd | bool + +- name: Fetch fluentd Docker image labels + vars: + service_name: "fluentd" + service: "{{ common_services[service_name] }}" + become: true + docker_image_info: + name: "{{ service.image }}" + register: fluentd_labels_docker + when: + - kolla_container_engine == "docker" + - enable_fluentd | bool + +- name: Set fluentd facts + set_fact: + fluentd_cmd: "{{ fluentd_labels_docker.images[0].ContainerConfig.Labels.fluentd_binary | default('td-agent') }}" + fluentd_user: "{{ fluentd_labels_docker.images[0].ContainerConfig.Labels.fluentd_user | default('td-agent') }}" + when: + - kolla_container_engine == "docker" + - enable_fluentd | bool + +- name: Fetch fluentd Podman image labels + vars: + service_name: "fluentd" + service: "{{ common_services[service_name] }}" + become: true + podman_image_info: + name: "{{ service.image }}" + register: fluentd_labels_podman + when: + - kolla_container_engine == "podman" + - enable_fluentd | bool + +- name: Set fluentd facts + set_fact: + fluentd_cmd: "{{ fluentd_labels_podman.images[0].ContainerConfig.Labels.fluentd_binary | default('td-agent') }}" + fluentd_user: "{{ fluentd_labels_podman.images[0].ContainerConfig.Labels.fluentd_user | default('td-agent') }}" + when: + - kolla_container_engine == "podman" + - enable_fluentd | bool + - name: Copying over config.json files for services template: src: "{{ item.key }}.json.j2" diff --git a/ansible/roles/common/templates/conf/input/00-global.conf.j2 b/ansible/roles/common/templates/conf/input/00-global.conf.j2 index d3bdb2dec70272e85fa5e6ae9e15c04490f4f191..1c0a3d25b1e2dae3347adb7ca82692e7df430360 100644 --- a/ansible/roles/common/templates/conf/input/00-global.conf.j2 +++ b/ansible/roles/common/templates/conf/input/00-global.conf.j2 @@ -9,7 +9,7 @@ "/var/log/kolla/*/*-error.log", "/var/log/kolla/*/*_access.log", "/var/log/kolla/*/*_error.log"] - pos_file /var/run/td-agent/kolla-openstack.pos + pos_file /var/run/{{ fluentd_user }}/kolla-openstack.pos tag kolla.* ignore_repeated_permission_error true enable_watch_timer false diff --git a/ansible/roles/common/templates/conf/input/02-mariadb.conf.j2 b/ansible/roles/common/templates/conf/input/02-mariadb.conf.j2 index f4ed045f811d5481b54771949c9dc6977c1d3082..cafbe0301503724f0f2158991e7b86447aca1505 100644 --- a/ansible/roles/common/templates/conf/input/02-mariadb.conf.j2 +++ b/ansible/roles/common/templates/conf/input/02-mariadb.conf.j2 @@ -3,7 +3,7 @@ <source> @type tail path /var/log/kolla/mariadb/mariadb.log - pos_file /var/run/td-agent/mariadb.pos + pos_file /var/run/{{ fluentd_user }}/mariadb.pos tag infra.mariadb enable_watch_timer false <parse> @@ -15,7 +15,7 @@ <source> @type tail path /var/log/kolla/mariadb/xinetd.log - pos_file /var/run/td-agent/mariadb-xinetd.pos + pos_file /var/run/{{ fluentd_user }}/mariadb-xinetd.pos tag infra.mariadb-xinetd ignore_repeated_permission_error true enable_watch_timer false diff --git a/ansible/roles/common/templates/conf/input/03-rabbitmq.conf.j2 b/ansible/roles/common/templates/conf/input/03-rabbitmq.conf.j2 index 9fb1b3dc3ebef5c96b1fb512227729fab1cf3c23..e7b3099c778efc0f5005b98e43affb399f6589b2 100644 --- a/ansible/roles/common/templates/conf/input/03-rabbitmq.conf.j2 +++ b/ansible/roles/common/templates/conf/input/03-rabbitmq.conf.j2 @@ -1,7 +1,7 @@ <source> @type tail path /var/log/kolla/rabbitmq/rabbit@{{ ansible_facts.hostname }}.log - pos_file /var/run/td-agent/rabbit.pos + pos_file /var/run/{{ fluentd_user }}/rabbit.pos tag infra.rabbit enable_watch_timer false <parse> diff --git a/ansible/roles/common/templates/conf/input/04-openstack-wsgi.conf.j2 b/ansible/roles/common/templates/conf/input/04-openstack-wsgi.conf.j2 index f94edf8a6a1e605137e40f44c18d67577d646cb2..cf41b252752a2fa5373e5a79a54e34d2d358a0f7 100644 --- a/ansible/roles/common/templates/conf/input/04-openstack-wsgi.conf.j2 +++ b/ansible/roles/common/templates/conf/input/04-openstack-wsgi.conf.j2 @@ -2,7 +2,7 @@ <source> @type tail path /var/log/kolla/*/*-access.log,/var/log/kolla/*/*-error.log,/var/log/kolla/*/*_access.log,/var/log/kolla/*/*_error.log - pos_file /var/run/td-agent/kolla-openstack-wsgi.pos + pos_file /var/run/{{ fluentd_user }}/kolla-openstack-wsgi.pos tag kolla.* enable_watch_timer false <parse> diff --git a/ansible/roles/common/templates/conf/input/05-libvirt.conf.j2 b/ansible/roles/common/templates/conf/input/05-libvirt.conf.j2 index 249e52b214ba7183c19f96d5f9504ef762fe8231..de8c650547ea10bcc5d0b0dee581bef70e17ca7b 100644 --- a/ansible/roles/common/templates/conf/input/05-libvirt.conf.j2 +++ b/ansible/roles/common/templates/conf/input/05-libvirt.conf.j2 @@ -1,7 +1,7 @@ <source> @type tail path /var/log/kolla/libvirt/libvirtd.log - pos_file /var/run/td-agent/libvirt.pos + pos_file /var/run/{{ fluentd_user }}/libvirt.pos tag infra.libvirt enable_watch_timer false <parse> diff --git a/ansible/roles/common/templates/conf/input/10-openvswitch.conf.j2 b/ansible/roles/common/templates/conf/input/10-openvswitch.conf.j2 index f08272bdf9841b7e0b222427958bc2606df64d55..edde2872a69fa5138db5d3a6647cd3e6ae0290eb 100644 --- a/ansible/roles/common/templates/conf/input/10-openvswitch.conf.j2 +++ b/ansible/roles/common/templates/conf/input/10-openvswitch.conf.j2 @@ -1,7 +1,7 @@ <source> @type tail path /var/log/kolla/openvswitch/ovs-vswitchd.log - pos_file /var/run/td-agent/openvswitch.pos + pos_file /var/run/{{ fluentd_user }}/openvswitch.pos tag infra.openvswitch enable_watch_timer false <parse> @@ -16,7 +16,7 @@ <source> @type tail path /var/log/kolla/openvswitch/ovsdb-server.log - pos_file /var/run/td-agent/openvswitchdb.pos + pos_file /var/run/{{ fluentd_user }}/openvswitchdb.pos tag infra.openvswitchdb enable_watch_timer false <parse> diff --git a/ansible/roles/common/templates/fluentd.json.j2 b/ansible/roles/common/templates/fluentd.json.j2 index 712182c14a2afd3c457c0cfa9f863f6a8aa55191..82302aa0c19d7a31e7064592acc563284255715d 100644 --- a/ansible/roles/common/templates/fluentd.json.j2 +++ b/ansible/roles/common/templates/fluentd.json.j2 @@ -1,10 +1,8 @@ -{% set fluentd_user = 'td-agent' %} -{% set fluentd_dir = '/etc/td-agent' %} -{% set fluentd_conf = 'td-agent.conf' %} -{% set fluentd_cmd = '/usr/sbin/td-agent' %} +{% set fluentd_dir = '/etc/' + (fluentd_cmd | default('td-agent')) %} +{% set fluentd_conf = (fluentd_cmd | default('td-agent')) + '.conf' %} { - "command": "{{ fluentd_cmd }} -o /var/log/kolla/fluentd/fluentd.log", + "command": "{{ fluentd_cmd }} -c {{ fluentd_dir }}/{{ fluentd_conf }} -o /var/log/kolla/fluentd/fluentd.log", "config_files": [ { "source": "{{ container_config_directory }}/td-agent.conf", diff --git a/requirements-core.yml b/requirements-core.yml index 9f118a3f423ee371bccd9f4a6340bc69d4be17bd..d5016a62f8120d9f6a26015f5b35e71fb8c02446 100644 --- a/requirements-core.yml +++ b/requirements-core.yml @@ -12,3 +12,9 @@ collections: - name: community.general source: https://galaxy.ansible.com version: <7 + - name: community.docker + source: https://galaxy.ansible.com + version: <4 + - name: containers.podman + source: https://galaxy.ansible.com + version: <2