Filter services dictionary per host
To greatly reduce the amount of log noise from skipped tasks, set a var in the role that filters the 'nova_services' dict to one that only contains services relevant for each host. Change-Id: I38ab4345f06ba6c9ef45cfe8e3ef48f2328b2333
This commit is contained in:
parent
fb807f2a60
commit
f2ed992208
@ -26,10 +26,7 @@
|
||||
enabled: yes
|
||||
state: stopped
|
||||
daemon_reload: "{{ (ansible_service_mgr == 'systemd') | ternary('yes', omit) }}"
|
||||
with_dict: "{{ cinder_services }}"
|
||||
when:
|
||||
- inventory_hostname in groups[item.value.group]
|
||||
- "item.value.condition | default(true)"
|
||||
with_dict: "{{ filtered_cinder_services }}"
|
||||
register: _stop
|
||||
until: _stop | success
|
||||
retries: 5
|
||||
@ -58,10 +55,7 @@
|
||||
enabled: yes
|
||||
state: "started"
|
||||
daemon_reload: "{{ (ansible_service_mgr == 'systemd') | ternary('yes', omit) }}"
|
||||
with_dict: "{{ cinder_services }}"
|
||||
when:
|
||||
- inventory_hostname in groups[item.value.group]
|
||||
- "item.value.condition | default(true)"
|
||||
with_dict: "{{ filtered_cinder_services }}"
|
||||
register: _start
|
||||
until: _start | success
|
||||
retries: 5
|
||||
|
@ -21,10 +21,7 @@
|
||||
owner: "{{ cinder_system_user_name }}"
|
||||
group: "{{ cinder_system_group_name }}"
|
||||
mode: "02755"
|
||||
with_dict: "{{ cinder_services }}"
|
||||
when:
|
||||
- inventory_hostname in groups[item.value.group]
|
||||
- "{{ item.value.condition | default(true) }}"
|
||||
with_dict: "{{ filtered_cinder_services }}"
|
||||
|
||||
- name: Create TEMP lock dir
|
||||
file:
|
||||
@ -33,10 +30,7 @@
|
||||
owner: "{{ cinder_system_user_name }}"
|
||||
group: "{{ cinder_system_group_name }}"
|
||||
mode: "02755"
|
||||
with_dict: "{{ cinder_services }}"
|
||||
when:
|
||||
- inventory_hostname in groups[item.value.group]
|
||||
- "{{ item.value.condition | default(true) }}"
|
||||
with_dict: "{{ filtered_cinder_services }}"
|
||||
|
||||
# TODO(mgariepy):
|
||||
# Remove this in Pike as it only needed to handle upgrades
|
||||
@ -45,10 +39,7 @@
|
||||
file:
|
||||
path: "/etc/tmpfiles.d/{{ item.value.service_name }}.conf"
|
||||
state: absent
|
||||
with_dict: "{{ cinder_services }}"
|
||||
when:
|
||||
- inventory_hostname in groups[item.value.group]
|
||||
- "{{ item.value.condition | default(true) }}"
|
||||
with_dict: "{{ filtered_cinder_services }}"
|
||||
|
||||
- name: Create tmpfiles.d entry
|
||||
template:
|
||||
@ -57,10 +48,7 @@
|
||||
mode: "0644"
|
||||
owner: "root"
|
||||
group: "root"
|
||||
with_dict: "{{ cinder_services }}"
|
||||
when:
|
||||
- inventory_hostname in groups[item.value.group]
|
||||
- "{{ item.value.condition | default(true) }}"
|
||||
with_dict: "{{ filtered_cinder_services }}"
|
||||
notify:
|
||||
- Restart cinder services
|
||||
|
||||
@ -73,9 +61,6 @@
|
||||
group: "root"
|
||||
config_overrides: "{{ item.value.init_config_overrides }}"
|
||||
config_type: "ini"
|
||||
with_dict: "{{ cinder_services }}"
|
||||
when:
|
||||
- inventory_hostname in groups[item.value.group]
|
||||
- "{{ item.value.condition | default(true) }}"
|
||||
with_dict: "{{ filtered_cinder_services }}"
|
||||
notify:
|
||||
- Restart cinder services
|
||||
|
24
vars/main.yml
Normal file
24
vars/main.yml
Normal file
@ -0,0 +1,24 @@
|
||||
---
|
||||
# Copyright 2017, 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.
|
||||
|
||||
filtered_cinder_services: >
|
||||
{%- set services = cinder_services.copy() %}
|
||||
{%- for key,value in cinder_services.items() %}
|
||||
{%- if value.group not in group_names or
|
||||
(value.condition is defined and not value.condition) %}
|
||||
{%- set _ = services.pop(key) %}
|
||||
{%- endif %}
|
||||
{%- endfor %}
|
||||
{{- services -}}
|
Loading…
Reference in New Issue
Block a user