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:
Kubernetes Submit Queue 2018-07-30 09:46:01 -07:00 committed by GitHub
commit 5ef6a6a259
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 57 additions and 0 deletions

View File

@ -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",

View File

@ -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

View File

@ -0,0 +1,4 @@
amd64=alpine:3.8
arm=arm32v6/alpine:3.8
arm64=arm64v8/alpine:3.8
ppc64le=ppc64le/alpine:3.8

View 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"],
)

View 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"]

View File

@ -0,0 +1 @@
1.0