func()

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
}