From 335d70a6d1642e7d1d43f094acc02310e9c7afd0 Mon Sep 17 00:00:00 2001 From: Pengfei Ni Date: Sun, 8 Apr 2018 11:14:36 +0800 Subject: [PATCH 1/2] Check CIDR before updating node status --- pkg/kubelet/kubelet_node_status.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkg/kubelet/kubelet_node_status.go b/pkg/kubelet/kubelet_node_status.go index 3d842b2f72a..adeaa47a64c 100644 --- a/pkg/kubelet/kubelet_node_status.go +++ b/pkg/kubelet/kubelet_node_status.go @@ -381,7 +381,9 @@ func (kl *Kubelet) tryUpdateNodeStatus(tryNumber int) error { return fmt.Errorf("nil %q node object", kl.nodeName) } - kl.updatePodCIDR(node.Spec.PodCIDR) + if node.Spec.PodCIDR != "" { + kl.updatePodCIDR(node.Spec.PodCIDR) + } kl.setNodeStatus(node) // Patch the current status on the API server From 91c6cfed2fe32af72291735b1ac4582a1232c24d Mon Sep 17 00:00:00 2001 From: Pengfei Ni Date: Fri, 27 Apr 2018 11:14:43 +0800 Subject: [PATCH 2/2] Also update CRI to indicate runtimes should not update empty CIDR --- pkg/kubelet/apis/cri/runtime/v1alpha2/api.pb.go | 3 ++- pkg/kubelet/apis/cri/runtime/v1alpha2/api.proto | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/pkg/kubelet/apis/cri/runtime/v1alpha2/api.pb.go b/pkg/kubelet/apis/cri/runtime/v1alpha2/api.pb.go index 826b3ec483b..b0d69d9a75e 100644 --- a/pkg/kubelet/apis/cri/runtime/v1alpha2/api.pb.go +++ b/pkg/kubelet/apis/cri/runtime/v1alpha2/api.pb.go @@ -3052,7 +3052,8 @@ func (*RemoveImageResponse) ProtoMessage() {} func (*RemoveImageResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{76} } type NetworkConfig struct { - // CIDR to use for pod IP addresses. + // CIDR to use for pod IP addresses. If the CIDR is empty, runtimes + // should omit it. PodCidr string `protobuf:"bytes,1,opt,name=pod_cidr,json=podCidr,proto3" json:"pod_cidr,omitempty"` } diff --git a/pkg/kubelet/apis/cri/runtime/v1alpha2/api.proto b/pkg/kubelet/apis/cri/runtime/v1alpha2/api.proto index d7cb2491eab..22ef0817912 100644 --- a/pkg/kubelet/apis/cri/runtime/v1alpha2/api.proto +++ b/pkg/kubelet/apis/cri/runtime/v1alpha2/api.proto @@ -1047,7 +1047,8 @@ message RemoveImageRequest { message RemoveImageResponse {} message NetworkConfig { - // CIDR to use for pod IP addresses. + // CIDR to use for pod IP addresses. If the CIDR is empty, runtimes + // should omit it. string pod_cidr = 1; }