I guess what is weird in this entire thing is it sounds like you're shifting over to what appears to be OPROM boot code in a network interface card, which might not support v6. Then again a port mirrored packet capture would be the needful item to troubleshoot further.
We have setup a local dnsmasq-dhcp server and TFTP server on a VM and tried PXE booting the same set of hardwares.
The hardware are booting on IPV6 so I think the hardware supports IPV6 PXE booting.
Are you able to extract the exact command line which is being passed to the dnsmasq process for that container launch?
I guess I'm worried if somehow dnsmasq changed or if an old version is somehow in the container image you're using.
The command line which is getting executed is as follows:
" "command": [
"/bin/bash",
"-c",
"BIND_HOST=ca:ca:ca:9900::171; /usr/sbin/dnsmasq --keep-in-foreground --log-facility=/var/log/ironic/dnsmasq.log --user=root --conf-file=/dev/null --listen-address=$BIND_HOST --port=0 --enable-tftp --tftp-root=/var/lib/ironic/tftpboot"
],
"
We found this command in the following:
/var/lib/tripleo-config/container-startup-config/step_4/ironic_pxe_tftp.json
Apart from this we also tried to install the openstack version zed.
In this version, the container ironic_pxe_tftp is up and running but we were still getting the same error:
We tried to curl the file which the TFTP container provides from a remote machine(not the undercloud), but we are unable to curl it.
But when, we do the same thing from the undercloud, it is working fine:
We also set up an undercloud machine on ipv4 for comparison.
When we tried to curl the image from a remote machine(not the undercloud) for this server, we were able to curl it.
On further digging, we found that in the zed release, the "ironic_pxe_tftp" is in healthy state while three containers namely: "ironic_api","ironic_conductor","ironic_pxe_http" are in unhealthy state but are up and running.
We re-installed the undercloud on the fresh machine and re-tried node introspection after performing basic tasks like image upload, node registration.
To our surprise, the Introspection was successful. and the nodes came in available state: