diff --git a/handlers/main.yml b/handlers/main.yml index 15348725..4376e2a9 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -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 diff --git a/tasks/cinder_init_systemd.yml b/tasks/cinder_init_systemd.yml index b8cce18a..f6e533f6 100644 --- a/tasks/cinder_init_systemd.yml +++ b/tasks/cinder_init_systemd.yml @@ -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 diff --git a/vars/main.yml b/vars/main.yml new file mode 100644 index 00000000..90b58f1d --- /dev/null +++ b/vars/main.yml @@ -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 -}}