Unable to introspect nodes via DHCPv6 relay
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
tripleo |
Fix Released
|
High
|
Harald Jensås |
Bug Description
In a routed spine-and leaf setup intospecting baremetal nodes on a remote subnet fails.
On the undercloud the ironic-inspector dnsmasq log the DHCPSOLICIT and DHCPADVERTISE can bee seen.
File: /var/log/
Oct 8 10:36:45 dnsmasq-dhcp[7]: 6023847 available DHCP range: fd12:3456:
Oct 8 10:36:45 dnsmasq-dhcp[7]: 6023847 vendor class: 343
Oct 8 10:36:45 dnsmasq-dhcp[7]: 6023847 client MAC address: fa:16:3e:03:33:fb
Oct 8 10:36:45 dnsmasq-dhcp[7]: 6023847 DHCPSOLICIT(
Oct 8 10:36:45 dnsmasq-dhcp[7]: 6023847 DHCPADVERTISE(
Oct 8 10:36:45 dnsmasq-dhcp[7]: 6023847 requested options: 23:dns-server, 24:domain-search, 59:bootfile-url,
Oct 8 10:36:45 dnsmasq-dhcp[7]: 6023847 requested options: 60:bootfile-param
Oct 8 10:36:45 dnsmasq-dhcp[7]: 6023847 tags: leaf1, known, ipxe6, dhcpv6, br-ctlplane
Oct 8 10:36:45 dnsmasq-dhcp[7]: 6023847 sent size: 18 option: 1 client-id 00:04:b8:
Oct 8 10:36:45 dnsmasq-dhcp[7]: 6023847 sent size: 14 option: 2 server-id 00:01:00:
Oct 8 10:36:45 dnsmasq-dhcp[7]: 6023847 sent size: 40 option: 3 ia-na IAID=2535401266 T1=300 T2=525
Oct 8 10:36:45 dnsmasq-dhcp[7]: 6023847 nest size: 24 option: 5 iaaddr fd12:3456:
Oct 8 10:36:45 dnsmasq-dhcp[7]: 6023847 sent size: 9 option: 13 status 0 success
Oct 8 10:36:45 dnsmasq-dhcp[7]: 6023847 sent size: 1 option: 7 preference 0
Oct 8 10:36:45 dnsmasq-dhcp[7]: 6023847 sent size: 48 option: 59 bootfile-url http://[fd12:3456:
On the wire, only the response from neutron's DHCP server can be seen:
[root@undercloud ~]# ip netns exec qdhcp-6157272f-
1: lo: <LOOPBACK,
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
8: tap213ee6d1-84: <BROADCAST,
link/ether fa:16:3e:1a:a9:15 brd ff:ff:ff:ff:ff:ff
inet6 fd12:3456:
valid_lft forever preferred_lft forever
inet6 fe80::f816:
valid_lft forever preferred_lft forever
[root@undercloud ~]# tcpdump -i eth1 -n -vv udp port 546 or 547 or icmp6
10:42:11.708885 IP6 (class 0xc0, hlim 1, next-header UDP (17) payload length: 183) fd12:3456:
10:42:11.711531 IP6 (class 0xc0, flowlabel 0x7ed8f, hlim 64, next-header UDP (17) payload length: 122) fd12:3456:
^^Notice fd12:3456:
But where is the DHCPADVERTISE(
I can't see that with TCP dump on either br-ctlplane or eth1 (br-ctlplane's wires to eth1)
[centos@undercloud ~]$ cat undercloud.conf
[DEFAULT]
# templates = ~/tripleo-
# container_
enable_
enable_ui = false
overcloud_
scheduler_
undercloud_
undercloud_hostname = undercloud.rdocloud
local_interface = eth1
local_mtu = 1445
local_ip = fd12:3456:
undercloud_
undercloud_
undercloud_
local_subnet = ctlplane-subnet
subnets = ctlplane-
ipv6_address_mode = dhcpv6-stateful
[ctlplane-subnet]
cidr = fd12:3456:
gateway = fd12:3456:
inspection_iprange = fd12:3456:
dns_nameservers = fd12:3456:789a:1::1
[leaf1]
cidr = fd12:3456:
gateway = fd12:3456:
inspection_iprange = fd12:3456:
dns_nameservers = fd12:3456:789a:1::1
[leaf2]
cidr = fd12:3456:
gateway = fd12:3456:
inspection_iprange = fd12:3456:
dns_nameservers = fd12:3456:789a:1::1
[root@undercloud ~]# cat /var/lib/
port=0
interface=
log-dhcp
dhcp-range=
dhcp-option-
dhcp-range=
dhcp-option-
dhcp-range=
dhcp-option-
dhcp-sequential-ip
dhcp-match=ipxe,175
dhcp-match=
dhcp-match=
dhcp-match=
# dhcpv6s for Client System Architecture Type (61)
dhcp-match=
dhcp-match=
dhcp-match=
dhcp-userclass=
# Client is already running iPXE; move to next stage of chainloading
dhcp-boot=tag:ipxe,http://[fd12:3456:
dhcp-option=
# Client is PXE booting over EFI without iPXE ROM; send EFI version of iPXE chainloader
dhcp-boot=
dhcp-option=
# Client is running PXE over BIOS; send BIOS version of iPXE chainloader
dhcp-boot=
dhcp-hostsdir=
tags: | removed: train-backport-potential ussuri-backport-potential |
Root cause is no default route for IPv6 on the undercloud. There is also no route's specific for the leafs fd12:3456: 789a:2: :/64 and fd12:3456: 789a:3: :/64
(undercloud) [centos@undercloud ~]$ ip -6 route 789a:1: :/64 dev br-ctlplane proto kernel metric 256 pref medium
::1 dev lo proto kernel metric 256 pref medium
unreachable ::/96 dev lo metric 1024 pref medium
unreachable ::ffff:0.0.0.0/96 dev lo metric 1024 pref medium
unreachable 2002:a00::/24 dev lo metric 1024 pref medium
unreachable 2002:7f00::/24 dev lo metric 1024 pref medium
unreachable 2002:a9fe::/32 dev lo metric 1024 pref medium
unreachable 2002:ac10::/28 dev lo metric 1024 pref medium
unreachable 2002:c0a8::/32 dev lo metric 1024 pref medium
unreachable 2002:e000::/19 dev lo metric 1024 pref medium
unreachable 3ffe:ffff::/32 dev lo metric 1024 pref medium
fd12:3456:789a:1::2 dev br-ctlplane proto kernel metric 256 pref medium
fd12:3456:789a:1::3 dev br-ctlplane proto kernel metric 256 pref medium
fd12:3456:
fe80::/64 dev eth0 proto kernel metric 256 pref medium
fe80::/64 dev eth2 proto kernel metric 256 pref medium
fe80::/64 dev br-ctlplane proto kernel metric 256 pref medium
fe80::/64 dev eth1 proto kernel metric 256 pref medium
Adding a default route for IPv6 using gateway on leaf1 fixes the problem: 789a:1: :fffe dev br-ctlplane
sudo ip -6 route add default via fd12:3456: