Re: VMWARE power off failure during image capture

2010-04-23 Thread Andy Kurth
I'm not sure where the conflict is coming from.  I haven't found a module with a 
getencname function.  The vmware-cmd files on our servers don't contain that 
string.  I'm guessing the function is supposed to retrieve an encoding name.


The vSphere SDK includes its own vmware-cmd file.  This may have overwritten the 
one installed with VMware Server.  I would try rerunning vmware-config.pl.  If 
that doesn't help, try reinstalling VMware Server.  You could try to remove or 
rename /usr/bin/vmware-cmd before reinstalling to ensure that it gets recreated.


Hope this helps,
Andy

Vinay Venkatesh wrote:

Hi Andy,

I am unable to run "vmware-cmd -l " or any vmware command . I keep getting
the following error
[*r...@localhost bin]# vmware-cmd -l
Enter username:

Enter password:

Undefined subroutine &Opts::getencname called at /usr/bin/vmware-cmd line
339,  line 2*.

I checked up the VIRuntime and VILib Opts packages , there is no function
byname getencname. it also throws an  error for a function set_option which
again is not be found in the package.

I have installed the vmware-vsphere SDK for perl version 4.0.0  and also
VMware VIPerl Toolkit 1.6.0 to be used with my GSX server.

Thanks and Regards
Vinay Venkatesh.


Re: VMWARE power off failure during image capture

2010-04-22 Thread Vinay Venkatesh
Hi Andy,

I am unable to run "vmware-cmd -l " or any vmware command . I keep getting
the following error
[*r...@localhost bin]# vmware-cmd -l
Enter username:

Enter password:

Undefined subroutine &Opts::getencname called at /usr/bin/vmware-cmd line
339,  line 2*.

I checked up the VIRuntime and VILib Opts packages , there is no function
byname getencname. it also throws an  error for a function set_option which
again is not be found in the package.

I have installed the vmware-vsphere SDK for perl version 4.0.0  and also
VMware VIPerl Toolkit 1.6.0 to be used with my GSX server.

Thanks and Regards
Vinay Venkatesh.





On Thu, Apr 22, 2010 at 10:58 AM, Andy Kurth  wrote:

> Hello,
> Check if you can run "vmware-cmd -l".  It should list the registered VMs.
>
> The code is very picky about the names of files and hosts.  I ran through a
> test image capture using the names you're using.  I had to change the names
> of the VM directory, vmx, and vmdk files to get it to work.
>
> Please try the following:
>
> -Shut down the VM
>
> -Make a copy of the VM directory to be safe:
> cd "/var/lib/vmware/Virtual Machines"
> cp -r vmwarelinux-base8-v1 vmwarelinux-base8-v1-save
>
> -Unregister the VM:
> vmware-cmd -s unregister "/var/lib/vmware/Virtual
> Machines/vmwarelinux-base8-v1/vmwarelinux-base8-v1.vmx"
>
> -Rename the VM directory:
> mv vmwarelinux-base8-v1 1vmguest-1
>
> -Rename the vmx file:
> cd 1vmguest-1
> mv vmwarelinux-base8-v1.vmx 1vmguest-1.vmx
>
> -Rename the vmdk file from v1 to v0:
> vmware-vdiskmanager -n vmwarelinux-base8-v1.vmdk vmwarelinux-base8-v0.vmdk
>
> -Edit the vmx file: vi 1vmguest-1.vmx.  The path to the vmdk file is in
> this file.  Change the path to the vmdk file to the renamed directory/file:
> /var/lib/vmware/Virtual Machines/1vmguest-1/vmwarelinux-base8-v0.vmdk
>
> -Register the renamed VM:
> vmware-cmd -s register "/var/lib/vmware/Virtual
> Machines/1vmguest-1/1vmguest-1.vmx"
>
> -Power on the VM:
> vmware-cmd "/var/lib/vmware/Virtual Machines/1vmguest-1/1vmguest-1.vmx"
> start
>
> -Try to start the capture again.  All you should need to do is change the
> request.stateid to 16 (image).  vcld will then attempt to process it again.
>
> Hope this helps,
>
> Andy
>
> Vinay Venkatesh wrote:
>
>> Hi Andy.
>>
>> I am a bit confused here...
>> the path which I am using is
>> /var/lib/vmware/Virtual
>> Machines/vmwarelinux-base8-v1/vmwarelinux-base8-v1.vmx
>>  and
>> /var/lib/vmware/Virtual
>> Machines/vmwarelinux-base8-v1/vmwarelinux-base8-v1.vmdk
>>
>> Is it that a directory" $reservation_id$computer_short_name"  for ex .
>> (2vmguest-1) should be created and the VM files need to be placed there
>> during the image capture process??
>>
>>
>> I did troubleshoot by running the command directly on the host. The output
>> what I get is
>>
>> "[r...@localhost vmwarelinux-base8-v1]#vmware-cmd
>> /var/lib/vmware/Virtual\
>> Machines/1vmguest-1/1vmguest-1.vmx getstate
>> Enter username:
>>
>> Enter password:
>>
>> Undefined subroutine &Opts::getencname called at /usr/bin/vmware-cmd line
>> 339,  line 2."
>>
>> Wierdly , it is asking a username and password which is causing the error
>> in
>> VILIb.pm.
>>
>> The VMware version which I am using is VMware Server Console 1.0.10
>> build-203137
>>
>> Thanks and Regards
>> Vinay Venkatesh.
>> WSTI Intern
>>
>>
>>
>>
>> On Wed, Apr 21, 2010 at 12:22 PM, Andy Kurth  wrote:
>>
>>  Hello,
>>> It looks like things are configured correctly.  The hostname is
>>> vmguest-1.
>>>  This won't match the name of the vmx and vmdk files.  What are the paths
>>> to
>>> the vmx and vmdk files being used by your VM?
>>>
>>> The path to your vmx file should be:
>>>
>>> /var/lib/vmware/Virtual Machines/1vmguest-1/1vmguest-1.vmx
>>>
>>> The path to the vmdk file should be:
>>> /var/lib/vmware/Virtual Machines/1vmguest-1/vmwarelinux-base8-v1.vmdk
>>>
>>> I'm not familiar with the vmware-cmd command error listed in the log. To
>>> troubleshoot, can you run the following command:
>>>
>>> vmware-cmd /var/lib/vmware/Virtual\ Machines/1vmguest-1/1vmguest-1.vmx
>>> getstate
>>>
>>> If this works, try running the same command via SSH to mimic what the
>>> vcld
>>> code tried to run:
>>>
>>> /usr/bin/ssh -i /etc/vcl/vcl.key  -l root -p 22 -x localvmhost
>>> 'vmware-cmd
>>> /var/lib/vmware/Virtual\ Machines/1vmguest-1/1vmguest-1.vmx getstate'
>>>
>>> Assuming your vmx path is the one listed in the commands, these commands
>>> should work.  Also, which version of VMware are you using?
>>>
>>> Regards,
>>> Andy
>>>
>>>
>>>
>>> Vinay Venkatesh wrote:
>>>
>>>  Hi ,

 I am trying to get a VCL standalone installation done and I am trying to
 capture a linux image. But I am getting the following error in the
 VMware
 perl tool kit files.
 The problem is that at the entry point into the capture routine ,
 hostname
 and VMtype are getting detected proprely .i.e. vmguest-1 and vmwareGSX.
  But
 at the end, when the power off status is being determined,

Re: VMWARE power off failure during image capture

2010-04-22 Thread Andy Kurth

Hello,
Check if you can run "vmware-cmd -l".  It should list the registered VMs.

The code is very picky about the names of files and hosts.  I ran through a test 
image capture using the names you're using.  I had to change the names of the VM 
directory, vmx, and vmdk files to get it to work.


Please try the following:

-Shut down the VM

-Make a copy of the VM directory to be safe:
cd "/var/lib/vmware/Virtual Machines"
cp -r vmwarelinux-base8-v1 vmwarelinux-base8-v1-save

-Unregister the VM:
vmware-cmd -s unregister "/var/lib/vmware/Virtual 
Machines/vmwarelinux-base8-v1/vmwarelinux-base8-v1.vmx"


-Rename the VM directory:
mv vmwarelinux-base8-v1 1vmguest-1

-Rename the vmx file:
cd 1vmguest-1
mv vmwarelinux-base8-v1.vmx 1vmguest-1.vmx

-Rename the vmdk file from v1 to v0:
vmware-vdiskmanager -n vmwarelinux-base8-v1.vmdk vmwarelinux-base8-v0.vmdk

-Edit the vmx file: vi 1vmguest-1.vmx.  The path to the vmdk file is in this 
file.  Change the path to the vmdk file to the renamed directory/file:

/var/lib/vmware/Virtual Machines/1vmguest-1/vmwarelinux-base8-v0.vmdk

-Register the renamed VM:
vmware-cmd -s register "/var/lib/vmware/Virtual 
Machines/1vmguest-1/1vmguest-1.vmx"

-Power on the VM:
vmware-cmd "/var/lib/vmware/Virtual Machines/1vmguest-1/1vmguest-1.vmx" start

-Try to start the capture again.  All you should need to do is change the 
request.stateid to 16 (image).  vcld will then attempt to process it again.


Hope this helps,
Andy

Vinay Venkatesh wrote:

Hi Andy.

I am a bit confused here...
the path which I am using is
/var/lib/vmware/Virtual
Machines/vmwarelinux-base8-v1/vmwarelinux-base8-v1.vmx
 and
/var/lib/vmware/Virtual
Machines/vmwarelinux-base8-v1/vmwarelinux-base8-v1.vmdk

Is it that a directory" $reservation_id$computer_short_name"  for ex .
(2vmguest-1) should be created and the VM files need to be placed there
during the image capture process??


I did troubleshoot by running the command directly on the host. The output
what I get is

"[r...@localhost vmwarelinux-base8-v1]#vmware-cmd /var/lib/vmware/Virtual\
Machines/1vmguest-1/1vmguest-1.vmx getstate
Enter username:

Enter password:

Undefined subroutine &Opts::getencname called at /usr/bin/vmware-cmd line
339,  line 2."

Wierdly , it is asking a username and password which is causing the error in
VILIb.pm.

The VMware version which I am using is VMware Server Console 1.0.10
build-203137

Thanks and Regards
Vinay Venkatesh.
WSTI Intern




On Wed, Apr 21, 2010 at 12:22 PM, Andy Kurth  wrote:


Hello,
It looks like things are configured correctly.  The hostname is vmguest-1.
 This won't match the name of the vmx and vmdk files.  What are the paths to
the vmx and vmdk files being used by your VM?

The path to your vmx file should be:

/var/lib/vmware/Virtual Machines/1vmguest-1/1vmguest-1.vmx

The path to the vmdk file should be:
/var/lib/vmware/Virtual Machines/1vmguest-1/vmwarelinux-base8-v1.vmdk

I'm not familiar with the vmware-cmd command error listed in the log. To
troubleshoot, can you run the following command:

vmware-cmd /var/lib/vmware/Virtual\ Machines/1vmguest-1/1vmguest-1.vmx
getstate

If this works, try running the same command via SSH to mimic what the vcld
code tried to run:

/usr/bin/ssh -i /etc/vcl/vcl.key  -l root -p 22 -x localvmhost 'vmware-cmd
/var/lib/vmware/Virtual\ Machines/1vmguest-1/1vmguest-1.vmx getstate'

Assuming your vmx path is the one listed in the commands, these commands
should work.  Also, which version of VMware are you using?

Regards,
Andy



Vinay Venkatesh wrote:


Hi ,

I am trying to get a VCL standalone installation done and I am trying to
capture a linux image. But I am getting the following error in the VMware
perl tool kit files.
The problem is that at the entry point into the capture routine , hostname
and VMtype are getting detected proprely .i.e. vmguest-1 and vmwareGSX.
 But
at the end, when the power off status is being determined, it tries to get
the vm paths and there the hostname is getting retrieved as 1vmguest-1 and
vmguest-1.

if you actually look into the code of get_vm_paths in vmware.pm, it says

# If GSX use image name
   if ($vmtype_name =~ /(vmware|vmwareGSX)$/) {
   $vmdk_name = $image_name;
   }
  * # If ESX use requestid+shortname
   elsif ($vmtype_name =~ /(vmwareESX3)/) {
   $vmdk_name = "$reservation_id$computer_short_name";
   }*




vmtype_name is getting detected as vmware ESX and from then on, hostname
and
vmdk files are getting renamed as 1vmguest-1 and so on I wanted to
know
if I am missing something here or is it because of some incorrect setting

2010-04-15 16:19:54|11685|1:1|image|DataStructure.pm:_automethod(697)|data
structure updated:
$self->request_data->{reservation}{1}{imagerevision}{datecreated}
|11685|1:1|image| imagerevision_date_created = 2010-04-15 16:19:54
2010-04-15 16:19:54|11685|1:1|image|image.pm:process(161)|calling
provisioning module's capture() subroutine
*2010-04-15 16:19:54|11685|1:1|imag

Re: VMWARE power off failure during image capture

2010-04-21 Thread Vinay Venkatesh
Hi Andy.

I am a bit confused here...
the path which I am using is
/var/lib/vmware/Virtual
Machines/vmwarelinux-base8-v1/vmwarelinux-base8-v1.vmx
 and
/var/lib/vmware/Virtual
Machines/vmwarelinux-base8-v1/vmwarelinux-base8-v1.vmdk

Is it that a directory" $reservation_id$computer_short_name"  for ex .
(2vmguest-1) should be created and the VM files need to be placed there
during the image capture process??


I did troubleshoot by running the command directly on the host. The output
what I get is

"[r...@localhost vmwarelinux-base8-v1]#vmware-cmd /var/lib/vmware/Virtual\
Machines/1vmguest-1/1vmguest-1.vmx getstate
Enter username:

Enter password:

Undefined subroutine &Opts::getencname called at /usr/bin/vmware-cmd line
339,  line 2."

Wierdly , it is asking a username and password which is causing the error in
VILIb.pm.

The VMware version which I am using is VMware Server Console 1.0.10
build-203137

Thanks and Regards
Vinay Venkatesh.
WSTI Intern




On Wed, Apr 21, 2010 at 12:22 PM, Andy Kurth  wrote:

> Hello,
> It looks like things are configured correctly.  The hostname is vmguest-1.
>  This won't match the name of the vmx and vmdk files.  What are the paths to
> the vmx and vmdk files being used by your VM?
>
> The path to your vmx file should be:
>
> /var/lib/vmware/Virtual Machines/1vmguest-1/1vmguest-1.vmx
>
> The path to the vmdk file should be:
> /var/lib/vmware/Virtual Machines/1vmguest-1/vmwarelinux-base8-v1.vmdk
>
> I'm not familiar with the vmware-cmd command error listed in the log. To
> troubleshoot, can you run the following command:
>
> vmware-cmd /var/lib/vmware/Virtual\ Machines/1vmguest-1/1vmguest-1.vmx
> getstate
>
> If this works, try running the same command via SSH to mimic what the vcld
> code tried to run:
>
> /usr/bin/ssh -i /etc/vcl/vcl.key  -l root -p 22 -x localvmhost 'vmware-cmd
> /var/lib/vmware/Virtual\ Machines/1vmguest-1/1vmguest-1.vmx getstate'
>
> Assuming your vmx path is the one listed in the commands, these commands
> should work.  Also, which version of VMware are you using?
>
> Regards,
> Andy
>
>
>
> Vinay Venkatesh wrote:
>
>> Hi ,
>>
>> I am trying to get a VCL standalone installation done and I am trying to
>> capture a linux image. But I am getting the following error in the VMware
>> perl tool kit files.
>> The problem is that at the entry point into the capture routine , hostname
>> and VMtype are getting detected proprely .i.e. vmguest-1 and vmwareGSX.
>>  But
>> at the end, when the power off status is being determined, it tries to get
>> the vm paths and there the hostname is getting retrieved as 1vmguest-1 and
>> vmguest-1.
>>
>> if you actually look into the code of get_vm_paths in vmware.pm, it says
>>
>> # If GSX use image name
>>if ($vmtype_name =~ /(vmware|vmwareGSX)$/) {
>>$vmdk_name = $image_name;
>>}
>>   * # If ESX use requestid+shortname
>>elsif ($vmtype_name =~ /(vmwareESX3)/) {
>>$vmdk_name = "$reservation_id$computer_short_name";
>>}*
>>
>>
>>
>>
>> vmtype_name is getting detected as vmware ESX and from then on, hostname
>> and
>> vmdk files are getting renamed as 1vmguest-1 and so on I wanted to
>> know
>> if I am missing something here or is it because of some incorrect setting
>>
>> 2010-04-15 16:19:54|11685|1:1|image|DataStructure.pm:_automethod(697)|data
>> structure updated:
>> $self->request_data->{reservation}{1}{imagerevision}{datecreated}
>> |11685|1:1|image| imagerevision_date_created = 2010-04-15 16:19:54
>> 2010-04-15 16:19:54|11685|1:1|image|image.pm:process(161)|calling
>> provisioning module's capture() subroutine
>> *2010-04-15 16:19:54|11685|1:1|image|vmware.pm:capture(1175)|req=1,
>> res=1:
>> new name: vmwarelinux-base8-v1
>> 2010-04-15 16:19:54|11685|1:1|image|vmware.pm:capture(1176)|req=1, res=1:
>> computer_name: vmguest-1
>> 2010-04-15 16:19:54|11685|1:1|image|vmware.pm:capture(1177)|req=1, res=1:
>> vmhost_hostname: localvmhost
>> 2010-04-15 16:19:54|11685|1:1|image|vmware.pm:capture(1178)|req=1, res=1:
>> vmtype_name: vmwareGSX
>> *2010-04-15 16:19:54|11685|1:1|image|utils.pm:
>> run_ssh_command(6180)|executing
>> SSH command on vmguest-1:
>> |11685|1:1|image| /usr/bin/ssh -i /etc/vcl/vcl.key  -l root -p 22 -x
>> vmguest-1 'chown root currentimage.txt; chmod 777 currentimage.txt' 2>&1
>> 2010-04-15 16:19:54|11685|1:1|image|utils.pm:
>> run_ssh_command(6262)|run_ssh_command
>> output:
>> |11685|1:1|image| chown: cannot access `currentimage.txt': No such file or
>> directory
>> |11685|1:1|image| chmod: cannot access `currentimage.txt': No such file or
>> directory
>> 2010-04-15 16:19:54|11685|1:1|image|utils.pm:run_ssh_command(6272)|SSH
>> command executed on vmguest-1, command:
>> |11685|1:1|image| /usr/bin/ssh -i /etc/vcl/vcl.key  -l root -p 22 -x
>> vmguest-1 'chown root currentimage.txt; chmod 777 currentimage.txt' 2>&1
>> |11685|1:1|image| returning (1, "chown: cannot access `currenti...")
>> 2010-04-15 16:19:54|11685|1:1|image|utils.pm:
>> write_

Re: VMWARE power off failure during image capture

2010-04-21 Thread Andy Kurth

Hello,
It looks like things are configured correctly.  The hostname is 
vmguest-1.  This won't match the name of the vmx and vmdk files.  What 
are the paths to the vmx and vmdk files being used by your VM?


The path to your vmx file should be:
/var/lib/vmware/Virtual Machines/1vmguest-1/1vmguest-1.vmx

The path to the vmdk file should be:
/var/lib/vmware/Virtual Machines/1vmguest-1/vmwarelinux-base8-v1.vmdk

I'm not familiar with the vmware-cmd command error listed in the log. 
To troubleshoot, can you run the following command:
vmware-cmd /var/lib/vmware/Virtual\ Machines/1vmguest-1/1vmguest-1.vmx 
getstate


If this works, try running the same command via SSH to mimic what the 
vcld code tried to run:
/usr/bin/ssh -i /etc/vcl/vcl.key  -l root -p 22 -x localvmhost 
'vmware-cmd /var/lib/vmware/Virtual\ Machines/1vmguest-1/1vmguest-1.vmx 
getstate'


Assuming your vmx path is the one listed in the commands, these commands 
should work.  Also, which version of VMware are you using?


Regards,
Andy


Vinay Venkatesh wrote:

Hi ,

I am trying to get a VCL standalone installation done and I am trying to
capture a linux image. But I am getting the following error in the VMware
perl tool kit files.
The problem is that at the entry point into the capture routine , hostname
and VMtype are getting detected proprely .i.e. vmguest-1 and vmwareGSX.  But
at the end, when the power off status is being determined, it tries to get
the vm paths and there the hostname is getting retrieved as 1vmguest-1 and
vmguest-1.

if you actually look into the code of get_vm_paths in vmware.pm, it says

# If GSX use image name
if ($vmtype_name =~ /(vmware|vmwareGSX)$/) {
$vmdk_name = $image_name;
}
   * # If ESX use requestid+shortname
elsif ($vmtype_name =~ /(vmwareESX3)/) {
$vmdk_name = "$reservation_id$computer_short_name";
}*




vmtype_name is getting detected as vmware ESX and from then on, hostname and
vmdk files are getting renamed as 1vmguest-1 and so on I wanted to know
if I am missing something here or is it because of some incorrect setting

2010-04-15 16:19:54|11685|1:1|image|DataStructure.pm:_automethod(697)|data
structure updated:
$self->request_data->{reservation}{1}{imagerevision}{datecreated}
|11685|1:1|image| imagerevision_date_created = 2010-04-15 16:19:54
2010-04-15 16:19:54|11685|1:1|image|image.pm:process(161)|calling
provisioning module's capture() subroutine
*2010-04-15 16:19:54|11685|1:1|image|vmware.pm:capture(1175)|req=1, res=1:
new name: vmwarelinux-base8-v1
2010-04-15 16:19:54|11685|1:1|image|vmware.pm:capture(1176)|req=1, res=1:
computer_name: vmguest-1
2010-04-15 16:19:54|11685|1:1|image|vmware.pm:capture(1177)|req=1, res=1:
vmhost_hostname: localvmhost
2010-04-15 16:19:54|11685|1:1|image|vmware.pm:capture(1178)|req=1, res=1:
vmtype_name: vmwareGSX
*2010-04-15 16:19:54|11685|1:1|image|utils.pm:run_ssh_command(6180)|executing
SSH command on vmguest-1:
|11685|1:1|image| /usr/bin/ssh -i /etc/vcl/vcl.key  -l root -p 22 -x
vmguest-1 'chown root currentimage.txt; chmod 777 currentimage.txt' 2>&1
2010-04-15 
16:19:54|11685|1:1|image|utils.pm:run_ssh_command(6262)|run_ssh_command
output:
|11685|1:1|image| chown: cannot access `currentimage.txt': No such file or
directory
|11685|1:1|image| chmod: cannot access `currentimage.txt': No such file or
directory
2010-04-15 16:19:54|11685|1:1|image|utils.pm:run_ssh_command(6272)|SSH
command executed on vmguest-1, command:
|11685|1:1|image| /usr/bin/ssh -i /etc/vcl/vcl.key  -l root -p 22 -x
vmguest-1 'chown root currentimage.txt; chmod 777 currentimage.txt' 2>&1
|11685|1:1|image| returning (1, "chown: cannot access `currenti...")
2010-04-15 
16:19:54|11685|1:1|image|utils.pm:write_currentimage_txt(6500)|updated
ownership and permissions on currentimage.txt
2010-04-15 16:19:54|11685|1:1|image|utils.pm:run_ssh_command(6180)|executing
SSH command on vmguest-1:
|11685|1:1|image| /usr/bin/ssh -i /etc/vcl/vcl.key  -l root -p 22 -x
vmguest-1 'echo -e "vmwarelinux-base8-v1\r\nid=10\r\nprettyname=No Apps
(Linux)\r\nimagerevision_id=10\r\nimagerevision_datecreated=2010-04-15
16:19:54\r\ncomputer_id=2\r\ncomputer_hostname=vmguest-1" > currentimage.txt
& cat currentimage.txt' 2>&1
2010-04-15 
16:19:55|11685|1:1|image|utils.pm:run_ssh_command(6262)|run_ssh_command
output:
|11685|1:1|image| vmwarelinux-base8-v1
|11685|1:1|image| id=10
|11685|1:1|image| prettyname=No Apps (Linux)
|11685|1:1|image| imagerevision_id=10
|11685|1:1|image| imagerevision_datecreated=2010-04-15 16:19:54
|11685|1:1|image| computer_id=2
|11685|1:1|image| computer_hostname=vmguest-1
2010-04-15 16:19:55|11685|1:1|image|utils.pm:run_ssh_command(6276)|SSH
command executed on vmguest-1, returning (0, "vmwarelinux-base8-v1 id=10
pre...")
2010-04-15 
16:19:55|11685|1:1|image|utils.pm:write_currentimage_txt(6510)|created
currentimage.txt file on vmguest-1:
|11685|1:1|image| vmwarelinux-base8-v1
|11685|1:1|image| id=10
|11685|1:1|image| prettyname=No Apps (

VMWARE power off failure during image capture

2010-04-16 Thread Vinay Venkatesh
Hi ,

I am trying to get a VCL standalone installation done and I am trying to
capture a linux image. But I am getting the following error in the VMware
perl tool kit files.
The problem is that at the entry point into the capture routine , hostname
and VMtype are getting detected proprely .i.e. vmguest-1 and vmwareGSX.  But
at the end, when the power off status is being determined, it tries to get
the vm paths and there the hostname is getting retrieved as 1vmguest-1 and
vmguest-1.

if you actually look into the code of get_vm_paths in vmware.pm, it says

# If GSX use image name
if ($vmtype_name =~ /(vmware|vmwareGSX)$/) {
$vmdk_name = $image_name;
}
   * # If ESX use requestid+shortname
elsif ($vmtype_name =~ /(vmwareESX3)/) {
$vmdk_name = "$reservation_id$computer_short_name";
}*




vmtype_name is getting detected as vmware ESX and from then on, hostname and
vmdk files are getting renamed as 1vmguest-1 and so on I wanted to know
if I am missing something here or is it because of some incorrect setting

2010-04-15 16:19:54|11685|1:1|image|DataStructure.pm:_automethod(697)|data
structure updated:
$self->request_data->{reservation}{1}{imagerevision}{datecreated}
|11685|1:1|image| imagerevision_date_created = 2010-04-15 16:19:54
2010-04-15 16:19:54|11685|1:1|image|image.pm:process(161)|calling
provisioning module's capture() subroutine
*2010-04-15 16:19:54|11685|1:1|image|vmware.pm:capture(1175)|req=1, res=1:
new name: vmwarelinux-base8-v1
2010-04-15 16:19:54|11685|1:1|image|vmware.pm:capture(1176)|req=1, res=1:
computer_name: vmguest-1
2010-04-15 16:19:54|11685|1:1|image|vmware.pm:capture(1177)|req=1, res=1:
vmhost_hostname: localvmhost
2010-04-15 16:19:54|11685|1:1|image|vmware.pm:capture(1178)|req=1, res=1:
vmtype_name: vmwareGSX
*2010-04-15 16:19:54|11685|1:1|image|utils.pm:run_ssh_command(6180)|executing
SSH command on vmguest-1:
|11685|1:1|image| /usr/bin/ssh -i /etc/vcl/vcl.key  -l root -p 22 -x
vmguest-1 'chown root currentimage.txt; chmod 777 currentimage.txt' 2>&1
2010-04-15 
16:19:54|11685|1:1|image|utils.pm:run_ssh_command(6262)|run_ssh_command
output:
|11685|1:1|image| chown: cannot access `currentimage.txt': No such file or
directory
|11685|1:1|image| chmod: cannot access `currentimage.txt': No such file or
directory
2010-04-15 16:19:54|11685|1:1|image|utils.pm:run_ssh_command(6272)|SSH
command executed on vmguest-1, command:
|11685|1:1|image| /usr/bin/ssh -i /etc/vcl/vcl.key  -l root -p 22 -x
vmguest-1 'chown root currentimage.txt; chmod 777 currentimage.txt' 2>&1
|11685|1:1|image| returning (1, "chown: cannot access `currenti...")
2010-04-15 
16:19:54|11685|1:1|image|utils.pm:write_currentimage_txt(6500)|updated
ownership and permissions on currentimage.txt
2010-04-15 16:19:54|11685|1:1|image|utils.pm:run_ssh_command(6180)|executing
SSH command on vmguest-1:
|11685|1:1|image| /usr/bin/ssh -i /etc/vcl/vcl.key  -l root -p 22 -x
vmguest-1 'echo -e "vmwarelinux-base8-v1\r\nid=10\r\nprettyname=No Apps
(Linux)\r\nimagerevision_id=10\r\nimagerevision_datecreated=2010-04-15
16:19:54\r\ncomputer_id=2\r\ncomputer_hostname=vmguest-1" > currentimage.txt
& cat currentimage.txt' 2>&1
2010-04-15 
16:19:55|11685|1:1|image|utils.pm:run_ssh_command(6262)|run_ssh_command
output:
|11685|1:1|image| vmwarelinux-base8-v1
|11685|1:1|image| id=10
|11685|1:1|image| prettyname=No Apps (Linux)
|11685|1:1|image| imagerevision_id=10
|11685|1:1|image| imagerevision_datecreated=2010-04-15 16:19:54
|11685|1:1|image| computer_id=2
|11685|1:1|image| computer_hostname=vmguest-1
2010-04-15 16:19:55|11685|1:1|image|utils.pm:run_ssh_command(6276)|SSH
command executed on vmguest-1, returning (0, "vmwarelinux-base8-v1 id=10
pre...")
2010-04-15 
16:19:55|11685|1:1|image|utils.pm:write_currentimage_txt(6510)|created
currentimage.txt file on vmguest-1:
|11685|1:1|image| vmwarelinux-base8-v1
|11685|1:1|image| id=10
|11685|1:1|image| prettyname=No Apps (Linux)
|11685|1:1|image| imagerevision_id=10
|11685|1:1|image| imagerevision_datecreated=2010-04-15 16:19:54
|11685|1:1|image| computer_id=2
|11685|1:1|image| computer_hostname=vmguest-1
2010-04-15 16:19:55|11685|1:1|image|vmware.pm:capture(1181)|req=1, res=1:
currentimage.txt updated on vmguest-1
2010-04-15 16:19:55|11685|1:1|image|vmware.pm:capture(1200)|calling OS
module's pre_capture() subroutine
2010-04-15
16:19:55|11685|1:1|image|DataStructure.pm:get_computer_private_ip_address(1442)|attempting
to retrieve private IP address for computer: vmguest-1
2010-04-15
16:19:55|11685|1:1|image|DataStructure.pm:get_computer_private_ip_address(1446)|retrieved
contents of /etc/hosts on this management node, contains 6 lines
2010-04-15
16:19:55|11685|1:1|image|DataStructure.pm:get_computer_private_ip_address(1479)|found
line for 'vmguest-1' in /etc/hosts:
|11685|1:1|image| 9.37.244.183 vmguest-1
2010-04-15
16:19:55|11685|1:1|image|DataStructure.pm:get_computer_private_ip_address(1490)|found
IP address: 9.37.244.183
2010-04-15 16:19: