Skip to content
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

Add VMware vSphere provider #3419

Merged
merged 2 commits into from
Oct 12, 2015
Merged

Conversation

tkak
Copy link
Contributor

@tkak tkak commented Oct 6, 2015

This adds VMware vSphere provider related to #102. This is a direct port from my Terraform plugin for VMware vSphere, terraform-provider-vsphere. Please refer the README for more detail usage.

Example

resource "vsphere_virtual_machine" "default" {
    name = "newvm-1"
    vcpu = 2
    memory = 4096
    disk {
        template = "centos-6.6-x86_64"
    }
    network_interface {
        label = "foo"
    }
}

TODO:

  • Add documentation
  • Improve acceptance test code

@lesaux
Copy link

lesaux commented Oct 6, 2015

👍

@chrislovecnm
Copy link
Contributor

👍 👏 What is the plan to get this added into a tag / release?

Who wants to open an enhancement request so that we can start brainstorming on next steps? Or I am happy to....

@tkak どうもありがとうございました .... hope google got thank-you very much in japanese correct :)

@tkak
Copy link
Contributor Author

tkak commented Oct 7, 2015

@chrislovecnm Your Japanese comment is correct! Thank you :)

@chrislovecnm
Copy link
Contributor

@tkak 先輩 Which versions of vSphere has this been tested against? Trying to lay out a baseline.

@lesaux You using this provider already??

@phinze who needs to approve and merge this?? Just askin cause I need to fork this bad boy 😄

@zrml
Copy link

zrml commented Oct 7, 2015

This is FANTASTIC! Looking forward ot having this in the core build! Thank you guys. Much obliged @tkak

Optional: true,
Elem: &schema.Schema{Type: schema.TypeString},
ForceNew: true,
},
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TypeList is for attributes where the order of the values is significant. If order does not matter, TypeSet is what you want. I'm not familiar with the upstream APIs so this may be correct, but I wanted to let you know so you can double check this for each of your TypeList attributes.

@phinze
Copy link
Contributor

phinze commented Oct 7, 2015

Alright, completed initial code review! This is generally looking really solid. 👍

@chrislovecnm
Copy link
Contributor

@phinze thanks! Does @tkak now need to make changes? Or do you want to merge the pull and have an issue to apply the changes. Not familiar with your code review process, read through https://github.com/hashicorp/terraform/blob/master/CONTRIBUTING.md ... So would appreciate some guidance 😄

@phinze
Copy link
Contributor

phinze commented Oct 7, 2015

@chrislovecnm Generally we give original authors a chance to iterate on their initial PR before we land it. Though if @tkak would like to hand off the improvements to another willing community member that would be OK too. Up to you, @tkak 😀

@chrislovecnm
Copy link
Contributor

@tkak 先輩 if you could make the changes that would be awesome!

@tkak
Copy link
Contributor Author

tkak commented Oct 12, 2015

@phinze Thanks for your review! I tried to fix some code that were pointed out. And, I want to use TypeList in dns_suffixes and dns_servers, because the configurations are related with DNS search order.

@chrislovecnm My target is VMware vSphere / vCenter 5.5. I mainly use this. Version 6 is not yet introduced in our environment. And govmomi is tested against ESXi and vCenter 5.5.

@phinze
Copy link
Contributor

phinze commented Oct 12, 2015

Thanks @tkak! I'm going to merge this as-is and I'll get the provider docs in separately. That will also allow the community to get started on more features / improvements as well. 👍

phinze added a commit that referenced this pull request Oct 12, 2015
@phinze phinze merged commit f773732 into hashicorp:master Oct 12, 2015
@phinze
Copy link
Contributor

phinze commented Oct 12, 2015

If folks watching this thread are willing to give me a review on #3483 - that gets the structure set up for docs. 👍

)

const (
defaultInsecureFlag = true
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a security hole.
SSL certificate validation must be switched on by default, and has to be disabled by a user explicitly.

@mkuzmin
Copy link
Contributor

mkuzmin commented Oct 15, 2015

My target is VMware vSphere / vCenter 5.5. I mainly use this. Version 6 is not yet introduced in our environment.

Such answer was OK while you maintained a standalone 3rd-party plugin. Now when the code has been merged into the product, things are different. HashiCorp people have no experience in VMware technologies and tools, so you are the maintainer, and you are responsible of having this feature working well.
Terraform users do not care of details of your employer's environment.

@phinze
Copy link
Contributor

phinze commented Oct 15, 2015

@mkuzmin Thanks for the review!

Your inline comments make sense - going to fan those out into individual issues so we can address them.

This is just a first step - @tkak got us started, and now the community can collaborate to improve and extend from here.

Since there has been so much community demand for vSphere support in core, we felt that it was better to get a pre-release version merged so we can have more people help out with its development. To help make sure users are aware of this status, I added notes about "initial support" in both the changelog and the docs.

Paul, how do you usually run acceptance tests for AWS and other providers. I don't see them in your Travis build.

Alas, this is still a manual process. I'm investigating the possibility of gaining access to a vSphere environment for us to run acceptance tests on.

I'll link the new issues I create back to this thread for continuity. 👍

@mkuzmin
Copy link
Contributor

mkuzmin commented Oct 15, 2015

Do you think it's better to move all further conversations into new issues, and stop this thread?
That's fine for bug reports and pull requests, but what is a correct place to discuss internal code changes like parameter renaming, or this test execution task?
My company could sponsor that, but we need to figure out details.

@phinze
Copy link
Contributor

phinze commented Oct 15, 2015

Yep I was thinking we can close this thread and address each of those concerns as individual issue threads, since they're not tightly related. I'll get these made now so you can see what I mean.

@tkak
Copy link
Contributor Author

tkak commented Oct 18, 2015

@mkuzmin Thank you for the review and the advice.

Such answer was OK while you maintained a standalone 3rd-party plugin. Now when the code has been merged into the product, things are different. HashiCorp people have no experience in VMware technologies and tools, so you are the maintainer, and you are responsible of having this feature working well.

I think you are right. I will try to prepare a test environment in my company to support VMware vSphere 6.

@mevansam
Copy link

This is awesome. I am sorry I have not been following the vSphere provider thread for a while, but I am back. I will work on providing a patch to the merged vSphere provider for the pieces I was working on.

@mrjcleaver
Copy link

I note the TODO documentation and comment "I'll get the provider docs in separately. "

Has documentation been updated? I ask because there are details in the original project (such as network adapter notes) that I didn't see on the terraform docs provider section on the website.

@ghost
Copy link

ghost commented Apr 22, 2020

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.

@ghost ghost locked and limited conversation to collaborators Apr 22, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants