--- # NOTE: Handler order matter, init database upgrade must be before other handlers # finish database upgrade must be the last handler. - name: Init keystone database upgrade vars: service_name: "keystone" service: "{{ keystone_services[service_name] }}" become: true kolla_docker: action: "start_container" common_options: "{{ docker_common_options }}" detach: False environment: KOLLA_UPGRADE: KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}" image: "{{ service.image }}" labels: KOLLA_UPGRADE: name: "init_upgrade_database" restart_policy: "never" volumes: "{{ service.volumes|reject('equalto', '')|list }}" dimensions: "{{ service.dimensions }}" run_once: True when: - kolla_action == "upgrade" - service.enabled | bool - inventory_hostname == groups[service.group][0] - name: Restart keystone container vars: service_name: "keystone" service: "{{ keystone_services[service_name] }}" config_json: "{{ keystone_config_jsons.results|selectattr('item.key', 'equalto', service_name)|first }}" keystone_conf: "{{ keystone_confs.results|selectattr('item.key', 'equalto', service_name)|first }}" policy_overwriting: "{{ keystone_policy_overwriting.results|selectattr('item.key', 'equalto', service_name)|first }}" keystone_container: "{{ check_keystone_containers.results|selectattr('item.key', 'equalto', service_name)|first }}" become: true kolla_docker: action: "recreate_or_restart_container" common_options: "{{ docker_common_options }}" name: "{{ service.container_name }}" image: "{{ service.image }}" volumes: "{{ service.volumes|reject('equalto', '')|list }}" dimensions: "{{ service.dimensions }}" when: - kolla_action != "config" - inventory_hostname in groups[service.group] - service.enabled | bool - config_json.changed | bool or keystone_conf.changed | bool or keystone_domains.changed | bool or policy_overwriting.changed | bool or keystone_wsgi.changed | bool or keystone_paste_ini.changed | bool or keystone_container.changed | bool - name: Restart keystone-ssh container vars: service_name: "keystone-ssh" service: "{{ keystone_services[service_name] }}" config_json: "{{ keystone_config_jsons.results|selectattr('item.key', 'equalto', service_name)|first }}" keystone_ssh_container: "{{ check_keystone_containers.results|selectattr('item.key', 'equalto', service_name)|first }}" become: true kolla_docker: action: "recreate_or_restart_container" common_options: "{{ docker_common_options }}" name: "{{ service.container_name }}" image: "{{ service.image }}" volumes: "{{ service.volumes|reject('equalto', '')|list }}" dimensions: "{{ service.dimensions }}" when: - kolla_action != "config" - inventory_hostname in groups[service.group] - service.enabled | bool - config_json.changed | bool or keystone_ssh_confs.changed | bool or keystone_ssh_container.changed | bool - name: Restart keystone-fernet container vars: service_name: "keystone-fernet" service: "{{ keystone_services[service_name] }}" config_json: "{{ keystone_config_jsons.results|selectattr('item.key', 'equalto', service_name)|first }}" keystone_conf: "{{ keystone_confs.results|selectattr('item.key', 'equalto', service_name)|first }}" policy_overwriting: "{{ keystone_policy_overwriting.results|selectattr('item.key', 'equalto', service_name)|first }}" keystone_fernet_container: "{{ check_keystone_containers.results|selectattr('item.key', 'equalto', service_name)|first }}" become: true kolla_docker: action: "recreate_or_restart_container" common_options: "{{ docker_common_options }}" name: "{{ service.container_name }}" image: "{{ service.image }}" volumes: "{{ service.volumes|reject('equalto', '')|list }}" dimensions: "{{ service.dimensions }}" when: - kolla_action != "config" - inventory_hostname in groups[service.group] - service.enabled | bool - config_json.changed | bool or keystone_conf.changed | bool or policy_overwriting.changed | bool or keystone_fernet_confs.changed | bool or keystone_fernet_container.changed | bool - name: Finish keystone database upgrade vars: service_name: "keystone" service: "{{ keystone_services[service_name] }}" become: true kolla_docker: action: "start_container" common_options: "{{ docker_common_options }}" detach: False environment: KOLLA_FINISH_UPGRADE: KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}" image: "{{ service.image }}" labels: KOLLA_UPGRADE: name: "finish_upgrade_database" restart_policy: "never" volumes: "{{ service.volumes|reject('equalto', '')|list }}" dimensions: "{{ service.dimensions }}" run_once: True when: - kolla_action == "upgrade" - service.enabled | bool - inventory_hostname == groups[service.group][-1]