---
- name: Get DB connection string
  command: crudini --get {{ neutron_conf_path }} database connection
  when: ovn_central is defined
  register: mysql_url

- 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\';")'
  when: ovn_central is defined

---
- name: Get DB connection string
  command: crudini --get {{ neutron_conf_path }} database connection
  when: ovn_central is defined
  register: mysql_url

# The shell below is not readable well. The code spawns a sqlalchemy engine
# and connects to the Neutron database to run following SQL command:
# UPDATE networksegments SET networksegments.network_type='geneve' WHERE networksegments.network_type='vxlan';
# The indented Python code looks as follows:
#
# from sqlalchemy import create_engine
#
# engine = create_engine("{{ mysql_url.stdout }}")
# with engine.connect() as conn:
#     conn.execute("SQL COMMAND")
#
- 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\';")'
  when: ovn_central is defined

Add doctext explaining VXLAN to Geneve migration
ovn-migration: Add doctext explaining VXLAN to Geneve migration

The Ansible command itself is hard to read, the patch adds some doctext
to improve understanding of the ansible task.

Change-Id: I4ab7a83da9bbf64ee6b19b2a0611fd64e09e2132
Signed-off-by: Jakub Libosvar <d2de8475ecde4f30221bae835ec23b041ec4f992@redhat.com>
