Merge "Run online data migrations"
This commit is contained in:
commit
1ba194d156
docker/services
@ -120,7 +120,7 @@ Steps correlate to the following:
|
||||
a) step 4 baremetal
|
||||
b) step 4 containers
|
||||
c) Keystone containers post initialization (tenant,service,endpoint creation)
|
||||
5) Service activation (Pacemaker)
|
||||
5) Service activation (Pacemaker), online data migration
|
||||
a) step 5 baremetal
|
||||
b) step 5 containers
|
||||
|
||||
|
@ -180,6 +180,26 @@ outputs:
|
||||
- ''
|
||||
environment:
|
||||
- KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
|
||||
step_5:
|
||||
cinder_api_online_migrations:
|
||||
start_order: 2
|
||||
image: *cinder_api_image
|
||||
net: host
|
||||
privileged: false
|
||||
detach: false
|
||||
user: root
|
||||
volumes:
|
||||
list_concat:
|
||||
- {get_attr: [ContainersCommon, volumes]}
|
||||
-
|
||||
- /var/lib/config-data/cinder/etc/my.cnf.d/tripleo.cnf:/etc/my.cnf.d/tripleo.cnf:ro
|
||||
- /var/lib/config-data/cinder/etc/cinder/:/etc/cinder/:ro
|
||||
- /var/log/containers/cinder:/var/log/cinder
|
||||
- /var/log/containers/httpd/cinder-api:/var/log/httpd
|
||||
command:
|
||||
- '/usr/bin/bootstrap_host_exec'
|
||||
- 'cinder_api'
|
||||
- "su cinder -s /bin/bash -c 'cinder-manage db online_data_migrations'"
|
||||
cinder_api_cron:
|
||||
image: *cinder_api_image
|
||||
net: host
|
||||
@ -229,6 +249,11 @@ outputs:
|
||||
- when: step|int == 0
|
||||
tags: common
|
||||
block:
|
||||
- name: get bootstrap nodeid
|
||||
command: hiera -c /etc/puppet/hiera.yaml bootstrap_nodeid
|
||||
register: bootstrap_node
|
||||
- name: set is_bootstrap_node fact
|
||||
set_fact: is_bootstrap_node={{bootstrap_node.stdout|lower == ansible_hostname|lower}}
|
||||
- name: Check is cinder_api is deployed
|
||||
command: systemctl is-enabled openstack-cinder-api
|
||||
ignore_errors: True
|
||||
@ -240,6 +265,18 @@ outputs:
|
||||
shell: systemctl is-active --quiet openstack-cinder-api
|
||||
when: cinder_api_enabled|bool
|
||||
tags: validation
|
||||
# NOTE: In puppet service variant, we ran release N online
|
||||
# migrations before upgrade to release N+1. In docker
|
||||
# service variant, we run release N online migrations
|
||||
# after upgrade to release N. This means that during
|
||||
# switch from non-containerized to containerized, we need
|
||||
# to run both of these.
|
||||
- name: Online data migration for Cinder before switching to containers
|
||||
tags: pre-upgrade
|
||||
when:
|
||||
- is_bootstrap_node|bool
|
||||
- cinder_api_enabled|bool
|
||||
command: cinder-manage db online_data_migrations
|
||||
- when: step|int == 2
|
||||
block:
|
||||
- name: Stop and disable cinder_api service (pre-upgrade not under httpd)
|
||||
|
@ -139,6 +139,22 @@ outputs:
|
||||
- /var/log/containers/httpd/ironic-api:/var/log/httpd
|
||||
environment:
|
||||
- KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
|
||||
step_5:
|
||||
ironic_online_migrations:
|
||||
start_order: 2
|
||||
image: *ironic_api_image
|
||||
net: host
|
||||
privileged: false
|
||||
detach: false
|
||||
user: root
|
||||
volumes:
|
||||
list_concat:
|
||||
- {get_attr: [ContainersCommon, volumes]}
|
||||
-
|
||||
- /var/lib/config-data/ironic_api/etc/ironic:/etc/ironic:ro
|
||||
- /var/log/containers/ironic:/var/log/ironic
|
||||
- /var/log/containers/httpd/ironic-api:/var/log/httpd
|
||||
command: "/usr/bin/bootstrap_host_exec ironic_api su ironic -s /bin/bash -c 'ironic-dbsync --config-file /etc/ironic/ironic.conf online_data_migrations'"
|
||||
host_prep_tasks:
|
||||
- name: create persistent logs directory
|
||||
file:
|
||||
@ -158,6 +174,11 @@ outputs:
|
||||
- when: step|int == 0
|
||||
tags: common
|
||||
block:
|
||||
- name: get bootstrap nodeid
|
||||
command: hiera -c /etc/puppet/hiera.yaml bootstrap_nodeid
|
||||
register: bootstrap_node
|
||||
- name: set is_bootstrap_node fact
|
||||
set_fact: is_bootstrap_node={{bootstrap_node.stdout|lower == ansible_hostname|lower}}
|
||||
- name: Check if ironic_api is deployed
|
||||
command: systemctl is-enabled --quiet openstack-ironic-api
|
||||
ignore_errors: True
|
||||
@ -192,6 +213,18 @@ outputs:
|
||||
when:
|
||||
- ironic_httpd_enabled|bool
|
||||
- httpd_running|bool
|
||||
# NOTE: In puppet service variant, we ran release N online
|
||||
# migrations before upgrade to release N+1. In docker
|
||||
# service variant, we run release N online migrations
|
||||
# after upgrade to release N. This means that during
|
||||
# switch from non-containerized to containerized, we need
|
||||
# to run both of these.
|
||||
- name: Online data migration for Ironic before switching to containers
|
||||
tags: pre-upgrade
|
||||
when:
|
||||
- is_bootstrap_node|bool
|
||||
- (ironic_httpd_enabled|bool and httpd_running|bool) or ironic_api_enabled|bool
|
||||
command: ironic-dbsync --config-file /etc/ironic/ironic.conf online_data_migrations
|
||||
- when: step|int == 2
|
||||
block:
|
||||
- name: Stop and disable ironic_api service
|
||||
|
@ -323,6 +323,14 @@ outputs:
|
||||
- ''
|
||||
- - 'TRIPLEO_DEPLOY_IDENTIFIER='
|
||||
- {get_param: DeployIdentifier}
|
||||
nova_online_migrations:
|
||||
start_order: 2
|
||||
image: *nova_api_image
|
||||
net: host
|
||||
detach: false
|
||||
volumes: *nova_api_bootstrap_volumes
|
||||
user: root
|
||||
command: "/usr/bin/bootstrap_host_exec nova_api su nova -s /bin/bash -c '/usr/bin/nova-manage db online_data_migrations'"
|
||||
metadata_settings:
|
||||
get_attr: [NovaApiBase, role_data, metadata_settings]
|
||||
host_prep_tasks: {get_attr: [NovaApiLogging, host_prep_tasks]}
|
||||
@ -330,6 +338,11 @@ outputs:
|
||||
- when: step|int == 0
|
||||
tags: common
|
||||
block:
|
||||
- name: get bootstrap nodeid
|
||||
command: hiera -c /etc/puppet/hiera.yaml bootstrap_nodeid
|
||||
register: bootstrap_node
|
||||
- name: set is_bootstrap_node fact
|
||||
set_fact: is_bootstrap_node={{bootstrap_node.stdout|lower == ansible_hostname|lower}}
|
||||
- name: Check if nova_api is deployed
|
||||
command: systemctl is-enabled --quiet openstack-nova-api
|
||||
ignore_errors: True
|
||||
@ -361,6 +374,18 @@ outputs:
|
||||
when:
|
||||
- nova_api_httpd_enabled|bool
|
||||
- httpd_running|bool
|
||||
# NOTE: In puppet service variant, we ran release N online
|
||||
# migrations before upgrade to release N+1. In docker
|
||||
# service variant, we run release N online migrations
|
||||
# after upgrade to release N. This means that during
|
||||
# switch from non-containerized to containerized, we need
|
||||
# to run both of these.
|
||||
- name: Online data migration for Nova before switching to containers
|
||||
tags: pre-upgrade
|
||||
when:
|
||||
- is_bootstrap_node|bool
|
||||
- (nova_api_httpd_enabled|bool and httpd_running|bool) or nova_api_enabled|bool
|
||||
command: nova-manage db online_data_migrations
|
||||
- when: step|int == 2
|
||||
block:
|
||||
- name: Stop and disable nova_api service
|
||||
|
Loading…
x
Reference in New Issue
Block a user