in pkg/config/config.go [141:168]
func (r IPRuleConfig) ensureHelper(ensureCount int) error {
var err error
ruleCount, err := r.count()
if err != nil {
glog.Errorf("failed to get IP rule count for rule: %v, error: %v", r.Rule, err)
return err
}
for ruleCount != ensureCount {
if ruleCount > ensureCount {
if err = r.RuleDel(&r.Rule); err != nil {
glog.Errorf("failed to delete duplicated ip rule: %v, error: %v", r.Rule, err)
}
ruleCount--
} else {
err = r.RuleAdd(&r.Rule)
if err != nil {
if os.IsExist(err) {
err = nil
} else {
glog.Errorf("failed to add ip rule: %v, error: %v", r.Rule, err)
}
}
ruleCount++
}
}
return err
}