diff options
-rw-r--r-- | testing/kubernetes/APKBUILD | 66 | ||||
-rw-r--r-- | testing/kubernetes/add-openrc-support.patch | 110 | ||||
-rw-r--r-- | testing/kubernetes/bindata.patch | 30 | ||||
-rw-r--r-- | testing/kubernetes/kube-apiserver.confd | 7 | ||||
-rw-r--r-- | testing/kubernetes/kube-apiserver.initd | 20 | ||||
-rw-r--r-- | testing/kubernetes/kube-apiserver.logrotated | 7 | ||||
-rw-r--r-- | testing/kubernetes/kube-controller-manager.confd | 7 | ||||
-rw-r--r-- | testing/kubernetes/kube-controller-manager.initd | 19 | ||||
-rw-r--r-- | testing/kubernetes/kube-controller-manager.logrotated | 7 | ||||
-rw-r--r-- | testing/kubernetes/kube-proxy.confd | 4 | ||||
-rw-r--r-- | testing/kubernetes/kube-proxy.initd | 20 | ||||
-rw-r--r-- | testing/kubernetes/kube-proxy.logrotated | 8 | ||||
-rw-r--r-- | testing/kubernetes/kube-scheduler.confd | 7 | ||||
-rw-r--r-- | testing/kubernetes/kube-scheduler.initd | 19 | ||||
-rw-r--r-- | testing/kubernetes/kube-scheduler.logrotated | 7 | ||||
-rw-r--r-- | testing/kubernetes/kubelet.confd | 4 | ||||
-rw-r--r-- | testing/kubernetes/kubelet.initd | 20 | ||||
-rw-r--r-- | testing/kubernetes/kubelet.logrotated | 7 |
18 files changed, 250 insertions, 119 deletions
diff --git a/testing/kubernetes/APKBUILD b/testing/kubernetes/APKBUILD index c810c6d5e0..87ec82d160 100644 --- a/testing/kubernetes/APKBUILD +++ b/testing/kubernetes/APKBUILD @@ -3,48 +3,96 @@ # Contributor: Tiago Ilieve <tiago.myhro@gmail.com> # Maintainer: Francesco Colista <fcolista@alpinelinux.org> pkgname=kubernetes -pkgver=1.14.3 -pkgrel=1 +pkgver=1.15.0 +pkgrel=0 pkgdesc="Container Cluster Manager for Docker" url="https://kubernetes.io/" arch="x86_64 armhf" license="Apache-2.0" options="!check" # Tests hang depends="bash" -makedepends="coreutils findutils go linux-headers rsync grep" +makedepends="coreutils findutils go go-bindata linux-headers rsync grep" source="$pkgname-$pkgver.tar.gz::https://github.com/kubernetes/kubernetes/archive/v$pkgver.tar.gz ensure-cgo-usage.patch make-e2e_node-run-over-distro-bins.patch make-test-cmd-run-over-hyperkube-based-kubectl.patch - remove-apiserver-add-kube-prefix-for-hyperkube.patch - add-openrc-support.patch + bindata.patch + + kube-apiserver.initd + kube-apiserver.confd + kube-apiserver.logrotated + + kube-controller-manager.initd + kube-controller-manager.confd + kube-controller-manager.logrotated + + kube-proxy.initd + kube-proxy.confd + kube-proxy.logrotated + + kube-scheduler.initd + kube-scheduler.confd + kube-scheduler.logrotated + + kubelet.initd + kubelet.confd + kubelet.logrotated " build() { - KUBE_VERBOSE=2 make -j1 + make -j1 } package() { local binaries="hyperkube kube-apiserver kube-controller-manager + cloud-controller-manager kube-scheduler kubeadm kubectl kubelet kube-proxy" + for bin in $binaries; do + mkdir -p "$pkgdir"/var/log/$bin case "$CARCH" in arm*) install -Dm755 _output/local/bin/linux/arm/$bin "$pkgdir"/usr/bin/$bin ;; x86_64) install -Dm755 _output/local/bin/linux/amd64/$bin "$pkgdir"/usr/bin/$bin ;; esac done + install -d $pkgdir/var/lib/kubelet + + local i; for i in $source; do + case $i in + *.initd) install -Dm755 "$srcdir/$i" \ + "$pkgdir/etc/init.d/${i%.*}" ;; + *.confd) install -Dm644 "$srcdir/$i" \ + "$pkgdir/etc/conf.d/${i%.*}" ;; + *.logrotate) install -Dm644 "$srcdir/$i" \ + "$pkgdir/etc/logrotate.d/${i%.*}" ;; + esac + done } -sha512sums="3fab0b5f142644454d22abfc99454adb3d3055b132cf93b6a0f6a0088b6a7938835edee813611756e80a21b1473e62c179905d77d3f2288bd5c60c6a43e60361 kubernetes-1.14.3.tar.gz +sha512sums="764268020e0fc27e8325058fefbc53200996e5a8f963c9156cf079425cdfed7545522ff8c779bfa074db8739e3ab97e829a049deaf0a0568f1434d7c1ed8446b kubernetes-1.15.0.tar.gz bfe072d2f53543b8d704319755f3cfe5ed2467b54879e22117a25a9d7d6d4d238356e45824deaf4d18b8e9eb6f34d1de43be4840b9906f7909478ffe9e8a65ff ensure-cgo-usage.patch 8faa8f1c777740ed33ac4e46e8e47e9092098b6e672cf57a10caab2212b9b5c6965361fe7107d1311227e6145e2ad312982dc0340feb36b03ebb04e1202366f0 make-e2e_node-run-over-distro-bins.patch d2d50f869160c266ec677be58f0401fb6446129de3e194b4c8599a6a8000d42290de553ee07b488fcdda80ffe94c640e0846ffbd7fbca94c5684d5f373e4c9f3 make-test-cmd-run-over-hyperkube-based-kubectl.patch -100d439c8c5114fc8ac5e2c40f536b89b6165907e94112358365901e57329f5c813c5bf8ea5da5aba71574efb973bc028cafb7b168f50c9fa5a6b019c31c3884 remove-apiserver-add-kube-prefix-for-hyperkube.patch -8aec0a1cda24fcd7001e34ff6163aee7eaf679dea953068b58df3578c016f70e1406903e032a51519bc16ac0dbe583159d1cf4d504adbb2930d811cc2f762cfe add-openrc-support.patch" +13f90690564664cc1d7ca26ed3f62fea42b84050f8fd2432ff16fce21d42c7a2e9935739ab4dcb01b5289879522ecdd2d00bfe01337c3836766ce430f513245f bindata.patch +8f4c98fe007ead2528f8efdb1117a752230d1c4039bc91fad5caf2919aa19f3fbe866c0b96b801cf4ed43d949e79da907003666fa447e4eda9b71e7d818c5315 kube-apiserver.initd +7e3baab9b034e7048ed3cda8d09444c76369874cecc0a747fb5484c482fef464adb5ccc25fcb4481fb4aff68415a60462f6cbee2138810316f0cf822637676c1 kube-controller-manager.initd +24b8f8990b54d92ad03e2b9a0605260df5462d2565213171e0f1044516f2b5cbbb2d893cd6697c472cf7018723852927c62f4514d08ad844586bce5bab0b45cd kube-proxy.initd +151ea6f5cc36de9b83f0e5365579e33eea8002f9a03f5f61d195a349236e6baf192f701d3fb591b769aa90e8e1e620d525b20c95a1e8cda58d062971d8f587a3 kube-scheduler.initd +6f8268eb8626d2e5d884e8a714861abebc92f1e7ebc9d50ab6d122fdec4e88aa672a3df900c3ce1deac36ba9991c914d7564adc0ef0e965b5975a86d51874962 kubelet.initd +302b2a7ec715967c0aa7d1c177d4e55b26e37ebba8d04dd37ecf627d20042fe91cd7e6192ff9d71422129b0ea54a9eec6046f505af550548bd450998924f37ee kube-apiserver.confd +347dcf514abec4bc94036955d0fb2d32f141a39d1a70d7fb37e7bf8eb5792e5c29560d500a08aafcd3e19422d04466004b832bca7108eb2815610feb144688fe kube-controller-manager.confd +4c8c34ae8668bcfa5167c2d2af006fc46b461a5dafb3ec5b64cb8cdf2a830c22ddb5cf806c93b1404f60dabf91b4153724947fa2d2c494376f20e637eeed5018 kube-proxy.confd +af88b382ab75657d0ff13c3f8f6d924cef9f2df7807a9a27daa63495981801bc4b607998f65c0758c11a7e070e43c24f7184ba7720711109c74b1c4d57919e34 kube-scheduler.confd +2ae3bbc8a66da644b59d7f753294ad43d5675edbe2e4769b91d7c988d0eeffd5b4209a10650ad937f9698b1b6050279d448c75274815a6b348ad2023f2fef08e kubelet.confd +1a4bcd54dafaedc614e34bbadc2a1163f003b5925d47552fb2c47049c033c147e612171e263d9659d189fc2d95688a0b7153322d8dba97c083c079fdef6c400e kube-apiserver.logrotated +e00cd9297d8ac75fcd504a2bfb80d5c5e145e7d475dd15edf9361dc28721afdc069c5b6e79438b75a774e972028841a17e8f7842dcfb3d7835c436a3e503704c kube-controller-manager.logrotated +d7e022ee22da191bda7382f87cb293d9c9d115a3df0c2054bf918279eb866f99c6d5c21e4c98eae84bacf925f7793bbe3087e0bcf6732ccb33844d15e4386fb5 kube-proxy.logrotated +3692da349dd6ed0f5acc09d7b95ac562ffecb103e2270bebdfe4a7808d48dada9d2debff262d85b11c47f9ca3f0c20000712d03629ed813ff08a3e02d69267e6 kube-scheduler.logrotated +dda5fb57b55926fd2e9cebe6c1593da699afba0398c58dfa8b923c53a9ae6e63d765778577211460047f20863a6095e8e2ab3e7769e38c4f6a1c55c0e3485501 kubelet.logrotated" diff --git a/testing/kubernetes/add-openrc-support.patch b/testing/kubernetes/add-openrc-support.patch deleted file mode 100644 index f4da52f082..0000000000 --- a/testing/kubernetes/add-openrc-support.patch +++ /dev/null @@ -1,110 +0,0 @@ -Needed for OpenRC support until https://github.com/kubernetes/kubernetes/pull/73101 is merged. - -Brought to attention by https://bugs.alpinelinux.org/issues/10179 - ---------------------------------- ---- a/pkg/util/initsystem/initsystem.go -+++ b/pkg/util/initsystem/initsystem.go -@@ -1,5 +1,5 @@ - /* --Copyright 2016 The Kubernetes Authors. -+Copyright 2019 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. -@@ -23,6 +23,9 @@ - ) - - type InitSystem interface { -+ // return a string describing how to enable a service -+ EnableCommand(service string) string -+ - // ServiceStart tries to start a specific service - ServiceStart(service string) error - -@@ -42,8 +45,63 @@ - ServiceIsActive(service string) bool - } - -+type OpenRCInitSystem struct{} -+ -+func (openrc OpenRCInitSystem) ServiceStart(service string) error { -+ args := []string{service, "start"} -+ return exec.Command("rc-service", args...).Run() -+} -+ -+func (openrc OpenRCInitSystem) ServiceStop(service string) error { -+ args := []string{service, "stop"} -+ return exec.Command("rc-service", args...).Run() -+} -+ -+func (openrc OpenRCInitSystem) ServiceRestart(service string) error { -+ args := []string{service, "restart"} -+ return exec.Command("rc-service", args...).Run() -+} -+ -+// openrc writes to stderr if a service is not found or not enabled -+// this is in contrast to systemd which only writes to stdout. -+// Hence, we use the Combinedoutput, and ignore the error. -+func (openrc OpenRCInitSystem) ServiceExists(service string) bool { -+ args := []string{service, "status"} -+ outBytes, _ := exec.Command("rc-service", args...).CombinedOutput() -+ if strings.Contains(string(outBytes), "does not exist") { -+ return false -+ } -+ return true -+} -+ -+func (openrc OpenRCInitSystem) ServiceIsEnabled(service string) bool { -+ args := []string{"show", "default"} -+ outBytes, _ := exec.Command("rc-update", args...).Output() -+ if strings.Contains(string(outBytes), service) { -+ return true -+ } -+ return false -+} -+ -+func (openrc OpenRCInitSystem) ServiceIsActive(service string) bool { -+ args := []string{service, "status"} -+ outBytes, _ := exec.Command("rc-service", args...).Output() -+ if strings.Contains(string(outBytes), "stopped") { -+ return false -+ } -+ return true -+} -+ -+func (openrc OpenRCInitSystem) EnableCommand(service string) string { -+ return fmt.Sprintf("rc-update add %s default", service) -+} -+ - type SystemdInitSystem struct{} - -+func (sysd SystemdInitSystem) EnableCommand(service string) string { -+ return fmt.Sprintf("systemctl enable %s.service", service) -+} -+ - func (sysd SystemdInitSystem) reloadSystemd() error { - if err := exec.Command("systemctl", "daemon-reload").Run(); err != nil { - return fmt.Errorf("failed to reload systemd: %v", err) -@@ -110,6 +168,10 @@ - // WindowsInitSystem is the windows implementation of InitSystem - type WindowsInitSystem struct{} - -+func (sysd WindowsInitSystem) EnableCommand(service string) string { -+ return fmt.Sprintf("Set-Service '%s' -StartupType Automatic", service) -+} -+ - func (sysd WindowsInitSystem) ServiceStart(service string) error { - args := []string{"Start-Service", service} - err := exec.Command("powershell", args...).Run() -@@ -170,6 +232,10 @@ - _, err := exec.LookPath("systemctl") - if err == nil { - return &SystemdInitSystem{}, nil -+ } -+ _, err = exec.LookPath("openrc") -+ if err == nil { -+ return &OpenRCInitSystem{}, nil - } - _, err = exec.LookPath("wininit.exe") - if err == nil { diff --git a/testing/kubernetes/bindata.patch b/testing/kubernetes/bindata.patch new file mode 100644 index 0000000000..19aa194d1b --- /dev/null +++ b/testing/kubernetes/bindata.patch @@ -0,0 +1,30 @@ +diff --git a/hack/generate-bindata.sh b/hack/generate-bindata.sh +index 995f1d17..32d04188 100755 +--- a/hack/generate-bindata.sh ++++ b/hack/generate-bindata.sh +@@ -30,7 +30,6 @@ fi + + # kube::golang::build_kube_toolchain installs the vendored go-bindata in + # $GOPATH/bin, so make sure that's explicitly part of our $PATH. +-export PATH="${KUBE_OUTPUT_BINPATH}:${PATH}" + + if ! which go-bindata &>/dev/null ; then + echo "Cannot find go-bindata." +diff --git a/hack/lib/golang.sh b/hack/lib/golang.sh +index f20a55b3..ca6ae34d 100755 +--- a/hack/lib/golang.sh ++++ b/hack/lib/golang.sh +@@ -778,11 +778,11 @@ kube::golang::build_binaries() { + host_platform=$(kube::golang::host_platform) + + local goflags goldflags goasmflags gogcflags +- # If GOLDFLAGS is unset, then set it to the a default of "-s -w". ++ # If GOLDFLAGS is unset, then set it to the a default of "-w". + # Disable SC2153 for this, as it will throw a warning that the local + # variable goldflags will exist, and it suggest changing it to this. + # shellcheck disable=SC2153 +- goldflags="${GOLDFLAGS=-s -w} $(kube::version::ldflags)" ++ goldflags="${GOLDFLAGS=-w} $(kube::version::ldflags)" + goasmflags="-trimpath=${KUBE_ROOT}" + gogcflags="${GOGCFLAGS:-} -trimpath=${KUBE_ROOT}" + diff --git a/testing/kubernetes/kube-apiserver.confd b/testing/kubernetes/kube-apiserver.confd new file mode 100644 index 0000000000..db74d27f02 --- /dev/null +++ b/testing/kubernetes/kube-apiserver.confd @@ -0,0 +1,7 @@ +### +# kubernetes system config +# +# The following values are used to configure the kube-apiserver +# + +command_args="" diff --git a/testing/kubernetes/kube-apiserver.initd b/testing/kubernetes/kube-apiserver.initd new file mode 100644 index 0000000000..db1f6f7a7a --- /dev/null +++ b/testing/kubernetes/kube-apiserver.initd @@ -0,0 +1,20 @@ +#!/sbin/openrc-run +# Copyright 2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Kubernetes API Server" +pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"} +user=${user:-${RC_SVCNAME}} +group=${group:-${RC_SVCNAME}} + +command="/usr/bin/kube-apiserver" +command_args="${command_args}" +command_background="true" +start_stop_daemon_args="--user ${user} --group ${group} \ + --stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \ + --stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log" + +depend() { + after net +} + diff --git a/testing/kubernetes/kube-apiserver.logrotated b/testing/kubernetes/kube-apiserver.logrotated new file mode 100644 index 0000000000..4ed8450623 --- /dev/null +++ b/testing/kubernetes/kube-apiserver.logrotated @@ -0,0 +1,7 @@ +/var/log/kube-apiserver/*.log { + missingok + size 5M + rotate 3 + compress + copytruncate +} diff --git a/testing/kubernetes/kube-controller-manager.confd b/testing/kubernetes/kube-controller-manager.confd new file mode 100644 index 0000000000..5134f2b2df --- /dev/null +++ b/testing/kubernetes/kube-controller-manager.confd @@ -0,0 +1,7 @@ +### +# kubernetes system config +# +# The following values are used to configure the kube-controller-manager +# + +command_args="" diff --git a/testing/kubernetes/kube-controller-manager.initd b/testing/kubernetes/kube-controller-manager.initd new file mode 100644 index 0000000000..276197f065 --- /dev/null +++ b/testing/kubernetes/kube-controller-manager.initd @@ -0,0 +1,19 @@ +#!/sbin/openrc-run +# Copyright 2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Kubernetes Controller Manager service" +pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"} +user=${user:-${RC_SVCNAME}} +group=${group:-${RC_SVCNAME}} + +command="/usr/bin/kube-controller-manager" +command_args="${command_args}" +command_background="true" +start_stop_daemon_args="--user ${user} --group ${group} \ + --stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \ + --stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log" + +depend() { + after net +} diff --git a/testing/kubernetes/kube-controller-manager.logrotated b/testing/kubernetes/kube-controller-manager.logrotated new file mode 100644 index 0000000000..06efce2340 --- /dev/null +++ b/testing/kubernetes/kube-controller-manager.logrotated @@ -0,0 +1,7 @@ +/var/log/kube-controller-manager/*.log { + missingok + size 5M + rotate 3 + compress + copytruncate +} diff --git a/testing/kubernetes/kube-proxy.confd b/testing/kubernetes/kube-proxy.confd new file mode 100644 index 0000000000..00f33f358b --- /dev/null +++ b/testing/kubernetes/kube-proxy.confd @@ -0,0 +1,4 @@ +### +# Kubernetes kube-proxy config +# +command_args="" diff --git a/testing/kubernetes/kube-proxy.initd b/testing/kubernetes/kube-proxy.initd new file mode 100644 index 0000000000..e9d2c0e48e --- /dev/null +++ b/testing/kubernetes/kube-proxy.initd @@ -0,0 +1,20 @@ +#!/sbin/openrc-run +# Copyright 2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Kubernetes Proxy service" +pidfile=${pidfile:-"/run/${SVCNAME}.pid"} +user=${user:-root} +group=${group:-root} + +command="/usr/bin/kube-proxy" +command_args="${command_args}" +command_background="true" +start_stop_daemon_args="--user ${user} --group ${group} \ + --stdout /var/log/${SVCNAME}/${SVCNAME}.log \ + --stderr /var/log/${SVCNAME}/${SVCNAME}.log" + +depend() { + after net +} + diff --git a/testing/kubernetes/kube-proxy.logrotated b/testing/kubernetes/kube-proxy.logrotated new file mode 100644 index 0000000000..e90a101513 --- /dev/null +++ b/testing/kubernetes/kube-proxy.logrotated @@ -0,0 +1,8 @@ +/var/log/kube-proxy/*.log { + missingok + size 5M + rotate 3 + compress + copytruncate +} + diff --git a/testing/kubernetes/kube-scheduler.confd b/testing/kubernetes/kube-scheduler.confd new file mode 100644 index 0000000000..35da3d2228 --- /dev/null +++ b/testing/kubernetes/kube-scheduler.confd @@ -0,0 +1,7 @@ +### +# kubernetes system config +# +# The following values are used to configure the kube-scheduler +# + +command_args="" diff --git a/testing/kubernetes/kube-scheduler.initd b/testing/kubernetes/kube-scheduler.initd new file mode 100644 index 0000000000..2c49bce3ec --- /dev/null +++ b/testing/kubernetes/kube-scheduler.initd @@ -0,0 +1,19 @@ +#!/sbin/openrc-run +# Copyright 2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Kubernetes Scheduler service" +pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"} +user=${user:-${RC_SVCNAME}} +group=${group:-${RC_SVCNAME}} + +command="/usr/bin/kube-scheduler" +command_args="${command_args}" +command_background="true" +start_stop_daemon_args="--user ${user} --group ${group} \ + --stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \ + --stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log" + +depend() { + after net +} diff --git a/testing/kubernetes/kube-scheduler.logrotated b/testing/kubernetes/kube-scheduler.logrotated new file mode 100644 index 0000000000..6cce6c6f5b --- /dev/null +++ b/testing/kubernetes/kube-scheduler.logrotated @@ -0,0 +1,7 @@ +/var/log/kube-scheduler/*.log { + missingok + size 5M + rotate 3 + compress + copytruncate +} diff --git a/testing/kubernetes/kubelet.confd b/testing/kubernetes/kubelet.confd new file mode 100644 index 0000000000..24f424877e --- /dev/null +++ b/testing/kubernetes/kubelet.confd @@ -0,0 +1,4 @@ +### +# Kubernetes Kubelet (worker) config + +command_args="" diff --git a/testing/kubernetes/kubelet.initd b/testing/kubernetes/kubelet.initd new file mode 100644 index 0000000000..2f6b4eaf5d --- /dev/null +++ b/testing/kubernetes/kubelet.initd @@ -0,0 +1,20 @@ +#!/sbin/openrc-run +# Copyright 2016-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Kubelet, a Kubernetes node agent" +pidfile=${pidfile:-"/run/${SVCNAME}/${SVCNAME}.pid"} +user=${user:-root} +group=${group:-root} + +command="/usr/bin/kubelet" +command_args="${command_args}" +command_background="true" +start_stop_daemon_args="--user ${user} --group ${group} \ + --stdout /var/log/kubelet/${SVCNAME}.log \ + --stderr /var/log/kubelet/${SVCNAME}.log" + +depend() { + need net + after net +} diff --git a/testing/kubernetes/kubelet.logrotated b/testing/kubernetes/kubelet.logrotated new file mode 100644 index 0000000000..f87767fe98 --- /dev/null +++ b/testing/kubernetes/kubelet.logrotated @@ -0,0 +1,7 @@ +/var/log/kubelet/*.log { + missingok + size 5M + rotate 3 + compress + copytruncate +} |