mirror of
https://github.com/xcat2/xcat-core.git
synced 2026-10-22 07:38:08 +00:00
6660ca7a06
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.
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