Skip to content

Commit

Permalink
Merge branch 'master' into nsswitch
Browse files Browse the repository at this point in the history
  • Loading branch information
tstromberg committed Aug 24, 2020
2 parents b5ca12c + b28673f commit 23285d8
Show file tree
Hide file tree
Showing 19 changed files with 443 additions and 100 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -892,7 +892,7 @@ jobs:
sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld
START_TIME=$(date -u +%s)
KUBECONFIG=$(pwd)/testhome/kubeconfig MINIKUBE_HOME=$(pwd)/testhome ./e2e-linux-amd64 -minikube-start-args=--driver=docker -test.run "TestMultiNode" -test.timeout=10m -test.v -timeout-multiplier=1.5 -binary=./minikube-linux-amd64 2>&1 | tee ./report/testout.txt
KUBECONFIG=$(pwd)/testhome/kubeconfig MINIKUBE_HOME=$(pwd)/testhome ./e2e-linux-amd64 -minikube-start-args=--driver=docker -test.run "TestMultiNode" -test.timeout=15m -test.v -timeout-multiplier=1.5 -binary=./minikube-linux-amd64 2>&1 | tee ./report/testout.txt
END_TIME=$(date -u +%s)
TIME_ELAPSED=$(($END_TIME-$START_TIME))
min=$((${TIME_ELAPSED}/60))
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -890,7 +890,7 @@ jobs:
sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld
START_TIME=$(date -u +%s)
KUBECONFIG=$(pwd)/testhome/kubeconfig MINIKUBE_HOME=$(pwd)/testhome ./e2e-linux-amd64 -minikube-start-args=--driver=docker -test.run "TestMultiNode" -test.timeout=10m -test.v -timeout-multiplier=1.5 -binary=./minikube-linux-amd64 2>&1 | tee ./report/testout.txt
KUBECONFIG=$(pwd)/testhome/kubeconfig MINIKUBE_HOME=$(pwd)/testhome ./e2e-linux-amd64 -minikube-start-args=--driver=docker -test.run "TestMultiNode" -test.timeout=15m -test.v -timeout-multiplier=1.5 -binary=./minikube-linux-amd64 2>&1 | tee ./report/testout.txt
END_TIME=$(date -u +%s)
TIME_ELAPSED=$(($END_TIME-$START_TIME))
min=$((${TIME_ELAPSED}/60))
Expand Down
51 changes: 46 additions & 5 deletions cmd/minikube/cmd/status.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import (
"fmt"
"io"
"os"
"strconv"
"strings"
"text/template"
"time"
Expand Down Expand Up @@ -80,8 +81,9 @@ const (
Paused = 418 // I'm a teapot!

// 5xx signifies a server-side error (that may be retryable)
Error = 500
Unknown = 520
Error = 500
InsufficientStorage = 507
Unknown = 520
)

var (
Expand All @@ -100,8 +102,13 @@ var (
418: "Paused",

500: "Error",
507: "InsufficientStorage",
520: "Unknown",
}

codeDetails = map[int]string{
507: "/var is almost out of disk space",
}
)

// Status holds string representations of component states
Expand Down Expand Up @@ -258,7 +265,6 @@ func exitCode(statuses []*Status) int {

// nodeStatus looks up the status of a node
func nodeStatus(api libmachine.API, cc config.ClusterConfig, n config.Node) (*Status, error) {

controlPlane := n.ControlPlane
name := driver.MachineName(cc, n)

Expand Down Expand Up @@ -315,6 +321,17 @@ func nodeStatus(api libmachine.API, cc config.ClusterConfig, n config.Node) (*St
return st, err
}

// Check storage
p, err := machine.DiskUsed(cr, "/var")
if err != nil {
glog.Errorf("failed to get storage capacity of /var: %v", err)
st.Host = state.Error.String()
return st, err
}
if p >= 99 {
st.Host = codeNames[InsufficientStorage]
}

stk := kverify.KubeletStatus(cr)
glog.Infof("%s kubelet status = %s", name, stk)
st.Kubelet = stk.String()
Expand Down Expand Up @@ -423,12 +440,15 @@ func readEventLog(name string) ([]cloudevents.Event, time.Time, error) {

// clusterState converts Status structs into a ClusterState struct
func clusterState(sts []*Status) ClusterState {
sc := statusCode(sts[0].Host)
cs := ClusterState{
BinaryVersion: version.GetVersion(),

BaseState: BaseState{
Name: ClusterFlagValue(),
StatusCode: statusCode(sts[0].APIServer),
Name: ClusterFlagValue(),
StatusCode: sc,
StatusName: sts[0].Host,
StatusDetail: codeDetails[sc],
},

Components: map[string]BaseState{
Expand Down Expand Up @@ -499,6 +519,26 @@ func clusterState(sts []*Status) ClusterState {
finalStep = data
glog.Infof("transient code %d (%q) for step: %+v", transientCode, codeNames[transientCode], data)
}
if ev.Type() == "io.k8s.sigs.minikube.error" {
var data map[string]string
err := ev.DataAs(&data)
if err != nil {
glog.Errorf("unable to parse data: %v\nraw data: %s", err, ev.Data())
continue
}
exitCode, err := strconv.Atoi(data["exitcode"])
if err != nil {
glog.Errorf("unable to convert exit code to int: %v", err)
continue
}
transientCode = exitCode
for _, n := range cs.Nodes {
n.StatusCode = transientCode
n.StatusName = codeNames[n.StatusCode]
}

glog.Infof("transient code %d (%q) for step: %+v", transientCode, codeNames[transientCode], data)
}
}

if finalStep != nil {
Expand All @@ -514,6 +554,7 @@ func clusterState(sts []*Status) ClusterState {
}

cs.StatusName = codeNames[cs.StatusCode]
cs.StatusDetail = codeDetails[cs.StatusCode]
return cs
}

Expand Down
3 changes: 1 addition & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -84,8 +84,7 @@ require (
k8s.io/apimachinery v0.17.4
k8s.io/client-go v0.17.4
k8s.io/kubectl v0.0.0
k8s.io/kubernetes v1.17.3
k8s.io/utils v0.0.0-20200229041039-0a110f9eb7ab // indirect
k8s.io/kubernetes v1.18.5
sigs.k8s.io/sig-storage-lib-external-provisioner v4.0.0+incompatible // indirect
sigs.k8s.io/sig-storage-lib-external-provisioner/v5 v5.0.0
)
Expand Down
Loading

0 comments on commit 23285d8

Please sign in to comment.