6a737b1968
Docker has no restart policy named 'never'. It has 'no'. This has bitten us already (see [1]) and might bite us again whenever we want to change the restart policy to 'no'. This patch makes our docker integration honor all valid restart policies and only valid restart policies. All relevant docker restart policy usages are patched as well. I added some FIXMEs around which are relevant to kolla-ansible docker integration. They are not fixed in here to not alter behavior. [1] https://review.opendev.org/667363 Change-Id: I1c9764fb9bbda08a71186091aced67433ad4e3d6 Signed-off-by: Radosław Piliszek <radoslaw.piliszek@gmail.com>
90 lines
2.9 KiB
YAML
90 lines
2.9 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'] }}"
|
|
become: true
|
|
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 | join(' ') }}"
|
|
image: "{{ neutron_server.image }}"
|
|
labels:
|
|
UPGRADE:
|
|
name: "bootstrap_neutron"
|
|
restart_policy: no
|
|
volumes: "{{ neutron_server.volumes }}"
|
|
run_once: True
|
|
delegate_to: "{{ groups['neutron-server'][0] }}"
|
|
|
|
- include_tasks: bootstrap_service.yml
|
|
vars:
|
|
neutron_server: "{{ neutron_services['neutron-server'] }}"
|
|
when: (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'] }}"
|
|
become: true
|
|
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 | join(' ') }}"
|
|
image: "{{ neutron_server.image }}"
|
|
labels:
|
|
UPGRADE:
|
|
name: "bootstrap_neutron"
|
|
restart_policy: no
|
|
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
|