Skip to content

Commit

Permalink
Only pods in running phase are vallid for status
Browse files Browse the repository at this point in the history
  • Loading branch information
aledbf committed Feb 15, 2018
1 parent 1f79333 commit f8c26b3
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 0 deletions.
14 changes: 14 additions & 0 deletions images/echoheaders/run.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
#!/bin/bash

# Copyright 2018 The Kubernetes Authors.
#
# 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.

echo "Generating self-signed cert"
mkdir -p /certs
openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 \
Expand Down
5 changes: 5 additions & 0 deletions internal/ingress/status/status.go
Original file line number Diff line number Diff line change
Expand Up @@ -260,6 +260,11 @@ func (s *statusSync) runningAddresses() ([]string, error) {
}

for _, pod := range pods.Items {
// only Running pods are valid
if pod.Status.Phase != apiv1.PodRunning {
continue
}

name := k8s.GetNodeIPOrName(s.Client, pod.Spec.NodeName, s.UseNodeInternalIP)
if !sliceutils.StringInSlice(name, addrs) {
addrs = append(addrs, name)
Expand Down
18 changes: 18 additions & 0 deletions internal/ingress/status/status_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,21 @@ func buildSimpleClientSet() *testclient.Clientset {
Spec: apiv1.PodSpec{
NodeName: "foo_node_2",
},
Status: apiv1.PodStatus{
Phase: apiv1.PodRunning,
},
},
{
ObjectMeta: metav1.ObjectMeta{
Name: "foo1-unknown",
Namespace: apiv1.NamespaceDefault,
},
Spec: apiv1.PodSpec{
NodeName: "foo_node_1",
},
Status: apiv1.PodStatus{
Phase: apiv1.PodUnknown,
},
},
{
ObjectMeta: metav1.ObjectMeta{
Expand All @@ -87,6 +102,9 @@ func buildSimpleClientSet() *testclient.Clientset {
Spec: apiv1.PodSpec{
NodeName: "foo_node_2",
},
Status: apiv1.PodStatus{
Phase: apiv1.PodRunning,
},
},
}},
&apiv1.ServiceList{Items: []apiv1.Service{
Expand Down

0 comments on commit f8c26b3

Please sign in to comment.