code: func (c *Configurer) CheckLimitsForResolvConf() {
  	f, err := os.Open(c.ResolverConfig)
  	if err != nil {
  		c.recorder.Event(c.nodeRef, v1.EventTypeWarning, "CheckLimitsForResolvConf", err.Error())
  		klog.V(4).Infof("CheckLimitsForResolvConf: " + err.Error())
  		return
  	}
  	defer f.Close()
  
  	_, hostSearch, _, err := parseResolvConf(f)
  	if err != nil {
  		c.recorder.Event(c.nodeRef, v1.EventTypeWarning, "CheckLimitsForResolvConf", err.Error())
  		klog.V(4).Infof("CheckLimitsForResolvConf: " + err.Error())
  		return
  	}
  
  	domainCountLimit := validation.MaxDNSSearchPaths
  
  	if c.ClusterDomain != "" {
  		domainCountLimit -= 3
  	}
  
  	if len(hostSearch) > domainCountLimit {
  		log := fmt.Sprintf("Resolv.conf file '%s' contains search line consisting of more than %d domains!", c.ResolverConfig, domainCountLimit)
  		c.recorder.Event(c.nodeRef, v1.EventTypeWarning, "CheckLimitsForResolvConf", log)
  		klog.V(4).Infof("CheckLimitsForResolvConf: " + log)
  		return
  	}
  
  	if len(strings.Join(hostSearch, " ")) > validation.MaxDNSSearchListChars {
  		log := fmt.Sprintf("Resolv.conf file '%s' contains search line which length is more than allowed %d chars!", c.ResolverConfig, validation.MaxDNSSearchListChars)
  		c.recorder.Event(c.nodeRef, v1.EventTypeWarning, "CheckLimitsForResolvConf", log)
  		klog.V(4).Infof("CheckLimitsForResolvConf: " + log)
  		return
  	}
  
  	return
  }
docs: // CheckLimitsForResolvConf checks limits in resolv.conf.