Skip to content

Commit

Permalink
Merge pull request #164 from philbrookes/dont-store-context
Browse files Browse the repository at this point in the history
Fix: Removed a stored context in the google provider
  • Loading branch information
philbrookes authored Jun 20, 2024
2 parents 67370a6 + ecb5c4c commit dbf5cc4
Show file tree
Hide file tree
Showing 6 changed files with 15 additions and 17 deletions.
2 changes: 1 addition & 1 deletion internal/controller/managedzone_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
2 changes: 1 addition & 1 deletion internal/provider/aws/aws.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
21 changes: 9 additions & 12 deletions internal/provider/google/google.go
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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 != "" {
Expand All @@ -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 {
Expand All @@ -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,
Expand All @@ -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
Expand All @@ -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
}
Expand Down
2 changes: 1 addition & 1 deletion internal/provider/google/google_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion internal/provider/inmemory/inmemory.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 2 additions & 1 deletion internal/provider/provider.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package provider

import (
"context"
"errors"
"regexp"
"strings"
Expand All @@ -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
Expand Down

0 comments on commit dbf5cc4

Please sign in to comment.