in lib/config.go [213:236]
func (c *configSpec) sourcer(provider ConfigProvider) (DHCPServerSourcer, error) {
// Load the DHCPServerSourcer implementation
sourcerInfo := strings.Split(c.HostSourcer, ":")
sourcerType := sourcerInfo[0]
stable := sourcerInfo[1]
rc := ""
if strings.Index(sourcerInfo[1], ",") > -1 {
sourcerArgs := strings.Split(sourcerInfo[1], ",")
stable = sourcerArgs[0]
rc = sourcerArgs[1]
}
switch sourcerType {
default:
return provider.NewHostSourcer(sourcerType, sourcerInfo[1], c.Version)
case "file":
sourcer, err := NewFileSourcer(stable, rc, c.Version)
if err != nil {
glog.Fatalf("Can't load FileSourcer")
}
return sourcer, err
}
}