migration: Remove crudini when migrating tunnels

It turned out there doesn't need to be crudini tool present on the node
running the command. This patch fetches the Neutron conf file instead
and performs an ini lookup over it in order to get the DB connection
string.

Change-Id: Iaf79b8512a920e9f667bd6881d50e8852595fa71
Signed-off-by: Jakub Libosvar <libosvar@redhat.com>
This commit is contained in:
Jakub Libosvar 2021-03-24 18:03:20 +01:00
parent 824ff38456
commit 94bea77fd7
2 changed files with 12 additions and 4 deletions

View File

@ -1,2 +1,3 @@
--- ---
neutron_conf_path: /var/lib/config-data/puppet-generated/neutron/etc/neutron/neutron.conf neutron_conf_path: /var/lib/config-data/puppet-generated/neutron/etc/neutron/neutron.conf
neutron_conf_tempfile: /tmp/neutron.conf

View File

@ -1,8 +1,15 @@
--- ---
- name: Get DB connection string - name: Fetch neutron configuration
command: crudini --get {{ neutron_conf_path }} database connection fetch:
src: "{{ neutron_conf_path }}"
dest: "{{ neutron_conf_tempfile }}"
flat: yes
when: ovn_central is defined
- name: Get DB connection string
set_fact:
db_connection_string: "{{ lookup('ini', 'connection section=database file={{ neutron_conf_tempfile }}') }}"
when: ovn_central is defined when: ovn_central is defined
register: mysql_url
# The shell below is not readable well. The code spawns a sqlalchemy engine # The shell below is not readable well. The code spawns a sqlalchemy engine
# and connects to the Neutron database to run following SQL command: # and connects to the Neutron database to run following SQL command:
@ -16,5 +23,5 @@
# conn.execute("SQL COMMAND") # conn.execute("SQL COMMAND")
# #
- name: Change vxlan networks to Geneve - name: Change vxlan networks to Geneve
shell: podman exec -it neutron_api python3 -c $'from sqlalchemy import create_engine\nengine = create_engine("{{ mysql_url.stdout }}")\nwith engine.connect() as conn:\n\tconn.execute("update networksegments set networksegments.network_type=\'geneve\' where networksegments.network_type=\'vxlan\';")' shell: podman exec -it neutron_api python3 -c $'from sqlalchemy import create_engine\nengine = create_engine("{{ db_connection_string }}")\nwith engine.connect() as conn:\n\tconn.execute("update networksegments set networksegments.network_type=\'geneve\' where networksegments.network_type=\'vxlan\';")'
when: ovn_central is defined when: ovn_central is defined