From 72a355389dbec2b42cb14756175044042e64ef9a Mon Sep 17 00:00:00 2001 From: Medya Gh Date: Tue, 25 Feb 2020 13:25:57 -0800 Subject: [PATCH] add mac os integration test for docker driver --- hack/jenkins/common.sh | 2 +- .../jenkins/cron/cleanup_and_reboot_Darwin.sh | 5 +++ hack/jenkins/cron/cleanup_and_reboot_Linux.sh | 5 +++ hack/jenkins/minikube_set_pending.sh | 1 + hack/jenkins/osx_integration_tests_docker.sh | 41 +++++++++++++++++++ 5 files changed, 53 insertions(+), 1 deletion(-) create mode 100755 hack/jenkins/osx_integration_tests_docker.sh diff --git a/hack/jenkins/common.sh b/hack/jenkins/common.sh index 7153b5aead..eecf71fc99 100755 --- a/hack/jenkins/common.sh +++ b/hack/jenkins/common.sh @@ -33,7 +33,7 @@ export PATH=$PATH:"/usr/local/bin/:/usr/local/go/bin/:$GOPATH/bin" # installing golang so we could do go get for gopogh sudo ./installers/check_install_golang.sh "1.13.6" "/usr/local" || true -docker rm -f $(docker ps -aq) >/dev/null 2>&1 || true +docker rm -f -v $(docker ps -aq) >/dev/null 2>&1 || true docker volume prune -f || true docker system df || true diff --git a/hack/jenkins/cron/cleanup_and_reboot_Darwin.sh b/hack/jenkins/cron/cleanup_and_reboot_Darwin.sh index 993d6c82f6..e8f0c73415 100755 --- a/hack/jenkins/cron/cleanup_and_reboot_Darwin.sh +++ b/hack/jenkins/cron/cleanup_and_reboot_Darwin.sh @@ -41,6 +41,11 @@ logger "cleanup_and_reboot is happening!" # kill jenkins to avoid an incoming request killall java +# clean docker left overs +docker rm -f -v $(docker ps -aq) >/dev/null 2>&1 || true +docker volume prune -f || true +docker system df || true + # macOS specific cleanup sudo rm /var/db/dhcpd_leases || echo "could not clear dhcpd leases" sudo softwareupdate -i -a -R diff --git a/hack/jenkins/cron/cleanup_and_reboot_Linux.sh b/hack/jenkins/cron/cleanup_and_reboot_Linux.sh index b2e067c58e..c55742970b 100755 --- a/hack/jenkins/cron/cleanup_and_reboot_Linux.sh +++ b/hack/jenkins/cron/cleanup_and_reboot_Linux.sh @@ -36,6 +36,11 @@ logger "cleanup_and_reboot is happening!" # kill jenkins to avoid an incoming request killall java +# clean docker left overs +docker rm -f -v $(docker ps -aq) >/dev/null 2>&1 || true +docker volume prune -f || true +docker system df || true + # Linux-specific cleanup # disable localkube, kubelet diff --git a/hack/jenkins/minikube_set_pending.sh b/hack/jenkins/minikube_set_pending.sh index c26324635a..1d91deaa31 100755 --- a/hack/jenkins/minikube_set_pending.sh +++ b/hack/jenkins/minikube_set_pending.sh @@ -41,6 +41,7 @@ jobs=( 'KVM_Linux' 'none_Linux' 'Docker_Linux' + 'Docker_macOS' 'Podman_Linux' ) diff --git a/hack/jenkins/osx_integration_tests_docker.sh b/hack/jenkins/osx_integration_tests_docker.sh new file mode 100755 index 0000000000..648c00c636 --- /dev/null +++ b/hack/jenkins/osx_integration_tests_docker.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +# Copyright 2016 The Kubernetes Authors All rights reserved. +# +# 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. + + +# This script runs the integration tests on an OSX machine for the Hyperkit Driver + +# The script expects the following env variables: +# MINIKUBE_LOCATION: GIT_COMMIT from upstream build. +# COMMIT: Actual commit ID from upstream build +# EXTRA_BUILD_ARGS (optional): Extra args to be passed into the minikube integrations tests +# access_token: The Github API access token. Injected by the Jenkins credential provider. + + +set -e + +OS_ARCH="darwin-amd64" +VM_DRIVER="docker" +JOB_NAME="Docker_macOS" +EXTRA_START_ARGS="" +EXPECTED_DEFAULT_DRIVER="hyperkit" + + +mkdir -p cron && gsutil -qm rsync "gs://minikube-builds/${MINIKUBE_LOCATION}/cron" cron || echo "FAILED TO GET CRON FILES" +install cron/cleanup_and_reboot_Darwin.sh $HOME/cleanup_and_reboot.sh || echo "FAILED TO INSTALL CLEANUP" +echo "*/30 * * * * $HOME/cleanup_and_reboot.sh" | crontab +crontab -l + +source common.sh