[ironic][neutron] Baremetal node cannot get back IP address from neutron

Dave.Chen at Dell.com Dave.Chen at Dell.com
Thu Dec 20 05:28:30 UTC 2018


Hi all, 

I have setup ironic with devstack, initially, there are three fake nodes and I could successfully create a server, access to the server with the IP assigned from neutron as well, so I guess the configuration should be good, then I move to  a real baremetal node, and want to do the same thing, so I issued the below command,

$ openstack server create --flavor baremetal --image ${IMAGE_NAME} --key-name local realnode

The node could power on and start to boot with PXE, two MAC address has been bound to the node, and seen from the BOOT screen the NIC was up but was pending on configuration and then exit, seem like it cannot get the IP address back from the Neutron. 

On the Ironic server, I can see the DHCP request from the baremetal node,  but there is no ACK no IP offering here.
 $ sudo tcpdump -i enp0s3 -n port 67 and port 68
...
18:21:08.112923 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 50:6b:4b:df:35:87, length 394
18:21:12.143679 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 50:6b:4b:df:35:87, length 394
...
Also tried to capture the traffic on the switch, it shows the request has been sent as well but no IP offering.

dnsmasq is running, 
$ ps -ef | grep dnsm
dnsmasq --no-hosts  --strict-order --except-interface=lo --pid-file=/opt/stack/data/neutron/dhcp/ca541e23-629b-440d-9ef4-d42914af536c/pid --dhcp-hostsfile=/opt/stack/data/neutron/dhcp/ca541e23-629b-440d-9ef4-d42914af536c/host --addn-hosts=/opt/stack/data/neutron/dhcp/ca541e23-629b-440d-9ef4-d42914af536c/addn_hosts --dhcp-optsfile=/opt/stack/data/neutron/dhcp/ca541e23-629b-440d-9ef4-d42914af536c/opts --dhcp-leasefile=/opt/stack/data/neutron/dhcp/ca541e23-629b-440d-9ef4-d42914af536c/leases --dhcp-match=set:ipxe,175 --bind-interfaces --interface=tap4c76340a-7f --dhcp-range=set:tag1,10.0.0.0,static,255.255.255.192,86400s --dhcp-option-force=option:mtu,1450 --dhcp-lease-max=64 --conf-file= --domain=openstacklocal

The data in neutron looks like below,
$ /opt/stack/data/neutron/dhcp/ca541e23-629b-440d-9ef4-d42914af536c/host
fa:16:3e:43:85:35,host-10-0-0-1.openstacklocal,10.0.0.1
fa:16:3e:19:60:19,host-10-0-0-2.openstacklocal,10.0.0.2
52:54:00:72:0e:a8,host-10-0-0-9.openstacklocal,10.0.0.9,set:348f921b-62c3-451f-884c-d630ae8f60b9

IP seems has been assigned to the baremetal node, but after the node changed its status to "Maintenance", the entry removed from this file, and the entry never get into the "lease" file,

$ /opt/stack/data/neutron/dhcp/ca541e23-629b-440d-9ef4-d42914af536c/leases
1545344481 52:54:00:72:0e:a8 10.0.0.9 host-10-0-0-9 01:52:54:00:72:0e:a8

The only entry listed here is for the fake node.


Could anyone kindly give me any suggestion where to looking into? How can I identify the root cause?


Many thanks!

Best Regards,
Dave Chen




More information about the openstack-discuss mailing list