On 06/08/2024 16:22, Ihar Hrachyshka wrote:
On Tue, Aug 6, 2024 at 6:09 AM <brendan.do...@oracle.com> wrote:
On 05/08/2024 19:16, Ihar Hrachyshka wrote:
Hi,
I don't know what libvirt OVN hook is though. Do you have a link?
https://docs.openvswitch.org/en/latest/howto/libvirt/
<https://urldefense.com/v3/__https://docs.openvswitch.org/en/latest/howto/libvirt/__;!!ACWV5N9M2RV99hQ!PrRc5pn2H7XKwNz56Fx02hMzSYd38g07Xp0SnqTKS5G5LGElU0mSBKchpfNeA_Dt3aboh03f9XaEQl2jDBMh$>
https://www.redhat.com/sysadmin/libvirt-open-vswitch
<https://urldefense.com/v3/__https://www.redhat.com/sysadmin/libvirt-open-vswitch__;!!ACWV5N9M2RV99hQ!PrRc5pn2H7XKwNz56Fx02hMzSYd38g07Xp0SnqTKS5G5LGElU0mSBKchpfNeA_Dt3aboh03f9XaEQmapFFpt$>
This *seems* Open vSwitch specific?.. Is there some additional
integration for OVN that is not covered in the links above? I imagine,
at the very least, you'd have to set iface-id on OVS interfaces to
establish a mapping between OVN LSPs and OVS interfaces.
Yes the libvert OVN hook creates the interface IDs.
I assume this is done, somehow. Wonder if you have a link to this code
so we can check what it does to attach LSPs.
I'm not sure I'd imagine it is in the base libvert code. The way we use:
Create a libvert "ovn-network" type :
cat ovn-network.xml
<network>
<name>ovn-network</name>
<forward mode='bridge'/>
<bridge name='br-int'/>
<virtualport type='openvswitch'/>
</network>
virsh net-create ovn-network.xml
Then when creating a VM add NIC Choose "ovn-network" as Network source and under Virtual
port put type as "openvswitch"
ovs-vsctl get interface vnetX external_ids:iface-id
ovs-vsctl get interface vnetX external_ids:attached-mac
ovn-nbctl lsp-add <switch name> iface-id
This suggests that `requested-chassis` for the OVN port is, at
least for a moment, set to `null`, while both hosts have the
interface with `iface-id` set to the port ID. Your hook should
avoid it. (Always have requested-chassis pointing to one host or
another, but never clear it up completely.) (Alternatively,
create the destination OVS interface only when migration is
complete.)
BTW the 100 flapping in 50s is actually not too bad, it was a lot
worse before:
https://github.com/ovn-org/ovn/commit/4dc4bc7fdb848bcc626becbd2c80ffef8a39ff9a
<https://urldefense.com/v3/__https://github.com/ovn-org/ovn/commit/4dc4bc7fdb848bcc626becbd2c80ffef8a39ff9a__;!!ACWV5N9M2RV99hQ!P4Dli8ff2rtH8mzHvmTlVoIBEEp7UX4RSsBiUC1QJGdVGJAM_7AqU1UUF-6MPdDTom7oupIAo5eS5zua_o4K$>
---
A while ago, I wrote a blog walking through the binding process
for OVN, (it covers live migration and port binding flapping; it
also covers the additional-requested-chassis feature that is
helpful for live migration, but I suspect you don't use it). I
hope it may be of help:
https://ihar.dev/posts/ovn-chassis-binding-walkthru
<https://urldefense.com/v3/__https://ihar.dev/posts/ovn-chassis-binding-walkthru__;!!ACWV5N9M2RV99hQ!P4Dli8ff2rtH8mzHvmTlVoIBEEp7UX4RSsBiUC1QJGdVGJAM_7AqU1UUF-6MPdDTom7oupIAo5eS51JVTxAa$>
Thanks, that is interesting, but. I guess this would require
hooks between libvert's live migration
and the CMS, so that the CMs can adjust |options:requested-chassis.
|
Yes. But I think as long as you have multiple OVS interfaces with the
same iface-id on different hosts, you have to use requested-chassis to
identify which host is "current" at any particular moment.
|
Brendan
|
On Fri, Jul 26, 2024 at 9:41 AM Brendan Doyle via discuss
<ovs-discuss@openvswitch.org> wrote:
Hi Folks,
We have a pair of VM's with their network interfaces
connected into OVN via the libvert
OVN hook. When doing live migration of these I see intense
port flapping, with each
chassis repeatably claiming the interfaces and and
configuring them into the southbound
DB/OVS, bringing the ports up/down constantly. I see the
sequence of events below
repeated up to a 100 times in a 50s period as the interfaces
are migrated from one chassis
to another.
Is this expected behavior, and what is the expected interface
outage to be during this
period? We have a heartbeat running with a 30s timeout, and
that intermittently
fails during these migrations.
On each chassis I see these sequence of events repeated 90 to
100 times:
in pcacn001, we see:
2024-07-21T09:36:35.262Z|304798|binding|INFO|Changing chassis
for lport c7e2c10e-43f1-11ef-b3c5-a8698c171668 from pcacn004
to pcacn001
2024-07-21T09:36:35.262Z|304799|binding|INFO|c7e2c10e-43f1-11ef-b3c5-a8698c171668:
Claiming 00:13:97:f3:ea:30 11.11.1.2
2024-07-21T09:36:35.265Z|304800|binding|INFO|Setting lport
c7e2c10e-43f1-11ef-b3c5-a8698c171668 up in Southbound
2024-07-21T09:36:35.583Z|304806|binding|INFO|Removing lport
c7e2c10e-43f1-11ef-b3c5-a8698c171668 ovn-installed in OVS
2024-07-21T09:36:35.584Z|304809|binding|INFO|Setting lport
c7e2c10e-43f1-11ef-b3c5-a8698c171668 ovn-installed in OVS
2024-07-21T09:36:35.746Z|304810|binding|INFO|Setting lport
c7e2c10e-43f1-11ef-b3c5-a8698c171668 up in Southbound
2024-07-21T09:36:35.891Z|304811|binding|INFO|Changing chassis
for lport c7e2c10e-43f1-11ef-b3c5-a8698c171668 from pcacn004
to pcacn001
2024-07-21T09:36:35.891Z|304812|binding|INFO|c7e2c10e-43f1-11ef-b3c5-a8698c171668:
Claiming 00:13:97:f3:ea:30 11.11.1.2
2024-07-21T09:36:35.967Z|304813|binding|INFO|Setting lport
c7e2c10e-43f1-11ef-b3c5-a8698c171668 up in Southbound
2024-07-21T09:36:36.189Z|304817|binding|INFO|Setting lport
c7e2c10e-43f1-11ef-b3c5-a8698c171668 up in Southbound
2024-07-21T09:36:36.338Z|304818|binding|INFO|Removing lport
c7e2c10e-43f1-11ef-b3c5-a8698c171668 ovn-installed in OVS
2024-07-21T09:36:36.338Z|304818|binding|INFO|Removing lport
c7e2c10e-43f1-11ef-b3c5-a8698c171668 ovn-installed in OVS
2024-07-21T09:36:36.339Z|304819|binding|INFO|Setting lport
c7e2c10e-43f1-11ef-b3c5-a8698c171668 down in Southbound
2024-07-21T09:36:36.422Z|304821|binding|INFO|Setting lport
c7e2c10e-43f1-11ef-b3c5-a8698c171668 ovn-installed in OVS
2024-07-21T09:36:36.422Z|304822|binding|INFO|Setting lport
c7e2c10e-43f1-11ef-b3c5-a8698c171668 up in Southbound And
this moving the port from pcacn004 to pcacn001 and setting
the port down/up repeats for 90-100 times until:
2024-07-21T09:37:23.945Z|306386|binding|INFO|Releasing lport
c7e2c10e-43f1-11ef-b3c5-a8698c171668 from this chassis. 49
seconds of this. But also in pcacn004, we see it doing the
same: 2024-07-21T09:36:35.253Z|301841|binding|INFO|Changing
chassis for lport c7e2c10e-43f1-11ef-b3c5-a8698c171668 from
pcacn001 to pcacn004.
2024-07-21T09:36:35.253Z|301842|binding|INFO|c7e2c10e-43f1-11ef-b3c5-a8698c171668:
Claiming 00:13:97:f3:ea:30 11.11.1.2
2024-07-21T09:36:35.259Z|301843|binding|INFO|Setting lport
c7e2c10e-43f1-11ef-b3c5-a8698c171668 down in Southbound
2024-07-21T09:36:35.452Z|301846|binding|INFO|Setting lport
c7e2c10e-43f1-11ef-b3c5-a8698c171668 ovn-installed in OVS
2024-07-21T09:36:35.483Z|301850|binding|INFO|Removing lport
c7e2c10e-43f1-11ef-b3c5-a8698c171668 ovn-installed in OVS
2024-07-21T09:36:35.483Z|301851|binding|INFO|Setting lport
c7e2c10e-43f1-11ef-b3c5-a8698c171668 down in Southbound
2024-07-21T09:36:35.562Z|301852|binding|INFO|Setting lport
c7e2c10e-43f1-11ef-b3c5-a8698c171668 ovn-installed in OVS
2024-07-21T09:36:35.562Z|301853|binding|INFO|Setting lport
c7e2c10e-43f1-11ef-b3c5-a8698c171668 up in Southbound
2024-07-21T09:36:35.743Z|301855|binding|INFO|Removing lport
c7e2c10e-43f1-11ef-b3c5-a8698c171668 ovn-installed in OVS
2024-07-21T09:36:35.743Z|301856|binding|INFO|Setting lport
c7e2c10e-43f1-11ef-b3c5-a8698c171668 down in Southbound
2024-07-21T09:36:35.817Z|301857|binding|INFO|Setting lport
c7e2c10e-43f1-11ef-b3c5-a8698c171668 ovn-installed in OVS
2024-07-21T09:36:35.817Z|301858|binding|INFO|Setting lport
c7e2c10e-43f1-11ef-b3c5-a8698c171668 up in Southbound which
continues until it finally gets the port at:
2024-07-21T09:37:23.793Z|303182|binding|INFO|Changing chassis
for lport c7e2c10e-43f1-11ef-b3c5-a8698c171668 from pcacn001
to pcacn004.
2024-07-21T09:37:23.793Z|303183|binding|INFO|c7e2c10e-43f1-11ef-b3c5-a8698c171668:
Claiming 00:13:97:f3:ea:30 11.11.1.2
2024-07-21T09:37:23.857Z|303184|binding|INFO|Setting lport
c7e2c10e-43f1-11ef-b3c5-a8698c171668 up in Southbound
2024-07-21T09:37:23.949Z|303185|binding|INFO|Claiming lport
c7e2c10e-43f1-11ef-b3c5-a8698c171668 for this chassis.
2024-07-21T09:37:23.949Z|303186|binding|INFO|c7e2c10e-43f1-11ef-b3c5-a8698c171668:
Claiming 00:13:97:f3:ea:30 11.11.1.2
2024-07-21T09:37:23.951Z|303187|binding|INFO|Setting lport
c7e2c10e-43f1-11ef-b3c5-a8698c171668 up in Southbound
_______________________________________________
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss
<https://urldefense.com/v3/__https://mail.openvswitch.org/mailman/listinfo/ovs-discuss__;!!ACWV5N9M2RV99hQ!P4Dli8ff2rtH8mzHvmTlVoIBEEp7UX4RSsBiUC1QJGdVGJAM_7AqU1UUF-6MPdDTom7oupIAo5eS50Dbbh3u$>
_______________________________________________
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss