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

28828 Commits

Author SHA1 Message Date
Vinícius Ferrão b784c95e06 test(genesis): cover BMC configuration field behavior 2026-10-15 15:09:10 -03:00
Vinícius Ferrão f7621a6cae refactor(genesis): share BMC configuration field reads 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
Vinícius Ferrão e70cd9a961 refactor(genesis): share BMC LAN field queries 2026-10-15 15:09:09 -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 c9e36a9c49 Merge pull request #7914 from VersatusHPC/refactor/r26-boot-artifacts
refactor(boot): reuse Genesis and HTTP helpers
2026-10-15 13:51:40 -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 3856dbeee8 refactor(boot): remove the private Genesis selector name 2026-10-14 13:30:00 -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 3b50ed9036 refactor(boot): expose the 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 a4066f75e3 refactor(mknb): stage Genesis artifacts with File::Temp 2026-10-14 13:29:22 -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 937f6895f0 refactor(http): share port suffix formatting across boot 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 6713d01af3 refactor(boot): share Genesis artifact selection 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 b7adfccad3 docs(test): describe the Debian probe permission check 2026-10-14 12:56:24 -03:00
Vinícius Ferrão 957c52fe53 test(probe): exercise Debian package permissions 2026-10-14 12:38:00 -03:00
Vinícius Ferrão be8ce8b975 fix(probe): preserve Debian library directory permissions
The Debian package set the xCAT helper directory to 0644, preventing
unprivileged users from loading the probe modules.

Set library directories to 0755 and regular files to 0644. Repair the old
helper-directory mode during configuration because dpkg preserves existing
modes. Leave administrator overrides, other modes, and symlinks unchanged.
2026-10-14 12:37:33 -03:00
Vinícius Ferrão 952787108e test(xnba): exercise generated boot scripts through nodeset 2026-10-14 12:37:32 -03:00
Daniel Hilst ba4824ef62 Merge pull request #7940 from VersatusHPC/fix/imgexport-destination
fix(imgport): write the imgexport bundle to its destination
2026-10-14 12:05:47 -03:00
Daniel Hilst bdd2a51efc Merge pull request #7945 from VersatusHPC/fix/imgimport-litefile-lookup
fix(imgport): quote the image column of the litefile lookup
2026-10-14 12:04:38 -03:00
Daniel Hilst 19d4b661af Merge pull request #7939 from middelkoopt/tm-configib-autoconnect
fix(postscripts/configib): turn autoconnect on when reusing a connection
2026-10-14 11:55:24 -03:00
Daniel Hilst c8a20a1ea2 Merge pull request #7950 from VersatusHPC/fix/kit-rhel-release
fix(kit): compare the RHEL release as a number
2026-10-14 11:53:59 -03:00
Daniel Hilst 25a3c8e55d Merge pull request #7947 from VersatusHPC/fix/table-setattribswhere-cache
fix(table): refresh the cache after a conditional update or rollback
2026-10-14 11:53:16 -03:00
Daniel Hilst 675c9f3dfd Merge pull request #7946 from VersatusHPC/fix/kit-lock
fix(kit): refuse a kit command while another process holds the kit lock
2026-10-14 11:51:23 -03:00
Daniel Hilst 5c0944854f Merge pull request #7944 from VersatusHPC/fix/imgimport-extra-destination
fix(imgport): copy an extra file into its destination directory
2026-10-14 11:49:02 -03:00
Daniel Hilst 2c2ce39795 Merge pull request #7943 from VersatusHPC/fix/table-dbworker-exception
fix(table): pass an exception of the DB worker to its caller
2026-10-14 11:48:20 -03:00
Daniel Hilst 2ae9abbaf8 Merge pull request #7936 from VersatusHPC/refactor/r26-genesis-reuse
refactor(genesis): share runtime helpers and build policy
2026-10-14 11:47:15 -03:00
Daniel Hilst b1fd47ae17 Merge pull request #7938 from VersatusHPC/fix/packimage-image-dir-glob
fix(packimage): refuse an image directory that the shell would split
2026-10-14 11:46:58 -03:00
Daniel Hilst 82a658ff23 Merge pull request #7917 from VersatusHPC/test/r26-package-artifacts
test(packaging): exercise package and repository behavior
2026-10-14 11:44:03 -03:00
Daniel Hilst f631faa68d Merge pull request #7911 from VersatusHPC/test/r26-genesis-hardware-isolation
test(genesis): isolate BMC and adapter script checks
2026-10-14 11:41:58 -03:00
Daniel Hilst 1dc9eebb76 Merge pull request #7915 from VersatusHPC/test/r26-image-network-behavior
test(provisioning): exercise image and network callers
2026-10-14 11:41:06 -03:00
Daniel Hilst dafe7a4aeb Merge pull request #7922 from VersatusHPC/fix/xcattest-vmothersetting-restore
fix(xcat-test): the installation cases corrupt a versioned machine type in vmothersetting
2026-10-14 11:04:30 -03:00
Daniel Hilst 74ec6acdde Merge pull request #7900 from VersatusHPC/fix/x86-unstable-cases
fix(xcat-core): x86_64 CLI cases report failures the product does not have
2026-10-14 11:04:10 -03:00
Vinícius Ferrão 6147399387 test(kit): cover the RHEL release check of the kit commands
A kit command must run on RHEL 7, and must be refused on RHEL 8, 9, 10
and 11. The release check must leave SLES and Ubuntu alone.
2026-10-14 01:21:01 -03:00
Vinícius Ferrão bb94a545ff fix(kit): compare the RHEL release as a number
The kit commands refuse RHEL 8 and later, but compared the release as a
string. "10.1" sorts before "8", so the kit commands ran on RHEL 10.
They now compare the major release as a number.
2026-10-14 01:21:01 -03:00
Vinícius Ferrão 2d37c78b75 test(imgport): cover an extra file whose destination directory is missing
An extra file must go into its destination directory, which the import
creates with its missing parents. A file at the destination path, or at
a parent of it, must fail the import and stay as it was. A file name
with glob characters must stay literal. A failed backup of the previous
file must fail the import.
2026-10-14 00:46:41 -03:00
Vinícius Ferrão 085ee7991d fix(imgport): copy an extra file into its destination directory
imgexport records an extra file with its destination directory. When
that directory did not exist, imgimport copied the file to the path of
the directory, so the file took the name of the directory. When a file
was at that path, imgimport replaced it.

imgimport now creates the destination directory and its missing
parents, as it does for an extra directory. A file at that path fails
the import and stays as it was. The copy runs without a shell, so a
file name with glob characters cannot match another file. A failed
backup of the previous file now fails the import.
2026-10-14 00:46:24 -03:00
Vinícius Ferrão 3de07595b0 test(table): cover the cache after a rollback
A cached reader that saw an update before a rollback must see the
committed value after the rollback. This also holds when the rollback
goes through another table on the same handle, and after a table failed
to open on that handle.
2026-10-14 00:36:57 -03:00
Vinícius Ferrão 2b6fd9cd99 fix(table): refresh the cache after a rollback
rollback did not mark the caches of the rolled-back tables as stale. A
cached read after a write and before the rollback kept the rejected
value. Cached readers then got it for up to 5 seconds after the
rollback. MySQL and PostgreSQL share one handle among tables, so a
rollback through one table also undoes the changes of the others.

rollback now refreshes the cache of every table on its handle.
2026-10-14 00:36:57 -03:00
Vinícius Ferrão fae54f7a07 test(table): cover the cache after a conditional update
A reader that built the cache of a table must see a conditional update
of setAttribsWhere at once.
2026-10-14 00:36:57 -03:00
Vinícius Ferrão 68614e5433 fix(table): refresh the cache after a conditional update
setAttribsWhere did not mark the cache of its table as stale, as the
other writes of xCAT::Table do. A cached reader, such as the one that
gives nodes their postscripts, got the previous values for up to 5
seconds after an update. setAttribsWhere now refreshes the cache after
an update.
2026-10-14 00:36:56 -03:00
Vinícius Ferrão ffd47c001f test(table): cover an exception of the DB worker
A table call that dies in the DB worker must die in its caller with the
same message. The DB worker must then serve the next request.
2026-10-14 00:36:47 -03:00
Vinícius Ferrão bc5da0fe88 test(imgport): cover the column quoting of the litefile lookup
When the configured database is MySQL, the litefile lookup of a
statelite import must quote the image column with backticks. An ALL
entry must still cover the same file of the image.
2026-10-14 00:35:54 -03:00