Skip to content

Commit

Permalink
Needs to clear NodeNetworkUnavailable flag on Kubernetes
Browse files Browse the repository at this point in the history
Like calico : projectcalico/node#134

Signed-off-by: Anthony ARNAUD <github@anthony-arnaud.fr>
  • Loading branch information
aarnaud committed Jul 24, 2019
1 parent fab9f20 commit cdcef37
Showing 1 changed file with 24 additions and 0 deletions.
24 changes: 24 additions & 0 deletions subnet/kube/kube.go
Original file line number Diff line number Diff line change
Expand Up @@ -280,6 +280,10 @@ func (ksm *kubeSubnetManager) AcquireLease(ctx context.Context, attrs *subnet.Le
return nil, err
}
}
err = ksm.setNodeNetworkUnavailableFalse()
if err != nil {
glog.Errorf("Unable to set NetworkUnavailable to False for %q: %v", ksm.nodeName, err)
}
return &subnet.Lease{
Subnet: ip.FromIPNet(cidr),
Attrs: *attrs,
Expand Down Expand Up @@ -333,3 +337,23 @@ func (ksm *kubeSubnetManager) WatchLease(ctx context.Context, sn ip.IP4Net, curs
func (ksm *kubeSubnetManager) Name() string {
return fmt.Sprintf("Kubernetes Subnet Manager - %s", ksm.nodeName)
}

// Set Kubernetes NodeNetworkUnavailable to false when starting
// https://kubernetes.io/docs/concepts/architecture/nodes/#condition
func (ksm *kubeSubnetManager) setNodeNetworkUnavailableFalse() error {
condition := v1.NodeCondition{
Type: v1.NodeNetworkUnavailable,
Status: v1.ConditionFalse,
Reason: "FlannelIsUp",
Message: "Flannel is running on this node",
LastTransitionTime: metav1.Now(),
LastHeartbeatTime: metav1.Now(),
}
raw, err := json.Marshal(&[]v1.NodeCondition{condition})
if err != nil {
return err
}
patch := []byte(fmt.Sprintf(`{"status":{"conditions":%s}}`, raw))
_, err = ksm.client.CoreV1().Nodes().PatchStatus(ksm.nodeName, patch)
return err
}

0 comments on commit cdcef37

Please # to comment.