Add stack name to backend name generation to fix rancher metadata backend

This commit is contained in:
Manuel Zapf 2017-09-12 15:06:04 +02:00 committed by Traefiker
parent c7c9349b00
commit 63b581935d

View file

@ -38,13 +38,13 @@ func (p *Provider) metadataProvide(configurationChan chan<- types.ConfigMessage,
updateConfiguration := func(version string) { updateConfiguration := func(version string) {
log.WithField("metadata_version", version).Debugln("Refreshing configuration from Rancher metadata service") log.WithField("metadata_version", version).Debugln("Refreshing configuration from Rancher metadata service")
services, err := client.GetServices() stacks, err := client.GetStacks()
if err != nil { if err != nil {
log.Errorf("Failed to query Rancher metadata service: %s", err) log.Errorf("Failed to query Rancher metadata service: %s", err)
return return
} }
rancherData := parseMetadataSourcedRancherData(services) rancherData := parseMetadataSourcedRancherData(stacks)
configuration := p.loadRancherConfig(rancherData) configuration := p.loadRancherConfig(rancherData)
configurationChan <- types.ConfigMessage{ configurationChan <- types.ConfigMessage{
ProviderName: "rancher", ProviderName: "rancher",
@ -118,8 +118,9 @@ func (p *Provider) longPoll(client rancher.Client, updateConfiguration func(stri
<-stop <-stop
} }
func parseMetadataSourcedRancherData(services []rancher.Service) (rancherDataList []rancherData) { func parseMetadataSourcedRancherData(stacks []rancher.Stack) (rancherDataList []rancherData) {
for _, service := range services { for _, stack := range stacks {
for _, service := range stack.Services {
var containerIPAddresses []string var containerIPAddresses []string
for _, container := range service.Containers { for _, container := range service.Containers {
if containerFilter(container.Name, container.HealthState, container.State) { if containerFilter(container.Name, container.HealthState, container.State) {
@ -128,11 +129,12 @@ func parseMetadataSourcedRancherData(services []rancher.Service) (rancherDataLis
} }
rancherDataList = append(rancherDataList, rancherData{ rancherDataList = append(rancherDataList, rancherData{
Name: service.Name, Name: stack.Name + "/" + service.Name,
State: service.State, State: service.State,
Labels: service.Labels, Labels: service.Labels,
Containers: containerIPAddresses, Containers: containerIPAddresses,
}) })
} }
}
return rancherDataList return rancherDataList
} }