2023-05-04 16:05:30 |
Rodolfo Alonso |
description |
Since [1], all ports used as virtual IP ports, as marked as virtual in the OVN NB:
LSP.type=virtual
A virtual port is used to reserve an IP address in a network. When this IP address is assigned as "allowed address" to another port, the ML2/OVN mech driver detects that the virtual port has parents [2] and sets the port type.
These ports cannot be used as VM ports because of this: these are virtual ports from OVN point of view. These ports cannot be bound and are just a representation of this VIP. The OVN SB "Port_Binding" register (that reflects the type=virtual mark), is assigned to a chassis by the ovn-controller, when an ARP packet with the VIP crosses a compute integration bridge. In other words: if many VM ports have this "allowed address" VIP (as a floating VIP between several ports), the port transmitting with this IP (can be only one) will claim the chassis.
[1]https://review.opendev.org/c/openstack/neutron/+/842297
[2]https://review.opendev.org/c/openstack/neutron/+/842297/2/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py#251 |
Related bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2190348
Since [1], all ports used as virtual IP ports, as marked as virtual in the OVN NB:
LSP.type=virtual
A virtual port is used to reserve an IP address in a network. When this IP address is assigned as "allowed address" to another port, the ML2/OVN mech driver detects that the virtual port has parents [2] and sets the port type.
These ports cannot be used as VM ports because of this: these are virtual ports from OVN point of view. These ports cannot be bound and are just a representation of this VIP. The OVN SB "Port_Binding" register (that reflects the type=virtual mark), is assigned to a chassis by the ovn-controller, when an ARP packet with the VIP crosses a compute integration bridge. In other words: if many VM ports have this "allowed address" VIP (as a floating VIP between several ports), the port transmitting with this IP (can be only one) will claim the chassis.
[1]https://review.opendev.org/c/openstack/neutron/+/842297
[2]https://review.opendev.org/c/openstack/neutron/+/842297/2/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py#251 |
|