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

Support the full vmware customization spec #2954 #3523

Merged
merged 3 commits into from May 30, 2015
Merged

Support the full vmware customization spec #2954 #3523

merged 3 commits into from May 30, 2015

Conversation

fherbert
Copy link
Contributor

@fherbert fherbert commented Apr 9, 2015

@fherbert
Copy link
Contributor Author

fherbert commented May 1, 2015

@nirvdrum Anything I can do to help get this merged into master?

@nirvdrum
Copy link
Contributor

nirvdrum commented May 3, 2015

Sorry. I'll try to take a look at this soon. Life was conspiring against me. I got through most of the rest of the vSphere backlog and hope to be fully clear this week.

@nirvdrum
Copy link
Contributor

nirvdrum commented May 3, 2015

Having briefly looked though, do you know whether these changes are backwards-compatible? There are fog users going back to at least vSphere 4. And there are a lot on 5.1.

@fherbert
Copy link
Contributor Author

fherbert commented May 3, 2015

Looks like the customization spec has been around for some time, the earliest reference I can find for it is in SDK Package for VMware VirtualCenter 1.2. It's present in the Vsphere 4 SDK (https://www.vmware.com/support/developer/vc-sdk/visdk400pubs/ReferenceGuide/vim.vm.customization.Specification.html)

@nirvdrum
Copy link
Contributor

nirvdrum commented May 3, 2015

Yeah, the spec has been around, but the fields might have changed. I just wanted to make sure that that didn't change in an incompatible manner. If not, fantastic.

@fherbert
Copy link
Contributor Author

fherbert commented May 3, 2015

I've just done a quick check, all the same options are there in the 4.0 SDK.

@nirvdrum
Copy link
Contributor

nirvdrum commented May 3, 2015

That's very helpful, thanks. I'm on my laptop without access to my vSphere cluster, so I can't check currently. But I'll give this a shot this week. I give you permission to spam me if I don't :-)

@fherbert
Copy link
Contributor Author

fherbert commented May 3, 2015

I've done a quick write up on how to use this (from Foreman) but there's
some sample yaml to use as a template for the customization spec here
http://www.herbert.org.nz/?p=245
There is one niggle I'm not 100% sure about is if the template has an
existing nic and you don't pass the nicsetting map, vshpere will complain.
So you can see in the yaml I send some dummy data so the nicsetting map
dataype gets created.

On Mon, May 4, 2015 at 8:31 AM, Kevin Menard notifications@github.com
wrote:

That's very helpful, thanks. I'm on my laptop without access to my vSphere
cluster, so I can't check currently. But I'll give this a shot this week. I
give you permission to spam me if I don't :-)


Reply to this email directly or view it on GitHub
#3523 (comment).

nirvdrum added a commit that referenced this pull request May 30, 2015
Support the full vmware customization spec #2954
@nirvdrum nirvdrum merged commit 299dc58 into fog:master May 30, 2015
@nirvdrum
Copy link
Contributor

I didn't notice any regressions in my own testing. Unfortunately, it's really hard to say how this might impact others. But Foreman is a big consumer of fog's vsphere support, so having it drive the work here helps assuage concerns a lot.

@nirvdrum
Copy link
Contributor

I don't know if this is something you can apply to foreman, but I've found it easiest to clone the VM, delete the NICs, create new NICs, and then run the customize task against the new NICs. It avoids any headaches associated with cardinality of the template's NICs. And it helps ensure the NIC you get is of the type you want on the network you want. You can see how it's managed in Rubber here:

https://github.com/rubber/rubber/blob/e5ff6b56374038cbefedf82fd8468a12d2ddd7c7/lib/rubber/cloud/vsphere.rb#L81-L96

@geemus
Copy link
Member

geemus commented Jun 1, 2015

Thanks!

On Sat, May 30, 2015 at 3:35 PM, Kevin Menard notifications@github.com
wrote:

I don't know if this is something you can apply to foreman, but I've found
it easiest to clone the VM, delete the NICs, create new NICs, and then run
the customize task against the new NICs. It avoids any headaches associated
with cardinality of the template's NICs. And it helps ensure the NIC you
get is of the type you want on the network you want. You can see how it's
managed in Rubber here:

https://github.com/rubber/rubber/blob/e5ff6b56374038cbefedf82fd8468a12d2ddd7c7/lib/rubber/cloud/vsphere.rb#L81-L96

Reply to this email directly or view it on GitHub
#3523 (comment).

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

Successfully merging this pull request may close these issues.

None yet

3 participants