Skip to content

Commit 6e42ccf

Browse files
authored
INWX: Enable concurrency support (#3856)
Tested dnscontrol with `CanConcur()` enabled and seems to work fine. Read #2873 to see what to do, and hope below is the right way to test. ```text $ go build -race -o dnscontrol-race $ ./dnscontrol-race version v4.27.2-0.20251127184623-cf6b870052c0+dirty $ dnscontrol-race preview CONCURRENTLY checking for 16 zone(s) SERIALLY checking for 6 zone(s) Serially checking for zone: "domainX.tld" Serially checking for zone: "domainX.tld" Serially checking for zone: "domainX.tld" Serially checking for zone: "domainX.tld" Serially checking for zone: "domainX.tld" Serially checking for zone: "domainX.tld" Waiting for concurrent checking(s) to complete...DONE CONCURRENTLY gathering records of 16 zone(s) SERIALLY gathering records of 6 zone(s) Serially Gathering: "domainX.tld" Serially Gathering: "domainX.tld" Serially Gathering: "domainX.tld" Serially Gathering: "domainX.tld" Serially Gathering: "domainX.tld" Serially Gathering: "domainX.tld" Waiting for concurrent gathering(s) to complete...DONE ******************** Domain: domainX.tld INFO#1: 4 records not being deleted because of NO_PURGE: [...] ******************** Domain: domainX.tld ******************** Domain: domainX.tld INFO#1: 4 records not being deleted because of NO_PURGE: [...] ******************** Domain: domainX.tld ******************** Domain: domainX.tld ******************** Domain: domainX.tld 1 correction (PK-INWX) INFO#1: 1 records not being deleted because of IGNORE*(): [...] ******************** Domain: domainX.tld ******************** Domain: domainX.tld ******************** Domain: domainX.tld ******************** Domain: domainX.tld 30 corrections (PK-INWX) [...] ******************** Domain: domainX.tld ******************** Domain: domainX.tld 2 corrections (PK-INWX) [...] ******************** Domain: domainX.tld ******************** Domain: domainX.tld ******************** Domain: domainX.tld ******************** Domain: domainX.tld 2 corrections (PK-INWX) [...] ******************** Domain: domainX.tld ******************** Domain: domainX.tld Done. 37 corrections. ``` Unfortunately INWX sandbox is sporadically still broken so `go test` is of limited help: ```text $ go test -v -verbose -profile INWX === RUN TestDNSProviders Testing Profile="INWX" (TYPE="INWX") helpers_test.go:122: INWX: Unable to login --- FAIL: TestDNSProviders (30.03s) === RUN TestDualProviders Testing Profile="INWX" (TYPE="INWX") provider_test.go:50: Clearing everything provider_test.go:57: Adding test nameservers provider_test.go:44: #1: + CREATE dnscontrol-inwx.com NS ns1.example.com. ttl=300 provider_test.go:44: #2: + CREATE dnscontrol-inwx.com NS ns2.example.com. ttl=300 provider_test.go:60: Running again to ensure stability provider_test.go:76: Removing test nameservers provider_test.go:44: #1: - DELETE dnscontrol-inwx.com NS ns1.example.com. ttl=300 provider_test.go:44: #2: - DELETE dnscontrol-inwx.com NS ns2.example.com. ttl=300 --- PASS: TestDualProviders (2.44s) === RUN TestNameserverDots Testing Profile="INWX" (TYPE="INWX") === RUN TestNameserverDots/No_trailing_dot_in_nameserver --- PASS: TestNameserverDots (0.30s) --- PASS: TestNameserverDots/No_trailing_dot_in_nameserver (0.00s) === RUN TestDuplicateNameservers Testing Profile="INWX" (TYPE="INWX") provider_test.go:145: Skipping. Deduplication logic is not implemented for this provider. --- SKIP: TestDuplicateNameservers (0.35s) FAIL exit status 1 FAIL github.com/StackExchange/dnscontrol/v4/integrationTest 33.127s ```
1 parent ec9a9e2 commit 6e42ccf

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

documentation/provider/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ Jump to a table:
119119
| [`HOSTINGDE`](hostingde.md) |||||
120120
| [`HUAWEICLOUD`](huaweicloud.md) |||||
121121
| [`INTERNETBS`](internetbs.md) |||||
122-
| [`INWX`](inwx.md) | ||||
122+
| [`INWX`](inwx.md) | ||||
123123
| [`JOKER`](joker.md) |||||
124124
| [`LINODE`](linode.md) |||||
125125
| [`LOOPIA`](loopia.md) |||||

providers/inwx/inwxProvider.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ var features = providers.DocumentationNotes{
5151
// See providers/capabilities.go for the entire list of capabilities.
5252
providers.CanAutoDNSSEC: providers.Can(),
5353
providers.CanGetZones: providers.Can(),
54-
providers.CanConcur: providers.Unimplemented(),
54+
providers.CanConcur: providers.Can(),
5555
providers.CanUseAlias: providers.Can(),
5656
providers.CanUseCAA: providers.Can(),
5757
providers.CanUseDS: providers.Unimplemented("DS records are only supported at the apex and require a different API call that hasn't been implemented yet."),

0 commit comments

Comments
 (0)