feat(): also handle deletes
This commit is contained in:
@@ -61,7 +61,7 @@ func StartLeaseInformer(cfg *Config, stopCh <-chan struct{}) error {
|
||||
handleLease(newObj, cfg)
|
||||
},
|
||||
DeleteFunc: func(obj interface{}) {
|
||||
// nothing to do on delete for now
|
||||
handleLeaseDelete(obj, cfg)
|
||||
},
|
||||
})
|
||||
|
||||
@@ -123,3 +123,39 @@ func handleLease(obj interface{}, cfg *Config) {
|
||||
log.WithFields(log.Fields{"Caller": "handleLease", "Node": node, "Lease": lease.Name}).Errorf("Error labeling node: %s", err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
func handleLeaseDelete(obj interface{}, cfg *Config) {
|
||||
lease, ok := obj.(*v1.Lease)
|
||||
if !ok {
|
||||
log.WithFields(log.Fields{"Caller": "handleLeaseDelete"}).Warn("Could not cast object to Lease")
|
||||
return
|
||||
}
|
||||
|
||||
if lease == nil {
|
||||
return
|
||||
}
|
||||
|
||||
if lease.Name == "" || len(lease.Name) < 1 {
|
||||
return
|
||||
}
|
||||
|
||||
if !strings.HasPrefix(lease.Name, "cilium-l2announce") {
|
||||
return
|
||||
}
|
||||
|
||||
node, err := GetNodeNameFromLease(*lease)
|
||||
if err != nil {
|
||||
log.WithFields(log.Fields{"Caller": "handleLeaseDelete", "Lease": lease.Name}).Errorf("Error parsing lease: %s", err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
if cfg.DryRun {
|
||||
log.WithFields(log.Fields{"Caller": "handleLeaseDelete"}).Infof("Dry run: would remove labels %s and %s from node %s (lease %s)", node, cfg.CiliumLabel, "cilium.uploadfilter24.eu/lease", lease.Name)
|
||||
return
|
||||
}
|
||||
|
||||
err = RemoveLabelFromNode(node, lease.Name, cfg)
|
||||
if err != nil {
|
||||
log.WithFields(log.Fields{"Caller": "handleLeaseDelete", "Node": node, "Lease": lease.Name}).Errorf("Error labeling node: %s", err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user