Merge pull request #21172 from cjcullen/cidralloc

Auto commit by PR queue bot
This commit is contained in:
k8s-merge-robot 2016-02-16 03:26:23 -08:00
commit 6a1214b017

View File

@ -514,14 +514,20 @@ func (nc *NodeController) reconcileNodeCIDRs(nodes *api.NodeList) {
} }
for _, node := range nodes.Items { for _, node := range nodes.Items {
if node.Spec.PodCIDR == "" { if node.Spec.PodCIDR == "" {
podCIDR, found := availableCIDRs.PopAny() // Re-GET node (because ours might be stale by now).
if !found { n, err := nc.kubeClient.Core().Nodes().Get(node.Name)
nc.recordNodeStatusChange(&node, "CIDRNotAvailable") if err != nil {
glog.Errorf("Failed to get node %q: %v", node.Name, err)
continue continue
} }
glog.V(4).Infof("Assigning node %s CIDR %s", node.Name, podCIDR) podCIDR, found := availableCIDRs.PopAny()
node.Spec.PodCIDR = podCIDR if !found {
if _, err := nc.kubeClient.Core().Nodes().Update(&node); err != nil { nc.recordNodeStatusChange(n, "CIDRNotAvailable")
continue
}
glog.V(4).Infof("Assigning node %s CIDR %s", n.Name, podCIDR)
n.Spec.PodCIDR = podCIDR
if _, err := nc.kubeClient.Core().Nodes().Update(n); err != nil {
nc.recordNodeStatusChange(&node, "CIDRAssignmentFailed") nc.recordNodeStatusChange(&node, "CIDRAssignmentFailed")
} }
} }