In DVR environment, there are FG interfaces on nodes. We can delete
those after the migration.
Change-Id: I44967e55213d12af24acbf9561a96afb34548324
Signed-off-by: Jakub Libosvar <libosvar@redhat.com>
The new "migrate" mode for the DB sync utility changes DB contents as
follows:
- it changes vxlan networks to Geneve, including its allocation in
order to avoid future collisions when creating new geneve networks
- it removes settings from ports' vif_details that are no longer
needed, such as hybrid plugging or bridge_name for the trunk bridges
- it sets profile for subports - OVN doesn't use trunk_details but port
profile to store data about trunk. Subports have tag and parent_name
fileds.
Previously, the vxlan to Geneve change was done via ansible role. The
tasks in the role were replaced by the script therefore the role is
removed.
Signed-off-by: Jakub Libosvar <libosvar@redhat.com>
Change-Id: I29a39108d9fddb30050ec63a1cdf6bba0400e136
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>
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 <libosvar@redhat.com>
Previously, the migration script used controller nodes to configure
dnsmasq when configuring new MTU. Controller nodes may not run DHCP
agents. The patch detects DHCP agents instead and uses those to
configure dnsmasq.
Change-Id: Ib468c04779af7aaf4dedf84ba885bce71078248b
Signed-off-by: Jakub Libosvar <libosvar@redhat.com>
The patch goes to one of ovn-dbs nodes and runs a SQL query to change
all vxlan networks to Geneve. It's done via Python and sqlalchemy in
neutron_api container because mysql client is not installed there. This
approach was chosen to avoid installing more dependencies.
Change-Id: Ic417a115fdc212527866122bc9d3c93ea9599bdf
Signed-off-by: Jakub Libosvar <libosvar@redhat.com>
The undercloud node user is configurable in TripleO and isn't always set
to heat-admin. This patch introduces an environment variable for cases
where user is different.
Change-Id: If65925ded1b5df2bfdcfba50445ff7d821c725d8
Signed-off-by: Jakub Libosvar <libosvar@redhat.com>
When running migration from ML2OVS to ML2OVN using infrared plugin
some ML2OVS-specific templates remain in 'overcloud deploy' command.
This is not correct and can cause issues.
Change-Id: I41c81cd42ab85395cb5fc56f339d14f2e939ebbc
Closes-bug: #1896470
Previously docker command used grep to search for neutron server
container. It used image name instead of container name. With the switch
to podman, it stopped working. This patch fixes the container name.
Change-Id: Id650c2e7ac427dd53ebaab4e6d95d54efc657e3f
Closes-bug: #1895108
Signed-off-by: Jakub Libosvar <libosvar@redhat.com>
This patch is a workaround for bug in OVS [1]. The OVS is restarted
after setting protocols for the integration bridge. This will cause
a data plane disruption. We can remove the workaround once
the bug [1] is fixed.
Closes-bug: #1890596
[1] https://bugzilla.redhat.com/show_bug.cgi?id=1782834
Change-Id: Ia635f705fa03036a9e9c1c14eab59038ec39bda3
Signed-off-by: Jakub Libosvar <libosvar@redhat.com>
The heat stack name is variable. This patch adds a new environment
variable to support migrating stacks that are different name than
overcloud.
Change-Id: I6fd72bf83def28ae633d720b8495888cea3ac0a3
Signed-off-by: Jakub Libosvar <libosvar@redhat.com>
Instead of adapting to changes to the tripleo inventory structure let
ansible parse it for us using ansible-inventory.
Change-Id: I34ad0fd5feed65dd1266993a77f6ebc69fecfdfb
Closes-bug: #1884764
Docker commands are replaced with podman. References to docker resources
is fixed. Some improvements to avoid storing container ids and
performing operations is also done in this patch.
Change-Id: I2b9661d06b30eeb7752bdb4fad73778d2ed940d7
Migration ansible playbooks are not able to connect to overcloud
nodes using ssh due to bad settings in the generated ansible
inventory file. Ctlplane subnet ip addresses should be used by
ansible in order to be able to establish connection successfully.
Closes-bug: #1881029
Change-Id: I1588b88279ba1e25706cc74f4a888901e5aadcb6
TripleO used to uninstall services if the resources were set to None. It
was not intentional and TripleO no longer does that. This patch manually
removes dhcp, l3, metadata and ovs agents from controller and compute
nodes, including its systemd service files.
Closes-Bug: #1878358
Change-Id: I140ae0c476bf9e19b4429ce388ddc7cc3f4cd421
Signed-off-by: Jakub Libosvar <libosvar@redhat.com>
A change in TripleO [1] changed behavior and forbids update when backend
is changed. Unless ForceNeutronDriverUpdate is set. This patch sets the
parameter when migrating from ML2/OVS to OVN. More information at [2].
[1]
379f886119
[2] https://bugzilla.redhat.com/show_bug.cgi?id=1769880
Change-Id: Ic85a214a96d3ffa054aa5e1c17ab430c71c4e4a1
Co-Authored-By: Jakub Libosvar <jlibosva@redhat.com>
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
The patch removes paunch and cleans network namespaces by iterating over
namespaces belonging to Neutron agents. It also clears side-car
containers spawned by Neutron using podman command.
Change-Id: I017e7b3c3674e065a523eff5ebbea352f619f45e
This patch is migrating the OVN migration scripts. At the moment, only
migration from ML2/OVS to ML2/OVN in a TripleO environment is supported.
Co-Authored-By: Miguel Angel Ajo <majopela@redhat.com>
Co-Authored-By: Jakub Libosvar <libosvar@redhat.com>
Co-Authored-By: Daniel Alvarez <dalvarez@redhat.com>
Co-Authored-By: Maciej Józefczyk <mjozefcz@redhat.com>
Co-Authored-By: Numan Siddique <nusiddiq@redhat.com>
Co-Authored-By: Roman Safronov <rsafrono@redhat.com>
Co-Authored-By: Terry Wilson <twilson@redhat.com>
Related-Blueprint: neutron-ovn-merge
Change-Id: I925f4b650209b8807290d6a69440c31fd72a1762
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>