kolla-ansible/ansible/roles/ironic/tasks/rolling_upgrade.yml
Duong Ha-Quang 0152e51d7e Apply Ironic rolling upgrade logic
This patchset apply Ironic rolling upgrade logic [1][2]
[1] https://docs.openstack.org/ironic/latest/contributor/rolling-upgrades.html
[2] https://docs.openstack.org/ironic/latest/admin/upgrade-guide.html#rolling-upgrades

Depends-On: https://review.openstack.org/#/c/575594/

Co-author: Ha Manh Dong <donghm@vn.fujitsu.com>
Change-Id: Id68244951dc66d5c3423ef44324bd72058f4ba67
Implements: blueprint apply-service-upgrade-procedure
2018-07-17 10:04:21 +07:00

45 lines
1.2 KiB
YAML

---
- include: pull.yml
# Pin release version
- include: config.yml
vars:
pin_release_version: "{{ openstack_previous_release_name }}"
- include: bootstrap_service.yml
# TODO(donghm): Flush_handlers to restart ironic services
# should be run in serial nodes to decrease downtime. Update when
# the module ansible strategy for rolling upgrade is finished.
# Restart ironic services with pinned release version
- name: Flush handlers
meta: flush_handlers
# Unpin version
- include: config.yml
# Restart ironic services with unpinned release version
- name: Flush handlers
meta: flush_handlers
- name: Running Ironic online data migration
vars:
ironic_api: "{{ ironic_services['ironic-api'] }}"
kolla_docker:
action: "start_container"
common_options: "{{ docker_common_options }}"
detach: False
environment:
KOLLA_OSM:
KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
image: "{{ ironic_api.image }}"
labels:
BOOTSTRAP:
name: "bootstrap_ironic"
restart_policy: "never"
volumes: "{{ ironic_api.volumes }}"
run_once: True
delegate_to: "{{ groups[ironic_api.group][0] }}"
when: inventory_hostname in groups[ironic_api.group]