Comment 3 for bug 2028651

Revision history for this message
Gregory Thiemonge (gthiemonge) wrote : Re: IPv6 VIPs broken with ML2/OVN

Hi, my "it's not 100% reproducible (around 90%)" was not accurate, I did new tests:
On a VIP
- with ipv4: no issue
- with ipv6: 100% reproducible
- with both ipv4 and ipv6 on the same port: ~50% reproducible

I have now a reproducer with openstacksdk

Please note that the reproducer script deletes any VMs named "server0", any SGs named "sg0" or "sg1" and any ports named "vip-port0" or "vm-port0".

basically, it:
- creates a VIP port A (down and not bound)
- creates a cirros server
- creates another port B
- attaches port B to the server
- adds an allowed_address_pair (with ip_address = port A (VIP) address) to the port B
- checks the port A, binding_host_id is empty
- connects to cirros and configures the VIP address on the new interface
- checks port A, binding_host_id is set

So it seems clear that an IPv6 advertisement is sent by cirros when configuring the interface, OVN catches this IPv6 adv and sends an event to Neutron, then Neutron sets the binding_host_id or the VIP port.

Is it the expected behavior? If so, I think the validation function is incorrect