diff --git a/playbooks/os-glance-install.yml b/playbooks/os-glance-install.yml index 73f45f32b1..ea16e3d132 100644 --- a/playbooks/os-glance-install.yml +++ b/playbooks/os-glance-install.yml @@ -83,97 +83,3 @@ when: - "'glance_api' in group_names" - "groups['glance_api'] | length > 1" - - - - -# These facts are set against the deployment host to ensure that -# they are fast to access. This is done in preference to setting -# them against each target as the hostvars extraction will take -# a long time if executed against a large inventory. -- name: Refresh local facts after all software changes are made - hosts: glance_all - gather_facts: no - user: root - environment: "{{ deployment_environment_variables | default({}) }}" - vars_files: - - "defaults/{{ install_method }}_install.yml" - tags: - - glance - tasks: - - name: refresh local facts - setup: - filter: ansible_local - gather_subset: "!all" - - # This variable contains the values of the local fact set for the glance - # venv tag for all hosts in the 'glance_all' host group. - - name: Gather software version list - set_fact: - glance_all_software_versions: "{{ (groups['glance_all'] | - map('extract', hostvars, ['ansible_local', 'openstack_ansible', 'glance', 'venv_tag'])) | - list }}" - delegate_to: localhost - run_once: yes - - # This variable outputs a boolean value which is True when - # glance_all_software_versions contains a list of defined - # values. If they are not defined, it means that not all - # hosts have their software deployed yet. - - name: Set software deployed fact - set_fact: - glance_all_software_deployed: "{{ (glance_all_software_versions | select('defined')) | list == glance_all_software_versions }}" - delegate_to: localhost - run_once: yes - - # This variable outputs a boolean when all the values in - # glance_all_software_versions are the same and the software - # has been deployed to all hosts in the group. - - name: Set software updated fact - set_fact: - glance_all_software_updated: "{{ ((glance_all_software_versions | unique) | length == 1) and (glance_all_software_deployed | bool) }}" - delegate_to: localhost - run_once: yes - - -- name: Restart glance API to ensure new RPC object version is used - hosts: glance_all - gather_facts: no - serial: "{{ glance_api_serial | default(['1','100%']) }}" - user: root - environment: "{{ deployment_environment_variables | default({}) }}" - vars_files: - - "defaults/{{ install_method }}_install.yml" - tags: - - glance - tasks: - # In order to ensure that the service restart does not - # cause an unexpected outage, we drain the load balancer - # back end for this container. - - include_tasks: common-tasks/haproxy-endpoint-manage.yml - vars: - haproxy_backend: glance_api-back - haproxy_state: disabled - when: - - "glance_all_software_updated | bool" - - "ansible_local['openstack_ansible']['glance']['need_service_restart'] | bool" - - "groups['glance_api'] | length > 1" - - - name: Execute glance service restart - include_tasks: common-tasks/restart-service.yml - vars: - service_name: "glance-api" - service_action: "restarted" - service_fact: "glance" - when: - - "glance_all_software_updated | bool" - - "ansible_local['openstack_ansible']['glance']['need_service_restart'] | bool" - - # Now that service restart is done, we can set - # the load balancer back end for this container - # to available again. - - include_tasks: common-tasks/haproxy-endpoint-manage.yml - vars: - haproxy_backend: glance_api-back - haproxy_state: enabled - when: "groups['glance_api'] | length > 1"