We cache images by filename, which works when downloading from the Internet as the filename always includes the CoreOS version.
However, when extracting an image from the release payload, it always has the same name. Therefore, we will never update it to a newer image even when running different versions of the installer.
A possible solution:
- Check that the cached ISO's checksum matches the RHCOS metadata.
- If it doesn't, extract the expected checksum from the release payload and compare that to the cached ISO's checksum.
- If it still doesn't match, extract the ISO from the release payload.
An alternative might be to set the name of the cache file to something different. It's not clear how we'd guarantee a match between the release payload we've been given and the ISO unless the name was based on the release payload (which eliminates some of the point of the cache, since ordinarily most release payloads will point to a small number of images).