mirror of
https://github.com/xcat2/xcat-core.git
synced 2026-10-21 15:18:19 +00:00
b08b4cbd58
xcatroot extracted whatever curl or wget downloaded, so a damaged download became the root file system of the node. After the download, xcatroot fetches the .sha256 file next to the image and compares it with sha256sum. It also fetches that file before each download. A download passes when it matches a line of either file, so a download that began before packimage replaced the image still passes. The check can fail for any reason, such as a missing checksum file or a missing sha256sum. xcatroot then removes the download, logs the reason, waits, and downloads the image again. A file that an earlier attempt left is checked like a new download. xcatroot checks only when the kernel argument rootimgchecksum=yes asks for it, and logs when it does not check. An older xCAT server never passes the argument, so a new initial ramdisk boots from it unchecked, as before. The change covers the stateless modules of dracut 033, 047 and 105 for the Red Hat family, dracut 033 for SUSE, and the Ubuntu module. These modules also download statelite ramdisk images. Their initial ramdisks now include sha256sum.