Skip to content
This repository has been archived by the owner on Apr 13, 2021. It is now read-only.

Use cases, requirements, experiences... #6

Open
eirslett opened this issue Oct 2, 2015 · 14 comments
Open

Use cases, requirements, experiences... #6

eirslett opened this issue Oct 2, 2015 · 14 comments

Comments

@eirslett
Copy link
Contributor

eirslett commented Oct 2, 2015

Has anybody (expect FINN.no) tried this terraform provider yet? It would be nice to get some feedback/insight on how it works, what it's lacking and so on.

@kbroughton
Copy link
Contributor

Just got it working for the first time!

  1. I was not able to get it to work using a string for the path to ssh key, but a file worked
    public_key = "${file("~/.ssh/tf_sl_rsa.pub")}"
  2. If there is any error (including non-existent file) you get an unhelpful "Unable to generate fingerprint" message. Better error messaging would be nice.
  3. The ip was not issued after creation so i had to go look it up. Would be nice if this could be dumped to the commandline.
  4. SL creates root users. Might be nice to specify (ubuntu user for example)
    ssh root@81.95.146.50
  5. Please explain
    user_data = "{"fox":[45]}"

Issuing a pr for readme for 1 and 4.

@cmluciano
Copy link

I got this semi-working.

  1. It seems to expect a new key for ssh-keys. If I have an existing key already in SL, I would probably want to use that.
  2. It uses operatingSystemReferenceCode by default. It would be nice to also have the option of using the globalIdentifier or `UUID. This would allow someone to build a custom image with packer and then launch it with terraform (maybe have a 2nd optional entry for this callbase_image_id``).
  3. I will keep testing

@eirslett
Copy link
Contributor Author

eirslett commented Oct 6, 2015

  1. I think that is a limitation in SoftLayer actually... you can only have one instance of a key in the SoftLayer installation. Maybe we should document it better... what we do is to create a unique key for every cluster/terraform setup on the servers, and these keys are installed on a "bootstrap server" where we run provisioning/puppet/ansible and ssh from. So you need ssh to the bootstrap server, and from there we run password-less ssh into the actual servers. That works transparently with multiple ssh keys lying on the bootstrap server.
  2. That's a good point! One of our goals is to be able to launch custom images with this terraform provider. Maybe let both fields be optional, but require that exactly one of them is given?
  3. Great 😄

@maximnik
Copy link

I tried this plugin and it's really good. Worked out of the box. Really good job.
2 points.

  1. custom image is really needed function
  2. Is there option to set internal only network or vlan for instance?

Thanks.

@eirslett
Copy link
Contributor Author

  1. It would be great if you have time to submit a PR!
  2. No, not yet, but it should be possible to add.

@danielcbright
Copy link
Contributor

Hi eirslett,

I'm going to start playing around with this tomorrow, it looks like virtual servers are the only things it can create at this point, am I correct? I would love to see (and help) add support for Softlayer DNS, Virtual Netscalars etc...

Thanks.

@danielcbright
Copy link
Contributor

@eirslett ,

We're ready to start putting some serious development effort into this plugin, I've done some internal testing, as well as some additional development to try some other things out with the softlayer-go project. I feel like we (The Weather Company) are ready to start filling in the missing gaps of this great project you've started! I know you have already pursued a mainstream pull request for Hashicorp with hashicorp/terraform#2554 . We could pursue this pull request if you would like, I know we would need to get a support doc setup for the website to which I'm prepared to write up if needed. Please let me know what route you'd like to take, we'd like to start developing this further ASAP.

Also including my colleague @ckelner .

Thanks!

@danielcbright
Copy link
Contributor

@eirslett

We've forked your provider and starting soon will be implementing a lot of new features, specifically rounding out the virtual_server resource, implementing dns_domain and dns_domain_resourcerecord, and virtual Netscaler VPX resources. See our fork and issue list here: https://github.com/TheWeatherCompany/terraform/issues

We're hoping to get this mainstreamed soon into Hashicorp.

@eirslett
Copy link
Contributor Author

That looks very good!

One of the things I would like to do before stabilising the plugin, is to rename virtualserver to virtual_guest, and in general stay closer to SoftLayer's own terminology. And also change the way we specify disk storage, so it's more flexible than just an array of disk size in GB.

Thanks a lot for the effort!
I'm sure Hashicorp will merge it into the main product eventually, but it's actually easier (for speed of development) to keep it as a separate plugin for now 😉

@danielcbright
Copy link
Contributor

@eirslett we've done a ton of work on the provider and want to help with getting it pulled into Hashicorp. Issues 5, 6 and 7 are nearly done here: https://github.com/TheWeatherCompany/terraform/issues. The only thing left is the help documentation which I'm working on now for the Terraform docs site. I'd like to begin a conversation with you and @ckelner on how to proceed with getting these changes mainstreamed into Hashicorp. I'm also pulling in a former colleague of mine @clstokes who may be able to help guide us through this since he now works at Hashicorp.

@ckelner
Copy link
Contributor

ckelner commented Dec 10, 2015

Getting the docs and examples done is probably best before opening the PR. Once that is done then I'd probably start by looking at closed terraform pull requests, seeing how they are structured and what the common mistakes are: https://github.com/hashicorp/terraform/pulls?q=is%3Apr+is%3Aclosed

Then I'd probably dig into those that were new provider PRs such as:

Getting the PR open as soon as possible and starting to get feedback is the best thing to do. Be thorough in your PR description, link to any issues open in the hashicorp terraform repo (search for "softlayer" and see what you come up with).

You'll want to make mention you are waiting for the softlayer-go PR to be merged and link that as well.

I'd withhold calling out the TWC issues we've opened against our own repo for the development effort, save perhaps putting a "Closes #" at the very end of your PR.

@ckelner
Copy link
Contributor

ckelner commented Dec 10, 2015

@eirslett
Copy link
Contributor Author

Yeah, that looks great! Thanks for all your effort!
Be sure to mention any breaking changes; we already use this provider a lot internally! (And externally)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants