mirror of
https://github.com/xcat2/xcat-core.git
synced 2026-10-06 17:46:55 +00:00
26e8e277ef
siaddr comes from noderes, in an order neither backend had right. ISC read xcatmaster only for petitboot and onie, so every other node in a hierarchical cluster was sent to the management node rather than to its service node -- and even for those two the address went into the URL without going into siaddr, so one reply named two different machines. Kea read xcatmaster for every node, but when nothing named a server it used my_ip_facing rather than the subnet's value, which is a different answer whenever networks.tftpserver names a third machine. Both now read next_server_for_node: the node's tftpserver, then its xcatmaster, then -- only for the methods that build a URL and so need an address in hand -- the interface facing the node. A node that named none of them inherits the subnet's value, which ISC states in the subnet and Kea states by leaving next-server out of the reservation. An xcatmaster that does not resolve is now an error on both rather than silence on one: it is a misconfiguration, and sending the node somewhere else instead hides it. Appendix A rows 26 and 27. Unlike the rest, these two are not in xcat-internal#175 -- the wire cases found them.