kolla-ansible/ansible/roles/keystone/handlers/main.yml
Jeffrey Zhang 2bbd5399de Fix fernet deploy on gate
keystone-ssh is required by keystone-fernet. So start keystone-ssh
container before keystone-fernet.

Closes-Bug: #1751224
Change-Id: Ie1c8ae185549acc3dd87a2c5f0356443ea7924a5
2018-02-23 08:51:53 +00:00

120 lines
4.6 KiB
YAML

---
# 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] }}"
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 }}"
run_once: True
when:
- 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 }}"
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 }}"
when:
- 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 }}"
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 }}"
when:
- 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 }}"
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 }}"
when:
- 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] }}"
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 }}"
run_once: True
when:
- action == "upgrade"
- service.enabled | bool
- inventory_hostname == groups[service.group][-1]