[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] docker: Improved image checksum
From: |
Fam Zheng |
Subject: |
Re: [Qemu-devel] [PATCH] docker: Improved image checksum |
Date: |
Sat, 4 Nov 2017 20:26:40 +0800 |
User-agent: |
Mutt/1.9.1 (2017-09-22) |
On Fri, 11/03 21:12, Fam Zheng wrote:
> When a base image locally defined by QEMU, such as in the debian images,
> is updated, the dockerfile checksum mechanism in docker.py still skips
> updating the derived image, because it only looks at the literal content
> of the dockerfile, without considering changes to the base image.
>
> For example we have a recent fix e58c1f9b35e81 that fixed
> debian-win64-cross by updating its base image, debian8-mxe, but due to
> above "feature" of docker.py the image in question is automatically NOT
> rebuilt unless you add NOCACHE=1. It is noticed on Shippable:
>
> https://app.shippable.com/github/qemu/qemu/runs/541/2/console
>
> because after the fix is merged, the error still occurs, and the log
> shows the container image is, as explained above, not updated.
>
> This is because at the time docker.py was written, there wasn't any
> dependencies between QEMU's docker images.
>
> Now improve this to preprocess any "FROM qemu:*" directives in the
> dockerfiles while doing checksum, and inline the base image's dockerfile
> content, recursively. This ensures any changes on the depended _QEMU_
> images are taken into account.
>
> This means for external images that we expect to retrieve from docker
> registries, we still do it as before. It is not perfect, because
> registry images can get updated too. Technically we could substitute the
> image name with its hex ID as obtained with $(docker images $IMAGE
> --format="{{.Id}}"), but --format is not supported by RHEL 7, so leave
> it for now.
>
> Reported-by: Philippe Mathieu-Daudé <address@hidden>
> Signed-off-by: Fam Zheng <address@hidden>
Queued, thanks.
Fam