mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-31 15:25:57 +00:00
Merge pull request #66686 from dims/test-image-for-a-release-1.7-based-sample-apiserver
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. test image for a release 1.7 based sample-apiserver **What this PR does / why we need it**: In our e2e test suite we have use an image "gcr.io/kubernetes-e2e-test-images:k8s-aggregator-sample-apiserver:1.7v2". We need a way to build a fresh image that can we can use instead of that one. Especially we need one that has a multi-arch fat manifest so e2e tests can be run across multiple architectures. This is especially important since we are in the process of promoting the test in question to the conformance suite - https://github.com/kubernetes/kubernetes/pull/63947 **Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*: Fixes # **Special notes for your reviewer**: /cc @mkumatag /cc @ixdy /cc @luxas **Release note**: ```release-note NONE ```
This commit is contained in:
commit
5ef6a6a259
@ -29,6 +29,7 @@ filegroup(
|
||||
"//test/images/port-forward-tester:all-srcs",
|
||||
"//test/images/porter:all-srcs",
|
||||
"//test/images/resource-consumer:all-srcs",
|
||||
"//test/images/sample-apiserver:all-srcs",
|
||||
"//test/images/serve-hostname:all-srcs",
|
||||
"//test/images/test-webserver:all-srcs",
|
||||
"//test/images/webhook:all-srcs",
|
||||
|
@ -70,6 +70,7 @@ build() {
|
||||
if [[ -f BASEIMAGE ]]; then
|
||||
BASEIMAGE=$(getBaseImage ${arch})
|
||||
${SED} -i "s|BASEIMAGE|${BASEIMAGE}|g" Dockerfile
|
||||
${SED} -i "s|BASEARCH|${arch}|g" Dockerfile
|
||||
fi
|
||||
|
||||
# copy the qemu-*-static binary to docker image to build the multi architecture image on x86 platform
|
||||
|
4
test/images/sample-apiserver/BASEIMAGE
Normal file
4
test/images/sample-apiserver/BASEIMAGE
Normal file
@ -0,0 +1,4 @@
|
||||
amd64=alpine:3.8
|
||||
arm=arm32v6/alpine:3.8
|
||||
arm64=arm64v8/alpine:3.8
|
||||
ppc64le=ppc64le/alpine:3.8
|
14
test/images/sample-apiserver/BUILD
Normal file
14
test/images/sample-apiserver/BUILD
Normal file
@ -0,0 +1,14 @@
|
||||
package(default_visibility = ["//visibility:public"])
|
||||
|
||||
filegroup(
|
||||
name = "package-srcs",
|
||||
srcs = glob(["**"]),
|
||||
tags = ["automanaged"],
|
||||
visibility = ["//visibility:private"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all-srcs",
|
||||
srcs = [":package-srcs"],
|
||||
tags = ["automanaged"],
|
||||
)
|
36
test/images/sample-apiserver/Dockerfile
Normal file
36
test/images/sample-apiserver/Dockerfile
Normal file
@ -0,0 +1,36 @@
|
||||
# Copyright 2018 The Kubernetes Authors.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
FROM k8s.gcr.io/kube-cross:v1.10.3-1 as build_k8s_1_7_sample_apiserver
|
||||
|
||||
ENV GOPATH /go
|
||||
RUN mkdir -p ${GOPATH}/src ${GOPATH}/bin
|
||||
ENV PATH $GOPATH/bin:$PATH
|
||||
|
||||
# The e2e aggregator test was originally added in #50347 and is designed to test ability to run a 1.7
|
||||
# sample-apiserver in newer releases. please see e2e test named "Should be able to support the 1.7 Sample
|
||||
# API Server using the current Aggregator"
|
||||
RUN go get -d k8s.io/sample-apiserver \
|
||||
&& cd ${GOPATH}/src/k8s.io/sample-apiserver \
|
||||
&& git checkout --track origin/release-1.7 \
|
||||
&& CGO_ENABLED=0 GOOS=linux GOARCH=BASEARCH go install .
|
||||
|
||||
# for arm, go install uses go/bin/linux_arm, so just find the file and copy it to the root so
|
||||
# we can copy it out from this throw away container image from a standard location
|
||||
RUN find /go/bin -name sample-apiserver -exec cp {} / \;
|
||||
|
||||
FROM BASEIMAGE
|
||||
COPY --from=build_k8s_1_7_sample_apiserver /sample-apiserver /sample-apiserver
|
||||
|
||||
ENTRYPOINT ["/sample-apiserver"]
|
1
test/images/sample-apiserver/VERSION
Normal file
1
test/images/sample-apiserver/VERSION
Normal file
@ -0,0 +1 @@
|
||||
1.0
|
Loading…
Reference in New Issue
Block a user