kubevirt: kubevirt release automation: push container manifests failed on 1.0-rc0 build

What happened: Job push-release-kubevirt-tag failed on step hack/push-container-manifest.sh

Excerpt:

...
BUILD_ARCH=aarch64,x86_64 DOCKER_PREFIX=quay.io/kubevirt DOCKER_TAG=v1.0.0-rc.0 hack/push-container-manifest.sh
cat: /home/prow/go/src/github.com/kubevirt/kubevirt/_out/digests/aarch64/bazel-bin/push-conformance.digest: No such file or directory
push_pin
podman manifest create quay.io/kubevirt/conformance:v1.0.0-rc.0 --amend quay.io/kubevirt/conformance@ --amend quay.io/kubevirt/conformance@sha256:6df1bc5b5d0157ce268677fa640e495e2602c9c22f2107f97b544a10b210c3f1
Error: invalid reference format
Error: accepts 2 arg(s), received 1
...

/cc @davidvossel @rthallisey

What you expected to happen: Job should succeed in creating the container manifests.

How to reproduce it (as minimally and precisely as possible): Rerun the job here: https://prow.ci.kubevirt.io/view/gs/kubevirt-prow/logs/push-release-kubevirt-tag/1668693674222948352#1:build-log.txt%3A2350

Additional context: Add any other context about the problem here.

Environment:

  • KubeVirt version (use virtctl version): N/A
  • Kubernetes version (use kubectl version): N/A
  • VM or VMI specifications: N/A
  • Cloud provider or hardware configuration: N/A
  • OS (e.g. from /etc/os-release): N/A
  • Kernel (e.g. uname -a): N/A
  • Install tools: N/A
  • Others: N/A

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 39 (38 by maintainers)

Most upvoted comments

I can prepare a patch

/close v1.0.0 is out 🍾

@rmohr https://prow.ci.kubevirt.io/view/gs/kubevirt-prow/logs/push-release-kubevirt-tag/1670800592932442112#1:build-log.txt%3A2301 here we are trying to create manifest for libguestfs without “-tools”

I could imagine that during the multi-arch image creation that we somehow loose the -tools suffix on the image …

Same suspect

Here, that should be it: https://github.com/kubevirt/kubevirt/blob/main/hack/push-container-manifest.sh#L31

We assume that the .digest file has the same name like the final container and that the push target name for bazel is push-{name}. That is always true, except for libguestfs, where the push target name is push-libguestfs, the digest name is push-libguestfs.digest, but the actual image name is libguestfs-tools.

Seems like the build for libguestfs image is somehow broken. @alicefr can you help here? Please see https://quay.io/repository/kubevirt/libguestfs?tab=tags&tag=v1.0.0-rc.0

@rthallisey @zhlhahaha maybe related to https://github.com/kubevirt/kubevirt/pull/9703?

I don’t have access to my workstation ATM, so can’t check myself.

From what I understand the missing file /home/prow/go/src/github.com/kubevirt/kubevirt/_out/digests/aarch64/bazel-bin/push-conformance.digest is causing the empty tag part on the section

... --amend quay.io/kubevirt/conformance@ ...
                                        ^^^