2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2026-10-21 23:28:19 +00:00
Commit Graph

3510 Commits

Author SHA1 Message Date
Daniel Hilst 43dee182ef Merge pull request #7909 from VersatusHPC/feat/secureboot-ipxe
fix(ipxe): a node with Secure Boot on cannot load the kernel
2026-10-16 20:44:36 -03:00
Daniel Hilst 558bf24138 Merge pull request #7923 from VersatusHPC/test/r26-profile-rendering
test(provisioning): exercise rendered profiles and installer commands
2026-10-16 20:19:26 -03:00
Daniel Hilst 1bde265fc4 Merge pull request #7924 from VersatusHPC/test/r26-isolated-scripts
test(provisioning): isolate disk, kdump and sudoer checks
2026-10-16 20:16:49 -03:00
Daniel Hilst 2e3ba914cd Merge pull request #7948 from VersatusHPC/fix/imgimport-checks
fix(imgport): check an imgimport before it writes anything
2026-10-16 20:05:38 -03:00
Daniel Hilst 7f2d271eb0 Merge pull request #7953 from VersatusHPC/fix/genimage-run-mountpoint
fix(genimage): create the /run mount point before mounting it
2026-10-16 20:00:57 -03:00
Daniel Hilst 2fb100009d Merge pull request #7952 from VersatusHPC/test/r26-networkmanager-file-io
test(network): reuse binary I/O for NetworkManager fixtures
2026-10-16 19:15:49 -03:00
Vinícius Ferrão c30447e94f docs(test): describe the disk selection test boundary 2026-10-16 19:07:03 -03:00
Vinícius Ferrão 28b22d7825 test(provisioning): exercise disk selection with BATS
Source the unchanged selector with explicit partition and udev fixtures.
Bound awk discovery to the fixture so runner filesystem size cannot delay
selection. Keep rendered-installer coverage and independent CI failures.
2026-10-16 19:06:47 -03:00
Vinícius Ferrão ab034a6d58 test(provisioning): avoid aborting the isolated script suite 2026-10-16 19:06:47 -03:00
Vinícius Ferrão 5426b3fba0 docs(test): describe isolated script prerequisites 2026-10-16 19:06:46 -03:00
Vinícius Ferrão 7557d00481 test(sudoer): isolate account and privilege configuration 2026-10-16 19:06:26 -03:00
Vinícius Ferrão 599cd3f32f test(kdump): execute per-node configuration in isolation 2026-10-16 19:06:26 -03:00
Vinícius Ferrão 509a60def2 test(provisioning): isolate install disk selection checks 2026-10-16 19:06:25 -03:00
Vinícius Ferrão 0b70a389a3 test(genimage): check the chroot mounts of a new RPM image
The image caller tests create the run directory in their fixture
image, so they did not see a bind mount to a missing mount point.

Run rh/genimage on a new and on an existing image directory. The mount
fixture fails like mount(8) when the mount point is missing, and the
package manager fixture records the mounts in place when the packages
install. Cover EL9 through the rh and rocky entry points, and EL6,
which does not mount /proc and /sys. The pull-request workflow runs
the test.
2026-10-16 18:45:27 -03:00
Vinícius Ferrão 7c930bee9d test(imgport): cover the image lock of a statelite import
A statelite import must ask for the lock of its image directory. While
another command holds the lock, the import must fail, report the lock,
leave the tree in the bundle, and keep the image definition.
2026-10-16 18:38:06 -03:00
Vinícius Ferrão 0437ddd44d test(imgport): cover the image definition after a failed import
Check that the image definition stays when another host holds the
publication lock, or when the file system refuses the publication.
Check the same when a table of the definition opens only with
autocommit. Check that the definition matches the published image when
an extra file fails to copy after the publication.
2026-10-16 18:37:59 -03:00
Vinícius Ferrão dd15396eef test(imgport): run the litefile lookup through place_image
The litefile lookup test called make_files, which places the litefile
of the bundle before it reads it. The test now calls place_image, the
entry point of imgimport, so it does not depend on the step that places
the litefile.
2026-10-16 18:37:59 -03:00
Vinícius Ferrão 73b0f8fc0a test(imgport): cover the bundle file check of an import
Import bundles that lack the kernel, an extra file or a kit, and check
that each is reported and changes nothing.
2026-10-16 18:35:25 -03:00
Vinícius Ferrão ad528dfee6 test(imgport): cover the node check of an import
Import for a defined node and for an undefined one, and check that an
undefined node changes nothing.
2026-10-16 18:35:25 -03:00
Vinícius Ferrão c2d64d4e58 docs(test): describe profile artifact test prerequisites
List the native cases selected by CI, their dependencies and their isolation requirements. Distinguish rendered-artifact execution from operating-system and firmware boot qualification.
2026-10-16 18:33:42 -03:00
Vinícius Ferrão 1d362211e7 test(ubuntu): execute rendered Subiquity command sequences
Render Subiquity configuration with real database rows and execute the emitted commands in private namespaces. Check resulting files, failure ordering and the install-monitor handshake without rewriting shell fragments.
2026-10-16 18:33:42 -03:00
Vinícius Ferrão fdf18e24c3 test(packaging): run the generated Debian repository helper
Build a real package and repository, then execute the generated helper with representative host architectures and releases. Check its apt configuration and preserve unrelated sources.
2026-10-16 18:33:41 -03:00
Vinícius Ferrão 4c47d8b3ec test(netboot): execute selected RISC-V postinstall scripts
Run each selected postinstall script in an isolated filesystem. Check SELinux settings and fstab after repeated execution instead of comparing shell source.
2026-10-16 18:33:41 -03:00
Vinícius Ferrão 7af7b97a78 test(provisioning): execute rendered RISC-V install checks
Render the selected profiles with an isolated database. Check the installer data and run the emitted post-install blocks against a private filesystem, including the EFI fallback and missing-loader paths.

Run the native case from the source snapshot preserved before CI package builds.
2026-10-16 18:33:41 -03:00
Daniel Hilst d5da7b0b5c Merge pull request #7937 from VersatusHPC/refactor/r26-bmc-reuse
refactor(genesis): share BMC field readers
2026-10-16 18:19:18 -03:00
Daniel Hilst cf170b36c4 Merge pull request #7942 from VersatusHPC/feat/rootimg-sha256
feat(netboot): check the root image against its SHA-256 checksum
2026-10-16 18:18:10 -03:00
Daniel Hilst fb9541ffde Merge pull request #7949 from VersatusHPC/fix/table-commands
fix(table): refuse extra tabrestore fields and unknown chtab -d tables
2026-10-16 18:17:31 -03:00
Vinícius Ferrão e434f1cd27 test(network): reuse binary I/O for NetworkManager fixtures 2026-10-16 18:10:29 -03:00
Daniel Hilst fc020b6976 test(kvm): test the UEFI firmware decisions through xCAT::KVMUtils
kvm_uefi_firmware.t loaded the whole kvm plugin behind stubs and set
its package variables. It now loads only xCAT::KVMUtils and keeps
each assertion: the UEFI and SeaBIOS <os> element, the disk bus and
optical drive prefix, the SMBIOS block across a reconfigure, the
refusal of an unknown firmware value, and the vm.othersettings read
that creates no vm row. It also covers the clock offset, memory and
CPU count that reconfigure_domain writes.

Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>
2026-10-16 11:38:33 -03:00
Daniel Hilst 756b1807a1 Merge master into feat/secureboot-ipxe
Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>
2026-10-16 11:08:04 -03:00
Daniel Hilst 9329aea4c2 Merge master into feat/secureboot-ipxe
Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>
2026-10-16 11:03:31 -03:00
Daniel Hilst b17d37380a Merge pull request #7912 from VersatusHPC/fix/kvm-aarch64-guest-arch
fix(kvm): mkvm builds an aarch64 node as an x86_64 domain
2026-10-16 11:03:20 -03:00
Daniel Hilst d8c38ec6d2 Merge pull request #7906 from VersatusHPC/fix/openeuler-core-mock-resultdir-owner
fix(xcat-core): the openEuler ppc64le core build runs rpmbuild as root
2026-10-15 18:15:42 -03:00
Vinícius Ferrão e9dcd9f631 docs(test): describe BMC sandbox coverage 2026-10-15 15:09:51 -03:00
Vinícius Ferrão b784c95e06 test(genesis): cover BMC configuration field behavior 2026-10-15 15:09:10 -03:00
Vinícius Ferrão dcf68e8afb test(genesis): cover BMC LAN query and retry behavior 2026-10-15 15:09:10 -03:00
Daniel Hilst 39c12e119b fix(xcat-core): give the release repository test a stand-in for mock's loader
buildall now calls prepare_mock_resultdirs before the cache checks, so a
cached build also loads the mock configuration through mockbuild.config.
release_repository.t builds xCAT-release in a user namespace on a host
without mock, and the build stopped with "mock is not installed: cannot
import mockbuild.config".

The namespace fixture already stands in for /etc/mock. It now also puts a
stand-in mockbuild package on PYTHONPATH. Its load_config fails when the
chroot configuration is missing, and reports the caller as chrootuid, as
mock does when no chrootuid is set. buildrpms.pl is unchanged.

Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>
2026-10-15 14:42:47 -03:00
Daniel Hilst 7c011fc9e5 Merge pull request #7916 from VersatusHPC/fix/probe-debian-directory-permissions
fix(probe): preserve Debian library directory permissions
2026-10-15 13:53:54 -03:00
Daniel Hilst 5c6347d930 Merge master into fix/openeuler-core-mock-resultdir-owner
Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>
2026-10-15 13:42:27 -03:00
Vinícius Ferrão ea9d474303 docs(test): describe boot artifact sandbox requirements 2026-10-14 13:30:01 -03:00
Vinícius Ferrão e426804450 test(mknb): separate selector and compression checks 2026-10-14 13:30:01 -03:00
Vinícius Ferrão 8787b8484d test(boot): use the public Genesis file selector 2026-10-14 13:30:00 -03:00
Vinícius Ferrão 90d0cf2779 test(mknb): exercise Genesis publication and rollback failures 2026-10-14 13:30:00 -03:00
Vinícius Ferrão 68568ae3bc test(mknb): detect staging leftovers without fixed random names 2026-10-14 13:29:22 -03:00
Vinícius Ferrão 93b87ba063 test(http): characterize port defaults at boot URL callers 2026-10-14 13:29:22 -03:00
Vinícius Ferrão a6bf1a8695 test(boot): load source-tree dependencies in plugin fixtures 2026-10-14 13:29:22 -03:00
Vinícius Ferrão 9d3b78ca08 test(boot): cover Genesis selection across installer consumers 2026-10-14 13:29:22 -03:00
Vinícius Ferrão eb76a33652 test(genesis): load production architecture and repository owners 2026-10-14 13:29:21 -03:00
Vinícius Ferrão 35d01515eb test(mknb): exercise compression and archive publication 2026-10-14 13:29:21 -03:00
Vinícius Ferrão d59a683570 docs(test): describe the liteimg archive test 2026-10-14 13:14:50 -03:00