-
Notifications
You must be signed in to change notification settings - Fork 9.6k
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
UltraDNS Provider #2716
UltraDNS Provider #2716
Conversation
👍 it's even got docs! |
On first glance this looks great! Will do a full review sometime this week. |
What's left for getting this added to the official project? |
Any update of this PR ? |
@@ -0,0 +1 @@ | |||
package main |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No need to include the empty test file here.
Alright @jmasseo - finally got around to doing a proper review on this. Made a bunch of comments in line for you, but on the whole this is coming along nicely! |
4a9f690
to
511b430
Compare
This patch is failing due to |
@phinze this is ready for your 👀 |
The failure coming from tests is related to this PR and needs fixing before someone starts reviewing it:
|
@radeksimko indeed it was. @phinze all fixed now, and with much better error handling. |
rebased again. @phinze, @radeksimko ready for your 👓 |
|
||
if v := os.Getenv("ULTRADNS_DOMAIN"); v == "" { | ||
t.Fatal("ULTRADNS_DOMAIN must be set for acceptance tests. The domain is used to create and destroy record against.") | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Variable says DOMAIN
here but it's BASEURL
in the provider config. Is there a difference?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the DOMAIN is specified for the test. This is the domain it will perform the test operation with in resource_ultradns_record_test.go. BASEURL specifies if it should use production or the development sandbox.
Okay one more review pass w/ a few questions, nearly there! |
ok, async work has been done. @phinze, @radeksimko ready for your 👓 we've got some more advanced features in the pipe, would be nice to get these basics merged before we start a ticket for the new shiny. |
@josephholsten Still not seeing any Also, can somebody could point me in the direction of the account that we'd need to sign up for to to properly set up Travis to run nightly tests? I want to make sure we pick up the correct account type. |
Ah okay, didn't catch that part. That's nicer! Will give it one more pass through and pull it in. 👍 🚢 |
(Also @josephholsten did you have any knowledge you could share on the account type necessary to acceptance test this provider?) |
@phinze I've signed up for an UltraDNS account to get acceptance tests running at our end for this; looks like it will take a few hours, so I'll come back to it later. Code LGTM (following reasonably extensive review I guess that shouldn't be a surprise!) though. |
Unfortunately it seems we either don't have the correct type of account, or have a credentials issue:
I have contacted UltraDNS support in the hope they can help us establish which account type or credentials we need to use. @josephholsten or @jmasseo, might either of you be able to shed any light on this? |
The sandbox does not update from their production system very frequently. They just recently updated it for the first time in several months. We may have to bother them to force a sync to the testing environment for your credentials to work. I had to do a lot of my development testing against production credentials because the sandbox is so wonky. I have made a lot of changes to the SDK to provide robustness against UltraDNS weirdness as well, and will be pushing that changeset over to the SDK when I'm finished this week. Then I have a few more changes to make to this branch to add support for the fancy geo features that UltraDNS supports. |
Hi @jmasseo - thanks for the update. It turns out API access is only provided with enterprise accounts so we don't really have any way to test this. We're hoping to start a discussion with UltraDNS about whether this is a possibility. One other possibility, though less nice, is to split this out into it's own repository as a third party provider. We can aim to make some kind of decision on this soon - sorry for the delay in reviewing! |
I've reached out to UltraDNS and heard back and they are trying to work on some API accounts for us. |
@jmasseo - if you shoot an email to terraform at hashicorp we can chat about it! |
Just noting out here that I bumped a thread w/ @jmasseo today - hoping to get this landed soon! |
I was rebasing this branch up to master and somehow it's marked as merged. re-opening... |
Seems to be a bug, it was somehow merged after I merged this one: #5715 |
ok, the actual patch now lives at #5716 |
@josephholsten yeah we're trying to figure out what happened here heh. Just confirmed that the UDNS code did not in fact land on master. |
And this is why you should never rewrite history while wearing emperor's attire in public. |
I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further. |
I've implemented a simple UltraDNS provider that can manage DNS records with UltraDNS' REST API.
I've included documentation and acceptance tests.
It is 'inspired' by the DNSimple provider.