RE: RE: Knife-vSphere plugin (windows)


#1

Hi Jesse,

I do see all my VLANs from the datacenter an example is shown below:

C:\opscode\chef\bin>knife vsphere vlan list
VLAN: 123VLAN
VLAN: 456VLAN
VLAN: 789VLAN
VLAN: VLAN077
VLAN: VLAN088
VLAN: VLAN199

Note: for security reasons, I have sanitized the list above. Suffices
me to say that the VLAN I specified in the knife vsphere command is in
the list of returned VLANs.

The chef-client version is 0.14.2

Randy

-----Original Message-----
From: Jesse Campbell [mailto:hikeit@gmail.com]
Sent: Monday, September 10, 2012 5:27 PM
To: chef@lists.opscode.com
Subject: [chef] Re: RE: Re: RE: Re: RE: Re: RE: Knife-vSphere plugin
(windows)

what do you get from “knife vsphere vlan list”?

On Mon, Sep 10, 2012 at 3:22 PM, Van Fossan,Randy vanfossr@oclc.org
wrote:

Hi Jesse,

Well, I got a little farther. However the option for --cvlan do not
seem to work. I made sure the VLAN value was correct. Note: I have
sanitized the values so that I could publicly post the results.

C:\opscode\chef\bin>knife vsphere vm clone --template "CentOS 5.8"
“mytestvm.fqdn” --cvlan “123VLAN” -VV
DEBUG: Using configuration from C:/Users/myacct/.chef/knife.rb
DEBUG: value for config item bootstrap:
DEBUG: value for config item vsphere_host: myvcenter.fqdn
DEBUG: value for config item vshere_path:
DEBUG: value for config item vsphere_port: 443
DEBUG: value for config item vsphere_nossl:
DEBUG: value for config item vsphere_user: myacct
DEBUG: value for config item vsphere_pass: mypassword
DEBUG: value for config item vsphere_insecure: true
DEBUG: value for config item vsphere_dc: myvspheredc
DEBUG: value for config item folder:
DEBUG: value for config item vsphere_dc: myvspheredc
DEBUG: value for config item resource_pool:
DEBUG: value for config item vsphere_dc: myvspheredc
DEBUG: value for config item datastore:
DEBUG: value for config item customization_cpucount:
DEBUG: value for config item customization_memory:
DEBUG: value for config item customization_vlan: 123VLAN
DEBUG: value for config item customization_vlan: 123VLAN
DEBUG: value for config item vsphere_dc: myvspheredc
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/knife-vsphere-0.2.3/
li b/chef/knife/vsphere_vm_clone.rb:256:in rescue in generate_clo ne_spec': undefined methoddeviceName=’ for
#<RbVmomi::VIM::VirtualEthernetCardDistributedVirtualPortBackingInfo:0
x4
63e4e0> (NoMethodE
rror)
from
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/knife-vsphere-0.2.3/
li b/chef/knife/vsphere_vm_clone.rb:251:in generate_ clone_spec' from C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/knife-vsphere-0.2.3/ li b/chef/knife/vsphere_vm_clone.rb:188:inrun’
from
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.12.0/lib/che
f/ knife.rb:402:in run_with_pretty_exceptions' from C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.12.0/lib/che f/ knife.rb:168:inrun’
from
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.12.0/lib/che
f/
application/knife.rb:123:in run' from C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.12.0/bin/kni fe :25:in<top (required)>'
from C:/opscode/chef/bin/knife:19:in load' from C:/opscode/chef/bin/knife:19:in

-----Original Message-----
From: Jesse Campbell [mailto:hikeit@gmail.com]
Sent: Monday, September 10, 2012 12:02 PM
To: chef@lists.opscode.com
Subject: [chef] Re: RE: Re: RE: Re: RE: Knife-vSphere plugin (windows)

the documentation for mixlib::CLI is terrible, and I’m not even sure
why not specifying something after “:long --vshost” switches from a
boolean to a string, given that there is a :boolean element in the
option hash…
still digging…

-jesse

On Mon, Sep 10, 2012 at 11:55 AM, Van Fossan,Randy vanfossr@oclc.org
wrote:

Thanks Jesse, that worked…

Randy

-----Original Message-----
From: Jesse Campbell [mailto:hikeit@gmail.com]
Sent: Monday, September 10, 2012 11:34 AM
To: chef@lists.opscode.com
Subject: [chef] Re: RE: Re: RE: Knife-vSphere plugin (windows)

looks like a bug in BaseVsphereCommand.rb I have changed the relevant

section to this:

    option :vsphere_host,
      :long => "--vshost HOST",
      :description => "The vsphere host"

You can update your own for now until a new rubygem is created.

What other changes did you need to make to run on windows?

-Jesse

On Mon, Sep 10, 2012 at 11:28 AM, Van Fossan,Randy
vanfossr@oclc.org
wrote:

Hi Jesse,

The following does not work, I get the error "can’t convert true
into

String"

knife vsphere -u myaccount -p mypassword --vshost myhost.fqdn -d

“mydatacenter” --vsinsecure vm list # ERROR: TypeError: can’t
convert

true into String

If I change my knife.rb to include "knife[:vsphere_host] =
“myhost.fqdn” " and then run the following, it works.

knife vsphere -u myaccount -p mypassword -d “mydatacenter”

–vsinsecure vm list

I need to be able to specify the --vshost as we have many Virtual
Center Servers.

I looked at the code here:
https://github.com/ezrapagel/knife-vsphere/blob/master/lib/chef/knif
e
/
Ba
seVsphereCommand.rb

Randy

-----Original Message-----
From: Jesse Campbell [mailto:hikeit@gmail.com]
Sent: Saturday, September 08, 2012 10:55 AM
To: chef@lists.opscode.com
Subject: [chef] Re: RE: Knife-vSphere plugin (windows)

What have you had work vs. not work?
I’m pretty sure I tested both of those options back when I coded
them,

but it was many months ago, and I currently only test on mac os…
but documentation around the “option” specifications is sparse or
nonexistent, so some pieces may have been missed.

however, what variable is missing in what you posted? the first
option

sets config[:vsphere_dc], the second option sets
config[:vsphere_host]

-jesse

On Wed, Sep 5, 2012 at 2:30 PM, Van Fossan,Randy vanfossr@oclc.org
wrote:

Well, I spoke too soon. I thought I tried the --vshost correctly
but, I still had the entry in my knife.rb file for the vsphere_host.
Looking at the source for knife-vsphere; specifically, the
BaseVsphereCommand.rb file, it shows the --vshost but it doesn’t
look

like it is coded correctly.?.?.?

If you look at the vsphere_dc section versus the vsphere_host
section,
it looks like a variable is missing.?.?.?

option :vsphere_dc,
:short => “-d DATACENTER”,
:long => “–vsdc DATACENTER”,
:description => “The Datacenter for vsphere”

option :vsphere_host,
:long => “–vshost”,
:description => “The vsphere host”

Anyone concur?

Randy

-----Original Message-----
From: Van Fossan,Randy
Sent: Wednesday, September 05, 2012 2:12 PM
To: 'chef@lists.opscode.com’
Subject: RE: Knife-vSphere plugin (windows)

After looking at the source, I see you can specify the Datacenter
and
vSphere host. I tried it “-d” and --vshost options and they do
work.

-----Original Message-----
From: Van Fossan,Randy
Sent: Wednesday, September 05, 2012 1:59 PM
To: 'chef@lists.opscode.com’
Subject: Knife-vSphere plugin (windows)

All,

I am having some success with the knife-vsphere (0.2.3) plugin in
windows. We have the Chef 0.10.12 Omnibus package for Windows
installed
and we then installed the knife-vsphere plugin. The plugin seems
to
work ok in windows after I did a little gem cleanup… My question
is,
is there a way to pass the vsphere_dc and vspere_host via the
command

line? I have tried setting windows environment variables as
follows

and it isn’t working.

vsphere_host="mvcenter.fqdn"
vshrere_dc=“mydatacenter”

We have many Data Centers on multiple Virtual Center servers.

We need to run knife-vsphere on a windows chef management console
due
to using VMware Orchestrator and PowerCLI as a wrapper around the
"knife vsphere" command.

Any suggestions?

Thanks
Randy