[ops][nova][neutron] Proper way to migrate instances between nodes with different ML2 agents types
I'm trying to find a solution to migrate instances between hypervisors
of an openstack cluster with nodes running different ML2 agents (OVS
and bridges, I'm actually migrating the whole cluster to the latter).
The cluster is running Rocky. I enabled both mechanisms in the neutron-
server configuration and some nodes are running the neutron-
openvswitch-agent and some other the neutron-linuxbridge-agent. My
network nodes (running the l3 agent) are currently running the neutron-
openvswitch-agent. I also noticed that when nova-compute is starting
up, VIF plugins for OVS and Bridges are loaded ("INFO os_vif [-] Loaded
VIF plugins: ovs, linux_bridge").
When I start a live migration for an instance running on an hypervisor
using the OVS agent to an hypervisor using the bridge agent, it fails
because the destination hypervisor try to execute 'ovs-*' commands to
bind the VM to its network. I also tried cold migration and just
restarting an hypervisor with the bridge agent instead of the OVS one,
but it fails similarly when the instances startup.
After some research, I discovered that the mechanism used to bind an
instance port to a network is stored in the port binding configuration
in the database and that the code that executes the 'ovs-*' commands is
actually located in the os_vif library that is used by the nova-compute
So, I tried to remove the OVS plugin from the os_vif library. Ubuntu
ship both plugins in the same package so I just deleted the plugin
directory in /usr/lib/python2.7/dist-packages directory (don't judge me
please, it's for science ;-)). And... it worked as expected (port
bindings are converted to bridge mechanism), at least for the cold
migration (hot migration is cancelled without any error message, I need
to investigate more).
How can I do those migration the proper way?
Thank you for any help!
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 833 bytes
Desc: This is a digitally signed message part