Skip to content

Commit

Permalink
Fix the issue that DNS record doesn't get updated when user change en…
Browse files Browse the repository at this point in the history
…vironment name

Environment name was initialized when external dns starts up. So it will not get updated if user change the env name after  dns starting.

rancher/rancher#10077
  • Loading branch information
loganhz committed Dec 2, 2017
1 parent d192ed0 commit e278357
Showing 1 changed file with 17 additions and 1 deletion.
18 changes: 17 additions & 1 deletion metadata/metadata.go
Expand Up @@ -61,8 +61,12 @@ func (m *MetadataClient) GetVersion() (string, error) {
}

func (m *MetadataClient) GetMetadataDnsRecords() (map[string]utils.MetadataDnsRecord, error) {
err := m.updateEnvironmentName()
if err != nil {
return nil, err
}
dnsEntries := make(map[string]utils.MetadataDnsRecord)
err := m.getContainersDnsRecords(dnsEntries)
err = m.getContainersDnsRecords(dnsEntries)
if err != nil {
return dnsEntries, err
}
Expand Down Expand Up @@ -171,6 +175,18 @@ func (m *MetadataClient) getContainersDnsRecords(dnsEntries map[string]utils.Met
return nil
}

func (m *MetadataClient) updateEnvironmentName() error {
envName, _, err := getEnvironment(m.MetadataClient)
if err != nil {
logrus.Errorf("Failed to get environment info: %v", err)
return err
} else {
m.EnvironmentName = envName
}

return nil
}

func addToDnsEntries(fqdn, ip, service, stack string, dnsEntries map[string]utils.MetadataDnsRecord) {
var records []string
if _, ok := dnsEntries[fqdn]; !ok {
Expand Down

0 comments on commit e278357

Please sign in to comment.