14bf524756
This commit is to apply resource-constraints to a few more OpenStack services. Commit to apply constraints to the last set of services will be made in the upcoming commit. Depends-on: Icafa54baca24d2de64238222a5677b9d8b90e2aa Change-Id: I39004f54281f97d53dfa4b1dbcf248650ad6f186
130 lines
4.9 KiB
YAML
130 lines
4.9 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] }}"
|
|
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]
|