Message ID | 20210329110303.15235-3-alex.bennee@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | check-tcg for non-x86 hosts | expand |
On 29/03/2021 13.02, Alex Bennée wrote: > Currently our gitlab registry is x86_64 only so attempting to pull an > image from it on something else will end in tears. > > Signed-off-by: Alex Bennée <alex.bennee@linaro.org> > --- > tests/docker/Makefile.include | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include > index 7cab761bf5..9f464cb92c 100644 > --- a/tests/docker/Makefile.include > +++ b/tests/docker/Makefile.include > @@ -16,7 +16,10 @@ DOCKER_IMAGES := $(sort $(notdir $(basename $(wildcard $(DOCKER_FILES_DIR)/*.doc > DOCKER_TARGETS := $(patsubst %,docker-image-%,$(DOCKER_IMAGES)) > # Use a global constant ccache directory to speed up repetitive builds > DOCKER_CCACHE_DIR := $$HOME/.cache/qemu-docker-ccache > -DOCKER_REGISTRY := $(if $(REGISTRY),$(REGISTRY),registry.gitlab.com/qemu-project/qemu) > +ifeq ($(HOST_ARCH),x86_64) > +DOCKER_DEFAULT_REGISTRY := registry.gitlab.com/qemu-project/qemu > +endif > +DOCKER_REGISTRY := $(if $(REGISTRY),$(REGISTRY),$(DOCKER_DEFAULT_REGISTRY)) Reviewed-by: Thomas Huth <thuth@redhat.com>
On Mon, Mar 29, 2021 at 8:03 AM Alex Bennée <alex.bennee@linaro.org> wrote: > > Currently our gitlab registry is x86_64 only so attempting to pull an > image from it on something else will end in tears. > > Signed-off-by: Alex Bennée <alex.bennee@linaro.org> > --- > tests/docker/Makefile.include | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > Reviewed-by: Willian Rampazzo <willianr@redhat.com>
On 3/29/21 5:02 AM, Alex Bennée wrote: > Currently our gitlab registry is x86_64 only so attempting to pull an > image from it on something else will end in tears. > > Signed-off-by: Alex Bennée<alex.bennee@linaro.org> > --- > tests/docker/Makefile.include | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~
Hi Alex, Willian, On 3/29/21 1:02 PM, Alex Bennée wrote: > Currently our gitlab registry is x86_64 only so attempting to pull an > image from it on something else will end in tears. > > Signed-off-by: Alex Bennée <alex.bennee@linaro.org> > --- > tests/docker/Makefile.include | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include > index 7cab761bf5..9f464cb92c 100644 > --- a/tests/docker/Makefile.include > +++ b/tests/docker/Makefile.include > @@ -16,7 +16,10 @@ DOCKER_IMAGES := $(sort $(notdir $(basename $(wildcard $(DOCKER_FILES_DIR)/*.doc > DOCKER_TARGETS := $(patsubst %,docker-image-%,$(DOCKER_IMAGES)) > # Use a global constant ccache directory to speed up repetitive builds > DOCKER_CCACHE_DIR := $$HOME/.cache/qemu-docker-ccache > -DOCKER_REGISTRY := $(if $(REGISTRY),$(REGISTRY),registry.gitlab.com/qemu-project/qemu) > +ifeq ($(HOST_ARCH),x86_64) > +DOCKER_DEFAULT_REGISTRY := registry.gitlab.com/qemu-project/qemu > +endif > +DOCKER_REGISTRY := $(if $(REGISTRY),$(REGISTRY),$(DOCKER_DEFAULT_REGISTRY)) I remember we chatted about Docker multiarch on IRC. It doesn't look going into the right direction. IMO the problem you are having is because we push an amd64 docker image into the now multiarch namespace, so it is obviously failing on all non-amd64 hosts. I think the correct way is to remove the images stored in the multiarch namespace (they are amd64, not multiarch); and store the amd64 images under the amd64 namespace. IOW prepend amd64/ in our amd64 specific images. Then you could push a aarch64 image using the arm64v8/ prefix namespace and the buildsys machinery will work with the registry. FWIW I tested it with mips64le/ prefix on the mips64le runner. Willian, can you have a try with ppc64le/ (eventually s390x/) prefix for similar hosts? Related info: https://github.com/docker-library/official-images#architectures-other-than-amd64 https://github.com/docker-library/official-images#multiple-architectures Regards, Phil.
Philippe Mathieu-Daudé <f4bug@amsat.org> writes: > Hi Alex, Willian, > > On 3/29/21 1:02 PM, Alex Bennée wrote: >> Currently our gitlab registry is x86_64 only so attempting to pull an >> image from it on something else will end in tears. >> >> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> >> --- >> tests/docker/Makefile.include | 5 ++++- >> 1 file changed, 4 insertions(+), 1 deletion(-) >> >> diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include >> index 7cab761bf5..9f464cb92c 100644 >> --- a/tests/docker/Makefile.include >> +++ b/tests/docker/Makefile.include >> @@ -16,7 +16,10 @@ DOCKER_IMAGES := $(sort $(notdir $(basename $(wildcard $(DOCKER_FILES_DIR)/*.doc >> DOCKER_TARGETS := $(patsubst %,docker-image-%,$(DOCKER_IMAGES)) >> # Use a global constant ccache directory to speed up repetitive builds >> DOCKER_CCACHE_DIR := $$HOME/.cache/qemu-docker-ccache >> -DOCKER_REGISTRY := $(if $(REGISTRY),$(REGISTRY),registry.gitlab.com/qemu-project/qemu) >> +ifeq ($(HOST_ARCH),x86_64) >> +DOCKER_DEFAULT_REGISTRY := registry.gitlab.com/qemu-project/qemu >> +endif >> +DOCKER_REGISTRY := $(if $(REGISTRY),$(REGISTRY),$(DOCKER_DEFAULT_REGISTRY)) > > I remember we chatted about Docker multiarch on IRC. > > It doesn't look going into the right direction. IMO the problem > you are having is because we push an amd64 docker image into the now > multiarch namespace, so it is obviously failing on all non-amd64 hosts. > > I think the correct way is to remove the images stored in the multiarch > namespace (they are amd64, not multiarch); and store the amd64 images > under the amd64 namespace. > > IOW prepend amd64/ in our amd64 specific images. I agree we should fix this properly but I don't think it's worth the churn on the run up to release. ATM we don't really test building on other architectures (qemu or tests) except manually. This step makes it a little less painful. Once we actually have the non-x86 runners going we can then start working out how to get them to push properly to the registry and revert this change. > > Then you could push a aarch64 image using the arm64v8/ prefix namespace > and the buildsys machinery will work with the registry. > > FWIW I tested it with mips64le/ prefix on the mips64le runner. > > Willian, can you have a try with ppc64le/ (eventually s390x/) prefix > for similar hosts? > > Related info: > https://github.com/docker-library/official-images#architectures-other-than-amd64 > https://github.com/docker-library/official-images#multiple-architectures > > Regards, > > Phil. -- Alex Bennée
diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include index 7cab761bf5..9f464cb92c 100644 --- a/tests/docker/Makefile.include +++ b/tests/docker/Makefile.include @@ -16,7 +16,10 @@ DOCKER_IMAGES := $(sort $(notdir $(basename $(wildcard $(DOCKER_FILES_DIR)/*.doc DOCKER_TARGETS := $(patsubst %,docker-image-%,$(DOCKER_IMAGES)) # Use a global constant ccache directory to speed up repetitive builds DOCKER_CCACHE_DIR := $$HOME/.cache/qemu-docker-ccache -DOCKER_REGISTRY := $(if $(REGISTRY),$(REGISTRY),registry.gitlab.com/qemu-project/qemu) +ifeq ($(HOST_ARCH),x86_64) +DOCKER_DEFAULT_REGISTRY := registry.gitlab.com/qemu-project/qemu +endif +DOCKER_REGISTRY := $(if $(REGISTRY),$(REGISTRY),$(DOCKER_DEFAULT_REGISTRY)) DOCKER_TESTS := $(notdir $(shell \ find $(SRC_PATH)/tests/docker/ -name 'test-*' -type f))
Currently our gitlab registry is x86_64 only so attempting to pull an image from it on something else will end in tears. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> --- tests/docker/Makefile.include | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) -- 2.20.1