mirror of
https://github.com/xcat2/xcat-core.git
synced 2026-09-22 00:49:30 +00:00
4a8877618a
reg_linux_diskfull_installation_flat fails on ubuntu-22-ppc64le-devel and ubuntu-24-ppc64le-devel in build #121 of xcat-core-devel-ubuntu-cd. The node answers ping but the case ends on "root@xcat25-cn: Permission denied (publickey,password)" and the node status never leaves powering-on. The serial console shows why: the Subiquity installer starts, runs the early-commands, errors, tars /var/log/installer to port 8080 and reboots. Nine cycles in 75 minutes. The installed system never exists, so the address belongs to the live installer and it refuses the root key. Two causes, both POWER-only. mkinstall picks pre.ubuntu.subiquity, then overwrites that choice with pre.ubuntu.ppc64 for every ppc64 node. That script writes a partman recipe; the early-commands append it to /autoinstall.yaml, which Subiquity then cannot parse. pre.ubuntu.subiquity has a UEFI branch and a BIOS branch and nothing else, so a ppc64el node takes the BIOS branch and is given a bios_grub partition. POWER firmware boots from a PReP partition. debian_install_prescript.t drives the script choice, which mkinstall keeps inline, so it bails out. ubuntu_subiquity_storage.t gains a PReP case; its extracted block asks uname for the machine architecture, which the block does not do yet. Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>
xCAT-test
Unit tests that run from the source checkout are split by implementation language:
| Test type | Location | Runner |
|---|---|---|
| Perl unit tests | xCAT-test/unit/*.t |
prove -r xCAT-test/unit |
| Shell unit tests | xCAT-test/bats/*.bats |
bats -r xCAT-test/bats |
| CLI functional tests | xCAT-test/autotest/testcase/ and xCAT-test/autotest/bundle/ |
xcattest -f <cluster.conf> -t <case> or xcattest -f <cluster.conf> -b <bundle> |
Use Perl .t tests for Perl modules, Perl scripts, templates, and repository
artifacts. Use BATS tests for shell-script behavior that can be exercised from
the checkout by sourcing a shell library or script and shadowing external
commands.
Shell behavior should not be tested by Perl tests that grep shell source. Put
those tests under xCAT-test/bats instead.
See unit/README.md and bats/README.md for the detailed rules for
each unit-test suite.