From 7602eeda4fef4cf960cdf869b3f7c648c91f916f Mon Sep 17 00:00:00 2001 From: Matt Rickard Date: Thu, 11 May 2017 10:51:47 -0700 Subject: [PATCH] Add script to automate localkube upgrades --- Makefile | 7 ++++--- hack/godeps/upgrade-k8s.sh | 42 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 3 deletions(-) create mode 100755 hack/godeps/upgrade-k8s.sh diff --git a/Makefile b/Makefile index 9d7674eb20..7ffd809b8b 100644 --- a/Makefile +++ b/Makefile @@ -50,7 +50,8 @@ PYTHON := $(shell command -v python || echo "docker run --rm -it -v $(shell pwd) BUILD_OS := $(shell uname -s) LOCALKUBE_VERSION := $(shell $(PYTHON) hack/get_k8s_version.py --k8s-version-only 2>&1) -LOCALKUBE_BUCKET := gs://minikube/k8sReleases +LOCALKUBE_BUCKET ?= minikube/k8sReleases +LOCALKUBE_UPLOAD_LOCATION := gs://${LOCALKUBE_BUCKET} TAG ?= $(LOCALKUBE_VERSION) # Set the version information for the Kubernetes servers, and build localkube statically @@ -182,8 +183,8 @@ check-release: .PHONY: release-localkube release-localkube: out/localkube checksum - gsutil cp out/localkube $(LOCALKUBE_BUCKET)/$(LOCALKUBE_VERSION)/localkube-linux-amd64 - gsutil cp out/localkube.sha256 $(LOCALKUBE_BUCKET)/$(LOCALKUBE_VERSION)/localkube-linux-amd64.sha256 + gsutil cp out/localkube $(LOCALKUBE_UPLOAD_LOCATION)/$(LOCALKUBE_VERSION)/localkube-linux-amd64 + gsutil cp out/localkube.sha256 $(LOCALKUBE_UPLOAD_LOCATION)/$(LOCALKUBE_VERSION)/localkube-linux-amd64.sha256 .PHONY: update-releases update-releases: diff --git a/hack/godeps/upgrade-k8s.sh b/hack/godeps/upgrade-k8s.sh new file mode 100755 index 0000000000..8b323190b2 --- /dev/null +++ b/hack/godeps/upgrade-k8s.sh @@ -0,0 +1,42 @@ +#!/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 expects +# K8S_VERSION = the version of kubernetes to be upgraded +# REMOTE = the name of the git remote repository + +KUBE_ORG_ROOT=$GOPATH/src/k8s.io +KUBE_ROOT=${KUBE_ORG_ROOT}/kubernetes +MINIKUBE_ROOT=${KUBE_ORG_ROOT}/minikube + +UPSTREAM_REMOTE=${REMOTE:-origin} + +echo "Restoring old dependencies..." +${MINIKUBE_ROOT}/hack/godeps/godep-restore.sh + +# Upgrade kubernetes +pushd ${KUBE_ROOT} >/dev/null + echo "Upgrading to version ${K8S_VERSION}..." + git fetch ${UPSTREAM_REMOTE} + git checkout ${K8S_VERSION} + ./hack/godep-restore.sh +popd >/dev/null + +echo "Saving new minikube dependencies..." +${MINIKUBE_ROOT}/hack/godeps/godep-save.sh + +LOCALKUBE_BUCKET="minikube-builds/localkube-builds/${K8S_VERSION}" make release-localkube +