I was able to get around this problem by inserting an entry in the provisioning 
table on the 2.2 system that I have in my 2.1 system for VMware GSX:

| id | name                       | prettyname              | moduleid |
|  2 | vmware_server_gsx | VMware Server GSX |        2 | 

Then I set the provisioning engine option on the vmguest machine to use VMware 
Server GSX. This uses the vmware.pm module instead of VMware\VMware.pm module, 
which is what is failing with the absence of the vim-cmd and vmware-vim-cmd 
commands on the vmhost.

Mike

Mike Waldron
Systems Specialist
ITS Research Computing
University of North Carolina at Chapel Hill
CB #3420, ITS Manning, Rm 2509
919-962-9778
________________________________________
From: Waldron, Michael H [mwald...@email.unc.edu]
Sent: Tuesday, January 04, 2011 8:42 AM
To: vcl-dev@incubator.apache.org
Subject: RE: Can't locate VMware/VIRuntime.pm

I encountered the same error in a VCL 2.2 test environment that I'm setting up, 
although I'm using VMware server 1.x since that's what we're using in our VCL 
2.1 production environment. I'm trying to duplicate the problems we experienced 
in our production environment when we attempted to upgrade to 2.2. I'm using 
the procedure for creating a standalone VMware VCL environment that's on the 
VCL website.

I installed the vsphere SDK for perl toolkit as suggested, and it got past the 
module load error, however it fails shortly thereafter because it can't find 
the vim-cmd or vmware-vim-cmd commands on the VM host. From what I've read, 
these are part of a VI-toolkit package that supports VMware server 2.x. Any 
ideas how to get around this? The relevant log snippet is below.

2011-01-03 15:45:16|25618|2:2|new|State.pm:initialize(118)|attempting to load 
provisioning module: VCL::Module::Provisioning::VMware::VMware
2011-01-03 
15:45:16|25618|2:2|new|State.pm:initialize(124)|VCL::Module::Provisioning::VMware::VMware
 module loaded
2011-01-03 15:45:16|25618|2:2|new|Module.pm:new(134)|constructor called, 
class=VCL::Module::Provisioning::VMware::VMware
2011-01-03 
15:45:16|25618|2:2|new|Module.pm:new(156)|VCL::Module::Provisioning::VMware::VMware
 object created
2011-01-03 15:45:16|25618|2:2|new|DataStructure.pm:_initialize(594)|computer ID 
argument was specified, retrieving data for computer ID: 1
2011-01-03 
15:45:16|25618|2:2|new|VMware.pm:get_vmhost_datastructure(923)|created 
DataStructure object for VM host: vmhost
2011-01-03 15:45:16|25618|2:2|new|DataStructure.pm:_initialize(594)|computer ID 
argument was specified, retrieving data for computer ID: 1
2011-01-03 
15:45:16|25618|2:2|new|VMware.pm:get_vmhost_datastructure(923)|created 
DataStructure object for VM host: vmhost
2011-01-03 
15:45:16|25618|2:2|new|VMware.pm:get_vmhost_api_object(1027)|attempting to load 
VMware control module: VCL::Module::Provisioning::VMware::vSphere_SDK
2011-01-03 15:45:16|25618|2:2|new|VMware.pm:get_vmhost_api_object(1033)|loaded 
VMware control module: VCL::Module::Provisioning::VMware::vSphere_SDK
2011-01-03 15:45:16|25618|2:2|new|Module.pm:new(134)|constructor called, 
class=VCL::Module::Provisioning::VMware::vSphere_SDK
2011-01-03 
15:45:16|25618|2:2|new|Module.pm:new(156)|VCL::Module::Provisioning::VMware::vSphere_SDK
 object created
|25618|2:2|new| ---- WARNING ----
|25618|2:2|new| 2011-01-03 
15:45:16|25618|2:2|new|vSphere_SDK.pm:initialize(1789)|VM host password is not 
configured in the database for the VM profile
|25618|2:2|new| ( 0) utils.pm, notify (line: 630)
|25618|2:2|new| (-1) vSphere_SDK.pm, initialize (line: 1789)
|25618|2:2|new| (-2) Module.pm, new (line: 159)
|25618|2:2|new| (-3) VMware.pm, (eval) (line: 1037)
|25618|2:2|new| (-4) VMware.pm, get_vmhost_api_object (line: 1037)
|25618|2:2|new| (-5) VMware.pm, initialize (line: 224)
|25618|2:2|new| (-6) Module.pm, new (line: 159)
|25618|2:2|new| ---- WARNING ----
|25618|2:2|new| 2011-01-03 
15:45:16|25618|2:2|new|VMware.pm:get_vmhost_api_object(1040)|API object could 
not be created: VCL::Module::Provisioning::VMware::vSphere_SDK, no eval error
|25618|2:2|new| ( 0) utils.pm, notify (line: 630)
|25618|2:2|new| (-1) VMware.pm, get_vmhost_api_object (line: 1040)
|25618|2:2|new| (-2) VMware.pm, initialize (line: 224)
|25618|2:2|new| (-3) Module.pm, new (line: 159)
|25618|2:2|new| (-4) State.pm, initialize (line: 127)
|25618|2:2|new| (-5) Module.pm, new (line: 159)
|25618|2:2|new| (-6) vcld, make_new_child (line: 591)
2011-01-03 15:45:16|25618|2:2|new|VMware.pm:initialize(240)|attempting to 
create OS object for the image currently loaded on the VM host: vmhost
|25618|2:2|new| image name: noimage
|25618|2:2|new| OS module: VCL::Module::OS::Linux::UnixLab
2011-01-03 15:45:16|25618|2:2|new|DataStructure.pm:_initialize(594)|computer ID 
argument was specified, retrieving data for computer ID: 1
2011-01-03 
15:45:16|25618|2:2|new|VMware.pm:get_vmhost_datastructure(923)|created 
DataStructure object for VM host: vmhost
2011-01-03 
15:45:16|25618|2:2|new|VMware.pm:get_vmhost_os_object(965)|attempting to load 
VM host OS module: VCL::Module::OS::Linux::UnixLab
2011-01-03 15:45:16|25618|2:2|new|VMware.pm:get_vmhost_os_object(971)|VM host 
OS module loaded: VCL::Module::OS::Linux::UnixLab
2011-01-03 15:45:16|25618|2:2|new|Module.pm:new(134)|constructor called, 
class=VCL::Module::OS::Linux::UnixLab
2011-01-03 
15:45:16|25618|2:2|new|Module.pm:new(156)|VCL::Module::OS::Linux::UnixLab 
object created
2011-01-03 15:45:16|25618|2:2|new|VMware.pm:get_vmhost_os_object(977)|VM host 
OS object created: VCL::Module::OS::Linux::UnixLab
2011-01-03 15:45:16|25618|2:2|new|VMware.pm:initialize(241)|created OS object 
to control the OS of VM host: vmhost
2011-01-03 15:45:16|25618|2:2|new|utils.pm:nmap_port(2708)|port 22 is open on 
vmhost
2011-01-03 15:45:16|25618|2:2|new|utils.pm:nmap_port(2716)|port 24 is closed on 
vmhost
2011-01-03 15:45:16|25618|2:2|new|OS.pm:is_ssh_responding(430)|vmhost is 
responding to SSH, port 22: open, port 24: closed
2011-01-03 15:45:16|25618|2:2|new|VMware.pm:initialize(250)|OS of VM host 
vmhost will be controlled via SSH using OS object: 
VCL::Module::OS::Linux::UnixLab
2011-01-03 15:45:16|25618|2:2|new|DataStructure.pm:_initialize(594)|computer ID 
argument was specified, retrieving data for computer ID: 1
2011-01-03 
15:45:16|25618|2:2|new|VMware.pm:get_vmhost_datastructure(923)|created 
DataStructure object for VM host: vmhost
2011-01-03 
15:45:16|25618|2:2|new|VMware.pm:get_vmhost_api_object(1027)|attempting to load 
VMware control module: VCL::Module::Provisioning::VMware::VIM_SSH
2011-01-03 15:45:16|25618|2:2|new|VMware.pm:get_vmhost_api_object(1033)|loaded 
VMware control module: VCL::Module::Provisioning::VMware::VIM_SSH
2011-01-03 15:45:16|25618|2:2|new|Module.pm:new(134)|constructor called, 
class=VCL::Module::Provisioning::VMware::VIM_SSH
2011-01-03 
15:45:16|25618|2:2|new|Module.pm:new(156)|VCL::Module::Provisioning::VMware::VIM_SSH
 object created
2011-01-03 15:45:16|25618|2:2|new|VIM_SSH.pm:initialize(126)|failed to 
determine which VIM executable is available on the VM host, output:
|25618|2:2|new| bash: vim-cmd: command not found
|25618|2:2|new| bash: vmware-vim-cmd: command not found
|25618|2:2|new| ---- WARNING ----
|25618|2:2|new| 2011-01-03 
15:45:16|25618|2:2|new|VMware.pm:get_vmhost_api_object(1040)|API object could 
not be created: VCL::Module::Provisioning::VMware::VIM_SSH, no eval error
|25618|2:2|new| ( 0) utils.pm, notify (line: 630)
|25618|2:2|new| (-1) VMware.pm, get_vmhost_api_object (line: 1040)
|25618|2:2|new| (-2) VMware.pm, initialize (line: 264)
|25618|2:2|new| (-3) Module.pm, new (line: 159)
|25618|2:2|new| (-4) State.pm, initialize (line: 127)
|25618|2:2|new| (-5) Module.pm, new (line: 159)
|25618|2:2|new| (-6) vcld, make_new_child (line: 591)
|25618|2:2|new| ---- WARNING ----
|25618|2:2|new| 2011-01-03 
15:45:16|25618|2:2|new|VMware.pm:initialize(271)|failed to create an API object 
to control the VM: vmguest-1
|25618|2:2|new| ( 0) utils.pm, notify (line: 630)
|25618|2:2|new| (-1) VMware.pm, initialize (line: 271)
|25618|2:2|new| (-2) Module.pm, new (line: 159)
|25618|2:2|new| (-3) State.pm, initialize (line: 127)
|25618|2:2|new| (-4) Module.pm, new (line: 159)
|25618|2:2|new| (-5) vcld, make_new_child (line: 591)
|25618|2:2|new| (-6) vcld, main (line: 342)
|25618|2:2|new| ---- WARNING ----
|25618|2:2|new| 2011-01-03 
15:45:16|25618|2:2|new|State.pm:initialize(132)|provisioning object could not 
be created, returning 0
|25618|2:2|new| ( 0) utils.pm, notify (line: 630)
|25618|2:2|new| (-1) State.pm, initialize (line: 132)
|25618|2:2|new| (-2) Module.pm, new (line: 159)
|25618|2:2|new| (-3) vcld, make_new_child (line: 591)
|25618|2:2|new| (-4) vcld, main (line: 342)


Mike Waldron
Systems Specialist
ITS Research Computing
University of North Carolina at Chapel Hill
CB #3420, ITS Manning, Rm 2509
919-962-9778
________________________________________
From: Aaron Peeler [aaron_pee...@ncsu.edu]
Sent: Monday, January 03, 2011 11:07 AM
To: vcl-dev@incubator.apache.org
Subject: Re: Can't locate VMware/VIRuntime.pm

Hi Patrick,

Make sure you have the vsphere SDK for perl toolkit installed on the
management node.  Version 4.1 should work well. This will get you past
the module load failure.

Aaron

On 1/2/11 4:34 PM, James Patrick Sigmon wrote:
> Hey guys,
>
> I've been trying to make a reservation using the VCL 2.2 and I've been 
> running into the following error:
>
> "Can't locate VMware/VIRuntime.pm"
>
> And if I look at up the vcld.log I notice this:
>
> 2011-01-02 
> 16:11:43|23951|2:2|deleted|VMware.pm:get_vmhost_api_object(1027)|attempting 
> to load VMware control module: VCL::Module::Provisioning::VMware::vSphere_SDK
>
> Now as far as I know, vSphere is used for ESX/ESXi, but in my VCL instance 
> I'm using VMware server 2.  I assume this to be the reason why I'm getting 
> this error.  My question is where and how can I fix this.
>
> I have the vmhost profile set to : VMware Server 2.x - local storage.
>
> Below is the full output for the error.
>
> Thanks,
>
> Patrick Sigmon
>
> 2011-01-02 
> 15:22:02|6857|3:3|reload|utils.pm:reservation_being_processed(9010)|computerloadlog
>  'begin' entry does NOT exist for reservation 3
> 2011-01-02 15:22:02|6857|3:3|reload|utils.pm:run_command(9082)|executed 
> command: pgrep -fl 'vcld [0-9]+:3 ', pid: 12243, exit status: 1, output:
> 2011-01-02 
> 15:22:02|6857|3:3|reload|utils.pm:is_management_node_process_running(9259)|process
>  is NOT running, identifier: 'vcld [0-9]+:3 '
> 2011-01-02 
> 15:22:02|6857|3:3|reload|utils.pm:reservation_being_processed(9031)|reservation
>  is NOT currently being processed
> 2011-01-02 15:22:02|6857|3:3|reload|vcld:main(277)|reservation 3 is NOT 
> already being processed
> 2011-01-02 
> 15:22:03|6857|3:3|reload|utils.pm:get_request_info(4589)|standalone 
> affiliation found: Local
> 2011-01-02 15:22:03|6857|3:3|reload|utils.pm:get_request_info(4596)|found 
> NULL uid setting standalone flag: vclreload, uid: NULL
> 2011-01-02 15:22:03|6857|3:3|reload|vcld:main(282)|retrieved request 
> information from database
> 2011-01-02 
> 15:22:03|6857|3:3|reload|DataStructure.pm:is_parent_reservation(943)|returning
>  true: parent reservation ID for this request: 3
> 2011-01-02 
> 15:22:03|6857|3:3|reload|utils.pm:update_request_state(2049)|request 3 state 
> updated to: pending, laststate to: reload
> 2011-01-02 15:22:03|6857|3:3|reload|utils.pm:insertloadlog(3933)|inserted 
> computer=2, begin, beginning to process, state is reload
> 2011-01-02 15:22:03|6857|3:3|reload|vcld:make_new_child(502)|request will be 
> processed by new.pm
> 2011-01-02 15:22:03|6857|3:3|reload|vcld:make_new_child(510)|loaded VCL::new 
> module
> 2011-01-02 15:22:03|12245|3:3|reload|vcld:make_new_child(583)|vcld 
> environment variable set to 0 for this process
> 2011-01-02 15:22:03|12245|3:3|reload|Module.pm:new(134)|constructor called, 
> class=VCL::new
> 2011-01-02 15:22:03|12245|3:3|reload|Module.pm:new(156)|VCL::new object 
> created
> 2011-01-02 15:22:03|6857|3:3|reload|vcld:make_new_child(567)|current number 
> of forked kids: 1
> 2011-01-02 15:22:04|12245|3:3|reload|State.pm:initialize(85)|obtained a 
> database handle for this state process, stored as $ENV{dbh}
> 2011-01-02 15:22:04|12245|3:3|reload|State.pm:check_image_os(817)|no 
> corrections need to be made, not an imaging request, returning 1
> 2011-01-02 
> 15:22:04|12245|3:3|reload|DataStructure.pm:is_parent_reservation(943)|returning
>  true: parent reservation ID for this request: 3
> 2011-01-02 
> 15:22:04|12245|3:3|reload|utils.pm:rename_vcld_process(7183)|reservation 
> count: 1
> 2011-01-02 
> 15:22:04|12245|3:3|reload|utils.pm:rename_vcld_process(7202)|PARENTIMAGE: 1
> 2011-01-02 
> 15:22:04|12245|3:3|reload|utils.pm:rename_vcld_process(7203)|SUBIMAGE: 0
> 2011-01-02 
> 15:22:04|12245|3:3|reload|utils.pm:rename_vcld_process(7221)|renamed process 
> to 'vcld 3:3 reload vmguest-1 vmwarelinux-CentOSBase-v0 vclreload'
> 2011-01-02 
> 15:22:04|12245|3:3|reload|DataStructure.pm:is_parent_reservation(943)|returning
>  true: parent reservation ID for this request: 3
> 2011-01-02 
> 15:22:04|12245|3:3|reload|DataStructure.pm:is_parent_reservation(943)|returning
>  true: parent reservation ID for this request: 3
> 2011-01-02 15:22:04|12245|3:3|reload|State.pm:initialize(118)|attempting to 
> load provisioning module: VCL::Module::Provisioning::VMware::VMware
> 2011-01-02 
> 15:22:04|12245|3:3|reload|State.pm:initialize(124)|VCL::Module::Provisioning::VMware::VMware
>  module loaded
> 2011-01-02 15:22:04|12245|3:3|reload|Module.pm:new(134)|constructor called, 
> class=VCL::Module::Provisioning::VMware::VMware
> 2011-01-02 
> 15:22:04|12245|3:3|reload|Module.pm:new(156)|VCL::Module::Provisioning::VMware::VMware
>  object created
> 2011-01-02 
> 15:22:04|12245|3:3|reload|DataStructure.pm:_initialize(594)|computer ID 
> argument was specified, retrieving data for computer ID: 3
> 2011-01-02 
> 15:22:04|12245|3:3|reload|VMware.pm:get_vmhost_datastructure(923)|created 
> DataStructure object for VM host: vcl
> 2011-01-02 
> 15:22:04|12245|3:3|reload|DataStructure.pm:_initialize(594)|computer ID 
> argument was specified, retrieving data for computer ID: 3
> 2011-01-02 
> 15:22:04|12245|3:3|reload|VMware.pm:get_vmhost_datastructure(923)|created 
> DataStructure object for VM host: vcl
> 2011-01-02 
> 15:22:04|12245|3:3|reload|VMware.pm:get_vmhost_api_object(1027)|attempting to 
> load VMware control module: VCL::Module::Provisioning::VMware::vSphere_SDK
> 2011-01-02 15:22:04|12245|3:3|reload|utils.pm:mail(1247)|SUCCESS -- Sending 
> mail To: 0, PROBLEM -- vcld
>
> |12245|3:3|reload| ---- CRITICAL ----
> |12245|3:3|reload| 2011-01-02 
> 15:22:04|12245|3:3|reload|vcld:die_handler(663)|Can't locate 
> VMware/VIRuntime.pm in @INC (@INC contains: /usr/local/vcl/bin/../../../.. 
> /usr/local/vcl/bin/../.. /usr/local/vcl/bin/.. /usr/local/vcl/bin/../lib 
> /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi 
> /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl 
> /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi 
> /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl 
> /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/5.8.8 .) at 
> /usr/local/vcl/bin/../lib/VCL/Module/Provisioning/VMware/vSphere_SDK.pm line 
> 64.
> |12245|3:3|reload| ( 0) utils.pm, notify (line: 630)
> |12245|3:3|reload| (-1) vcld, die_handler (line: 663)
> |12245|3:3|reload| (-2) vSphere_SDK.pm, BEGIN (line: 64)
> |12245|3:3|reload| (-3) VIRuntime.pm, (eval) (line: 64)
> |12245|3:3|reload| (-4) VIRuntime.pm, (eval) (line: 64)
> |12245|3:3|reload| (-5) (eval 166), BEGIN (line: 2)
> |12245|3:3|reload| (-6) VIRuntime.pm, (eval) (line: 64)
>
> 2011-01-02 15:22:04|6857|vcld:REAPER(745)|VCL process exited for reservation 
> 3, PID: 12245, signal: CHLD
>


--

Aaron Peeler
Program Manager
Virtual Computing Lab
NC State University
aaron_pee...@ncsu.edu
919-513-4571

Reply via email to