mirror of https://github.com/k3s-io/k3s
Adjust the logic, so that if the apiserver restarts, or has no pod info
for some other reason, pods on missing machines are still 'terminated'pull/6/head
parent
b3bfef9127
commit
17cbde0c5a
|
@ -214,7 +214,7 @@ func getInstanceIP(cloud cloudprovider.Interface, host string) string {
|
|||
}
|
||||
|
||||
func getPodStatus(pod *api.Pod, minions client.MinionInterface) (api.PodStatus, error) {
|
||||
if pod.CurrentState.Info == nil || pod.CurrentState.Host == "" {
|
||||
if pod.CurrentState.Host == "" {
|
||||
return api.PodWaiting, nil
|
||||
}
|
||||
res, err := minions.ListMinions()
|
||||
|
@ -232,6 +232,9 @@ func getPodStatus(pod *api.Pod, minions client.MinionInterface) (api.PodStatus,
|
|||
if !found {
|
||||
return api.PodTerminated, nil
|
||||
}
|
||||
if pod.CurrentState.Info == nil {
|
||||
return api.PodWaiting, nil
|
||||
}
|
||||
running := 0
|
||||
stopped := 0
|
||||
unknown := 0
|
||||
|
|
|
@ -296,6 +296,16 @@ func TestMakePodStatus(t *testing.T) {
|
|||
test string
|
||||
}{
|
||||
{&api.Pod{DesiredState: desiredState, CurrentState: currentState}, api.PodWaiting, "waiting"},
|
||||
{
|
||||
&api.Pod{
|
||||
DesiredState: desiredState,
|
||||
CurrentState: api.PodState{
|
||||
Host: "machine-2",
|
||||
},
|
||||
},
|
||||
api.PodTerminated,
|
||||
"no info, but bad machine",
|
||||
},
|
||||
{
|
||||
&api.Pod{
|
||||
DesiredState: desiredState,
|
||||
|
|
Loading…
Reference in New Issue