Merge pull request #120375 from pegasas/proxy

Improve logging on kube-proxy exit
This commit is contained in:
Kubernetes Prow Robot 2023-09-10 12:08:10 -07:00 committed by GitHub
commit 0ee315b94c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 22 additions and 2 deletions

View File

@ -57,7 +57,7 @@ func (n *NodePodCIDRHandler) OnNodeAdd(node *v1.Node) {
if !reflect.DeepEqual(n.podCIDRs, podCIDRs) { if !reflect.DeepEqual(n.podCIDRs, podCIDRs) {
klog.ErrorS(nil, "Using NodeCIDR LocalDetector mode, current PodCIDRs are different than previous PodCIDRs, restarting", klog.ErrorS(nil, "Using NodeCIDR LocalDetector mode, current PodCIDRs are different than previous PodCIDRs, restarting",
"node", klog.KObj(node), "newPodCIDRs", podCIDRs, "oldPodCIDRs", n.podCIDRs) "node", klog.KObj(node), "newPodCIDRs", podCIDRs, "oldPodCIDRs", n.podCIDRs)
panic("Current Node PodCIDRs are different than previous PodCIDRs, restarting") klog.FlushAndExit(klog.ExitFlushTimeout, 1)
} }
} }
@ -75,7 +75,7 @@ func (n *NodePodCIDRHandler) OnNodeUpdate(_, node *v1.Node) {
if !reflect.DeepEqual(n.podCIDRs, podCIDRs) { if !reflect.DeepEqual(n.podCIDRs, podCIDRs) {
klog.ErrorS(nil, "Using NodeCIDR LocalDetector mode, current PodCIDRs are different than previous PodCIDRs, restarting", klog.ErrorS(nil, "Using NodeCIDR LocalDetector mode, current PodCIDRs are different than previous PodCIDRs, restarting",
"node", klog.KObj(node), "newPodCIDRs", podCIDRs, "oldPODCIDRs", n.podCIDRs) "node", klog.KObj(node), "newPodCIDRs", podCIDRs, "oldPODCIDRs", n.podCIDRs)
panic("Current Node PodCIDRs are different than previous PodCIDRs, restarting") klog.FlushAndExit(klog.ExitFlushTimeout, 1)
} }
} }

View File

@ -17,13 +17,21 @@ limitations under the License.
package proxy package proxy
import ( import (
"strconv"
"testing" "testing"
v1 "k8s.io/api/core/v1" v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/klog/v2"
) )
func TestNodePodCIDRHandlerAdd(t *testing.T) { func TestNodePodCIDRHandlerAdd(t *testing.T) {
oldKlogOsExit := klog.OsExit
defer func() {
klog.OsExit = oldKlogOsExit
}()
klog.OsExit = customExit
tests := []struct { tests := []struct {
name string name string
oldNodePodCIDRs []string oldNodePodCIDRs []string
@ -71,12 +79,19 @@ func TestNodePodCIDRHandlerAdd(t *testing.T) {
t.Errorf("The code did panic") t.Errorf("The code did panic")
} }
}() }()
n.OnNodeAdd(node) n.OnNodeAdd(node)
}) })
} }
} }
func TestNodePodCIDRHandlerUpdate(t *testing.T) { func TestNodePodCIDRHandlerUpdate(t *testing.T) {
oldKlogOsExit := klog.OsExit
defer func() {
klog.OsExit = oldKlogOsExit
}()
klog.OsExit = customExit
tests := []struct { tests := []struct {
name string name string
oldNodePodCIDRs []string oldNodePodCIDRs []string
@ -125,7 +140,12 @@ func TestNodePodCIDRHandlerUpdate(t *testing.T) {
t.Errorf("The code did panic") t.Errorf("The code did panic")
} }
}() }()
n.OnNodeUpdate(oldNode, node) n.OnNodeUpdate(oldNode, node)
}) })
} }
} }
func customExit(exitCode int) {
panic(strconv.Itoa(exitCode))
}