From b2369bd2aeb051d05967df3548d48916659f8488 Mon Sep 17 00:00:00 2001 From: Jens Langhammer Date: Tue, 30 May 2023 23:13:11 +0200 Subject: [PATCH] fix --- .github/workflows/test.yml | 1 + pkg/roles/discovery/api_devices_test.go | 8 ++++---- pkg/roles/dns/event_handler.go | 2 +- pkg/roles/dns/record.go | 12 ++++++------ pkg/roles/dns/zone.go | 6 +++--- 5 files changed, 15 insertions(+), 14 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a50dfff0f..399a4c3b7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -62,3 +62,4 @@ jobs: uses: golangci/golangci-lint-action@v3 with: args: --timeout 5000s + skip-cache: true diff --git a/pkg/roles/discovery/api_devices_test.go b/pkg/roles/discovery/api_devices_test.go index 8a2f393f8..7abb95d8d 100644 --- a/pkg/roles/discovery/api_devices_test.go +++ b/pkg/roles/discovery/api_devices_test.go @@ -210,7 +210,7 @@ func TestDeviceApplyDHCPWithDNS(t *testing.T) { "test", "A", ), - dns.Record{ + dnsTypes.Record{ Data: "192.0.2.1", }, ) @@ -224,7 +224,7 @@ func TestDeviceApplyDHCPWithDNS(t *testing.T) { "1.2", "PTR", ), - dns.Record{ + dnsTypes.Record{ Data: "test.gravity.beryju.io.", }, ) @@ -291,7 +291,7 @@ func TestDeviceApplyDNSWithReverse(t *testing.T) { "test", "A", ), - dns.Record{ + dnsTypes.Record{ Data: "192.0.2.1", }, ) @@ -305,7 +305,7 @@ func TestDeviceApplyDNSWithReverse(t *testing.T) { "1.2", "PTR", ), - dns.Record{ + dnsTypes.Record{ Data: "test.gravity.beryju.io.", }, ) diff --git a/pkg/roles/dns/event_handler.go b/pkg/roles/dns/event_handler.go index 803271e01..1ba0beccc 100644 --- a/pkg/roles/dns/event_handler.go +++ b/pkg/roles/dns/event_handler.go @@ -36,7 +36,7 @@ func (r *Role) eventCreateForward(ev *roles.Event) { r.log.Warn("failed to parse address to add dns record", zap.Error(err)) return } - var rec *Record + var rec *RecordContext if ip.Is4() { rec = forwardZone.newRecord(hostname, types.DNSRecordTypeA) } else { diff --git a/pkg/roles/dns/record.go b/pkg/roles/dns/record.go index d1a079f38..a4a79c138 100644 --- a/pkg/roles/dns/record.go +++ b/pkg/roles/dns/record.go @@ -16,7 +16,7 @@ import ( const TXTSeparator = "\n" -type Record struct { +type RecordContext struct { *types.Record inst roles.Instance @@ -26,7 +26,7 @@ type Record struct { recordKey string } -func (z *ZoneContext) recordFromKV(kv *mvccpb.KeyValue) (*Record, error) { +func (z *ZoneContext) recordFromKV(kv *mvccpb.KeyValue) (*RecordContext, error) { fullRecordKey := string(kv.Key) // Relative key compared to zone, format of // host/A[/...] @@ -56,8 +56,8 @@ func (z *ZoneContext) recordFromKV(kv *mvccpb.KeyValue) (*Record, error) { return rec, nil } -func (z *ZoneContext) newRecord(name string, t string) *Record { - return &Record{ +func (z *ZoneContext) newRecord(name string, t string) *RecordContext { + return &RecordContext{ Record: &types.Record{ Name: strings.ToLower(name), Type: t, @@ -67,7 +67,7 @@ func (z *ZoneContext) newRecord(name string, t string) *Record { } } -func (r *Record) ToDNS(qname string, t uint16) dns.RR { +func (r *RecordContext) ToDNS(qname string, t uint16) dns.RR { hdr := dns.RR_Header{ Name: qname, Rrtype: t, @@ -111,7 +111,7 @@ func (r *Record) ToDNS(qname string, t uint16) dns.RR { return rr } -func (r *Record) put(ctx context.Context, expiry int64, opts ...clientv3.OpOption) error { +func (r *RecordContext) put(ctx context.Context, expiry int64, opts ...clientv3.OpOption) error { raw, err := proto.Marshal(r.Record) if err != nil { return err diff --git a/pkg/roles/dns/zone.go b/pkg/roles/dns/zone.go index 00131bdd0..bc38f37d2 100644 --- a/pkg/roles/dns/zone.go +++ b/pkg/roles/dns/zone.go @@ -27,7 +27,7 @@ const ( type ZoneContext struct { *types.Zone inst roles.Instance - records map[string]map[string]*Record + records map[string]map[string]*RecordContext recordsWatchCtx context.CancelFunc log *zap.Logger etcdKey string @@ -127,7 +127,7 @@ func (r *Role) newZone(name string) *ZoneContext { }, inst: r.i, h: make([]Handler, 0), - records: make(map[string]map[string]*Record), + records: make(map[string]map[string]*RecordContext), recordsSync: sync.RWMutex{}, } } @@ -183,7 +183,7 @@ func (z *ZoneContext) watchZoneRecords(ctx context.Context) { defer z.recordsSync.Unlock() rec, err := z.recordFromKV(ev.Kv) if _, ok := z.records[rec.recordKey]; !ok { - z.records[rec.recordKey] = make(map[string]*Record) + z.records[rec.recordKey] = make(map[string]*RecordContext) } if ev.Type == clientv3.EventTypeDelete { delete(z.records[rec.recordKey], rec.uid)