2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2026-10-22 07:38:08 +00:00
Files
xcat-core/perl-xCAT
Vinícius Ferrão 6660ca7a06 feat(packimage): publish the SHA-256 checksum of the root image archive
A node could not tell a damaged root image download from a good one,
because packimage published nothing to check it against.

packimage now writes rootimg.<suffix>.sha256 in sha256sum format next to
the archive. It builds the checksum in the temporary directory with the
archive, and publish_rootimg publishes both under the publication lock.
A pack that fails before publication keeps the previous archive and
checksum. When packimage removes the other formats, it keeps their
checksums, so a node that already downloads one can still check it.

Until the archive is replaced, the checksum file lists the new and the
previous archive. publish_rootimg computes the line of a previous
archive that has none. The published archive then matches a line of it
at each step, also when the publisher is killed. The previous metainfo
leaves first, so it never describes the new archive. publish_rootimg
keeps a link to the previous archive, or a copy with its mode without
hard links. When a step fails, the previous archive, checksum and
metainfo stay or come back. When it can keep the previous archive in
neither way, it publishes nothing. When it cannot put the previous
archive back, it keeps it in a .rootimg-previous-* directory and names
that directory in the error.

The new site.rootimgchecksum attribute is yes by default, and the
rootimgchecksum attribute of an osimage overrides it. They tell nodeset
whether nodes check the archive. packimage publishes the checksum
whatever their value, because nodes with older boot entries can still
check.
2026-10-13 15:29:20 -03:00
..
2018-10-03 11:19:27 -04:00

xCAT is a toolkit for the deployment and administration of clusters.

xCAT documentation is available at: http://xcat-docs.readthedocs.org/

xCAT is made available as open source software under the EPL license:
http://www.opensource.org/licenses/eclipse-1.0.php