fix kicbase dockerfile to allow ppc64le and armv7 archs
parent
8c1c6295bc
commit
6b7168cf4b
2
Makefile
2
Makefile
|
@ -690,7 +690,7 @@ docker-multi-arch-builder:
|
|||
env $(X_BUILD_ENV) docker buildx rm --builder $(X_DOCKER_BUILDER) || true
|
||||
env $(X_BUILD_ENV) docker buildx create --name $(X_DOCKER_BUILDER) --buildkitd-flags '--debug' || true
|
||||
|
||||
KICBASE_ARCH = linux/amd64,linux/arm64,linux/s390x
|
||||
KICBASE_ARCH ?= linux/amd64,linux/arm64,linux/s390x,linux/arm,linux/ppc64le
|
||||
KICBASE_IMAGE_GCR ?= $(REGISTRY)/kicbase:$(KIC_VERSION)
|
||||
KICBASE_IMAGE_HUB ?= kicbase/stable:$(KIC_VERSION)
|
||||
KICBASE_IMAGE_REGISTRIES ?= $(KICBASE_IMAGE_GCR) $(KICBASE_IMAGE_HUB)
|
||||
|
|
|
@ -1267,25 +1267,30 @@ func validateDiskSize(diskSize string) error {
|
|||
}
|
||||
|
||||
// validateRuntime validates the supplied runtime
|
||||
func validateRuntime(runtime string) error {
|
||||
func validateRuntime(rtime string) error {
|
||||
validOptions := cruntime.ValidRuntimes()
|
||||
// `crio` is accepted as an alternative spelling to `cri-o`
|
||||
validOptions = append(validOptions, constants.CRIO)
|
||||
|
||||
var validRuntime bool
|
||||
for _, option := range validOptions {
|
||||
if runtime == option {
|
||||
if rtime == option {
|
||||
validRuntime = true
|
||||
}
|
||||
|
||||
// Convert `cri-o` to `crio` as the K8s config uses the `crio` spelling
|
||||
if runtime == "cri-o" {
|
||||
if rtime == "cri-o" {
|
||||
viper.Set(containerRuntime, constants.CRIO)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (rtime == "crio" || rtime == "cri-o") && strings.HasPrefix(runtime.GOARCH, "ppc64") {
|
||||
return errors.Errorf("The CRI-O runtime is not compatible with the ppc architecture.")
|
||||
}
|
||||
|
||||
if !validRuntime {
|
||||
return errors.Errorf("Invalid Container Runtime: %s. Valid runtimes are: %s", runtime, cruntime.ValidRuntimes())
|
||||
return errors.Errorf("Invalid Container Runtime: %s. Valid runtimes are: %s", rtime, cruntime.ValidRuntimes())
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -121,7 +121,10 @@ RUN clean-install \
|
|||
fuse3
|
||||
|
||||
# install docker
|
||||
RUN sh -c "echo 'deb https://download.docker.com/linux/ubuntu focal stable' > /etc/apt/sources.list.d/docker.list" && \
|
||||
# use the bionic packages for arm32
|
||||
RUN export ARCH=$(dpkg --print-architecture | sed 's/ppc64el/ppc64le/' | sed 's/armhf/arm-v7/') && \
|
||||
if [ "$ARCH" == "arm-v7" ]; then export DIST="bionic"; else export DIST="focal"; fi && \
|
||||
sh -c "echo 'deb https://download.docker.com/linux/ubuntu ${DIST} stable' > /etc/apt/sources.list.d/docker.list" && \
|
||||
curl -L https://download.docker.com/linux/ubuntu/gpg -o docker.key && \
|
||||
apt-key add - < docker.key && \
|
||||
clean-install docker-ce docker-ce-cli containerd.io
|
||||
|
@ -159,10 +162,11 @@ RUN export ARCH=$(dpkg --print-architecture | sed 's/ppc64el/ppc64le/' | sed 's/
|
|||
&& systemctl enable buildkit.socket
|
||||
|
||||
# Install cri-o/podman dependencies:
|
||||
RUN sh -c "echo 'deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_20.04/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list" && \
|
||||
RUN export ARCH=$(dpkg --print-architecture | sed 's/ppc64el/ppc64le/' | sed 's/armhf/arm-v7/') && \
|
||||
if [ "$ARCH" != "ppc64le" ]; then sh -c "echo 'deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_20.04/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list" && \
|
||||
curl -LO https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/xUbuntu_20.04/Release.key && \
|
||||
apt-key add - < Release.key && \
|
||||
clean-install containers-common catatonit conmon containernetworking-plugins cri-tools podman-plugins crun
|
||||
clean-install containers-common catatonit conmon containernetworking-plugins cri-tools podman-plugins crun; fi
|
||||
|
||||
# install cri-o based on https://github.com/cri-o/cri-o/blob/release-1.22/README.md#installing-cri-o
|
||||
RUN sh -c "echo 'deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable:/cri-o:/${CRIO_VERSION}/xUbuntu_20.04/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable:cri-o:${CRIO_VERSION}.list" && \
|
||||
|
|
Loading…
Reference in New Issue