in lib/handler.go [136:150]
func handleTierOverride(config *Config, tier string, message *DHCPMessage) (*DHCPServer, error) {
servers, err := config.HostSourcer.GetServersFromTier(tier)
if err != nil {
return nil, fmt.Errorf("Failed to get servers from tier: %s", err)
}
if len(servers) == 0 {
return nil, fmt.Errorf("Sourcer returned no servers")
}
// pick server according to the configured algorithm
server, err := config.Algorithm.SelectServerFromList(servers, message)
if err != nil {
return nil, fmt.Errorf("Failed to select server: %s", err)
}
return server, nil
}