kolla-ansible/ansible/roles/neutron/tasks/rolling_upgrade.yml
Mark Goddard 58d6dc3bcf Don't pull images during upgrade
When adding the rolling upgrade support, some upgrade procedures were
modified to pull images explicitly. This is done inconsistently between
services, and is a change in behaviour from Rocky and earlier releases.

This change removes all image pulling from upgrade tasks.

Change-Id: Id0fed17714235e1daed60b83b1f30620f097eb97
2019-03-20 18:51:45 +00:00

90 lines
3.0 KiB
YAML

---
- include_tasks: config.yml
- include_tasks: config-neutron-fake.yml
when:
- inventory_hostname in groups['compute']
- enable_nova_fake | bool
- name: Running Neutron database expand container
vars:
neutron_server: "{{ neutron_services['neutron-server'] }}"
kolla_docker:
action: "start_container"
common_options: "{{ docker_common_options }}"
detach: False
environment:
KOLLA_UPGRADE:
NEUTRON_DB_EXPAND:
KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
NEUTRON_ROLLING_UPGRADE_SERVICES: "{{ neutron_rolling_upgrade_services }}"
image: "{{ neutron_server.image }}"
labels:
UPGRADE:
name: "bootstrap_neutron"
restart_policy: "never"
volumes: "{{ neutron_server.volumes }}"
run_once: True
delegate_to: "{{ groups['neutron-server'][0] }}"
- include_tasks: bootstrap_service.yml
vars:
neutron_lbaas_agent: "{{ neutron_services['neutron-lbaas-agent'] }}"
neutron_server: "{{ neutron_services['neutron-server'] }}"
when: (neutron_lbaas_agent.enabled | bool)
or (enable_neutron_sfc | bool and neutron_server.enabled | bool)
- name: Flush Handlers
meta: flush_handlers
- name: Checking neutron pending contract scripts
become: true
command: "docker exec -t neutron_server neutron-db-manage --subproject {{ item }} has_offline_migrations"
register: neutron_check_contract_db_stdout
ignore_errors: yes
with_items: "{{ neutron_rolling_upgrade_services }}"
when: inventory_hostname == groups['neutron-server'][0]
- name: Stopping all neutron-server for contract db
vars:
neutron_server: "{{ neutron_services['neutron-server'] }}"
first_neutron_server_host: "{{ groups[neutron_server.group][0] }}"
results_of_check_pending_contract_scripts: "{{ hostvars[first_neutron_server_host]['neutron_check_contract_db_stdout'] }}"
filter_rc: "results[?rc!=`0`]"
is_stop_neutron_server: "{{ results_of_check_pending_contract_scripts | json_query(filter_rc) }}"
become: true
kolla_docker:
action: "stop_container"
common_options: "{{ docker_common_options }}"
name: "{{ neutron_server.container_name }}"
when:
- is_stop_neutron_server|length > 0
- neutron_server.host_in_groups | bool
notify:
- "Restart neutron-server container"
- name: Running Neutron database contract container
vars:
neutron_server: "{{ neutron_services['neutron-server'] }}"
kolla_docker:
action: "start_container"
common_options: "{{ docker_common_options }}"
detach: False
environment:
KOLLA_UPGRADE:
NEUTRON_DB_CONTRACT:
KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
NEUTRON_ROLLING_UPGRADE_SERVICES: "{{ neutron_rolling_upgrade_services }}"
image: "{{ neutron_server.image }}"
labels:
UPGRADE:
name: "bootstrap_neutron"
restart_policy: "never"
volumes: "{{ neutron_server.volumes }}"
run_once: True
delegate_to: "{{ groups['neutron-server'][0] }}"
# Flush handlers here to ensure neutron-server containers are started
- name: Flush Handlers
meta: flush_handlers