mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-09 03:57:41 +00:00
add not found error for ipset set and entry delete
This commit is contained in:
parent
65a7ecf147
commit
e6b9b5e0c3
@ -114,7 +114,9 @@ func (set *IPSet) syncIPSetEntries() {
|
|||||||
// Clean legacy entries
|
// Clean legacy entries
|
||||||
for _, entry := range currentIPSetEntries.Difference(set.activeEntries).List() {
|
for _, entry := range currentIPSetEntries.Difference(set.activeEntries).List() {
|
||||||
if err := set.handle.DelEntry(entry, set.Name); err != nil {
|
if err := set.handle.DelEntry(entry, set.Name); err != nil {
|
||||||
glog.Errorf("Failed to delete ip set entry: %s from ip set: %s, error: %v", entry, set.Name, err)
|
if !utilipset.IsNotFoundError(err) {
|
||||||
|
glog.Errorf("Failed to delete ip set entry: %s from ip set: %s, error: %v", entry, set.Name, err)
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
glog.V(3).Infof("Successfully delete legacy ip set entry: %s from ip set: %s", entry, set.Name)
|
glog.V(3).Infof("Successfully delete legacy ip set entry: %s from ip set: %s", entry, set.Name)
|
||||||
}
|
}
|
||||||
|
@ -824,7 +824,10 @@ func CleanupLeftovers(ipvs utilipvs.Interface, ipt utiliptables.Interface, ipset
|
|||||||
for _, set := range ipSetsToDestroy {
|
for _, set := range ipSetsToDestroy {
|
||||||
err = ipset.DestroySet(set)
|
err = ipset.DestroySet(set)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
encounteredError = true
|
if !utilipset.IsNotFoundError(err) {
|
||||||
|
glog.Errorf("Error removing ipset %s, error: %v", set, err)
|
||||||
|
encounteredError = true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return encounteredError
|
return encounteredError
|
||||||
|
@ -322,4 +322,20 @@ func validatePortRange(portRange string) bool {
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// IsNotFoundError returns true if the error indicates "not found". It parses
|
||||||
|
// the error string looking for known values, which is imperfect but works in
|
||||||
|
// practice.
|
||||||
|
func IsNotFoundError(err error) bool {
|
||||||
|
es := err.Error()
|
||||||
|
if strings.Contains(es, "does not exist") {
|
||||||
|
// set with the same name already exists
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
if strings.Contains(es, "element is missing") {
|
||||||
|
// entry is missing from the set
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
var _ = Interface(&runner{})
|
var _ = Interface(&runner{})
|
||||||
|
Loading…
Reference in New Issue
Block a user