Folks,

All my deployment is running on OVN and things are working great with octavia and its special lb-mgmt-net working. 

Recently I am deploying a new cloud using the OVS network plugin and found dhcp-agent namespace not pinging because I have a similar IP address configured on the host interface. 

My LBaaS nic 

/etc/netplan/00-network.yml
...
...
# OS1_LBAAS
    bond0.15:
      id: 15
      link: bond0
      dhcp4: false
      dhcp6: false
      mtu: 1500
      addresses: [ 192.168.32.201/24 ]

Controller node interface 

# ifconfig bond0.15
bond0.15: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.32.201  netmask 255.255.255.0  broadcast 192.168.32.255
        inet6 fe80::b489:8ff:fe61:2298  prefixlen 64  scopeid 0x20<link>
        ether b6:89:08:61:22:98  txqueuelen 1000  (Ethernet)
        RX packets 1074073  bytes 54067608 (54.0 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1594  bytes 78172 (78.1 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

octavia DHCP agent namespace (lb-mgmt-net)

# ip netns exec qdhcp-1008bdd3-372a-44af-8fd3-00fb99b8e489 ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
13: tape6186f5a-40: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
    link/ether fa:16:3e:c7:bf:2d brd ff:ff:ff:ff:ff:ff
    inet 192.168.32.10/24 brd 192.168.32.255 scope global tape6186f5a-40
       valid_lft forever preferred_lft forever
    inet 169.254.169.254/32 brd 169.254.169.254 scope global tape6186f5a-40
       valid_lft forever preferred_lft forever



My global.yml 

###################
# Octavia options
###################

enable_octavia: "yes"
octavia_network_interface: "bond0.15"

octavia_amp_flavor:
  name: "amphora"
  is_public: no
  vcpus: 2
  ram: 2048
  disk: 5

octavia_amp_network:
  name: lb-mgmt-net
  provider_network_type: vlan
  provider_segmentation_id: 15
  provider_physical_network: physnet1
  external: false
  shared: false
  subnet:
    name: lb-mgmt-subnet
    cidr: "192.168.32.0/24"
    allocation_pool_start: "192.168.32.10"
    allocation_pool_end: "192.168.32.100"
    no_gateway_ip: yes
    enable_dhcp: yes


When I ping from namespace to controller machine LBaaS interface I am not able to ping

# ip netns exec qdhcp-1008bdd3-372a-44af-8fd3-00fb99b8e489 ping 192.168.32.201
PING 192.168.32.201 (192.168.32.201) 56(84) bytes of data.
^C
--- 192.168.32.201 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2039ms

Seems like standard linux arp/kernel issue. How does it work? In OVN there is no namespace so everything works fine but in OVS because of namespace it doesn't work.