Skip to content

Commit e278357

Browse files
author
loganhz
committed
Fix the issue that DNS record doesn't get updated when user change environment 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
1 parent d192ed0 commit e278357

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

metadata/metadata.go

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,12 @@ func (m *MetadataClient) GetVersion() (string, error) {
6161
}
6262

6363
func (m *MetadataClient) GetMetadataDnsRecords() (map[string]utils.MetadataDnsRecord, error) {
64+
err := m.updateEnvironmentName()
65+
if err != nil {
66+
return nil, err
67+
}
6468
dnsEntries := make(map[string]utils.MetadataDnsRecord)
65-
err := m.getContainersDnsRecords(dnsEntries)
69+
err = m.getContainersDnsRecords(dnsEntries)
6670
if err != nil {
6771
return dnsEntries, err
6872
}
@@ -171,6 +175,18 @@ func (m *MetadataClient) getContainersDnsRecords(dnsEntries map[string]utils.Met
171175
return nil
172176
}
173177

178+
func (m *MetadataClient) updateEnvironmentName() error {
179+
envName, _, err := getEnvironment(m.MetadataClient)
180+
if err != nil {
181+
logrus.Errorf("Failed to get environment info: %v", err)
182+
return err
183+
} else {
184+
m.EnvironmentName = envName
185+
}
186+
187+
return nil
188+
}
189+
174190
func addToDnsEntries(fqdn, ip, service, stack string, dnsEntries map[string]utils.MetadataDnsRecord) {
175191
var records []string
176192
if _, ok := dnsEntries[fqdn]; !ok {

0 commit comments

Comments
 (0)