Skip to content

Commit 718e4ec

Browse files
frittenthekepzii
authored andcommitted
Upgrade to GopherCloud v2
1 parent a3498b0 commit 718e4ec

File tree

6 files changed

+92
-94
lines changed

6 files changed

+92
-94
lines changed

cmd/webhook/main.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ import (
99

1010
import "external-dns-openstack-webhook/internal/designate/provider"
1111

12-
13-
1412
func main() {
1513
epf := endpoint.NewDomainFilter([]string{})
1614
dp, err := provider.NewDesignateProvider(epf, false)
@@ -22,4 +20,3 @@ func main() {
2220
log.Printf("Starting server")
2321
api.StartHTTPApi(dp, nil, 0, 0, "127.0.0.1:8888")
2422
}
25-

go.mod

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
module external-dns-openstack-webhook
22

3-
go 1.22.1
3+
go 1.22.5
44

55
require (
6-
github.com/gophercloud/gophercloud v1.12.0
76
github.com/sirupsen/logrus v1.9.3
8-
sigs.k8s.io/external-dns v0.14.1
7+
sigs.k8s.io/external-dns v0.14.2
98
)
109

10+
require github.com/gophercloud/gophercloud/v2 v2.0.0
11+
1112
require (
12-
github.com/aws/aws-sdk-go v1.51.1 // indirect
13+
github.com/aws/aws-sdk-go v1.53.3 // indirect
1314
github.com/go-logr/logr v1.4.1 // indirect
1415
github.com/gogo/protobuf v1.3.2 // indirect
1516
github.com/google/go-cmp v0.6.0 // indirect
@@ -18,14 +19,14 @@ require (
1819
github.com/json-iterator/go v1.1.12 // indirect
1920
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
2021
github.com/modern-go/reflect2 v1.0.2 // indirect
21-
golang.org/x/net v0.23.0 // indirect
22-
golang.org/x/sys v0.18.0 // indirect
23-
golang.org/x/text v0.14.0 // indirect
22+
golang.org/x/net v0.25.0 // indirect
23+
golang.org/x/sys v0.21.0 // indirect
24+
golang.org/x/text v0.15.0 // indirect
2425
gopkg.in/inf.v0 v0.9.1 // indirect
2526
gopkg.in/yaml.v2 v2.4.0 // indirect
26-
k8s.io/apimachinery v0.30.0 // indirect
27+
k8s.io/apimachinery v0.30.1 // indirect
2728
k8s.io/klog/v2 v2.120.1 // indirect
28-
k8s.io/utils v0.0.0-20240102154912-e7106e64919e // indirect
29+
k8s.io/utils v0.0.0-20240423183400-0849a56e8f22 // indirect
2930
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
3031
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
3132
)

go.sum

Lines changed: 16 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
github.com/aws/aws-sdk-go v1.51.1 h1:AFvTihcDPanvptoKS09a4yYmNtPm3+pXlk6uYHmZiFk=
2-
github.com/aws/aws-sdk-go v1.51.1/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk=
1+
github.com/aws/aws-sdk-go v1.53.3 h1:xv0iGCCLdf6ZtlLPMCBjm+tU9UBLP5hXnSqnbKFYmto=
2+
github.com/aws/aws-sdk-go v1.53.3/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk=
33
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
44
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
55
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
@@ -14,8 +14,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN
1414
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
1515
github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
1616
github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
17-
github.com/gophercloud/gophercloud v1.12.0 h1:Jrz16vPAL93l80q16fp8NplrTCp93y7rZh2P3Q4Yq7g=
18-
github.com/gophercloud/gophercloud v1.12.0/go.mod h1:aAVqcocTSXh2vYFZ1JTvx4EQmfgzxRcNupUfxZbBNDM=
17+
github.com/gophercloud/gophercloud/v2 v2.0.0 h1:iH0x0Ji79a/ULzmq95fvOBAyie7+M+wUAEu+JrRMsCk=
18+
github.com/gophercloud/gophercloud/v2 v2.0.0/go.mod h1:ZKbcGNjxFTSaP5wlvtLDdsppllD/UGGvXBPqcjeqA8Y=
1919
github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=
2020
github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
2121
github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8=
@@ -48,34 +48,27 @@ github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9dec
4848
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
4949
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
5050
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
51-
golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
5251
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
5352
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
5453
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
5554
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
5655
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
5756
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
58-
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
59-
golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs=
60-
golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
57+
golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac=
58+
golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
6159
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
6260
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
6361
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
6462
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
6563
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
6664
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
67-
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
68-
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
69-
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
7065
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
71-
golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
72-
golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
73-
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
66+
golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws=
67+
golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
7468
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
7569
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
76-
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
77-
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
78-
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
70+
golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk=
71+
golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
7972
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
8073
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
8174
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
@@ -94,14 +87,14 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
9487
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
9588
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
9689
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
97-
k8s.io/apimachinery v0.30.0 h1:qxVPsyDM5XS96NIh9Oj6LavoVFYff/Pon9cZeDIkHHA=
98-
k8s.io/apimachinery v0.30.0/go.mod h1:iexa2somDaxdnj7bha06bhb43Zpa6eWH8N8dbqVjTUc=
90+
k8s.io/apimachinery v0.30.1 h1:ZQStsEfo4n65yAdlGTfP/uSHMQSoYzU/oeEbkmF7P2U=
91+
k8s.io/apimachinery v0.30.1/go.mod h1:iexa2somDaxdnj7bha06bhb43Zpa6eWH8N8dbqVjTUc=
9992
k8s.io/klog/v2 v2.120.1 h1:QXU6cPEOIslTGvZaXvFWiP9VKyeet3sawzTOvdXb4Vw=
10093
k8s.io/klog/v2 v2.120.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
101-
k8s.io/utils v0.0.0-20240102154912-e7106e64919e h1:eQ/4ljkx21sObifjzXwlPKpdGLrCfRziVtos3ofG/sQ=
102-
k8s.io/utils v0.0.0-20240102154912-e7106e64919e/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
103-
sigs.k8s.io/external-dns v0.14.1 h1:CtXyAa1KyFRDM3UqV2B06ZwgEWCN1rqxJWGkLWSgUdg=
104-
sigs.k8s.io/external-dns v0.14.1/go.mod h1:bOqmVWTMbPYsd/yViG4HxOFRyGeuXi1q+cmfYJ8ZxQI=
94+
k8s.io/utils v0.0.0-20240423183400-0849a56e8f22 h1:ao5hUqGhsqdm+bYbjH/pRkCs0unBGe9UyDahzs9zQzQ=
95+
k8s.io/utils v0.0.0-20240423183400-0849a56e8f22/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
96+
sigs.k8s.io/external-dns v0.14.2 h1:j7rYtQqDAxYfN9N1/BZcRdzUBRsnZp4tZcuZ75ekTlc=
97+
sigs.k8s.io/external-dns v0.14.2/go.mod h1:GTFER2cqUxkSpYNzzkge8USXp1wJmxqWwpdXr2lYdik=
10598
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
10699
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
107100
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=

internal/designate/client/client.go

Lines changed: 25 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,17 @@ limitations under the License.
1818
package client
1919

2020
import (
21+
"context"
2122
"net"
2223
"net/http"
2324
"os"
2425
"time"
2526

26-
"github.com/gophercloud/gophercloud"
27-
"github.com/gophercloud/gophercloud/openstack"
28-
"github.com/gophercloud/gophercloud/openstack/dns/v2/recordsets"
29-
"github.com/gophercloud/gophercloud/openstack/dns/v2/zones"
30-
"github.com/gophercloud/gophercloud/pagination"
27+
"github.com/gophercloud/gophercloud/v2"
28+
"github.com/gophercloud/gophercloud/v2/openstack"
29+
"github.com/gophercloud/gophercloud/v2/openstack/dns/v2/recordsets"
30+
"github.com/gophercloud/gophercloud/v2/openstack/dns/v2/zones"
31+
"github.com/gophercloud/gophercloud/v2/pagination"
3132
log "github.com/sirupsen/logrus"
3233

3334
"sigs.k8s.io/external-dns/pkg/tlsutils"
@@ -36,19 +37,19 @@ import (
3637
// interface between provider and OpenStack DNS API
3738
type DesignateClientInterface interface {
3839
// ForEachZone calls handler for each zone managed by the Designate
39-
ForEachZone(handler func(zone *zones.Zone) error) error
40+
ForEachZone(ctx context.Context, handler func(zone *zones.Zone) error) error
4041

4142
// ForEachRecordSet calls handler for each recordset in the given DNS zone
42-
ForEachRecordSet(zoneID string, handler func(recordSet *recordsets.RecordSet) error) error
43+
ForEachRecordSet(ctx context.Context, zoneID string, handler func(recordSet *recordsets.RecordSet) error) error
4344

4445
// CreateRecordSet creates recordset in the given DNS zone
45-
CreateRecordSet(zoneID string, opts recordsets.CreateOpts) (string, error)
46+
CreateRecordSet(ctx context.Context, zoneID string, opts recordsets.CreateOpts) (string, error)
4647

4748
// UpdateRecordSet updates recordset in the given DNS zone
48-
UpdateRecordSet(zoneID, recordSetID string, opts recordsets.UpdateOpts) error
49+
UpdateRecordSet(ctx context.Context, zoneID, recordSetID string, opts recordsets.UpdateOpts) error
4950

5051
// DeleteRecordSet deletes recordset in the given DNS zone
51-
DeleteRecordSet(zoneID, recordSetID string) error
52+
DeleteRecordSet(ctx context.Context, zoneID, recordSetID string) error
5253
}
5354

5455
// implementation of the DesignateClientInterface
@@ -126,7 +127,8 @@ func createDesignateServiceClient() (*gophercloud.ServiceClient, error) {
126127
}
127128
authProvider.HTTPClient.Transport = transport
128129

129-
if err = openstack.Authenticate(authProvider, opts); err != nil {
130+
ctx := context.Background()
131+
if err = openstack.Authenticate(ctx, authProvider, opts); err != nil {
130132
return nil, err
131133
}
132134

@@ -143,10 +145,10 @@ func createDesignateServiceClient() (*gophercloud.ServiceClient, error) {
143145
}
144146

145147
// ForEachZone calls handler for each zone managed by the Designate
146-
func (c designateClient) ForEachZone(handler func(zone *zones.Zone) error) error {
148+
func (c designateClient) ForEachZone(ctx context.Context, handler func(zone *zones.Zone) error) error {
147149
pager := zones.List(c.serviceClient, zones.ListOpts{})
148-
return pager.EachPage(
149-
func(page pagination.Page) (bool, error) {
150+
return pager.EachPage(ctx,
151+
func(ctx context.Context, page pagination.Page) (bool, error) {
150152
list, err := zones.ExtractZones(page)
151153
if err != nil {
152154
return false, err
@@ -163,10 +165,10 @@ func (c designateClient) ForEachZone(handler func(zone *zones.Zone) error) error
163165
}
164166

165167
// ForEachRecordSet calls handler for each recordset in the given DNS zone
166-
func (c designateClient) ForEachRecordSet(zoneID string, handler func(recordSet *recordsets.RecordSet) error) error {
168+
func (c designateClient) ForEachRecordSet(ctx context.Context, zoneID string, handler func(recordSet *recordsets.RecordSet) error) error {
167169
pager := recordsets.ListByZone(c.serviceClient, zoneID, recordsets.ListOpts{})
168-
return pager.EachPage(
169-
func(page pagination.Page) (bool, error) {
170+
return pager.EachPage(ctx,
171+
func(ctx context.Context, page pagination.Page) (bool, error) {
170172
list, err := recordsets.ExtractRecordSets(page)
171173
if err != nil {
172174
return false, err
@@ -183,21 +185,21 @@ func (c designateClient) ForEachRecordSet(zoneID string, handler func(recordSet
183185
}
184186

185187
// CreateRecordSet creates recordset in the given DNS zone
186-
func (c designateClient) CreateRecordSet(zoneID string, opts recordsets.CreateOpts) (string, error) {
187-
r, err := recordsets.Create(c.serviceClient, zoneID, opts).Extract()
188+
func (c designateClient) CreateRecordSet(ctx context.Context, zoneID string, opts recordsets.CreateOpts) (string, error) {
189+
r, err := recordsets.Create(ctx, c.serviceClient, zoneID, opts).Extract()
188190
if err != nil {
189191
return "", err
190192
}
191193
return r.ID, nil
192194
}
193195

194196
// UpdateRecordSet updates recordset in the given DNS zone
195-
func (c designateClient) UpdateRecordSet(zoneID, recordSetID string, opts recordsets.UpdateOpts) error {
196-
_, err := recordsets.Update(c.serviceClient, zoneID, recordSetID, opts).Extract()
197+
func (c designateClient) UpdateRecordSet(ctx context.Context, zoneID, recordSetID string, opts recordsets.UpdateOpts) error {
198+
_, err := recordsets.Update(ctx, c.serviceClient, zoneID, recordSetID, opts).Extract()
197199
return err
198200
}
199201

200202
// DeleteRecordSet deletes recordset in the given DNS zone
201-
func (c designateClient) DeleteRecordSet(zoneID, recordSetID string) error {
202-
return recordsets.Delete(c.serviceClient, zoneID, recordSetID).ExtractErr()
203+
func (c designateClient) DeleteRecordSet(ctx context.Context, zoneID, recordSetID string) error {
204+
return recordsets.Delete(ctx, c.serviceClient, zoneID, recordSetID).ExtractErr()
203205
}

internal/designate/provider/provider.go

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ import (
2222
"fmt"
2323
"strings"
2424

25-
"github.com/gophercloud/gophercloud/openstack/dns/v2/recordsets"
26-
"github.com/gophercloud/gophercloud/openstack/dns/v2/zones"
25+
"github.com/gophercloud/gophercloud/v2/openstack/dns/v2/recordsets"
26+
"github.com/gophercloud/gophercloud/v2/openstack/dns/v2/zones"
2727
log "github.com/sirupsen/logrus"
2828

2929
"sigs.k8s.io/external-dns/endpoint"
@@ -89,10 +89,10 @@ func canonicalizeDomainName(d string) string {
8989
}
9090

9191
// returns ZoneID -> ZoneName mapping for zones that are managed by the Designate and match domain filter
92-
func (p designateProvider) getZones() (map[string]string, error) {
92+
func (p designateProvider) getZones(ctx context.Context) (map[string]string, error) {
9393
result := map[string]string{}
9494

95-
err := p.client.ForEachZone(
95+
err := p.client.ForEachZone(ctx,
9696
func(zone *zones.Zone) error {
9797
if zone.Type != "" && strings.ToUpper(zone.Type) != "PRIMARY" || zone.Status != "ACTIVE" {
9898
return nil
@@ -132,12 +132,12 @@ func (p designateProvider) getHostZoneID(hostname string, managedZones map[strin
132132
// Records returns the list of records.
133133
func (p designateProvider) Records(ctx context.Context) ([]*endpoint.Endpoint, error) {
134134
var result []*endpoint.Endpoint
135-
managedZones, err := p.getZones()
135+
managedZones, err := p.getZones(ctx)
136136
if err != nil {
137137
return nil, err
138138
}
139139
for zoneID := range managedZones {
140-
err = p.client.ForEachRecordSet(zoneID,
140+
err = p.client.ForEachRecordSet(ctx, zoneID,
141141
func(recordSet *recordsets.RecordSet) error {
142142
if recordSet.Type != endpoint.RecordTypeA && recordSet.Type != endpoint.RecordTypeTXT && recordSet.Type != endpoint.RecordTypeCNAME {
143143
return nil
@@ -229,7 +229,7 @@ func addDesignateIDLabelsFromExistingEndpoints(existingEndpoints []*endpoint.End
229229

230230
// ApplyChanges applies a given set of changes in a given zone.
231231
func (p designateProvider) ApplyChanges(ctx context.Context, changes *plan.Changes) error {
232-
managedZones, err := p.getZones()
232+
managedZones, err := p.getZones(ctx)
233233
if err != nil {
234234
return err
235235
}
@@ -254,15 +254,15 @@ func (p designateProvider) ApplyChanges(ctx context.Context, changes *plan.Chang
254254
}
255255

256256
for _, rs := range recordSets {
257-
if err2 := p.upsertRecordSet(rs, managedZones); err == nil {
257+
if err2 := p.upsertRecordSet(ctx, rs, managedZones); err == nil {
258258
err = err2
259259
}
260260
}
261261
return err
262262
}
263263

264264
// apply recordset changes by inserting/updating/deleting recordsets
265-
func (p designateProvider) upsertRecordSet(rs *recordSet, managedZones map[string]string) error {
265+
func (p designateProvider) upsertRecordSet(ctx context.Context, rs *recordSet, managedZones map[string]string) error {
266266
if rs.zoneID == "" {
267267
var err error
268268
rs.zoneID, err = p.getHostZoneID(rs.dnsName, managedZones)
@@ -293,14 +293,14 @@ func (p designateProvider) upsertRecordSet(rs *recordSet, managedZones map[strin
293293
if p.dryRun {
294294
return nil
295295
}
296-
_, err := p.client.CreateRecordSet(rs.zoneID, opts)
296+
_, err := p.client.CreateRecordSet(ctx, rs.zoneID, opts)
297297
return err
298298
} else if len(records) == 0 {
299299
log.Infof("Deleting records for %s/%s", rs.dnsName, rs.recordType)
300300
if p.dryRun {
301301
return nil
302302
}
303-
return p.client.DeleteRecordSet(rs.zoneID, rs.recordSetID)
303+
return p.client.DeleteRecordSet(ctx, rs.zoneID, rs.recordSetID)
304304
} else {
305305
ttl := 0
306306
opts := recordsets.UpdateOpts{
@@ -311,6 +311,6 @@ func (p designateProvider) upsertRecordSet(rs *recordSet, managedZones map[strin
311311
if p.dryRun {
312312
return nil
313313
}
314-
return p.client.UpdateRecordSet(rs.zoneID, rs.recordSetID, opts)
314+
return p.client.UpdateRecordSet(ctx, rs.zoneID, rs.recordSetID, opts)
315315
}
316316
}

0 commit comments

Comments
 (0)