diff --git a/ansible/roles/common/defaults/main.yml b/ansible/roles/common/defaults/main.yml
index 7114a791b7..455dd41230 100644
--- a/ansible/roles/common/defaults/main.yml
+++ b/ansible/roles/common/defaults/main.yml
@@ -91,3 +91,89 @@ fluentd_extra_volumes: "{{ default_extra_volumes }}"
cron_logrotate_rotation_interval: "weekly"
cron_logrotate_rotation_count: 6
+
+####################
+# Fluentd
+####################
+
+fluentd_input_openstack_services:
+ - name: aodh
+ enabled: "{{ enable_aodh | bool }}"
+ - name: barbican
+ enabled: "{{ enable_barbican | bool }}"
+ - name: blazar
+ enabled: "{{ enable_blazar | bool }}"
+ - name: ceilometer
+ enabled: "{{ enable_ceilometer | bool }}"
+ - name: cinder
+ enabled: "{{ enable_cinder | bool }}"
+ - name: cloudkitty
+ enabled: "{{ enable_cloudkitty | bool }}"
+ - name: congress
+ enabled: "{{ enable_congress | bool }}"
+ - name: cyborg
+ enabled: "{{ enable_cyborg | bool }}"
+ - name: designate
+ enabled: "{{ enable_designate | bool }}"
+ - name: freezer
+ enabled: "{{ enable_freezer | bool }}"
+ - name: glance
+ enabled: "{{ enable_glance | bool }}"
+ - name: gnocchi
+ enabled: "{{ enable_gnocchi | bool }}"
+ - name: heat
+ enabled: "{{ enable_heat | bool }}"
+ - name: horizon
+ enabled: "{{ enable_horizon | bool }}"
+ - name: ironic
+ enabled: "{{ enable_ironic | bool }}"
+ - name: ironic-inspector
+ enabled: "{{ enable_ironic | bool }}"
+ - name: karbor
+ enabled: "{{ enable_karbor | bool }}"
+ - name: keystone
+ enabled: "{{ enable_keystone | bool }}"
+ - name: kuryr
+ enabled: "{{ enable_kuryr | bool }}"
+ - name: magnum
+ enabled: "{{ enable_magnum | bool }}"
+ - name: manila
+ enabled: "{{ enable_manila | bool }}"
+ - name: masakari
+ enabled: "{{ enable_masakari | bool }}"
+ - name: mistral
+ enabled: "{{ enable_mistral | bool }}"
+ - name: monasca
+ enabled: "{{ enable_monasca | bool }}"
+ - name: mongodb
+ enabled: "{{ enable_mongodb | bool }}"
+ - name: murano
+ enabled: "{{ enable_murano | bool }}"
+ - name: neutron
+ enabled: "{{ enable_neutron | bool }}"
+ - name: nova
+ enabled: "{{ enable_nova | bool }}"
+ - name: octavia
+ enabled: "{{ enable_octavia | bool }}"
+ - name: panko
+ enabled: "{{ enable_panko | bool }}"
+ - name: qinling
+ enabled: "{{ enable_qinling | bool }}"
+ - name: rally
+ enabled: "{{ enable_rally | bool }}"
+ - name: sahara
+ enabled: "{{ enable_sahara | bool }}"
+ - name: searchlight
+ enabled: "{{ enable_searchlight | bool }}"
+ - name: senlin
+ enabled: "{{ enable_senlin | bool }}"
+ - name: solum
+ enabled: "{{ enable_solum | bool }}"
+ - name: tacker
+ enabled: "{{ enable_tacker | bool }}"
+ - name: trove
+ enabled: "{{ enable_trove | bool }}"
+ - name: watcher
+ enabled: "{{ enable_watcher | bool }}"
+
+fluentd_enabled_input_openstack_services: "{{ fluentd_input_openstack_services | selectattr('enabled', 'equalto', true) | map(attribute='name') | list }}"
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 c44d331e36..59dc6d24e1 100644
--- a/ansible/roles/common/templates/conf/input/00-global.conf.j2
+++ b/ansible/roles/common/templates/conf/input/00-global.conf.j2
@@ -1,49 +1,8 @@
#jinja2: trim_blocks: False
-{% set services = [
- ( 'aodh', enable_aodh ),
- ( 'barbican', enable_barbican ),
- ( 'blazar', enable_blazar ),
- ( 'ceilometer', enable_ceilometer ),
- ( 'cinder', enable_cinder ),
- ( 'cloudkitty', enable_cloudkitty ),
- ( 'congress', enable_congress ),
- ( 'cyborg', enable_cyborg ),
- ( 'designate', enable_designate ),
- ( 'freezer', enable_freezer ),
- ( 'glance', enable_glance ),
- ( 'gnocchi', enable_gnocchi ),
- ( 'heat', enable_heat ),
- ( 'horizon', enable_horizon ),
- ( 'ironic', enable_ironic ),
- ( 'ironic-inspector', enable_ironic ),
- ( 'karbor', enable_karbor ),
- ( 'keystone', enable_keystone ),
- ( 'kuryr', enable_kuryr ),
- ( 'magnum', enable_magnum ),
- ( 'manila', enable_manila ),
- ( 'masakari', enable_masakari ),
- ( 'mistral', enable_mistral ),
- ( 'monasca', enable_monasca ),
- ( 'mongodb', enable_mongodb ),
- ( 'murano', enable_murano ),
- ( 'neutron', enable_neutron ),
- ( 'nova', enable_nova ),
- ( 'octavia', enable_octavia ),
- ( 'panko', enable_panko ),
- ( 'qinling', enable_qinling ),
- ( 'rally', enable_rally ),
- ( 'sahara', enable_sahara ),
- ( 'searchlight', enable_searchlight ),
- ( 'senlin', enable_senlin ),
- ( 'solum', enable_solum ),
- ( 'tacker', enable_tacker ),
- ( 'trove', enable_trove ),
- ( 'watcher', enable_watcher ),
- ( 'zun', enable_zun )
-] %}
+{% if fluentd_enabled_input_openstack_services | length > 0 -%}
@type tail
- path {% for service, enabled in services if enabled | bool %}/var/log/kolla/{{ service }}/*.log{% if not loop.last %},{% endif %}{% endfor %}
+ path {% for service in fluentd_enabled_input_openstack_services %}/var/log/kolla/{{ service }}/*.log{% if not loop.last %},{% endif %}{% endfor %}
exclude_path ["/var/log/kolla/monasca/agent*.log",
"/var/log/kolla/monasca/grafana.log",
"/var/log/kolla/monasca/monasca-log-api.log",
@@ -63,3 +22,4 @@
ignore_repeated_permission_error true
enable_watch_timer false
+{%- endif %}
diff --git a/releasenotes/notes/bug-1867953-4897a2c05aba43c6.yaml b/releasenotes/notes/bug-1867953-4897a2c05aba43c6.yaml
new file mode 100644
index 0000000000..643f149219
--- /dev/null
+++ b/releasenotes/notes/bug-1867953-4897a2c05aba43c6.yaml
@@ -0,0 +1,5 @@
+---
+fixes:
+ - |
+ Fixes deployment of fluentd without any enabled OpenStack services.
+ `LP#1867953 `__