tinkerbell/actions

Publish arm64 image for quay.io/tinkerbell-actions/grub2disk

Closed this issue · 3 comments

Expected Behaviour

This should pull the grub2disk image

docker pull quay.io/tinkerbell-actions/grub2disk

Current Behaviour

This is what I see when I try to pull

root@tinkerbellubuntu:~/sandbox-0.5.0/deploy/scripts# docker pull quay.io/tinkerbell-actions/grub2disk
Using default tag: latest
Error response from daemon: manifest for quay.io/tinkerbell-actions/grub2disk:latest not found: manifest unknown: manifest unknown
root@tinkerbellubuntu:~/sandbox-0.5.0/deploy/scripts# docker pull quay.io/tinkerbell-actions/grub2disk:v1.0.0
Error response from daemon: manifest for quay.io/tinkerbell-actions/grub2disk:v1.0.0 not found: manifest unknown: manifest unknown
root@tinkerbellubuntu:~/sandbox-0.5.0/deploy/scripts# 

Steps to Reproduce (for bugs)

root@tinkerbellubuntu:~/sandbox-0.5.0/deploy/scripts# docker pull quay.io/tinkerbell-actions/grub2disk
Using default tag: latest
Error response from daemon: manifest for quay.io/tinkerbell-actions/grub2disk:latest not found: manifest unknown: manifest unknown
root@tinkerbellubuntu:~/sandbox-0.5.0/deploy/scripts# docker pull quay.io/tinkerbell-actions/grub2disk:v1.0.0
Error response from daemon: manifest for quay.io/tinkerbell-actions/grub2disk:v1.0.0 not found: manifest unknown: manifest unknown
root@tinkerbellubuntu:~/sandbox-0.5.0/deploy/scripts# 

Context

I'm able to pull all of the other images from here just fine. I copied the pull command that is failing from here.

Your Environment

I tried pulling with docker on:

root@tinkerbellubuntu:~/sandbox-0.5.0/deploy/scripts# cat /etc/os-release 
NAME="Ubuntu"
VERSION="18.04.5 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.5 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

And with podman on:

NAME=Fedora
VERSION="34.20210525.0 (Silverblue)"
ID=fedora
VERSION_ID=34
VERSION_CODENAME=""
PLATFORM_ID="platform:f34"
PRETTY_NAME="Fedora 34.20210525.0 (Silverblue)"
ANSI_COLOR="0;38;2;60;110;180"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:34"
HOME_URL="https://fedoraproject.org/"
DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora-silverblue/"
SUPPORT_URL="https://fedoraproject.org/wiki/Communicating_and_getting_help"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=34
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=34
PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy"
VARIANT="Silverblue"
VARIANT_ID=silverblue
OSTREE_VERSION='34.20210525.0'

Maybe this is just a temporary problem? Or, I guess it is possible I'm doing something wrong, but the other images pull just fine.
Thank you.

Yep I confirm this is an issue with the image not supporting arm compilation. Hub ships images for multiple architecture and as grub2disk is written does not work:

 => [linux/amd64 grub2disk 3/6] RUN apk add --no-cache grub grub-bios git ca-certificates gcc musl-dev                                                                         1.4s
 => ERROR [linux/arm64 grub2disk 3/6] RUN apk add --no-cache grub grub-bios git ca-certificates gcc musl-dev                                                                   1.2s
 => [linux/amd64 grub2disk 4/6] COPY . /go/src/github.com/tinkerbell/hub/actions/grub2disk/v1                                                                                  0.0s
 => ERROR [linux/arm/v7 grub2disk 3/6] RUN apk add --no-cache grub grub-bios git ca-certificates gcc musl-dev                                                                  1.2s
 => [linux/amd64 grub2disk 5/6] WORKDIR /go/src/github.com/tinkerbell/hub/actions/grub2disk/v1                                                                                 0.0s
 => CANCELED [linux/amd64 grub2disk 6/6] RUN --mount=type=cache,sharing=locked,id=gomod,target=/go/pkg/mod/cache     --mount=type=cache,sharing=locked,id=goroot,target=/root  1.2s
------
 > importing cache manifest from quay.io/tinkerbell-actions/grub2disk:v1.0.0:
------
------
 > [linux/arm64 grub2disk 3/6] RUN apk add --no-cache grub grub-bios git ca-certificates gcc musl-dev:
#27 0.104 fetch https://dl-cdn.alpinelinux.org/alpine/v3.13/main/aarch64/APKINDEX.tar.gz
#27 0.457 fetch https://dl-cdn.alpinelinux.org/alpine/v3.13/community/aarch64/APKINDEX.tar.gz
#27 1.090 ERROR: unable to select packages:
#27 1.150   grub-bios (no such package):
#27 1.150     required by: world[grub-bios]
------
------
 > [linux/arm/v7 grub2disk 3/6] RUN apk add --no-cache grub grub-bios git ca-certificates gcc musl-dev:
#12 0.106 fetch https://dl-cdn.alpinelinux.org/alpine/v3.13/main/armv7/APKINDEX.tar.gz
#12 0.489 fetch https://dl-cdn.alpinelinux.org/alpine/v3.13/community/armv7/APKINDEX.tar.gz
#12 1.095 ERROR: unable to select packages:
#12 1.156   grub-bios (no such package):
#12 1.156     required by: world[grub-bios]
------
{"level":"error","ts":1623916826.9664903,"caller":"cmd/build.go:94","msg":"failed to solve: executor failed running [/bin/sh -c apk add --no-cache grub grub-bios git ca-certificates gcc musl-dev]: runc did not terminate successfully","stacktrace":"github.com/tinkerbell/actions/cmd/hub/cmd.runBuild\n\t/home/gianarb/git/hub/cmd/hub/cmd/build.go:94\ngithub.com/tinkerbell/actions/cmd/hub/cmd.glob..func1\n\t/home/gianarb/git/hub/cmd/hub/cmd/build.go:29\ngithub.com/spf13/cobra.(*Command).execute\n\t/root/go/pkg/mod/github.com/spf13/cobra@v1.1.1/command.go:850\ngithub.com/spf13/cobra.(*Command).ExecuteC\n\t/root/go/pkg/mod/github.com/spf13/cobra@v1.1.1/command.go:958\ngithub.com/spf13/cobra.(*Command).Execute\n\t/root/go/pkg/mod/github.com/spf13/cobra@v1.1.1/command.go:895\ngithub.com/tinkerbell/actions/cmd/hub/cmd.Execute\n\t/home/gianarb/git/hub/cmd/hub/cmd/root.go:19\nmain.main\n\t/home/gianarb/git/hub/cmd/hub/main.go:11\nruntime.main\n\t/nix/store/qvxsh2nxjf598mzfi6hl9dy4qv3698x4-go-1.15.6/share/go/src/runtime/proc.go:204"}

Hey @Cbkhare, looks like you are the person who committed this code? is refactoring for multi-arch support something you might have cycles for? Totally fine if not, just wanted to ask :)

Closing in favor of #128