mirror of
https://gitee.com/rancher/rancher.git
synced 2025-12-06 15:59:37 +08:00
Add s390x arch support (#36034)
* Add s390x drone pipelines * Increase kustomize version to v4.4.1 * Install golang 1.16 using zypper * Increase loglevel version to v0.1.4 * Add rancher system agent for s390x * Add unsupported arch env for s390x * Increase telemetry version * Add tini for s390x * Skip integration tests for s390x * Skip helm v2 instalation since s390x is not supported * Skip k3s installation for s390x arch * Remove helm & tiller from jailer for s390x * Update shell image which supports s390x * Add failure:ignore to drone s390x pipelines This is to ensure that if any step of s390x pipeline fails, other steps or pipelines like manifest do not fail. So added ignore missing to manifest step pipeline * Skip k3s * Get k3s binaries from k3s-root for s390x as k3s is not available * Remove duplicated code in Dockerfile * Set K3S_BUILDER default value to rancher/k3s:v1.22.5-k3s1 Co-authored-by: raulcabello <raul.cabello@suse.com>
This commit is contained in:
committed by
GitHub
parent
cf64177bb9
commit
1949f73d85
261
.drone.yml
261
.drone.yml
@@ -547,6 +547,214 @@ volumes:
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
|
||||
trigger:
|
||||
event:
|
||||
exclude:
|
||||
- promote
|
||||
---
|
||||
kind: pipeline
|
||||
name: default-linux-s390x
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: amd64
|
||||
|
||||
# Hack needed for s390x: https://gist.github.com/colstrom/c2f359f72658aaabb44150ac20b16d7c#gistcomment-3858388
|
||||
node:
|
||||
arch: s390x
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: rancher/dapper:v0.5.8
|
||||
failure: ignore
|
||||
commands:
|
||||
- K3S_BUILDER=k3s_root dapper ci
|
||||
privileged: true
|
||||
volumes:
|
||||
- name: docker
|
||||
path: /var/run/docker.sock
|
||||
when:
|
||||
event:
|
||||
- push
|
||||
- pull_request
|
||||
- tag
|
||||
|
||||
- name: stage-binaries
|
||||
image: rancher/dapper:v0.5.8
|
||||
failure: ignore
|
||||
commands:
|
||||
- "cp -r ./bin/* ./package/"
|
||||
when:
|
||||
event:
|
||||
- push
|
||||
- tag
|
||||
|
||||
- name: docker-publish-head
|
||||
image: rancher/drone-docker-image-digests:v0.0.13
|
||||
failure: ignore
|
||||
volumes:
|
||||
- name: docker
|
||||
path: /var/run/docker.sock
|
||||
settings:
|
||||
purge: false
|
||||
build_args:
|
||||
- ARCH=s390x
|
||||
- VERSION=${DRONE_BRANCH/release\//}-${DRONE_COMMIT}-head
|
||||
- K3S_BUILDER=k3s_root
|
||||
context: package/
|
||||
custom_dns: 1.1.1.1
|
||||
dockerfile: package/Dockerfile
|
||||
tag: ${DRONE_BRANCH/release\//}-${DRONE_COMMIT}-linux-s390x
|
||||
password:
|
||||
from_secret: docker_password
|
||||
repo: rancher/rancher
|
||||
username:
|
||||
from_secret: docker_username
|
||||
when:
|
||||
ref:
|
||||
include:
|
||||
- "refs/heads/master"
|
||||
- "refs/heads/release/v*"
|
||||
event:
|
||||
- push
|
||||
|
||||
- name: docker-publish-head-installer
|
||||
image: rancher/drone-images:docker-s390x
|
||||
failure: ignore
|
||||
volumes:
|
||||
- name: docker
|
||||
path: /var/run/docker.sock
|
||||
settings:
|
||||
purge: false
|
||||
build_args:
|
||||
- ARCH=s390x
|
||||
- VERSION=${DRONE_BRANCH/release\//}-${DRONE_COMMIT}-head
|
||||
- RANCHER_TAG=${DRONE_BRANCH/release\//}-${DRONE_COMMIT}-linux-s390x
|
||||
context: package/
|
||||
custom_dns: 1.1.1.1
|
||||
dockerfile: package/Dockerfile.installer
|
||||
tag: ${DRONE_BRANCH/release\//}-${DRONE_COMMIT}-linux-s390x
|
||||
password:
|
||||
from_secret: docker_password
|
||||
repo: rancher/system-agent-installer-rancher
|
||||
username:
|
||||
from_secret: docker_username
|
||||
when:
|
||||
ref:
|
||||
include:
|
||||
- "refs/heads/master"
|
||||
- "refs/heads/release/v*"
|
||||
event:
|
||||
- push
|
||||
|
||||
- name: docker-publish-head-agent
|
||||
image: rancher/drone-images:docker-s390x
|
||||
failure: ignore
|
||||
volumes:
|
||||
- name: docker
|
||||
path: /var/run/docker.sock
|
||||
settings:
|
||||
purge: false
|
||||
build_args:
|
||||
- ARCH=s390x
|
||||
- VERSION=${DRONE_BRANCH/release\//}-${DRONE_COMMIT}-head
|
||||
- RANCHER_TAG=${DRONE_BRANCH/release\//}-${DRONE_COMMIT}-linux-s390x
|
||||
context: package/
|
||||
custom_dns: 1.1.1.1
|
||||
dockerfile: package/Dockerfile.agent
|
||||
tag: ${DRONE_BRANCH/release\//}-${DRONE_COMMIT}-linux-s390x
|
||||
password:
|
||||
from_secret: docker_password
|
||||
repo: rancher/rancher-agent
|
||||
username:
|
||||
from_secret: docker_username
|
||||
when:
|
||||
ref:
|
||||
include:
|
||||
- "refs/heads/master"
|
||||
- "refs/heads/release/v*"
|
||||
event:
|
||||
- push
|
||||
|
||||
- name: docker-publish
|
||||
image: rancher/drone-images:docker-s390x
|
||||
failure: ignore
|
||||
volumes:
|
||||
- name: docker
|
||||
path: /var/run/docker.sock
|
||||
settings:
|
||||
purge: false
|
||||
build_args:
|
||||
- ARCH=s390x
|
||||
- "VERSION=${DRONE_TAG}"
|
||||
context: package/
|
||||
custom_dns: 1.1.1.1
|
||||
dockerfile: package/Dockerfile
|
||||
password:
|
||||
from_secret: docker_password
|
||||
repo: rancher/rancher
|
||||
tag: "${DRONE_TAG}-linux-s390x"
|
||||
username:
|
||||
from_secret: docker_username
|
||||
when:
|
||||
event:
|
||||
- tag
|
||||
|
||||
- name: docker-publish-installer
|
||||
image: rancher/drone-images:docker-s390x
|
||||
failure: ignore
|
||||
volumes:
|
||||
- name: docker
|
||||
path: /var/run/docker.sock
|
||||
settings:
|
||||
purge: false
|
||||
build_args:
|
||||
- ARCH=s390x
|
||||
- "VERSION=${DRONE_TAG}"
|
||||
- "RANCHER_TAG=${DRONE_TAG}-linux-s390x"
|
||||
context: package/
|
||||
custom_dns: 1.1.1.1
|
||||
dockerfile: package/Dockerfile.installer
|
||||
password:
|
||||
from_secret: docker_password
|
||||
repo: rancher/system-agent-installer-rancher
|
||||
tag: "${DRONE_TAG}-linux-s390x"
|
||||
username:
|
||||
from_secret: docker_username
|
||||
when:
|
||||
event:
|
||||
- tag
|
||||
|
||||
- name: docker-publish-agent
|
||||
image: rancher/drone-images:docker-s390x
|
||||
failure: ignore
|
||||
volumes:
|
||||
- name: docker
|
||||
path: /var/run/docker.sock
|
||||
settings:
|
||||
purge: false
|
||||
build_args:
|
||||
- ARCH=s390x
|
||||
- "VERSION=${DRONE_TAG}"
|
||||
- "RANCHER_TAG=${DRONE_TAG}-linux-s390x"
|
||||
context: package/
|
||||
custom_dns: 1.1.1.1
|
||||
dockerfile: package/Dockerfile.agent
|
||||
password:
|
||||
from_secret: docker_password
|
||||
repo: rancher/rancher-agent
|
||||
tag: "${DRONE_TAG}-linux-s390x"
|
||||
username:
|
||||
from_secret: docker_username
|
||||
when:
|
||||
event:
|
||||
- tag
|
||||
|
||||
volumes:
|
||||
- name: docker
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
|
||||
trigger:
|
||||
event:
|
||||
exclude:
|
||||
@@ -929,6 +1137,7 @@ steps:
|
||||
password:
|
||||
from_secret: docker_password
|
||||
spec: manifest-installer.tmpl
|
||||
ignore_missing: true
|
||||
when:
|
||||
instance:
|
||||
include:
|
||||
@@ -945,6 +1154,7 @@ steps:
|
||||
password:
|
||||
from_secret: docker_password
|
||||
spec: manifest-installer-head.tmpl
|
||||
ignore_missing: true
|
||||
when:
|
||||
instance:
|
||||
include:
|
||||
@@ -960,6 +1170,7 @@ steps:
|
||||
password:
|
||||
from_secret: docker_password
|
||||
spec: manifest-agent.tmpl
|
||||
ignore_missing: true
|
||||
when:
|
||||
instance:
|
||||
include:
|
||||
@@ -976,6 +1187,7 @@ steps:
|
||||
password:
|
||||
from_secret: docker_password
|
||||
spec: manifest-agent-head.tmpl
|
||||
ignore_missing: true
|
||||
when:
|
||||
instance:
|
||||
include:
|
||||
@@ -991,6 +1203,7 @@ steps:
|
||||
password:
|
||||
from_secret: docker_password
|
||||
spec: manifest-head.tmpl
|
||||
ignore_missing: true
|
||||
when:
|
||||
instance:
|
||||
include:
|
||||
@@ -1006,6 +1219,7 @@ steps:
|
||||
password:
|
||||
from_secret: docker_password
|
||||
spec: manifest.tmpl
|
||||
ignore_missing: true
|
||||
when:
|
||||
instance:
|
||||
include:
|
||||
@@ -1071,6 +1285,7 @@ trigger:
|
||||
depends_on:
|
||||
- default-linux-amd64
|
||||
- default-linux-arm64
|
||||
- default-linux-s390x
|
||||
- default-windows-1809
|
||||
- default-windows-20H2
|
||||
- default-windows-ltsc2022
|
||||
@@ -1159,6 +1374,52 @@ depends_on:
|
||||
- default-linux-arm64
|
||||
---
|
||||
kind: pipeline
|
||||
name: docker-image-digests-linux-s390x
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: amd64
|
||||
|
||||
# Hack needed for s390x: https://gist.github.com/colstrom/c2f359f72658aaabb44150ac20b16d7c#gistcomment-3858388
|
||||
node:
|
||||
arch: s390x
|
||||
|
||||
steps:
|
||||
- name: docker-image-digests
|
||||
image: rancher/drone-docker-digests:s390x
|
||||
failure: ignore
|
||||
environment:
|
||||
PLUGIN_GITHUB_REPOSITORY: "rancher/rancher"
|
||||
PLUGIN_GITHUB_TOKEN:
|
||||
from_secret: github_token
|
||||
PLUGIN_GITHUB_TAG: "${DRONE_TAG}"
|
||||
PLUGIN_INPUT_FILE: "rancher-images.txt"
|
||||
PLUGIN_OUTPUT_FILE: "rancher-images-digests-linux-s390x.txt"
|
||||
PLUGIN_REGISTRY: "docker.io"
|
||||
volumes:
|
||||
- name: docker
|
||||
path: /var/run/docker.sock
|
||||
when:
|
||||
instance:
|
||||
include:
|
||||
- drone-publish.rancher.io
|
||||
event:
|
||||
- tag
|
||||
|
||||
volumes:
|
||||
- name: docker
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
|
||||
trigger:
|
||||
event:
|
||||
exclude:
|
||||
- promote
|
||||
|
||||
depends_on:
|
||||
- default-linux-s390x
|
||||
---
|
||||
kind: pipeline
|
||||
name: docker-image-digests-windows-1809
|
||||
|
||||
platform:
|
||||
|
||||
@@ -1,3 +1,17 @@
|
||||
ARG K3S_BUILDER=rancher/k3s:v1.22.5-k3s1
|
||||
|
||||
# Use binaries from k3s root for s390x as k3s is not available on s390x
|
||||
FROM registry.suse.com/suse/sle15:15.3 AS k3s_root
|
||||
ARG DAPPER_HOST_ARCH
|
||||
ENV ARCH=${DAPPER_HOST_ARCH}
|
||||
ENV K3S_ROOT_VERSION v0.11.0
|
||||
ONBUILD RUN zypper -n in tar
|
||||
ONBUILD ADD https://github.com/rancher/k3s-root/releases/download/${K3S_ROOT_VERSION}/k3s-root-${ARCH}.tar /k3s-root.tar
|
||||
ONBUILD RUN tar xvf /k3s-root.tar; \
|
||||
touch /bin/cni /bin/containerd /bin/containerd-shim-runc-v2 /bin/runc
|
||||
|
||||
FROM ${K3S_BUILDER} as k3s_builder
|
||||
|
||||
FROM registry.suse.com/suse/sle15:15.3
|
||||
|
||||
ARG DAPPER_HOST_ARCH
|
||||
@@ -9,7 +23,7 @@ ENV CATTLE_K3S_VERSION v1.22.5+k3s1
|
||||
ENV CATTLE_HELM_UNITTEST_VERSION v0.1.7-rancher3
|
||||
# helm 3 version
|
||||
ENV HELM_VERSION v3.7.1
|
||||
ENV KUSTOMIZE_VERSION v3.10.0
|
||||
ENV KUSTOMIZE_VERSION v4.4.1
|
||||
|
||||
# kontainer-driver-metadata branch to be set for specific branch other than dev/master, logic at rancher/rancher/pkg/settings/setting.go
|
||||
ENV CATTLE_KDM_BRANCH=dev-v2.6
|
||||
@@ -19,10 +33,7 @@ RUN zypper install -y -f docker
|
||||
|
||||
RUN curl -sLf https://github.com/rancher/machine/releases/download/${CATTLE_MACHINE_VERSION}/rancher-machine-${ARCH}.tar.gz | tar xvzf - -C /usr/bin
|
||||
|
||||
ENV GOLANG_ARCH_amd64=amd64 GOLANG_ARCH_arm=armv6l GOLANG_ARCH_arm64=arm64 GOLANG_ARCH=GOLANG_ARCH_${ARCH} \
|
||||
GOPATH=/go PATH=/go/bin:/usr/local/go/bin:${PATH} SHELL=/bin/bash
|
||||
|
||||
RUN curl -sLf https://storage.googleapis.com/golang/go1.16.9.linux-${!GOLANG_ARCH}.tar.gz | tar -xzf - -C /usr/local
|
||||
RUN zypper -n in go1.16
|
||||
|
||||
RUN if [ "${ARCH}" == "amd64" ]; then \
|
||||
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s v1.43.0; \
|
||||
@@ -44,14 +55,16 @@ ENV HELM_URL_V2_amd64=https://github.com/rancher/helm/releases/download/${CATTLE
|
||||
|
||||
RUN curl -sLf ${KUSTOMIZE_URL} | tar -xzf - -C /usr/bin
|
||||
|
||||
# set up helm 2
|
||||
RUN curl -sLf ${!HELM_URL_V2} -o /usr/bin/rancher-helm && \
|
||||
curl -sLf ${!TILLER_URL} -o /usr/bin/rancher-tiller && \
|
||||
chmod +x /usr/bin/rancher-helm /usr/bin/rancher-tiller && \
|
||||
ln -s /usr/bin/rancher-helm /usr/bin/helm && \
|
||||
ln -s /usr/bin/rancher-tiller /usr/bin/tiller && \
|
||||
helm init -c --stable-repo-url https://charts.helm.sh/stable/ && \
|
||||
helm plugin install https://github.com/rancher/helm-unittest
|
||||
# set up helm 2 to all archs other than s390x
|
||||
RUN if [ "${ARCH}" != "s390x" ]; then \
|
||||
curl -sLf ${!HELM_URL_V2} -o /usr/bin/rancher-helm && \
|
||||
curl -sLf ${!TILLER_URL} -o /usr/bin/rancher-tiller && \
|
||||
chmod +x /usr/bin/rancher-helm /usr/bin/rancher-tiller && \
|
||||
ln -s /usr/bin/rancher-helm /usr/bin/helm && \
|
||||
ln -s /usr/bin/rancher-tiller /usr/bin/tiller && \
|
||||
helm init -c --stable-repo-url https://charts.helm.sh/stable/ && \
|
||||
helm plugin install https://github.com/rancher/helm-unittest; \
|
||||
fi
|
||||
|
||||
# set up helm 3
|
||||
RUN mkdir /usr/tmp && \
|
||||
@@ -60,7 +73,7 @@ RUN mkdir /usr/tmp && \
|
||||
chmod +x /usr/bin/kustomize
|
||||
|
||||
# Set up K3s: copy the necessary binaries from the K3s image.
|
||||
COPY --from=rancher/k3s:v1.22.5-k3s1 \
|
||||
COPY --from=k3s_builder \
|
||||
/bin/blkid \
|
||||
/bin/charon \
|
||||
/bin/cni \
|
||||
@@ -103,7 +116,10 @@ RUN ln -s /usr/bin/cni /usr/bin/bridge && \
|
||||
RUN mkdir -p /go/src/github.com/rancher/rancher/.kube && \
|
||||
ln -s /etc/rancher/k3s/k3s.yaml /go/src/github.com/rancher/rancher/.kube/k3s.yaml
|
||||
|
||||
RUN curl -sLf https://github.com/rancher/k3s/releases/download/${CATTLE_K3S_VERSION}/k3s-images.txt -o /usr/tmp/k3s-images.txt
|
||||
# Add k3s for all archs except s390x since k3s doesn't support s390x
|
||||
RUN if [ "${ARCH}" != "s390x" ]; then \
|
||||
curl -sLf https://github.com/rancher/k3s/releases/download/${CATTLE_K3S_VERSION}/k3s-images.txt -o /usr/tmp/k3s-images.txt; \
|
||||
fi
|
||||
|
||||
ENV YQ_URL=https://github.com/mikefarah/yq/releases/download/3.4.1/yq_linux_${ARCH}
|
||||
RUN curl -sLf ${YQ_URL} -o /usr/bin/yq && chmod +x /usr/bin/yq
|
||||
|
||||
@@ -28,3 +28,8 @@ manifests:
|
||||
architecture: amd64
|
||||
os: windows
|
||||
version: ltsc2022
|
||||
-
|
||||
image: rancher/rancher-agent:{{#if build.tag}}{{build.tag}}{{else}}{{replace "release/" "" build.branch }}-{{build.commit}}{{/if}}-linux-s390x
|
||||
platform:
|
||||
architecture: s390x
|
||||
os: linux
|
||||
@@ -28,3 +28,8 @@ manifests:
|
||||
architecture: amd64
|
||||
os: windows
|
||||
version: ltsc2022
|
||||
-
|
||||
image: rancher/rancher-agent:{{#if build.tag}}{{build.tag}}{{else}}{{replace "release/" "" build.branch }}-{{build.commit}}{{/if}}-linux-s390x
|
||||
platform:
|
||||
architecture: s390x
|
||||
os: linux
|
||||
|
||||
@@ -10,3 +10,8 @@ manifests:
|
||||
platform:
|
||||
architecture: arm64
|
||||
os: linux
|
||||
-
|
||||
image: rancher/rancher:{{#if build.tag}}{{build.tag}}{{else}}{{replace "release/" "" build.branch }}-{{build.commit}}{{/if}}-linux-s390x
|
||||
platform:
|
||||
architecture: s390x
|
||||
os: linux
|
||||
@@ -10,3 +10,8 @@ manifests:
|
||||
platform:
|
||||
architecture: arm64
|
||||
os: linux
|
||||
-
|
||||
image: rancher/system-agent-installer-rancher:{{#if build.tag}}{{build.tag}}{{else}}{{replace "release/" "" build.branch }}-{{build.commit}}{{/if}}-linux-s390x
|
||||
platform:
|
||||
architecture: s390x
|
||||
os: linux
|
||||
|
||||
@@ -10,3 +10,8 @@ manifests:
|
||||
platform:
|
||||
architecture: arm64
|
||||
os: linux
|
||||
-
|
||||
image: rancher/system-agent-installer-rancher:{{#if build.tag}}{{build.tag}}{{else}}{{replace "release/" "" build.branch }}-{{build.commit}}{{/if}}-linux-s390x
|
||||
platform:
|
||||
architecture: s390x
|
||||
os: linux
|
||||
|
||||
@@ -10,3 +10,8 @@ manifests:
|
||||
platform:
|
||||
architecture: arm64
|
||||
os: linux
|
||||
-
|
||||
image: rancher/rancher:{{#if build.tag}}{{build.tag}}{{else}}{{replace "release/" "" build.branch }}-{{build.commit}}{{/if}}-linux-s390x
|
||||
platform:
|
||||
architecture: s390x
|
||||
os: linux
|
||||
|
||||
@@ -1,3 +1,17 @@
|
||||
ARG K3S_BUILDER=rancher/k3s:v1.22.5-k3s1
|
||||
|
||||
# Use binaries from k3s root for s390x as k3s is not available on s390x
|
||||
FROM registry.suse.com/suse/sle15:15.3 AS k3s_root
|
||||
ARG ARCH
|
||||
ENV ARCH=${ARCH}
|
||||
ENV K3S_ROOT_VERSION v0.11.0
|
||||
ONBUILD RUN zypper -n in tar
|
||||
ONBUILD ADD https://github.com/rancher/k3s-root/releases/download/${K3S_ROOT_VERSION}/k3s-root-${ARCH}.tar /k3s-root.tar
|
||||
ONBUILD RUN tar xvf /k3s-root.tar; \
|
||||
touch /bin/cni /bin/containerd /bin/containerd-shim-runc-v2 /bin/runc
|
||||
|
||||
FROM ${K3S_BUILDER} as k3s_builder
|
||||
|
||||
FROM registry.suse.com/suse/sle15:15.3
|
||||
|
||||
RUN zypper -n install git-core curl ca-certificates unzip xz gzip sed tar shadow gawk vim && \
|
||||
@@ -31,16 +45,16 @@ ENV CATTLE_K3S_VERSION v1.22.5+k3s1
|
||||
ENV CATTLE_MACHINE_VERSION v0.15.0-rancher73
|
||||
ENV CATTLE_MACHINE_PROVISION_IMAGE rancher/machine:${CATTLE_MACHINE_VERSION}
|
||||
ENV CATTLE_ETCD_VERSION v3.5.1
|
||||
ENV LOGLEVEL_VERSION v0.1.3
|
||||
ENV LOGLEVEL_VERSION v0.1.4
|
||||
ENV TINI_VERSION v0.18.0
|
||||
ENV TELEMETRY_VERSION v0.5.16
|
||||
ENV TELEMETRY_VERSION v0.5.17
|
||||
ENV DOCKER_MACHINE_LINODE_VERSION v0.1.8
|
||||
ENV LINODE_UI_DRIVER_VERSION v0.3.0
|
||||
# make sure the version number is consistent with the one at Line 100 of pkg/data/management/machinedriver_data.go
|
||||
ENV DOCKER_MACHINE_HARVESTER_VERSION v0.3.4
|
||||
ENV CATTLE_KDM_BRANCH ${CATTLE_KDM_BRANCH}
|
||||
ENV HELM_VERSION v3.7.1
|
||||
ENV KUSTOMIZE_VERSION v3.10.0
|
||||
ENV KUSTOMIZE_VERSION v4.4.1
|
||||
ENV CATTLE_SYSTEM_AGENT_VERSION v0.1.1
|
||||
ENV CATTLE_SYSTEM_AGENT_UPGRADE_IMAGE rancher/system-agent:${CATTLE_SYSTEM_AGENT_VERSION}-suc
|
||||
ENV CATTLE_SYSTEM_UPGRADE_CONTROLLER_CHART_VERSION 100.0.1+up0.3.1
|
||||
@@ -73,6 +87,7 @@ RUN curl -LO https://releases.rancher.com/harvester-node-driver/${DOCKER_MACHINE
|
||||
|
||||
ENV TINI_URL_amd64=https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini \
|
||||
TINI_URL_arm64=https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini-arm64 \
|
||||
TINI_URL_s390x=https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini-s390x \
|
||||
TINI_URL=TINI_URL_${ARCH}
|
||||
|
||||
ENV HELM_URL_V2_amd64=https://github.com/rancher/helm/releases/download/${CATTLE_HELM_VERSION}/rancher-helm \
|
||||
@@ -87,12 +102,13 @@ ENV HELM_URL_V2_amd64=https://github.com/rancher/helm/releases/download/${CATTLE
|
||||
|
||||
RUN curl -sLf ${KUSTOMIZE_URL} | tar -xzf - -C /usr/bin
|
||||
|
||||
# set up helm 2
|
||||
RUN curl -sLf ${!HELM_URL_V2} > /usr/bin/rancher-helm && \
|
||||
curl -sLf ${!TILLER_URL} > /usr/bin/rancher-tiller && \
|
||||
ln -s /usr/bin/rancher-helm /usr/bin/helm && \
|
||||
ln -s /usr/bin/rancher-tiller /usr/bin/tiller && \
|
||||
chmod +x /usr/bin/rancher-helm /usr/bin/rancher-tiller
|
||||
RUN if [ "${ARCH}" != "s390x" ]; then \
|
||||
curl -sLf ${!HELM_URL_V2} > /usr/bin/rancher-helm && \
|
||||
curl -sLf ${!TILLER_URL} > /usr/bin/rancher-tiller && \
|
||||
ln -s /usr/bin/rancher-helm /usr/bin/helm && \
|
||||
ln -s /usr/bin/rancher-tiller /usr/bin/tiller && \
|
||||
chmod +x /usr/bin/rancher-helm /usr/bin/rancher-tiller; \
|
||||
fi
|
||||
|
||||
# set up helm 3
|
||||
RUN curl ${HELM_URL_V3} | tar xvzf - --strip-components=1 -C /usr/bin && \
|
||||
@@ -100,7 +116,7 @@ RUN curl ${HELM_URL_V3} | tar xvzf - --strip-components=1 -C /usr/bin && \
|
||||
chmod +x /usr/bin/kustomize
|
||||
|
||||
# Set up K3s: copy the necessary binaries from the K3s image.
|
||||
COPY --from=rancher/k3s:v1.22.5-k3s1 \
|
||||
COPY --from=k3s_builder \
|
||||
/bin/blkid \
|
||||
/bin/charon \
|
||||
/bin/cni \
|
||||
@@ -180,6 +196,7 @@ RUN mkdir -p /usr/share/rancher/ui && \
|
||||
curl -sfL https://github.com/rancher/system-agent/releases/download/${CATTLE_SYSTEM_AGENT_VERSION}/rancher-system-agent-arm -O && \
|
||||
curl -sfL https://github.com/rancher/system-agent/releases/download/${CATTLE_SYSTEM_AGENT_VERSION}/rancher-system-agent-arm64 -O && \
|
||||
curl -sfL https://github.com/rancher/system-agent/releases/download/${CATTLE_SYSTEM_AGENT_VERSION}/rancher-system-agent-amd64 -O && \
|
||||
curl -sfL https://github.com/rancher/system-agent/releases/download/${CATTLE_SYSTEM_AGENT_VERSION}/rancher-system-agent-s390x -O && \
|
||||
curl -sfL https://github.com/rancher/system-agent/releases/download/${CATTLE_SYSTEM_AGENT_VERSION}/install.sh -o system-agent-install.sh && \
|
||||
curl -sfL https://raw.githubusercontent.com/rancher/rke2/master/windows/rke2-install.ps1 -o rke2-install.ps1
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ RUN zypper -n install --no-recommends curl ca-certificates jq git-core hostname
|
||||
curl -sLf https://storage.googleapis.com/kubernetes-release/release/${KUBECTL_VERSION}/bin/linux/${ARCH}/kubectl > /usr/bin/kubectl && \
|
||||
chmod +x /usr/bin/kubectl
|
||||
|
||||
ENV LOGLEVEL_VERSION v0.1.3
|
||||
ENV LOGLEVEL_VERSION v0.1.4
|
||||
|
||||
RUN curl -sLf https://github.com/rancher/loglevel/releases/download/${LOGLEVEL_VERSION}/loglevel-${ARCH}-${LOGLEVEL_VERSION}.tar.gz | tar xvzf - -C /usr/bin
|
||||
|
||||
|
||||
@@ -58,13 +58,17 @@ cp -r -l /opt/drivers/management-state/bin /opt/jail/$NAME/var/lib/rancher/manag
|
||||
cp -l /usr/bin/rancher-machine /opt/jail/$NAME/usr/bin
|
||||
|
||||
# Hard link helm_2 into the jail
|
||||
cp -l /usr/bin/rancher-helm /opt/jail/$NAME/usr/bin
|
||||
if [[ -f /usr/bin/rancher-helm ]]; then
|
||||
cp -l /usr/bin/rancher-helm /opt/jail/$NAME/usr/bin
|
||||
fi
|
||||
|
||||
# Hard link helm_3 into the jail
|
||||
cp -l /usr/bin/helm_v3 /opt/jail/$NAME/usr/bin
|
||||
|
||||
# Hard link tiller into the jail
|
||||
cp -l /usr/bin/rancher-tiller /opt/jail/$NAME/usr/bin
|
||||
if [[ -f /usr/bin/rancher-tiler ]]; then
|
||||
cp -l /usr/bin/rancher-tiller /opt/jail/$NAME/usr/bin
|
||||
fi
|
||||
|
||||
# Hard link kustomize into the jail
|
||||
cp -l /usr/bin/kustomize /opt/jail/$NAME/usr/bin
|
||||
|
||||
@@ -108,7 +108,7 @@ var (
|
||||
PartnerChartDefaultBranch = NewSetting("partner-chart-default-branch", "main")
|
||||
RKE2ChartDefaultBranch = NewSetting("rke2-chart-default-branch", "main")
|
||||
FleetDefaultWorkspaceName = NewSetting("fleet-default-workspace-name", fleetconst.ClustersDefaultNamespace) // fleetWorkspaceName to assign to clusters with none
|
||||
ShellImage = NewSetting("shell-image", "rancher/shell:v0.1.14")
|
||||
ShellImage = NewSetting("shell-image", "rancher/shell:v0.1.15")
|
||||
IgnoreNodeName = NewSetting("ignore-node-name", "") // nodes to ignore when syncing v1.node to v3.node
|
||||
NoDefaultAdmin = NewSetting("no-default-admin", "")
|
||||
RestrictedDefaultAdmin = NewSetting("restricted-default-admin", "false") // When bootstrapping the admin for the first time, give them the global role restricted-admin
|
||||
|
||||
@@ -2,6 +2,11 @@
|
||||
|
||||
echo "-- chart/test --"
|
||||
|
||||
# skipping tests for s390x since helm v2 doesn't support s390x yet
|
||||
if [ ${ARCH} == s390x ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Check for helm
|
||||
if [ -z "$(type -p helm)" ]; then
|
||||
echo "helm not found. Helm is required to run tests."
|
||||
|
||||
@@ -38,8 +38,14 @@ SYSTEM_AGENT_INSTALLER_K3S_IMAGES=( "${K3S_RELEASE_TAGS[@]/#/${REPO}/system-agen
|
||||
if [ ${ARCH} == arm64 ]; then
|
||||
sed -i -e '$a\' -e 'ENV ETCD_UNSUPPORTED_ARCH=arm64' Dockerfile
|
||||
fi
|
||||
|
||||
docker build --build-arg VERSION=${TAG} --build-arg ARCH=${ARCH} --build-arg IMAGE_REPO=${REPO} --build-arg SYSTEM_CHART_DEFAULT_BRANCH=${SYSTEM_CHART_DEFAULT_BRANCH} --build-arg CHART_DEFAULT_BRANCH=${CHART_DEFAULT_BRANCH} -t ${IMAGE} .
|
||||
if [ ${ARCH} == s390x ]; then
|
||||
sed -i -e '$a\' -e 'ENV ETCD_UNSUPPORTED_ARCH=s390x' Dockerfile
|
||||
# Use k3s root binaries for s390x as k3s is not available
|
||||
K3S_BUILDER=k3s_root
|
||||
docker build --build-arg VERSION=${TAG} --build-arg ARCH=${ARCH} --build-arg IMAGE_REPO=${REPO} --build-arg SYSTEM_CHART_DEFAULT_BRANCH=${SYSTEM_CHART_DEFAULT_BRANCH} --build-arg CHART_DEFAULT_BRANCH=${CHART_DEFAULT_BRANCH} --build-arg K3S_BUILDER=${K3S_BUILDER} -t ${IMAGE} .
|
||||
else
|
||||
docker build --build-arg VERSION=${TAG} --build-arg ARCH=${ARCH} --build-arg IMAGE_REPO=${REPO} --build-arg SYSTEM_CHART_DEFAULT_BRANCH=${SYSTEM_CHART_DEFAULT_BRANCH} --build-arg CHART_DEFAULT_BRANCH=${CHART_DEFAULT_BRANCH} -t ${IMAGE} .
|
||||
fi
|
||||
|
||||
docker build --build-arg VERSION=${TAG} --build-arg ARCH=${ARCH} --build-arg RANCHER_TAG=${TAG} --build-arg RANCHER_REPO=${REPO} -t ${AGENT_IMAGE} -f Dockerfile.agent .
|
||||
if [ "${ARCH}" == amd64 ]; then
|
||||
|
||||
@@ -15,13 +15,18 @@ cleanup()
|
||||
return $EXIT
|
||||
}
|
||||
|
||||
# skipping tests for s390x since k3s doesn't support s390x yet
|
||||
if [ ${ARCH} == s390x ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
cd $(dirname $0)/..
|
||||
|
||||
#[ "${ARCH}" == "amd64" ] && RACE=-race
|
||||
go test -cover -tags=test ./pkg/...
|
||||
|
||||
if [ ${ARCH} == arm64 ]; then
|
||||
export ETCD_UNSUPPORTED_ARCH=arm64
|
||||
if [ ${ARCH} == arm64 ] || [ ${ARCH} == s390x ]; then
|
||||
export ETCD_UNSUPPORTED_ARCH=${ARCH}
|
||||
fi
|
||||
|
||||
echo Starting rancher server for test
|
||||
|
||||
Reference in New Issue
Block a user