AArch64 support 83/1683/5
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Mon, 30 Sep 2019 20:48:36 +0000 (22:48 +0200)
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Thu, 17 Oct 2019 14:16:53 +0000 (16:16 +0200)
- kubernetespause: Use multiarch pause image instead of pause-amd64;
- Dockerfile: Instead of pulling CentOS base images from dockerhub,
  create them from scratch from the official SIG-cloudinstance repo:
  http://artifacts.ci.centos.org/sig-cloudinstance/
- spec: Bump minor RPM version;

Co-authored-by: Jimmy Lafontaine Rivera <lafonj@gmail.com>
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Change-Id: I28e0eeea013c0bd8a19ba3611c8583520cd409be

caas-kubernetes.spec
docker-build/hyperkube/Dockerfile
docker-build/kubernetes-builder/Dockerfile
docker-build/kubernetespause/Dockerfile

index 0a0dc7c..2bef22e 100644 (file)
@@ -15,7 +15,7 @@
 %define COMPONENT kubernetes
 %define RPM_NAME caas-%{COMPONENT}
 %define RPM_MAJOR_VERSION 1.16.2
-%define RPM_MINOR_VERSION 0
+%define RPM_MINOR_VERSION 1
 %define IMAGE_TAG %{RPM_MAJOR_VERSION}-%{RPM_MINOR_VERSION}
 %define KUBERNETESPAUSE_VERSION 3.1
 
@@ -25,6 +25,7 @@
 %define docker_build_dir %{_builddir}/%{RPM_NAME}-%{RPM_MAJOR_VERSION}/docker-build
 %define docker_save_dir %{_builddir}/%{RPM_NAME}-%{RPM_MAJOR_VERSION}/docker-save
 %define built_binaries_dir /binary-save
+%define centos_build 191001
 
 Name:           %{RPM_NAME}
 Version:        %{RPM_MAJOR_VERSION}
@@ -36,7 +37,7 @@ Vendor:         %{_platform_vendor} and kubernetes/kubernetes unmodified
 Source0:        %{name}-%{version}.tar.gz
 
 Requires: docker-ce >= 18.09.2, rsync
-BuildRequires: docker-ce-cli >= 18.09.2, xz
+BuildRequires: docker-ce-cli >= 18.09.2, xz, wget
 
 # more info at: https://fedoraproject.org/wiki/Packaging:Debuginfo No build ID note in Flannel
 %global debug_package %{nil}
@@ -50,6 +51,7 @@ This container contains the %{COMPONENT} service.
 
 # Build Kubernetes binaries
 %build
+wget --progress=dot:giga http://artifacts.ci.centos.org/sig-cloudinstance/centos-7-%{centos_build}/%{_arch}/centos-7-%{_arch}-docker.tar.xz -O %{docker_build_dir}/kubernetes-builder/centos-7-docker.tar.xz
 set -x
 docker build \
   --network=host \
@@ -81,6 +83,7 @@ docker rm -f ${builder_container}
 docker rmi kubernetes-builder:%{IMAGE_TAG}
 
 # Build hyperkube container image
+wget --progress=dot:giga http://artifacts.ci.centos.org/sig-cloudinstance/centos-7-%{centos_build}/%{_arch}/centos-7-%{_arch}-docker.tar.xz -O %{docker_build_dir}/hyperkube/centos-7-docker.tar.xz
 rsync -av %{binary_build_dir}/kube-apiserver %{docker_build_dir}/hyperkube/
 rsync -av %{binary_build_dir}/kube-controller-manager %{docker_build_dir}/hyperkube/
 rsync -av %{binary_build_dir}/kube-proxy %{docker_build_dir}/hyperkube/
index 54bd0df..95d9675 100644 (file)
@@ -12,7 +12,9 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-FROM centos:7.6.1810
+FROM scratch
+ADD centos-7-docker.tar.xz /
+CMD ["/bin/bash"]
 MAINTAINER Krisztian Lengyel <krisztian.lengyel@nokia.com>
 
 ARG ceph_version
index e96f12e..cf0e654 100644 (file)
@@ -12,7 +12,9 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-FROM centos:7.6.1810
+FROM scratch
+ADD centos-7-docker.tar.xz /
+CMD ["/bin/bash"]
 MAINTAINER Krisztian Lengyel <krisztian.lengyel@nokia.com>
 
 ARG KUBERNETES_VERSION
@@ -41,7 +43,8 @@ RUN set -x \
       grep \
       util-linux \
 &&  mkdir -p ${go_install_dir} \
-&&  curl -fsSL -k https://dl.google.com/go/go${go_version}.linux-amd64.tar.gz | tar zx --strip-components=1 -C ${go_install_dir} \
+&&  if [ $(uname -m) == 'aarch64' ]; then HOST_ARCH=arm64; else HOST_ARCH=amd64; fi \
+&&  curl -fsSL -k https://dl.google.com/go/go${go_version}.linux-${HOST_ARCH}.tar.gz | tar zx --strip-components=1 -C ${go_install_dir} \
 #
 # Build Kubernetes
 #
@@ -55,4 +58,4 @@ RUN set -x \
 &&  make WHAT="cmd/kube-proxy" \
 &&  make WHAT="cmd/kube-scheduler" \
 &&  mkdir -p ${binaries} \
-&&  mv ./_output/local/bin/linux/amd64/{kubelet,kubectl,kube-apiserver,kube-controller-manager,kube-proxy,kube-scheduler} ${binaries}/ \
+&&  mv ./_output/local/bin/linux/${HOST_ARCH}/{kubelet,kubectl,kube-apiserver,kube-controller-manager,kube-proxy,kube-scheduler} ${binaries}/ \
index ef18cf4..a0c3f3d 100644 (file)
@@ -13,4 +13,4 @@
 # limitations under the License.
 
 ARG KUBERNETESPAUSE_VERSION=3.1
-FROM gcr.io/google-containers/pause-amd64:${KUBERNETESPAUSE_VERSION}
+FROM gcr.io/google-containers/pause:${KUBERNETESPAUSE_VERSION}