mirror of
https://github.com/xcat2/xcat-core.git
synced 2026-09-05 04:27:55 +00:00
2558e84736
A node whose noderes.xcatmaster is unset gets $instserver = '!myipfn!'. That is a placeholder, not a name: pxe.pm:176 and grub2.pm:129 substitute it with my_ip_facing($node) -- an address -- when they write the boot config. The subiquity path resolves $instserver with getipaddr, which returns undef for the placeholder, so it reports "Could not resolve the install server" and `next`s past the node. Before this branch it produced exactly the numeric nfsroot the change is trying to guarantee. anaconda.pm and sles.pm both guard the same placeholder with `unless ($instserver eq '!myipfn!')`. noderes.5.rst:125 documents an unset xcatmaster as supported. No pipeline can catch it: reg_linux_diskfull_installation_flat chdefs xcatmaster=$$MN and no ci/conf/pipelines/*.conf leaves it unset, so CI always takes the resolvable branch. This drives the decision with an injected resolver, so it also checks the resolver is never ASKED about the placeholder rather than only checking the return value. It fails at the extraction guard until the routine exists, so the behavioural proof is the mutation on top of the fix, not this red alone. Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>