1
0
mirror of https://github.com/StackExchange/dnscontrol.git synced 2024-05-11 05:55:12 +00:00

make sure key/value grouping always uses fqdn

This commit is contained in:
Craig Peterson
2018-09-07 13:46:44 -04:00
parent 734170013c
commit d006f62f8f
5 changed files with 10 additions and 9 deletions

View File

@ -547,5 +547,7 @@ func makeTests(t *testing.T) []*TestCase {
)
}
// Empty last
tc("Empty")
return tests
}

View File

@ -240,8 +240,8 @@ func (rc *RecordConfig) ToRR() dns.RR {
// RecordKey represents a resource record in a format used by some systems.
type RecordKey struct {
Name string
Type string
NameFQDN string
Type string
}
// Key converts a RecordConfig into a RecordKey.
@ -254,7 +254,7 @@ func (rc *RecordConfig) Key() RecordKey {
t = fmt.Sprintf("%s_%s", t, v)
}
}
return RecordKey{rc.Name, t}
return RecordKey{rc.NameFQDN, t}
}
// Records is a list of *RecordConfig.

View File

@ -91,7 +91,7 @@ func (d *differ) IncrementalDiff(existing []*models.RecordConfig) (unchanged, cr
if d.dc.KeepUnknown {
for k := range existingByNameAndType {
if _, ok := desiredByNameAndType[k]; !ok {
log.Printf("Ignoring record set %s %s due to NO_PURGE", k.Type, k.Name)
log.Printf("Ignoring record set %s %s due to NO_PURGE", k.Type, k.NameFQDN)
delete(existingByNameAndType, k)
}
}

View File

@ -14,7 +14,6 @@ import (
"strings"
"github.com/StackExchange/dnscontrol/providers/diff"
"github.com/miekg/dns/dnsutil"
"gopkg.in/ns1/ns1-go.v2/rest"
"gopkg.in/ns1/ns1-go.v2/rest/model/dns"
)
@ -108,7 +107,7 @@ func (n *nsone) add(recs models.Records, domain string) error {
}
func (n *nsone) remove(key models.RecordKey, domain string) error {
_, err := n.Records.Delete(domain, dnsutil.AddOrigin(key.Name, domain), key.Type)
_, err := n.Records.Delete(domain, key.NameFQDN, key.Type)
return err
}

View File

@ -191,13 +191,13 @@ func (r *route53Provider) GetDomainCorrections(dc *models.DomainConfig) ([]*mode
delDesc += strings.Join(namesToUpdate[k], "\n") + "\n"
// on delete just submit the original resource set we got from r53.
for _, r := range records {
if unescape(r.Name) == k.Name && (*r.Type == k.Type || k.Type == "R53_ALIAS_"+*r.Type) {
if unescape(r.Name) == k.NameFQDN && (*r.Type == k.Type || k.Type == "R53_ALIAS_"+*r.Type) {
rrset = r
break
}
}
if rrset == nil {
return nil, fmt.Errorf("No record set found to delete. Name: '%s'. Type: '%s'", k.Name, k.Type)
return nil, fmt.Errorf("No record set found to delete. Name: '%s'. Type: '%s'", k.NameFQDN, k.Type)
}
} else {
changes = append(changes, chg)
@ -205,7 +205,7 @@ func (r *route53Provider) GetDomainCorrections(dc *models.DomainConfig) ([]*mode
// on change or create, just build a new record set from our desired state
chg.Action = sPtr("UPSERT")
rrset = &r53.ResourceRecordSet{
Name: sPtr(k.Name),
Name: sPtr(k.NameFQDN),
Type: sPtr(k.Type),
}
for _, r := range recs {