blob: 68201443f9aaceaef1e48e9ba0fe1834e72d06a9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
---
- import_tasks: config-host.yml
- import_tasks: config.yml
- import_tasks: check-containers.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_container:
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: oneshot
volumes: "{{ neutron_server.volumes }}"
run_once: true
delegate_to: "{{ groups['neutron-server'][0] }}"
- name: Flush Handlers
meta: flush_handlers
- name: Checking neutron pending contract scripts
become: true
changed_when: false
command: "{{ kolla_container_engine }} exec -t neutron_server neutron-db-manage --subproject {{ item }} has_offline_migrations"
register: neutron_check_contract_db_stdout
ignore_errors: true
with_items: "{{ neutron_rolling_upgrade_services }}"
when: inventory_hostname == groups['neutron-server'][0]
- name: Stopping all neutron-server for contract db
vars:
service: "{{ neutron_services['neutron-server'] }}"
first_neutron_server_host: "{{ groups[service.group][0] }}"
results_of_check_pending_contract_scripts: "{{ hostvars[first_neutron_server_host]['neutron_check_contract_db_stdout'] }}"
# NOTE(hrw): no idea
filter_rc: "results[?rc!=`0`]"
is_stop_neutron_server: "{{ results_of_check_pending_contract_scripts | json_query(filter_rc) }}"
become: true
kolla_container:
action: "stop_container"
common_options: "{{ docker_common_options }}"
name: "{{ service.container_name }}"
when:
- service.host_in_groups | bool
- is_stop_neutron_server | length > 0
notify:
- "Restart neutron-server container"
- name: Running Neutron database contract container
vars:
neutron_server: "{{ neutron_services['neutron-server'] }}"
become: true
kolla_container:
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: oneshot
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
|