diff options
author | Jakub Libosvar <libosvar@redhat.com> | 2023-01-18 17:07:16 -0500 |
---|---|---|
committer | Jakub Libosvar <libosvar@redhat.com> | 2023-01-18 17:07:16 -0500 |
commit | feb9f2b21ca706870c38e73ad451613f4e34e9f5 (patch) | |
tree | f502eef91bfc546f41fd0f47493847923f4f128f | |
parent | b71b25820be6d61ed9f249eddf32bfa49ac76524 (diff) | |
download | neutron-feb9f2b21ca706870c38e73ad451613f4e34e9f5.tar.gz |
ovn-migration: Stop neutron server while running db sync
The patch stops all running neutron-server processes before syncing
database from Neutron to OVN. Then it creates a new container to execute
the sync in and after it is done the container is removed.
Change-Id: Ifa439a536572efb72ccefde128fa186fc2f73bef
3 files changed, 29 insertions, 15 deletions
diff --git a/tools/ovn_migration/tripleo_environment/playbooks/roles/migration/defaults/main.yml b/tools/ovn_migration/tripleo_environment/playbooks/roles/migration/defaults/main.yml index ce745eda18..13b5565f5f 100644 --- a/tools/ovn_migration/tripleo_environment/playbooks/roles/migration/defaults/main.yml +++ b/tools/ovn_migration/tripleo_environment/playbooks/roles/migration/defaults/main.yml @@ -2,3 +2,4 @@ tunnel_bridge: "br-tun" ovn_bridge: "br-int" +ovn_db_sync_container: "neutron-ovn-db-sync" diff --git a/tools/ovn_migration/tripleo_environment/playbooks/roles/migration/tasks/main.yml b/tools/ovn_migration/tripleo_environment/playbooks/roles/migration/tasks/main.yml index f05fad71b3..20f61002f1 100644 --- a/tools/ovn_migration/tripleo_environment/playbooks/roles/migration/tasks/main.yml +++ b/tools/ovn_migration/tripleo_environment/playbooks/roles/migration/tasks/main.yml @@ -2,7 +2,6 @@ - include_tasks: clone-dataplane.yml - include_tasks: sync-dbs.yml - when: ovn_central is defined - include_tasks: activate-ovn.yml diff --git a/tools/ovn_migration/tripleo_environment/playbooks/roles/migration/tasks/sync-dbs.yml b/tools/ovn_migration/tripleo_environment/playbooks/roles/migration/tasks/sync-dbs.yml index 24a6910959..4e3b629420 100644 --- a/tools/ovn_migration/tripleo_environment/playbooks/roles/migration/tasks/sync-dbs.yml +++ b/tools/ovn_migration/tripleo_environment/playbooks/roles/migration/tasks/sync-dbs.yml @@ -1,20 +1,34 @@ --- -- name: Get the neutron container ID - shell: - podman ps --filter "name=neutron_api" --format {% raw %}"{{.ID}}"{% endraw %} - register: neutron_id +- name: stop neutron_api containers + ansible.builtin.systemd: + name: tripleo_neutron_api + state: stopped -- name: Sync neutron db with OVN db (container) - Run 1 - command: podman exec "{{ neutron_id.stdout }}" - neutron-ovn-db-sync-util --config-file /etc/neutron/neutron.conf - --config-file /etc/neutron/plugins/ml2/ml2_conf.ini - --ovn-neutron_sync_mode migrate +- name: get neutron_server image url + command: podman ps -a --filter "name=neutron_api" --format {% raw %}"{{.Image}}"{% endraw %} + register: neutron_server_image -- name: Sync neutron db with OVN db (container) - Run 2 - command: podman exec "{{ neutron_id.stdout }}" - neutron-ovn-db-sync-util --config-file /etc/neutron/neutron.conf - --config-file /etc/neutron/plugins/ml2/ml2_conf.ini - --ovn-neutron_sync_mode migrate +- name: sync neutron db with OVN db + command: podman run --name {{ ovn_db_sync_container }} + -v /var/log/containers/neutron:/var/log/neutron:Z + -v /var/lib/config-data/puppet-generated/neutron/etc/neutron:/etc/neutron:Z + --privileged=True --network host --user root + {{ neutron_server_image.stdout }} + neutron-ovn-db-sync-util --config-file /etc/neutron/neutron.conf + --config-file /etc/neutron/plugins/ml2/ml2_conf.ini + --log-file /var/log/neutron/neutron-db-sync.log + --ovn-neutron_sync_mode migrate + --debug + when: ovn_central is defined + +- name: remove db-sync container + command: podman rm -f {{ ovn_db_sync_container }} + when: ovn_central is defined + +- name: start neutron_api containers + ansible.builtin.systemd: + name: tripleo_neutron_api + state: started - name: Pause and let ovn-controllers settle before doing the final activation (5 minute) pause: minutes=5 |