Public bug reported: Recently switched from using DHCP Agent to built-in OVN DHCP for baremetal deployments.
Version: Zed OS: 22.04 LTS OVS: 3.0.1 OVN: 22.09 When a baremetal node is provisioned, during PXE I am getting a lease from an OVN controller but nothing further (ie. no TFTP). Here is the DHCP request and reply: root@lab-infra02:~# tcpdump -i ens192 -ne port 67 or port 68 tcpdump: verbose output suppressed, use -v[v]... for full protocol decode listening on ens192, link-type EN10MB (Ethernet), snapshot length 262144 bytes 16:16:23.767513 14:02:ec:32:3e:0c > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 405: vlan 6, p 0, ethertype IPv4 (0x0800), 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 14:02:ec:32:3e:0c, length 359 16:16:23.768943 fa:16:3e:1f:ab:d3 > 14:02:ec:32:3e:0c, ethertype 802.1Q (0x8100), length 398: vlan 6, p 0, ethertype IPv4 (0x0800), 192.168.208.1.67 > 255.255.255.255.68: BOOTP/DHCP, Reply, length 352 I've noticed two things: 1. The MAC fa:16:3e:1f:ab:d3 is not documented in Neutron's port list (and not sure if it should be) but appears to be owned by OVN in some way 2. The source IP 192.168.208.1 on the reply is the *gateway* IP for the provisioning subnet, which is a VLAN with a real external gateway *also* configured with 192.168.208.1. Best I can tell, OVN is sending the DHCP reply as 192.168.208.1, which is actually not in allocation pool as it's configured as the subnet gateway and not use by Neutron at all. The subnet is not attached to a Neutron router, so not sure why it would be claimed. There ARE Neutron ports of owner network:dhcp, and one of these is allocation to lab- infra02 and listed in the logical port list in NB DB. Here is more detail on the DHCP request/reply. Notice server-id is 192.168.208.1 where it ought to be 192.168.208.202: 17:19:04.278903 14:02:ec:32:3e:0c > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 393: vlan 6, p 0, ethertype IPv4 (0x0800), (tos 0x0, ttl 64, id 4507, offset 0, flags [none], proto UDP (17), length 375) 0.0.0.0.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request from 14:02:ec:32:3e:0c, length 347, xid 0x56cdc32e, Flags [Broadcast] (0x8000) Client-Ethernet-Address 14:02:ec:32:3e:0c Vendor-rfc1048 Extensions Magic Cookie 0x63825363 DHCP-Message (53), length 1: Discover MSZ (57), length 2: 1464 Parameter-Request (55), length 35: Subnet-Mask (1), Time-Zone (2), Default-Gateway (3), Time-Server (4) IEN-Name-Server (5), Domain-Name-Server (6), Hostname (12), BS (13) Domain-Name (15), RP (17), EP (18), RSZ (22) TTL (23), BR (28), YD (40), YS (41) NTP (42), Vendor-Option (43), Requested-IP (50), Lease-Time (51) Server-ID (54), RN (58), RB (59), Vendor-Class (60) TFTP (66), BF (67), GUID (97), Unknown (128) Unknown (129), Unknown (130), Unknown (131), Unknown (132) Unknown (133), Unknown (134), Unknown (135) GUID (97), length 17: 0.55.53.53.50.53.56.54.67.85.54.48.49.89.82.78.48 NDI (94), length 3: 1.3.16 ARCH (93), length 2: 7 Vendor-Class (60), length 32: "PXEClient:Arch:00007:UNDI:003016" END (255), length 0 0x0000: 4500 0177 119b 0000 4011 67dc 0000 0000 E..w....@.g..... 0x0010: ffff ffff 0044 0043 0163 58d3 0101 0600 .....D.C.cX..... 0x0020: 56cd c32e 0000 8000 0000 0000 0000 0000 V............... 0x0030: 0000 0000 0000 0000 1402 ec32 3e0c 0000 ...........2>... 0x0040: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0050: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0060: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0070: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0080: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0090: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x00a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x00b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x00c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x00d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x00e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x00f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0100: 0000 0000 0000 0000 6382 5363 3501 0139 ........c.Sc5..9 0x0110: 0205 b837 2301 0203 0405 060c 0d0f 1112 ...7#........... 0x0120: 1617 1c28 292a 2b32 3336 3a3b 3c42 4361 ...()*+236:;<BCa 0x0130: 8081 8283 8485 8687 6111 0037 3535 3235 ........a..75525 0x0140: 3836 4355 3630 3159 524e 305e 0301 0310 86CU601YRN0^.... 0x0150: 5d02 0007 3c20 5058 4543 6c69 656e 743a ]...<.PXEClient: 0x0160: 4172 6368 3a30 3030 3037 3a55 4e44 493a Arch:00007:UNDI: 0x0170: 3030 3330 3136 ff 003016. 17:19:04.280925 fa:16:3e:1f:ab:d3 > 14:02:ec:32:3e:0c, ethertype 802.1Q (0x8100), length 398: vlan 6, p 0, ethertype IPv4 (0x0800), (tos 0x0, ttl 64, id 4507, offset 0, flags [none], proto UDP (17), length 380) 192.168.208.1.67 > 255.255.255.255.68: [no cksum] BOOTP/DHCP, Reply, length 352, xid 0x56cdc32e, Flags [Broadcast] (0x8000) Your-IP 192.168.208.228 Client-Ethernet-Address 14:02:ec:32:3e:0c Vendor-rfc1048 Extensions Magic Cookie 0x63825363 DHCP-Message (53), length 1: Offer BF (67), length 8: "ipxe.efi" Classless-Static-Route (121), length 14: (169.254.169.254/32:192.168.208.200),(default:192.168.208.1) Domain-Name-Server (6), length 4: 8.8.4.4 Domain-Name (15), length 20: "cloud.arcanebyte.com" Lease-Time (51), length 4: 43200 MTU (26), length 2: 1500 Subnet-Mask (1), length 4: 255.255.252.0 Default-Gateway (3), length 4: 192.168.208.1 Server-ID (54), length 4: 192.168.208.1 TFTP (66), length 10: "10.20.0.22" TFTP-Server-Address (150), length 4: 10.20.0.22 PAD (0), length 0, occurs 4 END (255), length 0 PAD (0), length 0, occurs 4 0x0000: 4500 017c 119b 0000 4011 d72c c0a8 d001 E..|....@..,.... 0x0010: ffff ffff 0043 0044 0168 0000 0201 0600 .....C.D.h...... 0x0020: 56cd c32e 0000 8000 0000 0000 c0a8 d0e4 V............... 0x0030: 0000 0000 0000 0000 1402 ec32 3e0c 0000 ...........2>... 0x0040: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0050: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0060: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0070: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0080: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0090: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x00a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x00b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x00c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x00d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x00e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x00f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0100: 0000 0000 0000 0000 6382 5363 3501 0243 ........c.Sc5..C 0x0110: 0869 7078 652e 6566 6979 0e20 a9fe a9fe .ipxe.efiy...... 0x0120: c0a8 d0c8 00c0 a8d0 0106 0408 0804 040f ................ 0x0130: 1463 6c6f 7564 2e61 7263 616e 6562 7974 .cloud.arcanebyt 0x0140: 652e 636f 6d33 0400 00a8 c01a 0205 dc01 e.com3.......... 0x0150: 04ff fffc 0003 04c0 a8d0 0136 04c0 a8d0 ...........6.... 0x0160: 0142 0a31 302e 3230 2e30 2e32 3296 040a .B.10.20.0.22... 0x0170: 1400 1600 0000 00ff 0000 0000 +-------------------------+------------------------------------------------------------------------------------------------------------------+ | Field | Value | +-------------------------+------------------------------------------------------------------------------------------------------------------+ | admin_state_up | UP | | allowed_address_pairs | | | binding_host_id | lab-infra02 | | binding_profile | | | binding_vif_details | bound_drivers.0='ovn', connectivity='l2', port_filter='True' | | binding_vif_type | ovs | | binding_vnic_type | normal | | created_at | 2022-07-23T17:20:44Z | | data_plane_status | None | | description | | | device_id | dhcpa98a22b6-393b-5764-999a-f219f40cedd6-3176639e-b7ef-4359-aae3-f82f54471cde | | device_owner | network:dhcp | | device_profile | None | | dns_assignment | fqdn='host-192-168-208-202.cloud.arcanebyte.com.', hostname='host-192-168-208-202', ip_address='192.168.208.202' | | dns_domain | | | dns_name | | | extra_dhcp_opts | | | fixed_ips | ip_address='192.168.208.202', subnet_id='c4a4b4f9-e9ae-4d1d-9aa7-7ba7858fcc38' | | id | 420285ca-2785-47ff-9be5-6dc0fc83b0d6 | | ip_allocation | immediate | | mac_address | fa:16:3e:1b:5a:3a | | name | | | network_id | 3176639e-b7ef-4359-aae3-f82f54471cde | | numa_affinity_policy | None | | port_security_enabled | False | | project_id | 7a8df96a3c6a47118e60e57aa9ecff54 | | propagate_uplink_status | None | | qos_network_policy_id | None | | qos_policy_id | None | | resource_request | None | | revision_number | 29 | | security_group_ids | | | status | ACTIVE | | tags | | | trunk_details | None | | updated_at | 2023-01-16T21:12:47Z | +-------------------------+------------------------------------------------------------------------------------------------------------------+ ** Affects: neutron Importance: Undecided Status: New -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to neutron. https://bugs.launchpad.net/bugs/2007167 Title: OVN DHCP replies source from subnet gateway IP Status in neutron: New Bug description: Recently switched from using DHCP Agent to built-in OVN DHCP for baremetal deployments. Version: Zed OS: 22.04 LTS OVS: 3.0.1 OVN: 22.09 When a baremetal node is provisioned, during PXE I am getting a lease from an OVN controller but nothing further (ie. no TFTP). Here is the DHCP request and reply: root@lab-infra02:~# tcpdump -i ens192 -ne port 67 or port 68 tcpdump: verbose output suppressed, use -v[v]... for full protocol decode listening on ens192, link-type EN10MB (Ethernet), snapshot length 262144 bytes 16:16:23.767513 14:02:ec:32:3e:0c > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 405: vlan 6, p 0, ethertype IPv4 (0x0800), 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 14:02:ec:32:3e:0c, length 359 16:16:23.768943 fa:16:3e:1f:ab:d3 > 14:02:ec:32:3e:0c, ethertype 802.1Q (0x8100), length 398: vlan 6, p 0, ethertype IPv4 (0x0800), 192.168.208.1.67 > 255.255.255.255.68: BOOTP/DHCP, Reply, length 352 I've noticed two things: 1. The MAC fa:16:3e:1f:ab:d3 is not documented in Neutron's port list (and not sure if it should be) but appears to be owned by OVN in some way 2. The source IP 192.168.208.1 on the reply is the *gateway* IP for the provisioning subnet, which is a VLAN with a real external gateway *also* configured with 192.168.208.1. Best I can tell, OVN is sending the DHCP reply as 192.168.208.1, which is actually not in allocation pool as it's configured as the subnet gateway and not use by Neutron at all. The subnet is not attached to a Neutron router, so not sure why it would be claimed. There ARE Neutron ports of owner network:dhcp, and one of these is allocation to lab- infra02 and listed in the logical port list in NB DB. Here is more detail on the DHCP request/reply. Notice server-id is 192.168.208.1 where it ought to be 192.168.208.202: 17:19:04.278903 14:02:ec:32:3e:0c > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 393: vlan 6, p 0, ethertype IPv4 (0x0800), (tos 0x0, ttl 64, id 4507, offset 0, flags [none], proto UDP (17), length 375) 0.0.0.0.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request from 14:02:ec:32:3e:0c, length 347, xid 0x56cdc32e, Flags [Broadcast] (0x8000) Client-Ethernet-Address 14:02:ec:32:3e:0c Vendor-rfc1048 Extensions Magic Cookie 0x63825363 DHCP-Message (53), length 1: Discover MSZ (57), length 2: 1464 Parameter-Request (55), length 35: Subnet-Mask (1), Time-Zone (2), Default-Gateway (3), Time-Server (4) IEN-Name-Server (5), Domain-Name-Server (6), Hostname (12), BS (13) Domain-Name (15), RP (17), EP (18), RSZ (22) TTL (23), BR (28), YD (40), YS (41) NTP (42), Vendor-Option (43), Requested-IP (50), Lease-Time (51) Server-ID (54), RN (58), RB (59), Vendor-Class (60) TFTP (66), BF (67), GUID (97), Unknown (128) Unknown (129), Unknown (130), Unknown (131), Unknown (132) Unknown (133), Unknown (134), Unknown (135) GUID (97), length 17: 0.55.53.53.50.53.56.54.67.85.54.48.49.89.82.78.48 NDI (94), length 3: 1.3.16 ARCH (93), length 2: 7 Vendor-Class (60), length 32: "PXEClient:Arch:00007:UNDI:003016" END (255), length 0 0x0000: 4500 0177 119b 0000 4011 67dc 0000 0000 E..w....@.g..... 0x0010: ffff ffff 0044 0043 0163 58d3 0101 0600 .....D.C.cX..... 0x0020: 56cd c32e 0000 8000 0000 0000 0000 0000 V............... 0x0030: 0000 0000 0000 0000 1402 ec32 3e0c 0000 ...........2>... 0x0040: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0050: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0060: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0070: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0080: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0090: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x00a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x00b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x00c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x00d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x00e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x00f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0100: 0000 0000 0000 0000 6382 5363 3501 0139 ........c.Sc5..9 0x0110: 0205 b837 2301 0203 0405 060c 0d0f 1112 ...7#........... 0x0120: 1617 1c28 292a 2b32 3336 3a3b 3c42 4361 ...()*+236:;<BCa 0x0130: 8081 8283 8485 8687 6111 0037 3535 3235 ........a..75525 0x0140: 3836 4355 3630 3159 524e 305e 0301 0310 86CU601YRN0^.... 0x0150: 5d02 0007 3c20 5058 4543 6c69 656e 743a ]...<.PXEClient: 0x0160: 4172 6368 3a30 3030 3037 3a55 4e44 493a Arch:00007:UNDI: 0x0170: 3030 3330 3136 ff 003016. 17:19:04.280925 fa:16:3e:1f:ab:d3 > 14:02:ec:32:3e:0c, ethertype 802.1Q (0x8100), length 398: vlan 6, p 0, ethertype IPv4 (0x0800), (tos 0x0, ttl 64, id 4507, offset 0, flags [none], proto UDP (17), length 380) 192.168.208.1.67 > 255.255.255.255.68: [no cksum] BOOTP/DHCP, Reply, length 352, xid 0x56cdc32e, Flags [Broadcast] (0x8000) Your-IP 192.168.208.228 Client-Ethernet-Address 14:02:ec:32:3e:0c Vendor-rfc1048 Extensions Magic Cookie 0x63825363 DHCP-Message (53), length 1: Offer BF (67), length 8: "ipxe.efi" Classless-Static-Route (121), length 14: (169.254.169.254/32:192.168.208.200),(default:192.168.208.1) Domain-Name-Server (6), length 4: 8.8.4.4 Domain-Name (15), length 20: "cloud.arcanebyte.com" Lease-Time (51), length 4: 43200 MTU (26), length 2: 1500 Subnet-Mask (1), length 4: 255.255.252.0 Default-Gateway (3), length 4: 192.168.208.1 Server-ID (54), length 4: 192.168.208.1 TFTP (66), length 10: "10.20.0.22" TFTP-Server-Address (150), length 4: 10.20.0.22 PAD (0), length 0, occurs 4 END (255), length 0 PAD (0), length 0, occurs 4 0x0000: 4500 017c 119b 0000 4011 d72c c0a8 d001 E..|....@..,.... 0x0010: ffff ffff 0043 0044 0168 0000 0201 0600 .....C.D.h...... 0x0020: 56cd c32e 0000 8000 0000 0000 c0a8 d0e4 V............... 0x0030: 0000 0000 0000 0000 1402 ec32 3e0c 0000 ...........2>... 0x0040: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0050: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0060: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0070: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0080: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0090: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x00a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x00b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x00c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x00d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x00e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x00f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0100: 0000 0000 0000 0000 6382 5363 3501 0243 ........c.Sc5..C 0x0110: 0869 7078 652e 6566 6979 0e20 a9fe a9fe .ipxe.efiy...... 0x0120: c0a8 d0c8 00c0 a8d0 0106 0408 0804 040f ................ 0x0130: 1463 6c6f 7564 2e61 7263 616e 6562 7974 .cloud.arcanebyt 0x0140: 652e 636f 6d33 0400 00a8 c01a 0205 dc01 e.com3.......... 0x0150: 04ff fffc 0003 04c0 a8d0 0136 04c0 a8d0 ...........6.... 0x0160: 0142 0a31 302e 3230 2e30 2e32 3296 040a .B.10.20.0.22... 0x0170: 1400 1600 0000 00ff 0000 0000 +-------------------------+------------------------------------------------------------------------------------------------------------------+ | Field | Value | +-------------------------+------------------------------------------------------------------------------------------------------------------+ | admin_state_up | UP | | allowed_address_pairs | | | binding_host_id | lab-infra02 | | binding_profile | | | binding_vif_details | bound_drivers.0='ovn', connectivity='l2', port_filter='True' | | binding_vif_type | ovs | | binding_vnic_type | normal | | created_at | 2022-07-23T17:20:44Z | | data_plane_status | None | | description | | | device_id | dhcpa98a22b6-393b-5764-999a-f219f40cedd6-3176639e-b7ef-4359-aae3-f82f54471cde | | device_owner | network:dhcp | | device_profile | None | | dns_assignment | fqdn='host-192-168-208-202.cloud.arcanebyte.com.', hostname='host-192-168-208-202', ip_address='192.168.208.202' | | dns_domain | | | dns_name | | | extra_dhcp_opts | | | fixed_ips | ip_address='192.168.208.202', subnet_id='c4a4b4f9-e9ae-4d1d-9aa7-7ba7858fcc38' | | id | 420285ca-2785-47ff-9be5-6dc0fc83b0d6 | | ip_allocation | immediate | | mac_address | fa:16:3e:1b:5a:3a | | name | | | network_id | 3176639e-b7ef-4359-aae3-f82f54471cde | | numa_affinity_policy | None | | port_security_enabled | False | | project_id | 7a8df96a3c6a47118e60e57aa9ecff54 | | propagate_uplink_status | None | | qos_network_policy_id | None | | qos_policy_id | None | | resource_request | None | | revision_number | 29 | | security_group_ids | | | status | ACTIVE | | tags | | | trunk_details | None | | updated_at | 2023-01-16T21:12:47Z | +-------------------------+------------------------------------------------------------------------------------------------------------------+ To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/2007167/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp