--- # Copyright 2015, 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. - name: Restart glance services debug: msg: "Restarting services" changed_when: true notify: - Stop services - Copy new policy file into place - Start services - name: Stop services service: name: "{{ item.value.service_name }}" enabled: yes state: "stopped" daemon_reload: "{{ (ansible_service_mgr == 'systemd') | ternary('yes', omit) }}" with_dict: "{{ glance_services }}" when: inventory_hostname in groups[item.value.group] register: _stop until: _stop | success retries: 5 delay: 2 # Note (odyssey4me): # The policy.json file is currently read continually by the services # and is not only read on service start. We therefore cannot template # directly to the file read by the service because the new policies # may not be valid until the service restarts. This is particularly # important during a major upgrade. We therefore only put the policy # file in place after the service has been stopped. # - name: Copy new policy file into place copy: src: "/etc/glance/policy.json-{{ glance_venv_tag }}" dest: "/etc/glance/policy.json" remote_src: yes - name: Start services service: name: "{{ item.value.service_name }}" enabled: yes state: "started" daemon_reload: "{{ (ansible_service_mgr == 'systemd') | ternary('yes', omit) }}" with_dict: "{{ glance_services }}" when: inventory_hostname in groups[item.value.group] register: _start until: _start | success retries: 5 delay: 2