Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix: Removed a stored context in the google provider #164

Merged
merged 1 commit into from
Jun 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading