Skip to content

Commit c8ff298

Browse files
author
Priya Wadhwa
committed
Merge branch 'master' of https://github.com/kubernetes/minikube into storage-provisioner-as-pod
2 parents 9eb7c1d + bb9b7b1 commit c8ff298

File tree

16 files changed

+106
-53
lines changed

16 files changed

+106
-53
lines changed

CHANGELOG.md

+17
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,22 @@
11
# Minikube Release Notes
22

3+
# Version 0.23.0 - 10/26/2017
4+
* Upgraded to go 1.9 [#2113](https://github.com/kubernetes/minikube/pull/2113)
5+
* Localkube is no longer packaged in minikube bin-data [#2089](https://github.com/kubernetes/minikube/pull/2089)
6+
* Upgraded to Kubernetes 1.8 [#2088](https://github.com/kubernetes/minikube/pull/2088)
7+
* Added more verbose logging to minikube start [#2078](https://github.com/kubernetes/minikube/pull/2078)
8+
* Added CoreDNS as an Addon
9+
* Updated Ingress Addon to v0.9.0-beta.15
10+
* Updated Dashboard to v1.7.0
11+
* Force the none driver to use netgo [#2074](https://github.com/kubernetes/minikube/pull/2074)
12+
* [kvm driver] Driver now returns state.Running for DOM_SHUTDOWN [#2109](https://github.com/kubernetes/minikube/pull/2109)
13+
* [localkube] Added support for CRI-O
14+
* [kubeadm] Added support for CRI-O [#2052](https://github.com/kubernetes/minikube/pull/2052)
15+
* [kubeadm] Added support for feature gates [#2037](https://github.com/kubernetes/minikube/pull/2037)
16+
* [Minikube ISO] Bumped to version v0.23.6 [#2091](https://github.com/kubernetes/minikube/pull/2091)
17+
* [Minikube ISO] Upgraded to Docker 17.05-ce [#1542](https://github.com/kubernetes/minikube/pull/1542)
18+
* [Minikube ISO] Upgraded to CRI-O v1.0.0 [#2069](https://github.com/kubernetes/minikube/pull/2069)
19+
320
# Version 0.22.3 - 10/3/2017
421
* Update dnsmasq to 1.14.5 [2022](https://github.com/kubernetes/minikube/pull/2022)
522
* Windows cache path fix [2000](https://github.com/kubernetes/minikube/pull/2000)

Makefile

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414

1515
# Bump these on release
1616
VERSION_MAJOR ?= 0
17-
VERSION_MINOR ?= 22
18-
VERSION_BUILD ?= 3
17+
VERSION_MINOR ?= 23
18+
VERSION_BUILD ?= 0
1919
VERSION ?= v$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_BUILD)
2020
DEB_VERSION ?= $(VERSION_MAJOR).$(VERSION_MINOR)-$(VERSION_BUILD)
2121
INSTALL_SIZE ?= $(shell du out/minikube-windows-amd64.exe | cut -f1)

cmd/minikube/cmd/status.go

+28-9
Original file line numberDiff line numberDiff line change
@@ -42,23 +42,34 @@ type Status struct {
4242
KubeconfigStatus string
4343
}
4444

45+
const internalErrorCode = -1
46+
47+
const (
48+
minikubeNotRunningStatusFlag = 1 << 0
49+
clusterNotRunningStatusFlag = 1 << 1
50+
k8sNotRunningStatusFlag = 1 << 2
51+
)
52+
4553
// statusCmd represents the status command
4654
var statusCmd = &cobra.Command{
4755
Use: "status",
4856
Short: "Gets the status of a local kubernetes cluster",
49-
Long: `Gets the status of a local kubernetes cluster.`,
57+
Long: `Gets the status of a local kubernetes cluster.
58+
Exit status contains the status of minikube's VM, cluster and kubernetes encoded on it's bits in this order from right to left.
59+
Eg: 7 meaning: 1 (for minikube NOK) + 2 (for cluster NOK) + 4 (for kubernetes NOK)`,
5060
Run: func(cmd *cobra.Command, args []string) {
61+
var returnCode = 0
5162
api, err := machine.NewAPIClient()
5263
if err != nil {
5364
fmt.Fprintf(os.Stderr, "Error getting client: %s\n", err)
54-
os.Exit(1)
65+
os.Exit(internalErrorCode)
5566
}
5667
defer api.Close()
5768

5869
ms, err := cluster.GetHostStatus(api)
5970
if err != nil {
6071
glog.Errorln("Error getting machine status:", err)
61-
cmdUtil.MaybeReportErrorAndExit(err)
72+
cmdUtil.MaybeReportErrorAndExitWithCode(err, internalErrorCode)
6273
}
6374

6475
cs := state.None.String()
@@ -67,43 +78,51 @@ var statusCmd = &cobra.Command{
6778
clusterBootstrapper, err := GetClusterBootstrapper(api, viper.GetString(cmdcfg.Bootstrapper))
6879
if err != nil {
6980
glog.Errorf("Error getting cluster bootstrapper: %s", err)
70-
cmdUtil.MaybeReportErrorAndExit(err)
81+
cmdUtil.MaybeReportErrorAndExitWithCode(err, internalErrorCode)
7182
}
7283
cs, err = clusterBootstrapper.GetClusterStatus()
7384
if err != nil {
7485
glog.Errorln("Error cluster status:", err)
75-
cmdUtil.MaybeReportErrorAndExit(err)
86+
cmdUtil.MaybeReportErrorAndExitWithCode(err, internalErrorCode)
87+
} else if cs != state.Running.String() {
88+
returnCode |= clusterNotRunningStatusFlag
7689
}
90+
7791
ip, err := cluster.GetHostDriverIP(api)
7892
if err != nil {
7993
glog.Errorln("Error host driver ip status:", err)
80-
cmdUtil.MaybeReportErrorAndExit(err)
94+
cmdUtil.MaybeReportErrorAndExitWithCode(err, internalErrorCode)
8195
}
8296
kstatus, err := kubeconfig.GetKubeConfigStatus(ip, cmdUtil.GetKubeConfigPath(), config.GetMachineName())
8397
if err != nil {
8498
glog.Errorln("Error kubeconfig status:", err)
85-
cmdUtil.MaybeReportErrorAndExit(err)
99+
cmdUtil.MaybeReportErrorAndExitWithCode(err, internalErrorCode)
86100
}
87101
if kstatus {
88102
ks = "Correctly Configured: pointing to minikube-vm at " + ip.String()
89103
} else {
90104
ks = "Misconfigured: pointing to stale minikube-vm." +
91105
"\nTo fix the kubectl context, run minikube update-context"
106+
returnCode |= k8sNotRunningStatusFlag
92107
}
108+
} else {
109+
returnCode |= minikubeNotRunningStatusFlag
93110
}
94111

95112
status := Status{ms, cs, ks}
96113

97114
tmpl, err := template.New("status").Parse(statusFormat)
98115
if err != nil {
99116
glog.Errorln("Error creating status template:", err)
100-
os.Exit(1)
117+
os.Exit(internalErrorCode)
101118
}
102119
err = tmpl.Execute(os.Stdout, status)
103120
if err != nil {
104121
glog.Errorln("Error executing status template:", err)
105-
os.Exit(1)
122+
os.Exit(internalErrorCode)
106123
}
124+
125+
os.Exit(returnCode)
107126
},
108127
}
109128

cmd/util/util.go

+5-1
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,10 @@ func UploadError(b []byte, url string) error {
127127
}
128128

129129
func MaybeReportErrorAndExit(errToReport error) {
130+
MaybeReportErrorAndExitWithCode(errToReport, 1)
131+
}
132+
133+
func MaybeReportErrorAndExitWithCode(errToReport error, returnCode int) {
130134
var err error
131135
if viper.GetBool(config.WantReportError) {
132136
err = ReportError(errToReport, constants.ReportingURL)
@@ -146,7 +150,7 @@ To opt out of these messages, run the command:
146150
if err != nil {
147151
glog.Errorf(err.Error())
148152
}
149-
os.Exit(1)
153+
os.Exit(returnCode)
150154
}
151155

152156
func getInput(input chan string, r io.Reader) {

deploy/addons/storage-provisioner/storage-provisioner.yaml

-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ metadata:
2020
labels:
2121
integration-test: storage-provisioner
2222
addonmanager.kubernetes.io/mode: Reconcile
23-
kubernetes.io/minikube-addons: storage-provisioner
2423
spec:
2524
hostNetwork: true
2625
containers:

deploy/minikube/releases.json

+8
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,12 @@
11
[
2+
{
3+
"name": "v0.23.0",
4+
"checksums": {
5+
"darwin": "3d0c5581cd14f85637fb888c1e2e124152c4c9643a257ba90c8cd929d2c2b8b3",
6+
"linux": "cd9c6c640a1632e8c44d9b335e68db869da28442b6ab0642a2b7adbc1e4ef334",
7+
"windows": "ddee80b2505447197994377f40e574061e1d59203019b587361be2b28762fd61"
8+
}
9+
},
210
{
311
"name": "v0.22.3",
412
"checksums": {

deploy/storage-provisioner/Dockerfile

-3
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,5 @@
1313
# limitations under the License.
1414

1515
FROM ubuntu:16.04
16-
1716
COPY main main
18-
1917
CMD ["/main"]
20-

hack/jenkins/minikube_cross_build_and_upload.sh

+6-1
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,15 @@ export GOPATH=/var/lib/jenkins/go
2929

3030
docker kill $(docker ps -q) || true
3131
docker rm $(docker ps -aq) || true
32-
32+
set +e
3333
make -j 16 all
34+
set -e
35+
3436
gsutil cp gs://minikube-builds/logs/index.html gs://minikube-builds/logs/${ghprbPullId}/index.html
3537

38+
# Exit if the cross build failed.
39+
if [ "$?"-ne 0]; then echo "cross build failed"; exit 1; fi
40+
3641
# If there are ISO changes, build and upload the ISO
3742
# then set the default to the newly built ISO for testing
3843
if out="$(git diff ${ghprbActualCommit} --name-only $(git merge-base origin/master ${ghprbActualCommit}) | grep deploy/iso/minikube)" &> /dev/null; then

hack/jenkins/release_build_and_upload.sh

+3-24
Original file line numberDiff line numberDiff line change
@@ -30,45 +30,24 @@ export TAGNAME=v${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_BUILD}
3030
export DEB_VERSION=${VERSION_MAJOR}.${VERSION_MINOR}-${VERSION_BUILD}
3131
export GOPATH=~/go
3232

33-
# Build all binaries in docker
34-
export BUILD_IN_DOCKER=y
35-
36-
# Sanity checks
37-
git status
38-
3933
# Make sure the tag matches the Makefile
4034
cat Makefile | grep "VERSION_MAJOR ?=" | grep $VERSION_MAJOR
4135
cat Makefile | grep "VERSION_MINOR ?=" | grep $VERSION_MINOR
4236
cat Makefile | grep "VERSION_BUILD ?=" | grep $VERSION_BUILD
4337

4438
# Build and upload
45-
make cross checksum
46-
47-
gsutil cp out/minikube-linux-amd64 gs://$BUCKET/releases/$TAGNAME/
48-
gsutil cp out/minikube-linux-amd64.sha256 gs://$BUCKET/releases/$TAGNAME/
49-
gsutil cp out/minikube-darwin-amd64 gs://$BUCKET/releases/$TAGNAME/
50-
gsutil cp out/minikube-darwin-amd64.sha256 gs://$BUCKET/releases/$TAGNAME/
51-
gsutil cp out/minikube-windows-amd64.exe gs://$BUCKET/releases/$TAGNAME/
52-
gsutil cp out/minikube-windows-amd64.exe.sha256 gs://$BUCKET/releases/$TAGNAME/
53-
54-
make out/minikube-installer.exe
55-
gsutil cp out/minikube-installer.exe gs://$BUCKET/releases/$TAGNAME/
56-
57-
make out/minikube_${DEB_VERSION}.deb
58-
gsutil cp out/minikube_${DEB_VERSION}.deb gs://$BUCKET/releases/$TAGNAME/
39+
BUILD_IN_DOCKER=y make -j 16 all out/minikube-installer.exe out/minikube_${DEB_VERSION}.deb
40+
gsutil -m cp out/* gs://$BUCKET/releases/$TAGNAME/
5941

6042
# Bump latest
6143
gsutil cp -r gs://$BUCKET/releases/$TAGNAME/* gs://$BUCKET/releases/latest/
6244

63-
# Build and upload localkube containers
64-
make localkube-image
45+
# Upload localkube containers
6546
TAG="$(docker images "gcr.io/k8s-minikube/localkube-image" --format="{{.Tag}}" | head -n 1)"
6647
gcloud docker -- push gcr.io/k8s-minikube/localkube-image:$TAG
6748

68-
make localkube-dind-image
6949
TAG="$(docker images "gcr.io/k8s-minikube/localkube-dind-image" --format="{{.Tag}}" | head -n 1)"
7050
gcloud docker -- push gcr.io/k8s-minikube/localkube-dind-image:$TAG
7151

72-
make localkube-dind-image-devshell
7352
TAG="$(docker images "gcr.io/k8s-minikube/localkube-dind-image-devshell" --format="{{.Tag}}" | head -n 1)"
7453
gcloud docker -- push gcr.io/k8s-minikube/localkube-dind-image-devshell:$TAG

hack/jenkins/release_github_page.sh

+18-8
Original file line numberDiff line numberDiff line change
@@ -107,11 +107,21 @@ github-release release \
107107
--description "${DESCRIPTION}"
108108

109109
# Uploading the files into github
110-
github-release upload --user ${GITHUB_ORGANIZATION} --repo ${GITHUB_REPO} --tag ${TAGNAME} --name "minikube-linux-amd64" --file out/minikube-linux-amd64
111-
github-release upload --user ${GITHUB_ORGANIZATION} --repo ${GITHUB_REPO} --tag ${TAGNAME} --name "minikube-linux-amd64.sha256" --file out/minikube-linux-amd64.sha256
112-
github-release upload --user ${GITHUB_ORGANIZATION} --repo ${GITHUB_REPO} --tag ${TAGNAME} --name "minikube-darwin-amd64" --file out/minikube-darwin-amd64
113-
github-release upload --user ${GITHUB_ORGANIZATION} --repo ${GITHUB_REPO} --tag ${TAGNAME} --name "minikube-darwin-amd64.sha256" --file out/minikube-darwin-amd64.sha256
114-
github-release upload --user ${GITHUB_ORGANIZATION} --repo ${GITHUB_REPO} --tag ${TAGNAME} --name "minikube-windows-amd64" --file out/minikube-windows-amd64.exe
115-
github-release upload --user ${GITHUB_ORGANIZATION} --repo ${GITHUB_REPO} --tag ${TAGNAME} --name "minikube-windows-amd64.sha256" --file out/minikube-windows-amd64.exe.sha256
116-
github-release upload --user ${GITHUB_ORGANIZATION} --repo ${GITHUB_REPO} --tag ${TAGNAME} --name "minikube-installer.exe" --file out/minikube-installer.exe
117-
github-release upload --user ${GITHUB_ORGANIZATION} --repo ${GITHUB_REPO} --tag ${TAGNAME} --name "minikube_${DEB_VERSION}.deb" --file out/minikube_${DEB_VERSION}.deb
110+
FILES_TO_UPLOAD=(
111+
'minikube-linux-amd64'
112+
'minikube-linux-amd64.sha256'
113+
'minikube-darwin-amd64'
114+
'minikube-darwin-amd64.sha256'
115+
'minikube-windows-amd64'
116+
'minikube-installer.exe'
117+
"minikube_${DEB_VERSION}.deb"
118+
'docker-machine-driver-kvm2'
119+
'docker-machine-driver-hyperkit'
120+
'localkube'
121+
'localkube.sha256'
122+
)
123+
124+
for UPLOAD in "${FILES_TO_UPLOAD[@]}"
125+
do
126+
github-release upload --user ${GITHUB_ORGANIZATION} --repo ${GITHUB_REPO} --tag ${TAGNAME} --name $UPLOAD --file out/$UPLOAD
127+
done

hack/jenkins/release_update_installers.sh

+2-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,8 @@ EOF
7171
{
7272
"title": "Update minikube to ${REPLACE_PKG_VERSION}",
7373
"head": "minikube-bot:${REPLACE_PKG_VERSION}",
74-
"base": "master"
74+
"base": "master",
75+
"body": "cc @r2d4"
7576
}
7677
7778
EOF

pkg/localkube/storage_provisioner.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@ func (lk LocalkubeServer) NewStorageProvisionerServer() Server {
114114
}
115115

116116
func StartStorageProvisioner(lk LocalkubeServer) func() error {
117+
117118
return func() error {
118119
config, err := restclient.InClusterConfig()
119120
if err != nil {
@@ -139,7 +140,7 @@ func StartStorageProvisioner(lk LocalkubeServer) func() error {
139140
// PVs
140141
pc := controller.NewProvisionController(clientset, provisionerName, hostPathProvisioner, serverVersion.GitVersion)
141142

142-
fmt.Println("wait never stop")
143+
glog.Info("Starting storage provisioner server")
143144
pc.Run(wait.NeverStop)
144145
return nil
145146
}

pkg/minikube/constants/constants.go

+6
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,9 @@ var LocalkubeCachedImages = []string{
181181

182182
// Pause
183183
"gcr.io/google_containers/pause-amd64:3.0",
184+
185+
//Storage provisioner
186+
"gcr.io/k8s-minikube/storage-provisioner:v1.8.0",
184187
}
185188

186189
func GetKubeadmCachedImages(version string) []string {
@@ -206,6 +209,9 @@ func GetKubeadmCachedImages(version string) []string {
206209
"gcr.io/google_containers/kube-scheduler-amd64:" + version,
207210
"gcr.io/google_containers/kube-controller-manager-amd64:" + version,
208211
"gcr.io/google_containers/kube-apiserver-amd64:" + version,
212+
213+
//Storage provisioner
214+
"gcr.io/k8s-minikube/storage-provisioner:" + version,
209215
}
210216
}
211217

pkg/minikube/service/service.go

+7-1
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ import (
3636
"text/template"
3737

3838
"k8s.io/apimachinery/pkg/labels"
39+
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
3940
"k8s.io/minikube/pkg/minikube/cluster"
4041
"k8s.io/minikube/pkg/util"
4142
)
@@ -63,7 +64,12 @@ func (k *K8sClientGetter) GetCoreClient() (corev1.CoreV1Interface, error) {
6364

6465
func (*K8sClientGetter) GetClientset() (*kubernetes.Clientset, error) {
6566
loadingRules := clientcmd.NewDefaultClientConfigLoadingRules()
66-
configOverrides := &clientcmd.ConfigOverrides{}
67+
configOverrides := &clientcmd.ConfigOverrides{
68+
Context: clientcmdapi.Context{
69+
Cluster: "minikube",
70+
AuthInfo: "minikube",
71+
},
72+
}
6773
kubeConfig := clientcmd.NewNonInteractiveDeferredLoadingClientConfig(loadingRules, configOverrides)
6874
config, err := kubeConfig.ClientConfig()
6975
if err != nil {

test/integration/start_stop_delete_test.go

+1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import (
3131
func TestStartStop(t *testing.T) {
3232

3333
runner := NewMinikubeRunner(t)
34+
runner.RunCommand("config set WantReportErrorPrompt false", true)
3435
runner.RunCommand("delete", false)
3536
runner.CheckStatus(state.None.String())
3637

test/integration/util/util.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ func (m *MinikubeRunner) SetEnvFromEnvCmdOutput(dockerEnvVars string) error {
130130
}
131131

132132
func (m *MinikubeRunner) GetStatus() string {
133-
return m.RunCommand(fmt.Sprintf("status --format={{.MinikubeStatus}} %s", m.Args), true)
133+
return m.RunCommand(fmt.Sprintf("status --format={{.MinikubeStatus}} %s", m.Args), false)
134134
}
135135

136136
func (m *MinikubeRunner) GetLogs() string {

0 commit comments

Comments
 (0)