-
Notifications
You must be signed in to change notification settings - Fork 379
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
Should we support ALIAS records? #50
Comments
Compile-time lookups are generally a bad idea. We currently don't have any compile-time DNS queries. We could restrict it to domains in the dnsconfig.js file and simply resolve it by looking at the data. It would have to be done after any transforms, etc. I don't think there is currently a lookup function. We could do a simple lookup, ignore wildcards, etc.
A benefit of restricting this to destination domains that are in dnsconfig.js is that you know that if the A record changes, DNScontrol will be run. They can't get out of sync. |
I see where you are coming from there. In that case I think there are really 2 categories:
If you control the domain, I don't see a real reason to use ALIAS vs just defining the A records multiple times (or a macro). The main use case I see for ALIAS is if I want to use a 3rd party service at the zone apex, and they don't have a long-term stable IP address. I agree that mixing lookups with creating actual records in a provider should not be mixed. So I'd probably vote for all or nothing with provider support for alias within a domain, and we never try to fake it. |
I may go so far as to say that ALIAS is only supported if using a single provider that supports it. Odd interactions could occur if half of your nameservers are resolving or caching differently than the other half. |
@captncraig In addition to handling apexes, aliases can have special support for provider-specific resources with automatic updating. In R53 you can point them to a Cloudfront distribution or a load balancer, and they will always be up-to-date even if the underlying resources change. |
@danielkza I'd be interested in understanding how we can better support AWS features like that. SO doesn't use AWS (except R53), so personally I'm pretty ignorant of what the features/requirements would be for us to support AWS better. I'd love to know your thoughts in this area. |
On a related but non AWS r53 note, cloudflare allows cnames in their apex records... Not sure what difference that makes...
|
Yes, because cloudflare transparently "flattens" CNAMES. I think in the CF case, we would just convert ALIAS to CNAME |
@tlimoncelli AFAIK the only thing necessary to support R53 aliases is to change some API calls. Instead of passing Aliases are preferred over CNAMEs in some cases because they can survive changes to underlying resources (although they are infrequent) and respond to them immediately. CNAMEs are of course more flexible and can point to external resources of any type. |
I tried creating a domain today with route53. It has some alias records pointing at cloudfront... when i try run it with dnscontrol, i am getting:
I am guessing that its not supported? I know Alias records are working on Cloudflare... |
Oh, those errors are useless. I'll look into that. Correct, r53 just needs to explicitly support alias. Should be super easy, I just havn't had time to validate and push it. |
If you need anyone to help test, just shout. I have domains registered in name.com and dnsimple, and DNS providers in route53, cloudlfare and dnsimple. I would like to try make code changes, but I know nothing of go... not even enough to be dangerous!
Get Outlook for iOS<https://aka.ms/o0ukef>
…________________________________
From: Craig Peterson <notifications@github.com>
Sent: Tuesday, May 2, 2017 9:11:48 PM
To: StackExchange/dnscontrol
Cc: Tiernan OToole; Comment
Subject: Re: [StackExchange/dnscontrol] Should we support ALIAS records? (#50)
Oh, those errors are useless. I'll look into that. Correct, r53 just needs to explicitly support alias. Should be super easy, I just havn't had time to validate and push it.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub<#50 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AAHHMEe6V263svuedEM_FfYem350zRc4ks5r144EgaJpZM4Mhm25>.
|
This is implemented CloudFlare. |
ALIAS is now a record type you can use. All providers for a domain must opt into it for it to be valid. Each provider can deal with it or transform it as they need to. There still may be providers that support it that have not been updated. |
@tlimoncelli @captncraig Thanks a lot for implementing this despite the fact you guys (seemingly) have no need for this feature internally. So I am clear: will this now work for Route53? Or will the Route53 provider need to updated? |
Route 53 will not work at present. I am hoping it is as simple as adding a single flag to the provider registration and it will work. I just need to validate that. |
Any updates on Aliases for route 53? |
providers-test-netcup.log appended: === RUN TestDNSProviders === RUN TestDNSProviders/oXXX.de === RUN TestDNSProviders/oXXX.de/Clean_Slate:Empty integration_test.go:220: DELETE A test.oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50790741 === RUN TestDNSProviders/oXXX.de/00:GeneralACD:Create_an_A_record integration_test.go:220: CREATE A oXXX.de 1.1.1.1 ttl=0 === RUN TestDNSProviders/oXXX.de/00:GeneralACD:Change_it integration_test.go:220: MODIFY A oXXX.de: (1.1.1.1 ttl=0) -> (1.2.3.4 ttl=0), Netcup ID: 50825306: === RUN TestDNSProviders/oXXX.de/00:GeneralACD:Add_another integration_test.go:220: CREATE A www.oXXX.de 1.2.3.4 ttl=0 === RUN TestDNSProviders/oXXX.de/00:GeneralACD:Add_another(same_name) integration_test.go:220: CREATE A www.oXXX.de 5.6.7.8 ttl=0 === RUN TestDNSProviders/oXXX.de/00:GeneralACD:Change_a_ttl integration_test.go:216: Expected changes, but got none === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty integration_test.go:220: DELETE A oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825306 integration_test.go:220: DELETE A www.oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825307 integration_test.go:220: DELETE A www.oXXX.de 5.6.7.8 ttl=0, Netcup ID: 50825308 === RUN TestDNSProviders/oXXX.de/01:WildcardACD:Create_wildcard integration_test.go:220: CREATE A *.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A www.oXXX.de 1.1.1.1 ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#01 integration_test.go:220: DELETE A *.oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825309 integration_test.go:220: DELETE A www.oXXX.de 1.1.1.1 ttl=0, Netcup ID: 50825310 === RUN TestDNSProviders/oXXX.de/02:CNAME:Create_a_CNAME integration_test.go:220: CREATE CNAME foo.oXXX.de google.com. ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#02 integration_test.go:220: DELETE CNAME foo.oXXX.de google.com. ttl=0, Netcup ID: 50825311 === RUN TestDNSProviders/oXXX.de/03:MX:MX_record integration_test.go:220: CREATE MX oXXX.de 5 foo.com. ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#03 integration_test.go:220: DELETE MX oXXX.de 5 foo.com. ttl=0, Netcup ID: 50825312 === RUN TestDNSProviders/oXXX.de/04:Null_MX_***SKIPPED(excluded_by_not("NETCUP"))***:Empty === RUN TestDNSProviders/oXXX.de/05:NS_***SKIPPED(excluded_by_not("NETCUP"))***:Empty === RUN TestDNSProviders/oXXX.de/06:IGNORE_NAME_function:Create_some_records integration_test.go:220: CREATE TXT foo.oXXX.de "simple" ttl=0 integration_test.go:220: CREATE A foo.oXXX.de 1.2.3.4 ttl=0 integration_test.go:239: Expected 0 corrections on second run, but found 1. integration_test.go:241: UNEXPECTED #0: CREATE TXT foo.oXXX.de "simple" ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#04 integration_test.go:220: DELETE A foo.oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825313 === RUN TestDNSProviders/oXXX.de/07:IGNORE_NAME_apex:Create_some_records integration_test.go:220: CREATE TXT bar.oXXX.de "stringbar" ttl=0 integration_test.go:220: CREATE A bar.oXXX.de 2.4.6.8 ttl=0 integration_test.go:220: CREATE A oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE TXT oXXX.de "simple" ttl=0 integration_test.go:239: Expected 0 corrections on second run, but found 2. integration_test.go:241: UNEXPECTED #0: CREATE TXT bar.oXXX.de "stringbar" ttl=0 integration_test.go:241: UNEXPECTED StackExchange#1: CREATE TXT oXXX.de "simple" ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#05 integration_test.go:220: DELETE A bar.oXXX.de 2.4.6.8 ttl=0, Netcup ID: 50825314 integration_test.go:220: DELETE A oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825315 === RUN TestDNSProviders/oXXX.de/08:IGNORE_TARGET_function:Create_some_records integration_test.go:220: CREATE CNAME bar.oXXX.de test.bar.com. ttl=0 integration_test.go:220: CREATE CNAME foo.oXXX.de test.foo.com. ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#06 integration_test.go:220: DELETE CNAME bar.oXXX.de test.bar.com. ttl=0, Netcup ID: 50825316 integration_test.go:220: DELETE CNAME foo.oXXX.de test.foo.com. ttl=0, Netcup ID: 50825317 === RUN TestDNSProviders/oXXX.de/09:simple_TXT:Create_a_TXT integration_test.go:220: CREATE TXT foo.oXXX.de "simple" ttl=0 integration_test.go:239: Expected 0 corrections on second run, but found 1. integration_test.go:241: UNEXPECTED #0: CREATE TXT foo.oXXX.de "simple" ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#07 === RUN TestDNSProviders/oXXX.de/10:simple_TXT-spf1:Create_a_TXT/SPF integration_test.go:220: CREATE TXT foo.oXXX.de "v=spf1 ip4:99.99.99.99 -all" ttl=0 integration_test.go:239: Expected 0 corrections on second run, but found 1. integration_test.go:241: UNEXPECTED #0: CREATE TXT foo.oXXX.de "v=spf1 ip4:99.99.99.99 -all" ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#08 === RUN TestDNSProviders/oXXX.de/11:long_TXT:Create_long_TXT integration_test.go:220: CREATE TXT foo.oXXX.de "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" ttl=0 integration_test.go:239: Expected 0 corrections on second run, but found 1. integration_test.go:241: UNEXPECTED #0: CREATE TXT foo.oXXX.de "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#09 === RUN TestDNSProviders/oXXX.de/12:complex_TXT:TXT_with_0-octel_string integration_test.go:206: ***SKIPPED(PROVIDER DOES NOT SUPPORT 'txtstring is empty' ::"12:complex TXT") === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#10 === RUN TestDNSProviders/oXXX.de/13:long_TXT:Create_a_505_TXT integration_test.go:220: CREATE TXT foo257.oXXX.de "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE" ttl=0 integration_test.go:239: Expected 0 corrections on second run, but found 1. integration_test.go:241: UNEXPECTED #0: CREATE TXT foo257.oXXX.de "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE" ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#11 === RUN TestDNSProviders/oXXX.de/14:TXTMulti:Create_TXTMulti_1 integration_test.go:220: CREATE TXT foo1.oXXX.de "simple" ttl=0 integration_test.go:239: Expected 0 corrections on second run, but found 1. integration_test.go:241: UNEXPECTED #0: CREATE TXT foo1.oXXX.de "simple" ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#12 === RUN TestDNSProviders/oXXX.de/15:TXTMulti-same:Create_TXTMulti_1 integration_test.go:220: CREATE TXT foo.oXXX.de "simple" ttl=0 integration_test.go:239: Expected 0 corrections on second run, but found 1. integration_test.go:241: UNEXPECTED #0: CREATE TXT foo.oXXX.de "simple" ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#13 === RUN TestDNSProviders/oXXX.de/16:TypeChange:Create_a_CNAME integration_test.go:220: CREATE CNAME foo.oXXX.de google.com. ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#14 integration_test.go:220: DELETE CNAME foo.oXXX.de google.com. ttl=0, Netcup ID: 50825318 === RUN TestDNSProviders/oXXX.de/17:Case_Sensitivity:Create_CAPS integration_test.go:220: CREATE MX bar.oXXX.de 5 bar.com. ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#15 integration_test.go:220: DELETE MX bar.oXXX.de 5 bar.com. ttl=0, Netcup ID: 50825319 === RUN TestDNSProviders/oXXX.de/18:IDNA:Internationalized_name integration_test.go:220: CREATE A xn--ndaaa.oXXX.de 1.2.3.4 ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#16 integration_test.go:220: DELETE A xn--ndaaa.oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825320 === RUN TestDNSProviders/oXXX.de/19:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target integration_test.go:220: CREATE CNAME xn--o-0gab.oXXX.de xn--ndaaa.xn--vhquv. ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#17 integration_test.go:220: DELETE CNAME xn--o-0gab.oXXX.de xn--ndaaa.xn--vhquv. ttl=0, Netcup ID: 50825321 === RUN TestDNSProviders/oXXX.de/20:pager101:99_records integration_test.go:220: CREATE A rec0000.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0001.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0002.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0003.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0004.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0005.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0006.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0007.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0008.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0009.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0010.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0011.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0012.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0013.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0014.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0015.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0016.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0017.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0018.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0019.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0020.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0021.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0022.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0023.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0024.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0025.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0026.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0027.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0028.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0029.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0030.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0031.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0032.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0033.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0034.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0035.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0036.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0037.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0038.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0039.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0040.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0041.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0042.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0043.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0044.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0045.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0046.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0047.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0048.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0049.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0050.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0051.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0052.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0053.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0054.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0055.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0056.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0057.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0058.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0059.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0060.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0061.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0062.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0063.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0064.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0065.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0066.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0067.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0068.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0069.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0070.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0071.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0072.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0073.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0074.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0075.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0076.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0077.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0078.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0079.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0080.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0081.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0082.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0083.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0084.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0085.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0086.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0087.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0088.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0089.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0090.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0091.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0092.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0093.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0094.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0095.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0096.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0097.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0098.oXXX.de 1.2.3.4 ttl=0 integration_test.go:239: Expected 0 corrections on second run, but found 99. integration_test.go:241: UNEXPECTED #0: CREATE A rec0000.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#1: CREATE A rec0001.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#2: CREATE A rec0002.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#3: CREATE A rec0003.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#4: CREATE A rec0004.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#5: CREATE A rec0005.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#6: CREATE A rec0006.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#7: CREATE A rec0007.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#8: CREATE A rec0008.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#9: CREATE A rec0009.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#10: CREATE A rec0010.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#11: CREATE A rec0011.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#12: CREATE A rec0012.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#13: CREATE A rec0013.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#14: CREATE A rec0014.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#15: CREATE A rec0015.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#16: CREATE A rec0016.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#17: CREATE A rec0017.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#18: CREATE A rec0018.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#19: CREATE A rec0019.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#20: CREATE A rec0020.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#21: CREATE A rec0021.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#22: CREATE A rec0022.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#23: CREATE A rec0023.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#24: CREATE A rec0024.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#25: CREATE A rec0025.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#26: CREATE A rec0026.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#27: CREATE A rec0027.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#28: CREATE A rec0028.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#29: CREATE A rec0029.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#30: CREATE A rec0030.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#31: CREATE A rec0031.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#32: CREATE A rec0032.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#33: CREATE A rec0033.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#34: CREATE A rec0034.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#35: CREATE A rec0035.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#36: CREATE A rec0036.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#37: CREATE A rec0037.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#38: CREATE A rec0038.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#39: CREATE A rec0039.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#40: CREATE A rec0040.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#41: CREATE A rec0041.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#42: CREATE A rec0042.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#43: CREATE A rec0043.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#44: CREATE A rec0044.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#45: CREATE A rec0045.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#46: CREATE A rec0046.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#47: CREATE A rec0047.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#48: CREATE A rec0048.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#49: CREATE A rec0049.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#50: CREATE A rec0050.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#51: CREATE A rec0051.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#52: CREATE A rec0052.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#53: CREATE A rec0053.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#54: CREATE A rec0054.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#55: CREATE A rec0055.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#56: CREATE A rec0056.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#57: CREATE A rec0057.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#58: CREATE A rec0058.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#59: CREATE A rec0059.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#60: CREATE A rec0060.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#61: CREATE A rec0061.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#62: CREATE A rec0062.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#63: CREATE A rec0063.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#64: CREATE A rec0064.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#65: CREATE A rec0065.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#66: CREATE A rec0066.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#67: CREATE A rec0067.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#68: CREATE A rec0068.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#69: CREATE A rec0069.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#70: CREATE A rec0070.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#71: CREATE A rec0071.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#72: CREATE A rec0072.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#73: CREATE A rec0073.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#74: CREATE A rec0074.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#75: CREATE A rec0075.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#76: CREATE A rec0076.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#77: CREATE A rec0077.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#78: CREATE A rec0078.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#79: CREATE A rec0079.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#80: CREATE A rec0080.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#81: CREATE A rec0081.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#82: CREATE A rec0082.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#83: CREATE A rec0083.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#84: CREATE A rec0084.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#85: CREATE A rec0085.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#86: CREATE A rec0086.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#87: CREATE A rec0087.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#88: CREATE A rec0088.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#89: CREATE A rec0089.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#90: CREATE A rec0090.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#91: CREATE A rec0091.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#92: CREATE A rec0092.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#93: CREATE A rec0093.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#94: CREATE A rec0094.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#95: CREATE A rec0095.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#96: CREATE A rec0096.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#97: CREATE A rec0097.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED StackExchange#98: CREATE A rec0098.oXXX.de 1.2.3.4 ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#18 === RUN TestDNSProviders/oXXX.de/21:pager601_***SKIPPED(disabled_by_only)***:Empty === RUN TestDNSProviders/oXXX.de/22:pager1201_***SKIPPED(disabled_by_only)***:Empty === RUN TestDNSProviders/oXXX.de/23:CAA:CAA_record integration_test.go:220: CREATE CAA oXXX.de 0 issue "letsencrypt.org" ttl=0 integration_test.go:239: Expected 0 corrections on second run, but found 1. integration_test.go:241: UNEXPECTED #0: CREATE CAA oXXX.de 0 issue "letsencrypt.org" ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#19 === RUN TestDNSProviders/oXXX.de/24:CAA_with_;:CAA_many_records integration_test.go:220: CREATE CAA oXXX.de 0 issuewild ";" ttl=0 integration_test.go:239: Expected 0 corrections on second run, but found 1. integration_test.go:241: UNEXPECTED #0: CREATE CAA oXXX.de 0 issuewild ";" ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#20 === RUN TestDNSProviders/oXXX.de/25:Issue_1374:CAA_spaces integration_test.go:220: CREATE CAA oXXX.de 0 issue "letsencrypt.org; validationmethods=dns-01; accounturi=https://acme-v02.api.letsencrypt.org/acme/acct/1234" ttl=0 integration_test.go:239: Expected 0 corrections on second run, but found 1. integration_test.go:241: UNEXPECTED #0: CREATE CAA oXXX.de 0 issue "letsencrypt.org; validationmethods=dns-01; accounturi=https://acme-v02.api.letsencrypt.org/acme/acct/1234" ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#21 === RUN TestDNSProviders/oXXX.de/26:NAPTR_***SKIPPED(CanUseNAPTR_not_supported)***:Empty === RUN TestDNSProviders/oXXX.de/27:PTR_***SKIPPED(CanUsePTR_not_supported)***:Empty === RUN TestDNSProviders/oXXX.de/28:SOA_***SKIPPED(CanUseSOA_not_supported)***:Empty === RUN TestDNSProviders/oXXX.de/29:SRV:SRV_record integration_test.go:220: CREATE SRV _sip._tcp.oXXX.de 5 6 7 foo.com. ttl=0 integration_test.go:239: Expected 0 corrections on second run, but found 1. integration_test.go:241: UNEXPECTED #0: CREATE SRV _sip._tcp.oXXX.de 5 6 7 foo.com. ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#22 === RUN TestDNSProviders/oXXX.de/30:SRV_w/_null_target:Null_Target integration_test.go:220: CREATE SRV _sip._tcp.oXXX.de 52 62 72 foo.com. ttl=0 integration_test.go:220: CREATE SRV _sip._tcp.oXXX.de 15 65 75 . ttl=0 integration_test.go:239: Expected 0 corrections on second run, but found 2. integration_test.go:241: UNEXPECTED #0: CREATE SRV _sip._tcp.oXXX.de 52 62 72 foo.com. ttl=0 integration_test.go:241: UNEXPECTED StackExchange#1: CREATE SRV _sip._tcp.oXXX.de 15 65 75 . ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#23 === RUN TestDNSProviders/oXXX.de/31:SSHFP_***SKIPPED(CanUseSSHFP_not_supported)***:Empty === RUN TestDNSProviders/oXXX.de/32:TLSA_***SKIPPED(CanUseTLSA_not_supported)***:Empty === RUN TestDNSProviders/oXXX.de/33:DS_***SKIPPED(CanUseDS_not_supported)***:Empty === RUN TestDNSProviders/oXXX.de/34:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty === RUN TestDNSProviders/oXXX.de/35:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty === RUN TestDNSProviders/oXXX.de/36:ALIAS_***SKIPPED(CanUseAlias_not_supported)***:Empty === RUN TestDNSProviders/oXXX.de/37:AZURE_ALIAS_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty === RUN TestDNSProviders/oXXX.de/38:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty === RUN TestDNSProviders/oXXX.de/39:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty === RUN TestDNSProviders/oXXX.de/40:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty === RUN TestDNSProviders/oXXX.de/41:CF_PROXY_***SKIPPED(disabled_by_only)***:Empty === RUN TestDNSProviders/oXXX.de/42:CF_WORKER_ROUTE_***SKIPPED(disabled_by_only)***:Empty --- FAIL: TestDNSProviders (25.84s) --- FAIL: TestDNSProviders/oXXX.de (24.98s) --- PASS: TestDNSProviders/oXXX.de/Clean_Slate:Empty (0.25s) --- PASS: TestDNSProviders/oXXX.de/00:GeneralACD:Create_an_A_record (0.33s) --- PASS: TestDNSProviders/oXXX.de/00:GeneralACD:Change_it (0.32s) --- PASS: TestDNSProviders/oXXX.de/00:GeneralACD:Add_another (0.34s) --- PASS: TestDNSProviders/oXXX.de/00:GeneralACD:Add_another(same_name) (0.38s) --- FAIL: TestDNSProviders/oXXX.de/00:GeneralACD:Change_a_ttl (0.11s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty (0.59s) --- PASS: TestDNSProviders/oXXX.de/01:WildcardACD:Create_wildcard (0.46s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#01 (0.37s) --- PASS: TestDNSProviders/oXXX.de/02:CNAME:Create_a_CNAME (0.31s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#02 (0.23s) --- PASS: TestDNSProviders/oXXX.de/03:MX:MX_record (0.31s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#03 (0.21s) --- PASS: TestDNSProviders/oXXX.de/04:Null_MX_***SKIPPED(excluded_by_not("NETCUP"))***:Empty (0.10s) --- PASS: TestDNSProviders/oXXX.de/05:NS_***SKIPPED(excluded_by_not("NETCUP"))***:Empty (0.08s) --- FAIL: TestDNSProviders/oXXX.de/06:IGNORE_NAME_function:Create_some_records (0.36s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#04 (0.24s) --- FAIL: TestDNSProviders/oXXX.de/07:IGNORE_NAME_apex:Create_some_records (0.57s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#05 (0.35s) --- PASS: TestDNSProviders/oXXX.de/08:IGNORE_TARGET_function:Create_some_records (0.45s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#06 (0.38s) --- FAIL: TestDNSProviders/oXXX.de/09:simple_TXT:Create_a_TXT (0.25s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#07 (0.08s) --- FAIL: TestDNSProviders/oXXX.de/10:simple_TXT-spf1:Create_a_TXT/SPF (0.28s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#08 (0.12s) --- FAIL: TestDNSProviders/oXXX.de/11:long_TXT:Create_long_TXT (0.25s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#09 (0.11s) --- SKIP: TestDNSProviders/oXXX.de/12:complex_TXT:TXT_with_0-octel_string (0.00s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#10 (0.10s) --- FAIL: TestDNSProviders/oXXX.de/13:long_TXT:Create_a_505_TXT (0.25s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#11 (0.08s) --- FAIL: TestDNSProviders/oXXX.de/14:TXTMulti:Create_TXTMulti_1 (0.26s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#12 (0.09s) --- FAIL: TestDNSProviders/oXXX.de/15:TXTMulti-same:Create_TXTMulti_1 (0.24s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#13 (0.10s) --- PASS: TestDNSProviders/oXXX.de/16:TypeChange:Create_a_CNAME (0.34s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#14 (0.23s) --- PASS: TestDNSProviders/oXXX.de/17:Case_Sensitivity:Create_CAPS (0.33s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#15 (0.22s) --- PASS: TestDNSProviders/oXXX.de/18:IDNA:Internationalized_name (0.34s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#16 (0.21s) --- PASS: TestDNSProviders/oXXX.de/19:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target (0.29s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#17 (0.24s) --- FAIL: TestDNSProviders/oXXX.de/20:pager101:99_records (11.55s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#18 (0.05s) --- PASS: TestDNSProviders/oXXX.de/21:pager601_***SKIPPED(disabled_by_only)***:Empty (0.05s) --- PASS: TestDNSProviders/oXXX.de/22:pager1201_***SKIPPED(disabled_by_only)***:Empty (0.05s) --- FAIL: TestDNSProviders/oXXX.de/23:CAA:CAA_record (0.20s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#19 (0.05s) --- FAIL: TestDNSProviders/oXXX.de/24:CAA_with_;:CAA_many_records (0.19s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#20 (0.06s) --- FAIL: TestDNSProviders/oXXX.de/25:Issue_1374:CAA_spaces (0.17s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#21 (0.07s) --- PASS: TestDNSProviders/oXXX.de/26:NAPTR_***SKIPPED(CanUseNAPTR_not_supported)***:Empty (0.05s) --- PASS: TestDNSProviders/oXXX.de/27:PTR_***SKIPPED(CanUsePTR_not_supported)***:Empty (0.06s) --- PASS: TestDNSProviders/oXXX.de/28:SOA_***SKIPPED(CanUseSOA_not_supported)***:Empty (0.06s) --- FAIL: TestDNSProviders/oXXX.de/29:SRV:SRV_record (0.17s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#22 (0.06s) --- FAIL: TestDNSProviders/oXXX.de/30:SRV_w/_null_target:Null_Target (0.25s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#23 (0.08s) --- PASS: TestDNSProviders/oXXX.de/31:SSHFP_***SKIPPED(CanUseSSHFP_not_supported)***:Empty (0.06s) --- PASS: TestDNSProviders/oXXX.de/32:TLSA_***SKIPPED(CanUseTLSA_not_supported)***:Empty (0.06s) --- PASS: TestDNSProviders/oXXX.de/33:DS_***SKIPPED(CanUseDS_not_supported)***:Empty (0.05s) --- PASS: TestDNSProviders/oXXX.de/34:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.05s) --- PASS: TestDNSProviders/oXXX.de/35:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.06s) --- PASS: TestDNSProviders/oXXX.de/36:ALIAS_***SKIPPED(CanUseAlias_not_supported)***:Empty (0.06s) --- PASS: TestDNSProviders/oXXX.de/37:AZURE_ALIAS_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty (0.05s) --- PASS: TestDNSProviders/oXXX.de/38:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.05s) --- PASS: TestDNSProviders/oXXX.de/39:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.06s) --- PASS: TestDNSProviders/oXXX.de/40:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty (0.05s) --- PASS: TestDNSProviders/oXXX.de/41:CF_PROXY_***SKIPPED(disabled_by_only)***:Empty (0.05s) --- PASS: TestDNSProviders/oXXX.de/42:CF_WORKER_ROUTE_***SKIPPED(disabled_by_only)***:Empty (0.06s) === RUN TestDualProviders integration_test.go:312: Skipping. DocDualHost == Cannot --- SKIP: TestDualProviders (0.06s) FAIL exit status 1 FAIL github.com/StackExchange/dnscontrol/v3/integrationTest 25.942s
providers-test-netcup.log appended: === RUN TestDNSProviders === RUN TestDNSProviders/oXXX.de === RUN TestDNSProviders/oXXX.de/Clean_Slate:Empty integration_test.go:220: DELETE A test.oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50790741 === RUN TestDNSProviders/oXXX.de/00:GeneralACD:Create_an_A_record integration_test.go:220: CREATE A oXXX.de 1.1.1.1 ttl=0 === RUN TestDNSProviders/oXXX.de/00:GeneralACD:Change_it integration_test.go:220: MODIFY A oXXX.de: (1.1.1.1 ttl=0) -> (1.2.3.4 ttl=0), Netcup ID: 50825306: === RUN TestDNSProviders/oXXX.de/00:GeneralACD:Add_another integration_test.go:220: CREATE A www.oXXX.de 1.2.3.4 ttl=0 === RUN TestDNSProviders/oXXX.de/00:GeneralACD:Add_another(same_name) integration_test.go:220: CREATE A www.oXXX.de 5.6.7.8 ttl=0 === RUN TestDNSProviders/oXXX.de/00:GeneralACD:Change_a_ttl integration_test.go:216: Expected changes, but got none === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty integration_test.go:220: DELETE A oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825306 integration_test.go:220: DELETE A www.oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825307 integration_test.go:220: DELETE A www.oXXX.de 5.6.7.8 ttl=0, Netcup ID: 50825308 === RUN TestDNSProviders/oXXX.de/01:WildcardACD:Create_wildcard integration_test.go:220: CREATE A *.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A www.oXXX.de 1.1.1.1 ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#01 integration_test.go:220: DELETE A *.oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825309 integration_test.go:220: DELETE A www.oXXX.de 1.1.1.1 ttl=0, Netcup ID: 50825310 === RUN TestDNSProviders/oXXX.de/02:CNAME:Create_a_CNAME integration_test.go:220: CREATE CNAME foo.oXXX.de google.com. ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#02 integration_test.go:220: DELETE CNAME foo.oXXX.de google.com. ttl=0, Netcup ID: 50825311 === RUN TestDNSProviders/oXXX.de/03:MX:MX_record integration_test.go:220: CREATE MX oXXX.de 5 foo.com. ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#03 integration_test.go:220: DELETE MX oXXX.de 5 foo.com. ttl=0, Netcup ID: 50825312 === RUN TestDNSProviders/oXXX.de/04:Null_MX_***SKIPPED(excluded_by_not("NETCUP"))***:Empty === RUN TestDNSProviders/oXXX.de/05:NS_***SKIPPED(excluded_by_not("NETCUP"))***:Empty === RUN TestDNSProviders/oXXX.de/06:IGNORE_NAME_function:Create_some_records integration_test.go:220: CREATE TXT foo.oXXX.de "simple" ttl=0 integration_test.go:220: CREATE A foo.oXXX.de 1.2.3.4 ttl=0 integration_test.go:239: Expected 0 corrections on second run, but found 1. integration_test.go:241: UNEXPECTED #0: CREATE TXT foo.oXXX.de "simple" ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#04 integration_test.go:220: DELETE A foo.oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825313 === RUN TestDNSProviders/oXXX.de/07:IGNORE_NAME_apex:Create_some_records integration_test.go:220: CREATE TXT bar.oXXX.de "stringbar" ttl=0 integration_test.go:220: CREATE A bar.oXXX.de 2.4.6.8 ttl=0 integration_test.go:220: CREATE A oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE TXT oXXX.de "simple" ttl=0 integration_test.go:239: Expected 0 corrections on second run, but found 2. integration_test.go:241: UNEXPECTED #0: CREATE TXT bar.oXXX.de "stringbar" ttl=0 integration_test.go:241: UNEXPECTED #1: CREATE TXT oXXX.de "simple" ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#05 integration_test.go:220: DELETE A bar.oXXX.de 2.4.6.8 ttl=0, Netcup ID: 50825314 integration_test.go:220: DELETE A oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825315 === RUN TestDNSProviders/oXXX.de/08:IGNORE_TARGET_function:Create_some_records integration_test.go:220: CREATE CNAME bar.oXXX.de test.bar.com. ttl=0 integration_test.go:220: CREATE CNAME foo.oXXX.de test.foo.com. ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#06 integration_test.go:220: DELETE CNAME bar.oXXX.de test.bar.com. ttl=0, Netcup ID: 50825316 integration_test.go:220: DELETE CNAME foo.oXXX.de test.foo.com. ttl=0, Netcup ID: 50825317 === RUN TestDNSProviders/oXXX.de/09:simple_TXT:Create_a_TXT integration_test.go:220: CREATE TXT foo.oXXX.de "simple" ttl=0 integration_test.go:239: Expected 0 corrections on second run, but found 1. integration_test.go:241: UNEXPECTED #0: CREATE TXT foo.oXXX.de "simple" ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#07 === RUN TestDNSProviders/oXXX.de/10:simple_TXT-spf1:Create_a_TXT/SPF integration_test.go:220: CREATE TXT foo.oXXX.de "v=spf1 ip4:99.99.99.99 -all" ttl=0 integration_test.go:239: Expected 0 corrections on second run, but found 1. integration_test.go:241: UNEXPECTED #0: CREATE TXT foo.oXXX.de "v=spf1 ip4:99.99.99.99 -all" ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#08 === RUN TestDNSProviders/oXXX.de/11:long_TXT:Create_long_TXT integration_test.go:220: CREATE TXT foo.oXXX.de "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" ttl=0 integration_test.go:239: Expected 0 corrections on second run, but found 1. integration_test.go:241: UNEXPECTED #0: CREATE TXT foo.oXXX.de "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#09 === RUN TestDNSProviders/oXXX.de/12:complex_TXT:TXT_with_0-octel_string integration_test.go:206: ***SKIPPED(PROVIDER DOES NOT SUPPORT 'txtstring is empty' ::"12:complex TXT") === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#10 === RUN TestDNSProviders/oXXX.de/13:long_TXT:Create_a_505_TXT integration_test.go:220: CREATE TXT foo257.oXXX.de "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE" ttl=0 integration_test.go:239: Expected 0 corrections on second run, but found 1. integration_test.go:241: UNEXPECTED #0: CREATE TXT foo257.oXXX.de "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE" ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#11 === RUN TestDNSProviders/oXXX.de/14:TXTMulti:Create_TXTMulti_1 integration_test.go:220: CREATE TXT foo1.oXXX.de "simple" ttl=0 integration_test.go:239: Expected 0 corrections on second run, but found 1. integration_test.go:241: UNEXPECTED #0: CREATE TXT foo1.oXXX.de "simple" ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#12 === RUN TestDNSProviders/oXXX.de/15:TXTMulti-same:Create_TXTMulti_1 integration_test.go:220: CREATE TXT foo.oXXX.de "simple" ttl=0 integration_test.go:239: Expected 0 corrections on second run, but found 1. integration_test.go:241: UNEXPECTED #0: CREATE TXT foo.oXXX.de "simple" ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#13 === RUN TestDNSProviders/oXXX.de/16:TypeChange:Create_a_CNAME integration_test.go:220: CREATE CNAME foo.oXXX.de google.com. ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#14 integration_test.go:220: DELETE CNAME foo.oXXX.de google.com. ttl=0, Netcup ID: 50825318 === RUN TestDNSProviders/oXXX.de/17:Case_Sensitivity:Create_CAPS integration_test.go:220: CREATE MX bar.oXXX.de 5 bar.com. ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#15 integration_test.go:220: DELETE MX bar.oXXX.de 5 bar.com. ttl=0, Netcup ID: 50825319 === RUN TestDNSProviders/oXXX.de/18:IDNA:Internationalized_name integration_test.go:220: CREATE A xn--ndaaa.oXXX.de 1.2.3.4 ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#16 integration_test.go:220: DELETE A xn--ndaaa.oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825320 === RUN TestDNSProviders/oXXX.de/19:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target integration_test.go:220: CREATE CNAME xn--o-0gab.oXXX.de xn--ndaaa.xn--vhquv. ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#17 integration_test.go:220: DELETE CNAME xn--o-0gab.oXXX.de xn--ndaaa.xn--vhquv. ttl=0, Netcup ID: 50825321 === RUN TestDNSProviders/oXXX.de/20:pager101:99_records integration_test.go:220: CREATE A rec0000.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0001.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0002.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0003.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0004.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0005.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0006.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0007.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0008.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0009.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0010.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0011.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0012.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0013.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0014.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0015.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0016.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0017.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0018.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0019.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0020.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0021.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0022.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0023.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0024.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0025.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0026.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0027.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0028.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0029.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0030.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0031.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0032.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0033.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0034.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0035.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0036.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0037.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0038.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0039.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0040.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0041.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0042.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0043.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0044.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0045.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0046.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0047.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0048.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0049.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0050.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0051.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0052.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0053.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0054.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0055.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0056.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0057.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0058.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0059.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0060.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0061.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0062.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0063.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0064.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0065.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0066.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0067.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0068.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0069.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0070.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0071.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0072.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0073.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0074.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0075.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0076.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0077.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0078.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0079.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0080.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0081.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0082.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0083.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0084.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0085.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0086.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0087.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0088.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0089.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0090.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0091.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0092.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0093.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0094.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0095.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0096.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0097.oXXX.de 1.2.3.4 ttl=0 integration_test.go:220: CREATE A rec0098.oXXX.de 1.2.3.4 ttl=0 integration_test.go:239: Expected 0 corrections on second run, but found 99. integration_test.go:241: UNEXPECTED #0: CREATE A rec0000.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #1: CREATE A rec0001.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #2: CREATE A rec0002.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #3: CREATE A rec0003.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #4: CREATE A rec0004.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #5: CREATE A rec0005.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #6: CREATE A rec0006.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #7: CREATE A rec0007.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #8: CREATE A rec0008.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #9: CREATE A rec0009.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #10: CREATE A rec0010.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #11: CREATE A rec0011.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #12: CREATE A rec0012.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #13: CREATE A rec0013.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #14: CREATE A rec0014.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #15: CREATE A rec0015.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #16: CREATE A rec0016.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #17: CREATE A rec0017.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #18: CREATE A rec0018.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #19: CREATE A rec0019.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #20: CREATE A rec0020.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #21: CREATE A rec0021.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #22: CREATE A rec0022.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #23: CREATE A rec0023.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #24: CREATE A rec0024.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #25: CREATE A rec0025.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #26: CREATE A rec0026.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #27: CREATE A rec0027.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #28: CREATE A rec0028.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #29: CREATE A rec0029.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #30: CREATE A rec0030.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #31: CREATE A rec0031.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #32: CREATE A rec0032.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #33: CREATE A rec0033.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #34: CREATE A rec0034.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #35: CREATE A rec0035.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #36: CREATE A rec0036.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #37: CREATE A rec0037.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #38: CREATE A rec0038.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #39: CREATE A rec0039.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #40: CREATE A rec0040.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #41: CREATE A rec0041.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #42: CREATE A rec0042.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #43: CREATE A rec0043.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #44: CREATE A rec0044.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #45: CREATE A rec0045.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #46: CREATE A rec0046.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #47: CREATE A rec0047.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #48: CREATE A rec0048.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #49: CREATE A rec0049.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #50: CREATE A rec0050.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #51: CREATE A rec0051.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #52: CREATE A rec0052.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #53: CREATE A rec0053.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #54: CREATE A rec0054.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #55: CREATE A rec0055.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #56: CREATE A rec0056.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #57: CREATE A rec0057.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #58: CREATE A rec0058.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #59: CREATE A rec0059.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #60: CREATE A rec0060.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #61: CREATE A rec0061.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #62: CREATE A rec0062.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #63: CREATE A rec0063.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #64: CREATE A rec0064.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #65: CREATE A rec0065.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #66: CREATE A rec0066.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #67: CREATE A rec0067.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #68: CREATE A rec0068.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #69: CREATE A rec0069.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #70: CREATE A rec0070.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #71: CREATE A rec0071.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #72: CREATE A rec0072.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #73: CREATE A rec0073.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #74: CREATE A rec0074.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #75: CREATE A rec0075.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #76: CREATE A rec0076.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #77: CREATE A rec0077.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #78: CREATE A rec0078.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #79: CREATE A rec0079.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #80: CREATE A rec0080.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #81: CREATE A rec0081.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #82: CREATE A rec0082.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #83: CREATE A rec0083.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #84: CREATE A rec0084.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #85: CREATE A rec0085.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #86: CREATE A rec0086.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #87: CREATE A rec0087.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #88: CREATE A rec0088.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #89: CREATE A rec0089.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #90: CREATE A rec0090.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #91: CREATE A rec0091.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #92: CREATE A rec0092.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #93: CREATE A rec0093.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #94: CREATE A rec0094.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #95: CREATE A rec0095.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #96: CREATE A rec0096.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #97: CREATE A rec0097.oXXX.de 1.2.3.4 ttl=0 integration_test.go:241: UNEXPECTED #98: CREATE A rec0098.oXXX.de 1.2.3.4 ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#18 === RUN TestDNSProviders/oXXX.de/21:pager601_***SKIPPED(disabled_by_only)***:Empty === RUN TestDNSProviders/oXXX.de/22:pager1201_***SKIPPED(disabled_by_only)***:Empty === RUN TestDNSProviders/oXXX.de/23:CAA:CAA_record integration_test.go:220: CREATE CAA oXXX.de 0 issue "letsencrypt.org" ttl=0 integration_test.go:239: Expected 0 corrections on second run, but found 1. integration_test.go:241: UNEXPECTED #0: CREATE CAA oXXX.de 0 issue "letsencrypt.org" ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#19 === RUN TestDNSProviders/oXXX.de/24:CAA_with_;:CAA_many_records integration_test.go:220: CREATE CAA oXXX.de 0 issuewild ";" ttl=0 integration_test.go:239: Expected 0 corrections on second run, but found 1. integration_test.go:241: UNEXPECTED #0: CREATE CAA oXXX.de 0 issuewild ";" ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#20 === RUN TestDNSProviders/oXXX.de/25:Issue_1374:CAA_spaces integration_test.go:220: CREATE CAA oXXX.de 0 issue "letsencrypt.org; validationmethods=dns-01; accounturi=https://acme-v02.api.letsencrypt.org/acme/acct/1234" ttl=0 integration_test.go:239: Expected 0 corrections on second run, but found 1. integration_test.go:241: UNEXPECTED #0: CREATE CAA oXXX.de 0 issue "letsencrypt.org; validationmethods=dns-01; accounturi=https://acme-v02.api.letsencrypt.org/acme/acct/1234" ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#21 === RUN TestDNSProviders/oXXX.de/26:NAPTR_***SKIPPED(CanUseNAPTR_not_supported)***:Empty === RUN TestDNSProviders/oXXX.de/27:PTR_***SKIPPED(CanUsePTR_not_supported)***:Empty === RUN TestDNSProviders/oXXX.de/28:SOA_***SKIPPED(CanUseSOA_not_supported)***:Empty === RUN TestDNSProviders/oXXX.de/29:SRV:SRV_record integration_test.go:220: CREATE SRV _sip._tcp.oXXX.de 5 6 7 foo.com. ttl=0 integration_test.go:239: Expected 0 corrections on second run, but found 1. integration_test.go:241: UNEXPECTED #0: CREATE SRV _sip._tcp.oXXX.de 5 6 7 foo.com. ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#22 === RUN TestDNSProviders/oXXX.de/30:SRV_w/_null_target:Null_Target integration_test.go:220: CREATE SRV _sip._tcp.oXXX.de 52 62 72 foo.com. ttl=0 integration_test.go:220: CREATE SRV _sip._tcp.oXXX.de 15 65 75 . ttl=0 integration_test.go:239: Expected 0 corrections on second run, but found 2. integration_test.go:241: UNEXPECTED #0: CREATE SRV _sip._tcp.oXXX.de 52 62 72 foo.com. ttl=0 integration_test.go:241: UNEXPECTED #1: CREATE SRV _sip._tcp.oXXX.de 15 65 75 . ttl=0 === RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#23 === RUN TestDNSProviders/oXXX.de/31:SSHFP_***SKIPPED(CanUseSSHFP_not_supported)***:Empty === RUN TestDNSProviders/oXXX.de/32:TLSA_***SKIPPED(CanUseTLSA_not_supported)***:Empty === RUN TestDNSProviders/oXXX.de/33:DS_***SKIPPED(CanUseDS_not_supported)***:Empty === RUN TestDNSProviders/oXXX.de/34:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty === RUN TestDNSProviders/oXXX.de/35:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty === RUN TestDNSProviders/oXXX.de/36:ALIAS_***SKIPPED(CanUseAlias_not_supported)***:Empty === RUN TestDNSProviders/oXXX.de/37:AZURE_ALIAS_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty === RUN TestDNSProviders/oXXX.de/38:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty === RUN TestDNSProviders/oXXX.de/39:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty === RUN TestDNSProviders/oXXX.de/40:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty === RUN TestDNSProviders/oXXX.de/41:CF_PROXY_***SKIPPED(disabled_by_only)***:Empty === RUN TestDNSProviders/oXXX.de/42:CF_WORKER_ROUTE_***SKIPPED(disabled_by_only)***:Empty --- FAIL: TestDNSProviders (25.84s) --- FAIL: TestDNSProviders/oXXX.de (24.98s) --- PASS: TestDNSProviders/oXXX.de/Clean_Slate:Empty (0.25s) --- PASS: TestDNSProviders/oXXX.de/00:GeneralACD:Create_an_A_record (0.33s) --- PASS: TestDNSProviders/oXXX.de/00:GeneralACD:Change_it (0.32s) --- PASS: TestDNSProviders/oXXX.de/00:GeneralACD:Add_another (0.34s) --- PASS: TestDNSProviders/oXXX.de/00:GeneralACD:Add_another(same_name) (0.38s) --- FAIL: TestDNSProviders/oXXX.de/00:GeneralACD:Change_a_ttl (0.11s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty (0.59s) --- PASS: TestDNSProviders/oXXX.de/01:WildcardACD:Create_wildcard (0.46s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#01 (0.37s) --- PASS: TestDNSProviders/oXXX.de/02:CNAME:Create_a_CNAME (0.31s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#02 (0.23s) --- PASS: TestDNSProviders/oXXX.de/03:MX:MX_record (0.31s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#03 (0.21s) --- PASS: TestDNSProviders/oXXX.de/04:Null_MX_***SKIPPED(excluded_by_not("NETCUP"))***:Empty (0.10s) --- PASS: TestDNSProviders/oXXX.de/05:NS_***SKIPPED(excluded_by_not("NETCUP"))***:Empty (0.08s) --- FAIL: TestDNSProviders/oXXX.de/06:IGNORE_NAME_function:Create_some_records (0.36s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#04 (0.24s) --- FAIL: TestDNSProviders/oXXX.de/07:IGNORE_NAME_apex:Create_some_records (0.57s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#05 (0.35s) --- PASS: TestDNSProviders/oXXX.de/08:IGNORE_TARGET_function:Create_some_records (0.45s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#06 (0.38s) --- FAIL: TestDNSProviders/oXXX.de/09:simple_TXT:Create_a_TXT (0.25s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#07 (0.08s) --- FAIL: TestDNSProviders/oXXX.de/10:simple_TXT-spf1:Create_a_TXT/SPF (0.28s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#08 (0.12s) --- FAIL: TestDNSProviders/oXXX.de/11:long_TXT:Create_long_TXT (0.25s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#09 (0.11s) --- SKIP: TestDNSProviders/oXXX.de/12:complex_TXT:TXT_with_0-octel_string (0.00s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#10 (0.10s) --- FAIL: TestDNSProviders/oXXX.de/13:long_TXT:Create_a_505_TXT (0.25s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#11 (0.08s) --- FAIL: TestDNSProviders/oXXX.de/14:TXTMulti:Create_TXTMulti_1 (0.26s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#12 (0.09s) --- FAIL: TestDNSProviders/oXXX.de/15:TXTMulti-same:Create_TXTMulti_1 (0.24s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#13 (0.10s) --- PASS: TestDNSProviders/oXXX.de/16:TypeChange:Create_a_CNAME (0.34s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#14 (0.23s) --- PASS: TestDNSProviders/oXXX.de/17:Case_Sensitivity:Create_CAPS (0.33s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#15 (0.22s) --- PASS: TestDNSProviders/oXXX.de/18:IDNA:Internationalized_name (0.34s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#16 (0.21s) --- PASS: TestDNSProviders/oXXX.de/19:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target (0.29s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#17 (0.24s) --- FAIL: TestDNSProviders/oXXX.de/20:pager101:99_records (11.55s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#18 (0.05s) --- PASS: TestDNSProviders/oXXX.de/21:pager601_***SKIPPED(disabled_by_only)***:Empty (0.05s) --- PASS: TestDNSProviders/oXXX.de/22:pager1201_***SKIPPED(disabled_by_only)***:Empty (0.05s) --- FAIL: TestDNSProviders/oXXX.de/23:CAA:CAA_record (0.20s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#19 (0.05s) --- FAIL: TestDNSProviders/oXXX.de/24:CAA_with_;:CAA_many_records (0.19s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#20 (0.06s) --- FAIL: TestDNSProviders/oXXX.de/25:Issue_1374:CAA_spaces (0.17s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#21 (0.07s) --- PASS: TestDNSProviders/oXXX.de/26:NAPTR_***SKIPPED(CanUseNAPTR_not_supported)***:Empty (0.05s) --- PASS: TestDNSProviders/oXXX.de/27:PTR_***SKIPPED(CanUsePTR_not_supported)***:Empty (0.06s) --- PASS: TestDNSProviders/oXXX.de/28:SOA_***SKIPPED(CanUseSOA_not_supported)***:Empty (0.06s) --- FAIL: TestDNSProviders/oXXX.de/29:SRV:SRV_record (0.17s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#22 (0.06s) --- FAIL: TestDNSProviders/oXXX.de/30:SRV_w/_null_target:Null_Target (0.25s) --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#23 (0.08s) --- PASS: TestDNSProviders/oXXX.de/31:SSHFP_***SKIPPED(CanUseSSHFP_not_supported)***:Empty (0.06s) --- PASS: TestDNSProviders/oXXX.de/32:TLSA_***SKIPPED(CanUseTLSA_not_supported)***:Empty (0.06s) --- PASS: TestDNSProviders/oXXX.de/33:DS_***SKIPPED(CanUseDS_not_supported)***:Empty (0.05s) --- PASS: TestDNSProviders/oXXX.de/34:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.05s) --- PASS: TestDNSProviders/oXXX.de/35:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.06s) --- PASS: TestDNSProviders/oXXX.de/36:ALIAS_***SKIPPED(CanUseAlias_not_supported)***:Empty (0.06s) --- PASS: TestDNSProviders/oXXX.de/37:AZURE_ALIAS_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty (0.05s) --- PASS: TestDNSProviders/oXXX.de/38:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.05s) --- PASS: TestDNSProviders/oXXX.de/39:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.06s) --- PASS: TestDNSProviders/oXXX.de/40:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty (0.05s) --- PASS: TestDNSProviders/oXXX.de/41:CF_PROXY_***SKIPPED(disabled_by_only)***:Empty (0.05s) --- PASS: TestDNSProviders/oXXX.de/42:CF_WORKER_ROUTE_***SKIPPED(disabled_by_only)***:Empty (0.06s) === RUN TestDualProviders integration_test.go:312: Skipping. DocDualHost == Cannot --- SKIP: TestDualProviders (0.06s) FAIL exit status 1 FAIL github.com/StackExchange/dnscontrol/v3/integrationTest 25.942s Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
Some providers support an ALIAS or ANAME record type that acts like a CNAME, but converts it dynamically to an A or AAAA record at dns request time.
The primary use case I believe is allowing a CNAME type record at the zone apex where it is not usually allowed.
R53, DME, and DNSimple, and CF support them natively, while others do not at the moment.
Proposal:
Add an
ALIAS( name, aliasDomain)
record type.Add some mechanism for a provider to indicate it supports these records (perhaps by implementing
interface { SupportsAlias() bool }
).At validation time, check if you use
ALIAS
records with a non-supporting provider, and error if so.Potentially add some "override" metadata, to resolve the name at "compile time" and use that A and/or AAAA records instead for non-supporting providers. This would be a one-time lookup, but could still "work" in a way. Perhaps you run dnsconrtol on a cron job to keep it updated it or something. I would want to use something like
ALIAS("@", "otherdomain.com", { lookup_on_build: true})
to make sure you are really ok with that behaviour. (name negotiable).Concerns:
Inconsistent experience if using some supporting providers and some non-supporting. Dual host setups could end up with divergent zones.
Is this feature even needed? I do think CNAME apex records could be valuable, but don't want to do it if nobody will use it.
Is "compile time" lookup a horrible idea in general?
The text was updated successfully, but these errors were encountered: