From ecb5c4c907ab6261261d97a6358a0b876c9a49e4 Mon Sep 17 00:00:00 2001 From: Phil Brookes Date: Thu, 20 Jun 2024 10:40:22 +0200 Subject: [PATCH] dont store context in struct --- internal/controller/managedzone_controller.go | 2 +- internal/provider/aws/aws.go | 2 +- internal/provider/google/google.go | 21 ++++++++----------- internal/provider/google/google_test.go | 2 +- internal/provider/inmemory/inmemory.go | 2 +- internal/provider/provider.go | 3 ++- 6 files changed, 15 insertions(+), 17 deletions(-) diff --git a/internal/controller/managedzone_controller.go b/internal/controller/managedzone_controller.go index 00263977..1b8f07fb 100644 --- a/internal/controller/managedzone_controller.go +++ b/internal/controller/managedzone_controller.go @@ -217,7 +217,7 @@ func (r *ManagedZoneReconciler) publishManagedZone(ctx context.Context, managedZ return fmt.Errorf("failed to get provider for the zone: %w", provider.SanitizeError(err)) } - mzResp, err := dnsProvider.EnsureManagedZone(managedZone) + mzResp, err := dnsProvider.EnsureManagedZone(ctx, managedZone) if err != nil { err = fmt.Errorf("%w, The DNS provider failed to ensure the managed zone: %v", ErrProvider, provider.SanitizeError(err)) } else if managedZone.Spec.ID != "" && mzResp.DNSName != managedZone.Spec.DomainName { diff --git a/internal/provider/aws/aws.go b/internal/provider/aws/aws.go index 8c6661af..60baa2bf 100644 --- a/internal/provider/aws/aws.go +++ b/internal/provider/aws/aws.go @@ -146,7 +146,7 @@ func (p *Route53DNSProvider) AdjustEndpoints(endpoints []*externaldnsendpoint.En // #### DNS Operator Provider #### -func (p *Route53DNSProvider) EnsureManagedZone(zone *v1alpha1.ManagedZone) (provider.ManagedZoneOutput, error) { +func (p *Route53DNSProvider) EnsureManagedZone(_ context.Context, zone *v1alpha1.ManagedZone) (provider.ManagedZoneOutput, error) { var zoneID string if zone.Spec.ID != "" { zoneID = zone.Spec.ID diff --git a/internal/provider/google/google.go b/internal/provider/google/google.go index 9a912693..d67eee59 100644 --- a/internal/provider/google/google.go +++ b/internal/provider/google/google.go @@ -145,8 +145,6 @@ type GoogleDNSProvider struct { managedZonesClient managedZonesServiceInterface // A client for managing change sets changesClient changesServiceInterface - // The context parameter to be passed for gcloud API calls. - ctx context.Context } func (p *GoogleDNSProvider) HealthCheckReconciler() provider.HealthCheckReconciler { @@ -187,7 +185,6 @@ func NewProviderFromSecret(ctx context.Context, s *v1.Secret, c provider.Config) resourceRecordSetsClient: resourceRecordSetsService{dnsClient.ResourceRecordSets}, managedZonesClient: managedZonesService{dnsClient.ManagedZones}, changesClient: changesService{dnsClient.Changes}, - ctx: ctx, } return p, nil @@ -637,7 +634,7 @@ func newRecord(ep *externaldnsendpoint.Endpoint) *dnsv1.ResourceRecordSet { // #### DNS Operator Provider #### -func (p *GoogleDNSProvider) EnsureManagedZone(managedZone *v1alpha1.ManagedZone) (provider.ManagedZoneOutput, error) { +func (p *GoogleDNSProvider) EnsureManagedZone(ctx context.Context, managedZone *v1alpha1.ManagedZone) (provider.ManagedZoneOutput, error) { var zoneID string if managedZone.Spec.ID != "" { @@ -648,10 +645,10 @@ func (p *GoogleDNSProvider) EnsureManagedZone(managedZone *v1alpha1.ManagedZone) if zoneID != "" { //Get existing managed zone - return p.getManagedZone(zoneID) + return p.getManagedZone(ctx, zoneID) } //Create new managed zone - return p.createManagedZone(managedZone) + return p.createManagedZone(ctx, managedZone) } func (p *GoogleDNSProvider) DeleteManagedZone(managedZone *v1alpha1.ManagedZone) error { @@ -660,7 +657,7 @@ func (p *GoogleDNSProvider) DeleteManagedZone(managedZone *v1alpha1.ManagedZone) // ManagedZones -func (p *GoogleDNSProvider) createManagedZone(managedZone *v1alpha1.ManagedZone) (provider.ManagedZoneOutput, error) { +func (p *GoogleDNSProvider) createManagedZone(ctx context.Context, managedZone *v1alpha1.ManagedZone) (provider.ManagedZoneOutput, error) { zoneID := strings.Replace(managedZone.Spec.DomainName, ".", "-", -1) zone := dnsv1.ManagedZone{ Name: zoneID, @@ -671,18 +668,18 @@ func (p *GoogleDNSProvider) createManagedZone(managedZone *v1alpha1.ManagedZone) if err != nil { return provider.ManagedZoneOutput{}, err } - return p.toManagedZoneOutput(mz) + return p.toManagedZoneOutput(ctx, mz) } -func (p *GoogleDNSProvider) getManagedZone(zoneID string) (provider.ManagedZoneOutput, error) { +func (p *GoogleDNSProvider) getManagedZone(ctx context.Context, zoneID string) (provider.ManagedZoneOutput, error) { mz, err := p.managedZonesClient.Get(p.project, zoneID).Do() if err != nil { return provider.ManagedZoneOutput{}, err } - return p.toManagedZoneOutput(mz) + return p.toManagedZoneOutput(ctx, mz) } -func (p *GoogleDNSProvider) toManagedZoneOutput(mz *dnsv1.ManagedZone) (provider.ManagedZoneOutput, error) { +func (p *GoogleDNSProvider) toManagedZoneOutput(ctx context.Context, mz *dnsv1.ManagedZone) (provider.ManagedZoneOutput, error) { var managedZoneOutput provider.ManagedZoneOutput zoneID := mz.Name @@ -694,7 +691,7 @@ func (p *GoogleDNSProvider) toManagedZoneOutput(mz *dnsv1.ManagedZone) (provider managedZoneOutput.DNSName = strings.ToLower(strings.TrimSuffix(mz.DnsName, ".")) managedZoneOutput.NameServers = nameservers - currentRecords, err := p.getResourceRecordSets(p.ctx, zoneID) + currentRecords, err := p.getResourceRecordSets(ctx, zoneID) if err != nil { return managedZoneOutput, err } diff --git a/internal/provider/google/google_test.go b/internal/provider/google/google_test.go index f8d56faf..242dcb45 100644 --- a/internal/provider/google/google_test.go +++ b/internal/provider/google/google_test.go @@ -120,7 +120,7 @@ func TestGoogleDNSProvider_toManagedZoneOutput(t *testing.T) { g := &GoogleDNSProvider{ resourceRecordSetsClient: tt.fields.resourceRecordSetsClient, } - got, err := g.toManagedZoneOutput(tt.args.mz) + got, err := g.toManagedZoneOutput(context.Background(), tt.args.mz) if (err != nil) != tt.wantErr { t.Errorf("GoogleDNSProvider.toManagedZoneOutput() error = %v, wantErr %v", err, tt.wantErr) return diff --git a/internal/provider/inmemory/inmemory.go b/internal/provider/inmemory/inmemory.go index 0130fab2..1b6b2905 100644 --- a/internal/provider/inmemory/inmemory.go +++ b/internal/provider/inmemory/inmemory.go @@ -50,7 +50,7 @@ func NewProviderFromSecret(ctx context.Context, _ *v1.Secret, c provider.Config) return p, nil } -func (i InMemoryDNSProvider) EnsureManagedZone(mz *v1alpha1.ManagedZone) (provider.ManagedZoneOutput, error) { +func (i InMemoryDNSProvider) EnsureManagedZone(_ context.Context, mz *v1alpha1.ManagedZone) (provider.ManagedZoneOutput, error) { var zoneID string if mz.Spec.ID != "" { zoneID = mz.Spec.ID diff --git a/internal/provider/provider.go b/internal/provider/provider.go index dcac11d0..73d79523 100644 --- a/internal/provider/provider.go +++ b/internal/provider/provider.go @@ -1,6 +1,7 @@ package provider import ( + "context" "errors" "regexp" "strings" @@ -22,7 +23,7 @@ type Provider interface { externaldnsprovider.Provider // Ensure will create or update a managed zone, returns an array of NameServers for that zone. - EnsureManagedZone(managedZone *v1alpha1.ManagedZone) (ManagedZoneOutput, error) + EnsureManagedZone(ctx context.Context, managedZone *v1alpha1.ManagedZone) (ManagedZoneOutput, error) // Delete will delete a managed zone. DeleteManagedZone(managedZone *v1alpha1.ManagedZone) error