buildah: Subsequent push failures
Description
Upon pushing multiple tags to a docker registry, any after the first fail.
Steps to reproduce the issue:
buildah bud for a dockerfilebuildah commitbuildah push <image> docker://<image>:tag1buildah push <image> docker://<image>:tag2
Describe the results you received:
Getting image source signatures Copying blob sha256:f637bb87f74f0710bea59badbff1240cddaa7c47a12656789829396349d82b00
0 B / 578.24 MiB [------------------------------------------------------------] 8 B / 578.24 MiB [>-----------------------------------------------------------] 512 B / 578.24 MiB [>------------------------------------------------------] 0s Patch https://crucible.lab:4000/v2/oci/portagedir/blobs/uploads/ee903314-762d-4bdd-8f4c-e4ee585a4cd4?_state=ez4VTc9aem0iZ0biV_Ujr0XtKFz83gsO3g9jlnFhCrh7Ik5hbWUiOiJvY2kvcG9ydGFnZWRpciIsIlVVSUQiOiJlZTkwMzMxNC03NjJkLTRiZGQtOGY0Yy1lNGVlNTg1YTRjZDQiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTgtMDgtMzFUMTM6NTg6NTIuNjg0OTkyNDA3WiJ9: open /var/lib/containers/storage/overlay/f637bb87f74f0710bea59badbff1240cddaa7c47a12656789829396349d82b00/merged/Manifest: no such file or directory
Describe the results you expected:
A successful push to the registry.
The ideal results would be that buildah notices that those blobs already exist on the registry and then just adds a tag. I’ve never seen that behavior, however, and it just pushes one copy of the blob for every tag I use.
Output of buildah version:
Version: 1.4-dev
Go Version: go1.10.3
Image Spec: 1.0.0
Runtime Spec: 1.0.0
CNI Spec: 0.4.0
libcni Version: v0.7.0-alpha1
Git Commit: 20b236a8
Built: Fri Aug 31 13:53:03 2018
OS/Arch: linux/amd64
Output of uname -a:
Linux bb08613bf569 4.17.0-gentoo #1 SMP Thu Jun 7 02:49:57 UTC 2018 x86_64 Intel(R) Xeon(R) CPU D-1587 @ 1.70GHz GenuineIntel GNU/Linux
Output of cat /etc/containers/storage.conf:
cat: /etc/containers/storage.conf: No such file or directory
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Comments: 21 (7 by maintainers)
I’m seeing the same issue doing a skopeo copy containers-storage:… docker://… on a buildah built image.
My first thought was this was related to doing concurrent buildah calls on different images, but I’ll keep testing and attempt to come up with a reproducer.
I saw something similar to this while playing last week. I was not able to push a second time to a dir:/tmp/image directory.
It almost seems that something is being modified in container/storage on the push.
What is weird is the file is still there.
Thanks, I’m seeing it now to a private registry too. What’s interesting is I was having problems getting the registry to behave and after doing a push with docker of busybox, my second push of alpine failed with a busybox reference… See below.
That indeed does not currently happen, I am working on making that possible.
I have no idea what is going on, this is something in c/storage.
Only a tiny comment on the workaround:
This should be easier (and notably faster):