[OVN][GRUB] Grub bootloader doesn't netboot with OVN DHCP
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ironic |
Triaged
|
High
|
Julia Kreger |
Bug Description
In attempting to get OVN networking working, we appear to have an issue where our network boot operations fail:
Specifically, what we're seeing is:
* DHCP response is issued:
- Opt 53 - ACK
- Opt 67 - bootfile name (bootx64.efi)
- Opt 253 Private
- Opt 121 - classless static route -> metadata IP to 10.1.0.2 (The OVN Metadata agent)
- Opt 6 - DNS 127.0.0.1 (gah!)
- Opt 51 Lease time - 12 hours
- Opt 26 - mtu 1430 bytes (where does it get this?!?!)
- Opt 1 - subnet mask 255.255.255.192
- Opt 210 - PXE path prefix to the appropriate tftpboot folder path
- Opt 3 - router 10.1.0.1
- Opt 54 - dhcp server identifier 10.1.0.1
- Opt 66 - dhcp server name: 10.208.22.67
- Opt 150 - DHCP server address 10.208.225.67
* TFTP transfer starts
- VM grabs bootx64.efi, completes
- VM grabs grubx64.efi, completes
And then promptly starts arping to the wire "Who has 10.208.225.67? Tell 10.1.0.34"
As if it lost through tthe configuration load what it's routing table is.
And we can confirm this by passing net_ls_routes:
grub> net_ls_routes
efinet0:local 10.0.0.0/8 efinet0
grub>
Which makes this seem like a grub bug, but given the fact this worked with OVS + dnsmasq dhcp, we need to understand the root cause.
description: | updated |
Changed in ironic: | |
status: | New → Triaged |
importance: | Undecided → High |
assignee: | nobody → Julia Kreger (juliaashleykreger) |
Captured via tcpdump:
19:52:40.983194 IP (tos 0xc0, ttl 64, id 30528, offset 0, flags [none], proto UDP (17), length 385) Ethernet- Address 52:54:00:67:75:9b Name-Server (6), length 4: 10.1.0.2 Gateway (3), length 4: 10.1.0.1
10.1.0.2.67 > 255.255.255.255.68: BOOTP/DHCP, Reply, length 357, xid 0xfc64e08, Flags [Broadcast]
Your-IP 10.1.0.52
Server-IP 213.32.74.11
Client-
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message (53), length 1: Offer
Server-ID (54), length 4: 10.1.0.2
Lease-Time (51), length 4: 86400
RN (58), length 4: 43200
RB (59), length 4: 75600
Subnet-Mask (1), length 4: 255.255.255.192
BR (28), length 4: 10.1.0.63
Domain-
Domain-Name (15), length 14: "openstacklocal"
Hostname (12), length 14: "host-10-1-0-52"
BF (67), length 12: "bootx64.efi^@"
TFTP (66), length 13: "213.32.74.11^@"
Default-
MTU (26), length 2: 1380
Major differences appear to be option 210 (path), 121 (static route), and of course this response worked just fine.