You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@vcl.apache.org by Terry McGuire <tm...@ualberta.ca> on 2010/01/21 22:09:03 UTC
Path to images?
Hello learned and patient VCL folks. Newbie install question:
I'm continuing to (re)build my all-in-one demo VCL server. I'll be using VMware server for the compute nodes. When configuring the management node, what would I put for "Install Path"? Is this the path to VMware's virtual machine directory? If not, can I pick something arbitrarily?
Thanks in advance for your response.
Terry McGuire
________________________________________________
Terry McGuire
Junior Analyst, Research Support Group
Academic Information & Communication Technologies (AICT)
University of Alberta
Edmonton, Alberta, Canada T6G 2H1
Phone: 780-492-9422
This communication is intended for the use of the recipient to which it is addressed, and may contain confidential, personal, and/or privileged information. Please contact us immediately if you are not the intended recipient of this communication. If you are not the intended recipient of this communication, do not copy, distribute, or take action on it. Any communication received in error, or subsequent reply, should be deleted or destroyed.
Re: Only one vm working
Posted by Terry McGuire <tm...@ualberta.ca>.
Hi Andy. A breakthrough! I now have multiple vm guests working! Yay! Weirdly, I still don't have the *first* vm guest - vmguest-1 - working, but at this point I don't really care, as this is all just for evaluation purposes anyway. The details, for the record:
The problem with vmguest-3, and what caused the new error in the vcld log:
____________
Failed to resolve given hostname/IP: vmguest-3. Note that you can't use '/mask' AND '1-4,7,100-' style IP ranges
WARNING: No targets were specified, so 0 hosts scanned.
___________
...was that I had indeed forgotten to add vmguest-3 to /etc/hosts. Adding it made the above error go away and, miraculously, also made ssh successful.
It remains a mystery why vmguest-1 doesn't work, but since I now have multiple functioning vmguests I'm moving on to other challenges, namely, creating more images, both Windows and Linux, and adding users to the system. A thousand thanks for your perseverance here Andy. Hopefully, I'll be able to deal with the remaining challenges with a little less of your time and patience.
Regards,
Terry
Re: Only one vm working
Posted by Andy Kurth <an...@ncsu.edu>.
Hi Terry,
Is the image booting on vmguest-2 and 3 but SSH is failing, or is it not booting
at all? If it isn't booting, check the computer.drivetype values for the VMs.
I came across an issue with this last week with another pilot attempting to
create a Linux VMware base image. If the value differs among the VMs, try
swapping sda/hda and see what happens.
If the image is booting but SSH isn't responding, check the MAC addresses and IP
addresses that are assigned to the VMs. If it isn't receiving an IP address, do
the private MAC addresses match dhcpd.conf and /etc/hosts? Also, check the VM
host to make sure you don't have multiple instances of a VM using the same MAC
address.
I'm not sure what's causing the "Failed to resolve given hostname" error. I'm
guessing this is coming from the nmap command. Was this error listed in
vcld.log or did you see it somewhere else? Please provide some lines leading up
to this error if it's from the log.
Regards,
Andy
Terry McGuire wrote:
> Hi Andy (and anyone else following along here). I've been doing a lot of poking around, and, long story short, I can now (for the first time ever) successfully book and log into the Windows image (yay!) but, annoyingly, only with a single one of the vm guest computers I've configured.
>
> While stumbling around in the dark, I decided to try setting up a Linux base image as well as the Windows one. The process went much quicker, but, unfortunately, it seems to be getting hung up in a similar place to the Windows image, but that's not the interesting thing. When I created the Linux image, I created a new vm guest to run it on ("vmguest-2"). When I got tired of playing with the Linux image, I switched back to the Windows image, and, to my amazement, it worked! And then I realized that it was loading on vmguest-2. Still didn't work on vmguest-1. I created yet another vm - vmguest-3 - but it also won't work on it. Only vmguest-2. I can't quite figure out what's special about it. I even swapped the private ip addresses, so vmguest-1 had vmguest-2's address, same result. (And, with the wiki down at the moment, I can't get to the Linux base image documentation to see if there was something special about how I made the vm in the first place.)
>
> As well, the errors I get are different on vmguest-1 and 3. On 1, it can't ssh into the machine, as before. On 3, it starts giving me these:
> ____________
>
> Failed to resolve given hostname/IP: vmguest-3. Note that you can't use '/mask' AND '1-4,7,100-' style IP ranges
> WARNING: No targets were specified, so 0 hosts scanned.
> ____________
>
> To my newbie eyes, all three vm computers are all as identically configured in the vcl computers tables as possible under the circumstances.
>
> Another thing (though probably not related): The machines all come up with 512MB memory, but I've set them to have 1024MB. Clearly, I'm missing some config info somewhere.
>
> At this point it seems I have a useful situation for continued debugging: a working setup, but only for the Windows image, and only for a single VM. There's *gotta* be a way to figure out what's the difference making the difference. I'm not worrying about the Linux image right now. I figure, once I get Windows images running properly, I'll have a much easier time getting Linux working.
>
> On a (related) side note, I see the list is getting much busier with newbies like me asking newbie questions. A mixed blessing? Obvious interest in the product, but a whole lot of support work for you, huh? Once I actually have a clue, I fully intend to start contributing back, to help with this situation.
>
> Terry
>
> On 7 Apr 2010, at 1418h, Andy Kurth wrote:
>
>> Is SSH working and is everything being processed by vcld to the point where you see the Connect button on the web page? If you are just manually running the scripts then RDP won't be available because the firewall port isn't open. vcld opens it later on in the process.
>>
>> I have not seen the error before in the output from IP config called from configure_networking.vbs:
>> "An internal error occurred: The file name is too long."
>>
>> I'm wondering if a problem occurred obtaining the IP address. Can you run "ipconfig /all" manually and does this error show up? If SSH is working correctly on the private interface, then I'm guessing there is a routing table problem. There are no 129.x entries. This seems odd. Do any entries appear for 129.x in the routing table it you run "ipconfig /renew", then "route print"?
>>
>> If vcld is completely loading the computer, then the problems that occur in configure_networking.vbs may not be the problem. The output from the log file where "set_public_default_route" is called will be helpful. The .vbs script attempts to set default routes but the vcld code does this again later on.
>
>
--
Andy Kurth
Virtual Computing Lab
Office of Information Technology
North Carolina State University
andy_kurth@ncsu.edu
919.513.4090
Only one vm working [formerly: Base image capture failure]
Posted by Terry McGuire <tm...@ualberta.ca>.
Hi Andy (and anyone else following along here). I've been doing a lot of poking around, and, long story short, I can now (for the first time ever) successfully book and log into the Windows image (yay!) but, annoyingly, only with a single one of the vm guest computers I've configured.
While stumbling around in the dark, I decided to try setting up a Linux base image as well as the Windows one. The process went much quicker, but, unfortunately, it seems to be getting hung up in a similar place to the Windows image, but that's not the interesting thing. When I created the Linux image, I created a new vm guest to run it on ("vmguest-2"). When I got tired of playing with the Linux image, I switched back to the Windows image, and, to my amazement, it worked! And then I realized that it was loading on vmguest-2. Still didn't work on vmguest-1. I created yet another vm - vmguest-3 - but it also won't work on it. Only vmguest-2. I can't quite figure out what's special about it. I even swapped the private ip addresses, so vmguest-1 had vmguest-2's address, same result. (And, with the wiki down at the moment, I can't get to the Linux base image documentation to see if there was something special about how I made the vm in the first place.)
As well, the errors I get are different on vmguest-1 and 3. On 1, it can't ssh into the machine, as before. On 3, it starts giving me these:
____________
Failed to resolve given hostname/IP: vmguest-3. Note that you can't use '/mask' AND '1-4,7,100-' style IP ranges
WARNING: No targets were specified, so 0 hosts scanned.
____________
To my newbie eyes, all three vm computers are all as identically configured in the vcl computers tables as possible under the circumstances.
Another thing (though probably not related): The machines all come up with 512MB memory, but I've set them to have 1024MB. Clearly, I'm missing some config info somewhere.
At this point it seems I have a useful situation for continued debugging: a working setup, but only for the Windows image, and only for a single VM. There's *gotta* be a way to figure out what's the difference making the difference. I'm not worrying about the Linux image right now. I figure, once I get Windows images running properly, I'll have a much easier time getting Linux working.
On a (related) side note, I see the list is getting much busier with newbies like me asking newbie questions. A mixed blessing? Obvious interest in the product, but a whole lot of support work for you, huh? Once I actually have a clue, I fully intend to start contributing back, to help with this situation.
Terry
On 7 Apr 2010, at 1418h, Andy Kurth wrote:
> Is SSH working and is everything being processed by vcld to the point where you see the Connect button on the web page? If you are just manually running the scripts then RDP won't be available because the firewall port isn't open. vcld opens it later on in the process.
>
> I have not seen the error before in the output from IP config called from configure_networking.vbs:
> "An internal error occurred: The file name is too long."
>
> I'm wondering if a problem occurred obtaining the IP address. Can you run "ipconfig /all" manually and does this error show up? If SSH is working correctly on the private interface, then I'm guessing there is a routing table problem. There are no 129.x entries. This seems odd. Do any entries appear for 129.x in the routing table it you run "ipconfig /renew", then "route print"?
>
> If vcld is completely loading the computer, then the problems that occur in configure_networking.vbs may not be the problem. The output from the log file where "set_public_default_route" is called will be helpful. The .vbs script attempts to set default routes but the vcld code does this again later on.
Re: Base image capture failure
Posted by Andy Kurth <an...@ncsu.edu>.
Is SSH working and is everything being processed by vcld to the point where you
see the Connect button on the web page? If you are just manually running the
scripts then RDP won't be available because the firewall port isn't open. vcld
opens it later on in the process.
I have not seen the error before in the output from IP config called from
configure_networking.vbs:
"An internal error occurred: The file name is too long."
I'm wondering if a problem occurred obtaining the IP address. Can you run
"ipconfig /all" manually and does this error show up? If SSH is working
correctly on the private interface, then I'm guessing there is a routing table
problem. There are no 129.x entries. This seems odd. Do any entries appear
for 129.x in the routing table it you run "ipconfig /renew", then "route print"?
If vcld is completely loading the computer, then the problems that occur in
configure_networking.vbs may not be the problem. The output from the log file
where "set_public_default_route" is called will be helpful. The .vbs script
attempts to set default routes but the vcld code does this again later on.
-Andy
> ______________
> configure_networking.vbs beginning to run: 3/23/2010 12:53:50 PM
> Windows Version: 5.1.2600
> ---------------------------------------------------------------------------
> 12:54:26 PM
> ---------------------------------------------------------------------------
> Printing routing table, command: cmd.exe /c %SystemRoot%\system32\route.exe print
> ===========================================================================
> Interface List
> 0x1 ........................... MS TCP Loopback interface
> 0x2 ...00 50 56 00 00 00 ...... AMD PCNET Family PCI Ethernet Adapter #3 - Packet Scheduler Miniport
> 0x10004 ...00 50 56 00 00 01 ...... AMD PCNET Family PCI Ethernet Adapter #4 - Packet Scheduler Miniport
> ===========================================================================
> ===========================================================================
> Active Routes:
> Network Destination Netmask Gateway Interface Metric
> 0.0.0.0 0.0.0.0 192.168.0.1 192.168.1.1 30
> 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
> 169.254.0.0 255.255.0.0 169.254.237.166 169.254.237.166 30
> 169.254.237.166 255.255.255.255 127.0.0.1 127.0.0.1 30
> 169.254.255.255 255.255.255.255 169.254.237.166 169.254.237.166 30
> 192.168.0.0 255.255.0.0 192.168.1.1 192.168.1.1 30
> 192.168.1.1 255.255.255.255 127.0.0.1 127.0.0.1 30
> 192.168.1.255 255.255.255.255 192.168.1.1 192.168.1.1 30
> 224.0.0.0 240.0.0.0 169.254.237.166 169.254.237.166 30
> 224.0.0.0 240.0.0.0 192.168.1.1 192.168.1.1 30
> 255.255.255.255 255.255.255.255 169.254.237.166 169.254.237.166 1
> 255.255.255.255 255.255.255.255 192.168.1.1 192.168.1.1 1
> Default Gateway: 192.168.0.1
> ===========================================================================
> Persistent Routes:
> None
> Printing routing table successful, exit code: 0
> 12:54:27 PM
> ---------------------------------------------------------------------------
> 12:54:27 PM
> ---------------------------------------------------------------------------
> Running ipconfig /all, command: cmd.exe /c %SystemRoot%\system32\ipconfig.exe /all
>
> Windows IP Configuration
>
> An internal error occurred: The file name is too long.
>
> Please contact Microsoft Product Support Services for further help.
>
> Additional information: Unable to query host name.
>
> Running ipconfig /all successful, exit code: 0
> 12:54:28 PM
> ----------------------------------------------------------------------
> *** AMD PCNET Family PCI Ethernet Adapter (Index: 1) ***
>
> Adpater name: AMD PCNET Family PCI Ethernet Adapter
> Ignored adpater name section:
> Ignored adpater description section:
> IP address: 129.128.9.119
> Matching VCL private address section:
> Matching non-public address section:
> * PUBLIC_NAME = Local Area Connection
> * DHCP enabled = True
> * PUBLIC_IP = 129.128.9.119
> * PUBLIC_SUBNET_MASK = 255.255.254.0
> * PUBLIC_GATEWAY =
> * PUBLIC_DESCRIPTION = AMD PCNET Family PCI Ethernet Adapter
> ----------------------------------------------------------------------
> *** AMD PCNET Family PCI Ethernet Adapter (Index: 4) ***
>
> Adpater name: AMD PCNET Family PCI Ethernet Adapter
> Ignored adpater name section:
> Ignored adpater description section:
> IP address: 192.168.1.1
> Matching VCL private address section:
> Matching non-public address section: 192.168
> IP address is not a public nor valid VCL private address: 192.168.1.1
> ---------------------------------------------------------------------------
> 12:54:29 PM
> ---------------------------------------------------------------------------
> PRIVATE_NAME =
> PRIVATE_IP =
> PRIVATE_SUBNET_MASK =
> PRIVATE_GATEWAY =
>
> PUBLIC_NAME = Local Area Connection
> PUBLIC_IP = 129.128.9.119
> PUBLIC_SUBNET_MASK = 255.255.254.0
> PUBLIC_GATEWAY =
>
> Failed to retrieve private and public network configuration, returning exit status 1
> _________________
>
>
> Which looks bad to me. Poking around a bit, it seems that configure_networking.vbs expects my private lan to be 10.x.x.x, but I've got it as 192.168.x.x, as per other documentation. Is this relevant?
>
> To summarize this round of glitch-squishing, the sysprep_cmdlines.cmd issue, with the symptom of the failure to autologin after running sysprep, seems to be solved, or at least worked around, by the pre-creation of the Logs folder. But the inability to connect via RDC after the reservation is made persists, which may be due to something going wrong with the configure_networking.vbs script.
>
> Back to you, Andy (with continued gratefulness for your help).
>
> Terry
>
Re: Base image capture failure
Posted by Terry McGuire <tm...@ualberta.ca>.
On 18 Mar 2010, at 0742h, Andy Kurth wrote:
> Hi Terry,
> Sorry for the delay. This information is helpful. You're right, the root cause seems to be that sysprep_cmdlines.cmd isn't running.
>
> I have seen the issue where you can't enter a password before. This only seems to happen for the newer style logon screen, not the classic logon screen. I'm not sure of the cause but you can get to the classic logon screen by pressing Ctrl-Alt-Del twice. Under the VMware console, press Ctrl-Alt-Insert twice.
Weirdly, sometimes I need the classic logon, sometimes I don't. Whatever. I use it when I need to.
> You can begin troubleshooting by examining C:\Windows\setuplog.txt file. There should be a few lines that look like the section I have copied to the end of this message. Search setuplog.txt for "sysprep_cmdlines.cmd". Does anything show up?
Yes, just like in your example, except it returns an exit code of 1. That's bad, right? Except, skipping ahead a bit, all is well when I apply the sysprep_cmdlines.cmd fix I figured out, exit code 0. Keep reading.
> Next, examine the Sysprep files. A copy of the same exact Sysprep files used when the image loaded should still be on the computer in C:\cygwin\home\root\VCL\Utilities\Sysprep. This directory is copied to C:\Sysprep before an image is captured. Sysprep automatically deletes C:\Sysprep when it finishes, so the VCL code copies everything to C:\cygwin\... and then makes an additional copy in C:\Sysprep so that the files are retained for troubleshooting.
Ah, that explains the InstallFilesPath=C:\sysprep\i386" bit.
> The "InstallFilesPath=C:\sysprep\i386" line is correct. Within the Sysprep directory, there should also be the following file:
> C:\cygwin\home\root\VCL\Utilities\Sysprep\i386\$oem$\cmdlines.txt
>
> This InstallFilesPath line in sysprep.inf causes cmdlines.txt to be processed during minisetup. Sysprep automatically calls the commands in cmdlines.txt before the computer boots Windows for the first time. You should see a call to sysprep_cmdlines.cmd in cmdlines.txt.
>
> So, make sure of the following:
> -cmdlines.txt resides in the location noted above
> -cmdlines.txt includes a line calling sysprep_cmdlines.cmd
This all looks good.
> You can troubleshoot this by manually running Sysprep. But first, load your image by making an imaging reservation (Manage Images -> Create/Update image) rather than a normal reservation. The reason for this is because VCL configures the VM to run in persistent mode for imaging reservations and nonpersistent mode for normal reservations. If the VM is running in nonpersistent mode and you reboot the machine, it will likely restart in the initial hard drive state saved in the .vmdk files rather than the state the VM before it was rebooted. If running in persistent mode, the VM's hard drive state is saved when it is rebooted.
>
> Manually run Sysprep:
> -Log in as root
> -Copy the entire Sysprep directory under C:\cygwin to C:\
> -Copy the entire C:\cygwin\home\root\VCL\Drivers directory to C:\Sysprep
> -Delete C:\cygwin\home\root\VCL\Logs to replicate the original state
> -Run the command: "C:\Sysprep\sysprep.exe /quiet /reseal /mini /reboot"
>
> You should see the computer reboot into the minisetup phase. Towards the end of this phase, you should see some black command boxes appear then close. This is when sysprep_cmdlines.cmd is being run. It should then reboot again and automatically log on as root.
Same results - autologin doesn't happen.
> If you don't see the black boxes during minisetup and it doesn't autologon, try manually running the command contained within cmdlines.txt after Sysprep is done:
> -Log in as root
> -Delete C:\cygwin\home\root\VCL\Logs
> -Open cmd.exe
> -Run this command (1 line):
> cmd.exe /c C:\Cygwin\home\root\VCL\Scripts\sysprep_cmdlines.cmd > C:\Cygwin\home\root\VCL\Logs\sysprep_cmdlines.log 2>&1
Logging in manually after running sysprep manually, I still don't have the log folder. Running sysprep_cmdlines manually, entered exactly as you have it here, I get "The system cannot find the path specified." Hmm. If I manually create a Logs dir, then rerun the command, stuff happens. Looking at the resulting sysprep_cmdlines.log file, it exits with a status of "0". Ok, I then restart. More promising looking things happen. Autologin, many black boxes, then autologout.
I did examine the permissions for root, and all looked good. I even applied the chmod as you suggested, but the problem persisted. I've now tweaked the image to have the Logs folder pre-created, and things seem to work fine. Autologin, many black boxes, and, when I make a reservation, it makes it all the way to "Connect!" without manual intervention. However, unfortunately, I still can't login with RDC.
Manually logging back in again via the console, and looking at the post_load log, I see it's exited with a 1. Looking more closely, configure_networking.vbs is exiting with an "errorlevel: 1". Looking at its log, I see this:
______________
configure_networking.vbs beginning to run: 3/23/2010 12:53:50 PM
Windows Version: 5.1.2600
---------------------------------------------------------------------------
12:54:26 PM
---------------------------------------------------------------------------
Printing routing table, command: cmd.exe /c %SystemRoot%\system32\route.exe print
===========================================================================
Interface List
0x1 ........................... MS TCP Loopback interface
0x2 ...00 50 56 00 00 00 ...... AMD PCNET Family PCI Ethernet Adapter #3 - Packet Scheduler Miniport
0x10004 ...00 50 56 00 00 01 ...... AMD PCNET Family PCI Ethernet Adapter #4 - Packet Scheduler Miniport
===========================================================================
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.0.1 192.168.1.1 30
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
169.254.0.0 255.255.0.0 169.254.237.166 169.254.237.166 30
169.254.237.166 255.255.255.255 127.0.0.1 127.0.0.1 30
169.254.255.255 255.255.255.255 169.254.237.166 169.254.237.166 30
192.168.0.0 255.255.0.0 192.168.1.1 192.168.1.1 30
192.168.1.1 255.255.255.255 127.0.0.1 127.0.0.1 30
192.168.1.255 255.255.255.255 192.168.1.1 192.168.1.1 30
224.0.0.0 240.0.0.0 169.254.237.166 169.254.237.166 30
224.0.0.0 240.0.0.0 192.168.1.1 192.168.1.1 30
255.255.255.255 255.255.255.255 169.254.237.166 169.254.237.166 1
255.255.255.255 255.255.255.255 192.168.1.1 192.168.1.1 1
Default Gateway: 192.168.0.1
===========================================================================
Persistent Routes:
None
Printing routing table successful, exit code: 0
12:54:27 PM
---------------------------------------------------------------------------
12:54:27 PM
---------------------------------------------------------------------------
Running ipconfig /all, command: cmd.exe /c %SystemRoot%\system32\ipconfig.exe /all
Windows IP Configuration
An internal error occurred: The file name is too long.
Please contact Microsoft Product Support Services for further help.
Additional information: Unable to query host name.
Running ipconfig /all successful, exit code: 0
12:54:28 PM
----------------------------------------------------------------------
*** AMD PCNET Family PCI Ethernet Adapter (Index: 1) ***
Adpater name: AMD PCNET Family PCI Ethernet Adapter
Ignored adpater name section:
Ignored adpater description section:
IP address: 129.128.9.119
Matching VCL private address section:
Matching non-public address section:
* PUBLIC_NAME = Local Area Connection
* DHCP enabled = True
* PUBLIC_IP = 129.128.9.119
* PUBLIC_SUBNET_MASK = 255.255.254.0
* PUBLIC_GATEWAY =
* PUBLIC_DESCRIPTION = AMD PCNET Family PCI Ethernet Adapter
----------------------------------------------------------------------
*** AMD PCNET Family PCI Ethernet Adapter (Index: 4) ***
Adpater name: AMD PCNET Family PCI Ethernet Adapter
Ignored adpater name section:
Ignored adpater description section:
IP address: 192.168.1.1
Matching VCL private address section:
Matching non-public address section: 192.168
IP address is not a public nor valid VCL private address: 192.168.1.1
---------------------------------------------------------------------------
12:54:29 PM
---------------------------------------------------------------------------
PRIVATE_NAME =
PRIVATE_IP =
PRIVATE_SUBNET_MASK =
PRIVATE_GATEWAY =
PUBLIC_NAME = Local Area Connection
PUBLIC_IP = 129.128.9.119
PUBLIC_SUBNET_MASK = 255.255.254.0
PUBLIC_GATEWAY =
Failed to retrieve private and public network configuration, returning exit status 1
_________________
Which looks bad to me. Poking around a bit, it seems that configure_networking.vbs expects my private lan to be 10.x.x.x, but I've got it as 192.168.x.x, as per other documentation. Is this relevant?
To summarize this round of glitch-squishing, the sysprep_cmdlines.cmd issue, with the symptom of the failure to autologin after running sysprep, seems to be solved, or at least worked around, by the pre-creation of the Logs folder. But the inability to connect via RDC after the reservation is made persists, which may be due to something going wrong with the configure_networking.vbs script.
Back to you, Andy (with continued gratefulness for your help).
Terry
Re: Base image capture failure
Posted by Andy Kurth <an...@ncsu.edu>.
Hi Terry,
Sorry for the delay. This information is helpful. You're right, the root cause
seems to be that sysprep_cmdlines.cmd isn't running.
I have seen the issue where you can't enter a password before. This only seems
to happen for the newer style logon screen, not the classic logon screen. I'm
not sure of the cause but you can get to the classic logon screen by pressing
Ctrl-Alt-Del twice. Under the VMware console, press Ctrl-Alt-Insert twice.
You can begin troubleshooting by examining C:\Windows\setuplog.txt file. There
should be a few lines that look like the section I have copied to the end of
this message. Search setuplog.txt for "sysprep_cmdlines.cmd". Does anything
show up?
Next, examine the Sysprep files. A copy of the same exact Sysprep files used
when the image loaded should still be on the computer in
C:\cygwin\home\root\VCL\Utilities\Sysprep. This directory is copied to
C:\Sysprep before an image is captured. Sysprep automatically deletes
C:\Sysprep when it finishes, so the VCL code copies everything to C:\cygwin\...
and then makes an additional copy in C:\Sysprep so that the files are retained
for troubleshooting.
The "InstallFilesPath=C:\sysprep\i386" line is correct. Within the Sysprep
directory, there should also be the following file:
C:\cygwin\home\root\VCL\Utilities\Sysprep\i386\$oem$\cmdlines.txt
This InstallFilesPath line in sysprep.inf causes cmdlines.txt to be processed
during minisetup. Sysprep automatically calls the commands in cmdlines.txt
before the computer boots Windows for the first time. You should see a call to
sysprep_cmdlines.cmd in cmdlines.txt.
So, make sure of the following:
-cmdlines.txt resides in the location noted above
-cmdlines.txt includes a line calling sysprep_cmdlines.cmd
You can troubleshoot this by manually running Sysprep. But first, load your
image by making an imaging reservation (Manage Images -> Create/Update image)
rather than a normal reservation. The reason for this is because VCL configures
the VM to run in persistent mode for imaging reservations and nonpersistent mode
for normal reservations. If the VM is running in nonpersistent mode and you
reboot the machine, it will likely restart in the initial hard drive state saved
in the .vmdk files rather than the state the VM before it was rebooted. If
running in persistent mode, the VM's hard drive state is saved when it is rebooted.
Manually run Sysprep:
-Log in as root
-Copy the entire Sysprep directory under C:\cygwin to C:\
-Copy the entire C:\cygwin\home\root\VCL\Drivers directory to C:\Sysprep
-Delete C:\cygwin\home\root\VCL\Logs to replicate the original state
-Run the command: "C:\Sysprep\sysprep.exe /quiet /reseal /mini /reboot"
You should see the computer reboot into the minisetup phase. Towards the end of
this phase, you should see some black command boxes appear then close. This is
when sysprep_cmdlines.cmd is being run. It should then reboot again and
automatically log on as root.
If you don't see the black boxes during minisetup and it doesn't autologon, try
manually running the command contained within cmdlines.txt after Sysprep is done:
-Log in as root
-Delete C:\cygwin\home\root\VCL\Logs
-Open cmd.exe
-Run this command (1 line):
cmd.exe /c C:\Cygwin\home\root\VCL\Scripts\sysprep_cmdlines.cmd >
C:\Cygwin\home\root\VCL\Logs\sysprep_cmdlines.log 2>&1
If things still aren't working, I'm wondering if it could be a permissions
problem. Make sure root is the owner of its home directory:
-Log in as root
-Open a Cygwin shell
-Run: "chown -R root:Administrators ~/"
-Try running Sysprep again
Hope this helps,
Andy
****************
setuplog.txt section showing where sysprep_cmdlines.cmd was run:
03/12/2010
15:08:14.155,d:\xpsp\base\ntsetup\syssetup\log.c,133,,SetUpVirtualMemory: loc 1
03/12/2010 15:08:14.155,d:\xpsp\base\ntsetup\syssetup\log.c,133,,Setup
configured the system to place a 384 MB pagefile on drive C:.
03/12/2010 15:08:14.155,d:\xpsp\base\ntsetup\syssetup\log.c,133,,Crashdump was
enabled.
03/12/2010
15:08:14.155,d:\xpsp\base\ntsetup\syssetup\log.c,133,,SetUpVirtualMemory: EXIT (1)
03/12/2010 15:08:14.155,d:\xpsp\base\ntsetup\syssetup\syssetup.c,2725,,Power
scheme: desktop.
03/12/2010
15:08:14.155,d:\xpsp\base\ntsetup\syssetup\syssetup.c,2729,,SetActivePwrScheme
succeeded.
03/12/2010 15:08:21.343,d:\xpsp\base\ntsetup\syssetup\log.c,133,,The external
program cmd.exe /c C:\Cygwin\home\root\VCL\Scripts\sysprep_cmdlines.cmd >
C:\Cygwin\home\root\VCL\Logs\sysprep_cmdlines.log 2>&1 returned exit code 0.
03/12/2010
15:08:21.343,d:\xpsp\base\ntsetup\syssetup\syssetup.c,4034,BEGIN_SECTION,Fixing
up hives
03/12/2010
15:08:21.593,d:\xpsp\base\ntsetup\syssetup\syssetup.c,4041,END_SECTION,Fixing up
hives
Re: Base image capture failure
Posted by Terry McGuire <tm...@ualberta.ca>.
Hi Andy. First, let me thank you once again for sticking with this ongoing saga. Next time I'm in North Carolina, I'll buy you a beer!
On 2 Mar 2010, at 0831h, Andy Kurth wrote:
> You will need to watch the VM console after the VM is turned on in order to troubleshoot this. You should see the following:
>
> -VM is turned on
> -Sysprep minisetup runs, VM is rebooted
> -When Windows boots up for the first time, the root account is automatically logged on
> -A few black command boxes appear on the desktop, the one in the back is named post_load.cmd
> -When the command boxes close, root is logged off
> -At this point, the computer should respond to SSH
I see the VM turn on, sysprep runs, VM reboots, but then after Windows loads it just stays at the login window.
> You should be able to log on as root via the VMware console. The password should be the one configured as WINDOWS_ROOT_PASSWORD /etc/vcl/vcld.conf. After logging in, view the log files generated by the VCL scripts. All of the output generated by the scripts gets saved into files in C:\cygwin\home\root\VCL\Logs.
I can indeed login as root via the console, with the password I put in vcld.conf. However, there is no log folder in C:\cygwin\home\root\vcl - just Drivers, Scripts, Security and Utilities. Which, after poking around a bit, means that post_load has not run, yes?
If I run post_load manually, everything seems to move along nicely, but after it logs out, I can no longer login as root. It doesn't let me type a password, even though it's asking for one.
Interestingly, if I make a reservation at this point, the reservation appears to be set up properly, and is acknowledged through the web interface, but when I try to login via RDC, it fails, acting like there's no machine to talk to. (And, yes, I'm trying to connect from the same machine I clicked the "Connect!" button on.) The vcld log suggests all is well (there's lots of log, as you'd know - let me know if I should send you any of it.)
Trying to ssh or ping the vm on its public address fails, but that might be normal, yes?
> The troubleshooting steps depend largely on whether or not you see root being automatically logged on.
>
> If root is not logged on automatically, the problem can probably be found in sysprep_cmdlines.log and the files in Logs\sysprep_cmdlines directory. These files are generated during the Sysprep minisetup stage when Scripts\sysprep_cmdlines.cmd runs. This script configures root's autologon and sets a registry key to cause Scripts\post_load.cmd to run after root is automatically logged on.
> If it's attempting to log on root but failing because of a credentials problem, the cause could be that the password was not correctly configured in Scripts\autologon_enable.cmd. Check the "set PASSWORD=" line in this file.
The autologin_enable script has the correct password, and when I run it then restart, autologin works.
> If root is being logged on, first check if the Cygwin SSHD service is running and if the firewall has an exception for TCP port 22. Be sure to check both the middle "Exceptions" tab and the settings for each adapter under the "Advanced" tab for the exception. My guess is that SSHD failed to start. The problem can probably be found in Logs\post_load.log and in the files in the Logs\post_load directory. Check Logs\update_cygwin.cmd for errors.
>
> As you'll see in the log files, there's a lot that has to happen in order for everything to work correctly. The output from the log files will be helpful in order to figure this out.
Poking around in the scripts folder, I see that this whole post-load series of events is contingent on Sysprep running sysprep_cmdlines, which perhaps it's not doing. Does it matter that the sysprep.inf file includes "InstallFilesPath=C:\sysprep\i386"? This doesn't seem right to me, but to change it I'd need to alter the base image, which frightens me. So, I'll await your reply before trying anything that crazy.
Terry
Re: Base image capture failure
Posted by Andy Kurth <an...@ncsu.edu>.
You will need to watch the VM console after the VM is turned on in order to
troubleshoot this. You should see the following:
-VM is turned on
-Sysprep minisetup runs, VM is rebooted
-When Windows boots up for the first time, the root account is automatically
logged on
-A few black command boxes appear on the desktop, the one in the back is named
post_load.cmd
-When the command boxes close, root is logged off
-At this point, the computer should respond to SSH
You should be able to log on as root via the VMware console. The password
should be the one configured as WINDOWS_ROOT_PASSWORD /etc/vcl/vcld.conf. After
logging in, view the log files generated by the VCL scripts. All of the output
generated by the scripts gets saved into files in C:\cygwin\home\root\VCL\Logs.
The troubleshooting steps depend largely on whether or not you see root being
automatically logged on.
If root is not logged on automatically, the problem can probably be found in
sysprep_cmdlines.log and the files in Logs\sysprep_cmdlines directory. These
files are generated during the Sysprep minisetup stage when
Scripts\sysprep_cmdlines.cmd runs. This script configures root's autologon and
sets a registry key to cause Scripts\post_load.cmd to run after root is
automatically logged on.
If it's attempting to log on root but failing because of a credentials problem,
the cause could be that the password was not correctly configured in
Scripts\autologon_enable.cmd. Check the "set PASSWORD=" line in this file.
If root is being logged on, first check if the Cygwin SSHD service is running
and if the firewall has an exception for TCP port 22. Be sure to check both the
middle "Exceptions" tab and the settings for each adapter under the "Advanced"
tab for the exception. My guess is that SSHD failed to start. The problem can
probably be found in Logs\post_load.log and in the files in the Logs\post_load
directory. Check Logs\update_cygwin.cmd for errors.
As you'll see in the log files, there's a lot that has to happen in order for
everything to work correctly. The output from the log files will be helpful in
order to figure this out.
Regards,
Andy
On 2/17/2010 7:22 PM, Terry McGuire wrote:
> Well, I think the base image is officially captured, but I don't seem to be able to quite make it work. I've repeated the capture a few times and always end up in a situation where, when I make a reservation for the image, the image loads on the VM and various other useful-looking things happen, but ends before the reservation is made available to me with this error:
>
> ______________________
> 2010-02-17 17:01:23|16589|3:8|new|vmware.pm:load(848)|vmguest-1 ROUND 1 checks loop 19 of 40
> 2010-02-17 17:01:23|16589|3:8|new|utils.pm:run_ssh_command(6180)|executing SSH command on localvmhost:
> |16589|3:8|new| /usr/bin/ssh -i /etc/vcl/vcl.key -l root -p 22 -x localvmhost 'vmware-cmd /var/lib/vmware/Virtual\ Machines/vmwarewinxp-base7-v0vmguest-1/vmwarewinxp-base7-v0vmguest-1.vmx getstate' 2>&1
> 2010-02-17 17:01:24|16589|3:8|new|utils.pm:run_ssh_command(6262)|run_ssh_command output:
> |16589|3:8|new| getstate() = on
> 2010-02-17 17:01:24|16589|3:8|new|utils.pm:run_ssh_command(6276)|SSH command executed on localvmhost, returning (0, "getstate() = on")
> 2010-02-17 17:01:24|16589|3:8|new|vmware.pm:load(852)|rechecking state of vm vmguest-1 /var/lib/vmware/Virtual\ Machines/vmwarewinxp-base7-v0vmguest-1/vmwarewinxp-base7-v0vmguest-1.vmx
> 2010-02-17 17:01:24|16589|3:8|new|vmware.pm:load(857)|vm vmguest-1 reports on
> 2010-02-17 17:01:24|16589|3:8|new|vmware.pm:load(868)|sshd is NOT active on vmguest-1 yet
> ____________________
>
> It tries for a long time to ssh into the machine, but doesn't succeed. I see in the vmware server console that the vm is up and running, but it can't be sshed into. When I try it from the management node's command line, I get "connection refused". Obviously, it *was* working, so I guess something went screwy in the capture process, yes? But, well, I haven't been able to figure out what. Thus, yet another message out to you.
>
> Ideas?
>
> Terry
>
> On 10 Feb 2010, at 0940h, Andy Kurth wrote:
>
>> It looks like the image capture was successful and the vmware.pm module had trouble changing the file names to the new image name. I don't think it was the result of renaming the VM directory. You had the right idea by changing it to match the reservation ID. I think the problem has to do with the original names of the .vmdk files which were named after the manually created VM. What are the contents of /install/vmware_images/vmwarewinxp-base7-v0/?
>>
>> At this point I would manually fix the captured VM files. The .vmdk files should be named vmwarewinxp-base7-v0-s00x.vmdk. Rename all of the .vmdk files in the /install/vmware_images/vmwarewinxp-base7-v0/ directory to match this format. Change the first part of the names but keep the 's00x.vmdk' as they are named now.
>>
>> There should be one .vmdk file without the 's00x' part. This should now be named vmwarewinxp-base7-v0.vmdk. This file needs to be edited because it contains the names of the other .vmdk files. You should see an "Extent description" section in the file with the original names. Change each lines to include 'vmwarewinxp-base7-v0-x00x.vmdk' instead of the old name.
>>
>> Next, make sure the VCL 'deleted' column in the image and imagerevision tables for this image is set to 0. In the image table, check id=7. You'll have to look at the imagerevision table to figure out which one is for this revision. The imagerevision.imagename value will be vmwarewinxp-base7-v0.
>>
>> Next, make sure there isn't a directory named '/var/lib/vmware/Virtual Machines/vmwarewinxp-base7-v0'. There shouldn't be one but check to make sure. If it exists, rename it for now.
>>
>> Next, cross your fingers and try to make a reservation for this image. If you created and configured multiple VMs in VCL then another one should already be in the available state and you should be able to make a reservation. If not, change the state of your VM to 'available' via Manage Computers.
>>
>> If you have trouble, the following will be useful:
>> $ ls -l /install/vmware_images
>> $ ls -l /install/vmware_images/vmwarewinxp-base7-v0
>> $ ls -l /var/lib/vmware/Virtual\ Machines/
>> $ cat /install/vmware_images/vmwarewinxp-base7-v0/vmwarewinxp-base7-v0.vmdk
>>
>> I'm thinking there's a problem with the instructions that caused this latest problem. I'll go through them. Stating the obvious, but we obviously need a much better way to create base image reservations.
>
Re: Base image capture failure
Posted by Terry McGuire <tm...@ualberta.ca>.
Well, I think the base image is officially captured, but I don't seem to be able to quite make it work. I've repeated the capture a few times and always end up in a situation where, when I make a reservation for the image, the image loads on the VM and various other useful-looking things happen, but ends before the reservation is made available to me with this error:
______________________
2010-02-17 17:01:23|16589|3:8|new|vmware.pm:load(848)|vmguest-1 ROUND 1 checks loop 19 of 40
2010-02-17 17:01:23|16589|3:8|new|utils.pm:run_ssh_command(6180)|executing SSH command on localvmhost:
|16589|3:8|new| /usr/bin/ssh -i /etc/vcl/vcl.key -l root -p 22 -x localvmhost 'vmware-cmd /var/lib/vmware/Virtual\ Machines/vmwarewinxp-base7-v0vmguest-1/vmwarewinxp-base7-v0vmguest-1.vmx getstate' 2>&1
2010-02-17 17:01:24|16589|3:8|new|utils.pm:run_ssh_command(6262)|run_ssh_command output:
|16589|3:8|new| getstate() = on
2010-02-17 17:01:24|16589|3:8|new|utils.pm:run_ssh_command(6276)|SSH command executed on localvmhost, returning (0, "getstate() = on")
2010-02-17 17:01:24|16589|3:8|new|vmware.pm:load(852)|rechecking state of vm vmguest-1 /var/lib/vmware/Virtual\ Machines/vmwarewinxp-base7-v0vmguest-1/vmwarewinxp-base7-v0vmguest-1.vmx
2010-02-17 17:01:24|16589|3:8|new|vmware.pm:load(857)|vm vmguest-1 reports on
2010-02-17 17:01:24|16589|3:8|new|vmware.pm:load(868)|sshd is NOT active on vmguest-1 yet
____________________
It tries for a long time to ssh into the machine, but doesn't succeed. I see in the vmware server console that the vm is up and running, but it can't be sshed into. When I try it from the management node's command line, I get "connection refused". Obviously, it *was* working, so I guess something went screwy in the capture process, yes? But, well, I haven't been able to figure out what. Thus, yet another message out to you.
Ideas?
Terry
On 10 Feb 2010, at 0940h, Andy Kurth wrote:
> It looks like the image capture was successful and the vmware.pm module had trouble changing the file names to the new image name. I don't think it was the result of renaming the VM directory. You had the right idea by changing it to match the reservation ID. I think the problem has to do with the original names of the .vmdk files which were named after the manually created VM. What are the contents of /install/vmware_images/vmwarewinxp-base7-v0/?
>
> At this point I would manually fix the captured VM files. The .vmdk files should be named vmwarewinxp-base7-v0-s00x.vmdk. Rename all of the .vmdk files in the /install/vmware_images/vmwarewinxp-base7-v0/ directory to match this format. Change the first part of the names but keep the 's00x.vmdk' as they are named now.
>
> There should be one .vmdk file without the 's00x' part. This should now be named vmwarewinxp-base7-v0.vmdk. This file needs to be edited because it contains the names of the other .vmdk files. You should see an "Extent description" section in the file with the original names. Change each lines to include 'vmwarewinxp-base7-v0-x00x.vmdk' instead of the old name.
>
> Next, make sure the VCL 'deleted' column in the image and imagerevision tables for this image is set to 0. In the image table, check id=7. You'll have to look at the imagerevision table to figure out which one is for this revision. The imagerevision.imagename value will be vmwarewinxp-base7-v0.
>
> Next, make sure there isn't a directory named '/var/lib/vmware/Virtual Machines/vmwarewinxp-base7-v0'. There shouldn't be one but check to make sure. If it exists, rename it for now.
>
> Next, cross your fingers and try to make a reservation for this image. If you created and configured multiple VMs in VCL then another one should already be in the available state and you should be able to make a reservation. If not, change the state of your VM to 'available' via Manage Computers.
>
> If you have trouble, the following will be useful:
> $ ls -l /install/vmware_images
> $ ls -l /install/vmware_images/vmwarewinxp-base7-v0
> $ ls -l /var/lib/vmware/Virtual\ Machines/
> $ cat /install/vmware_images/vmwarewinxp-base7-v0/vmwarewinxp-base7-v0.vmdk
>
> I'm thinking there's a problem with the instructions that caused this latest problem. I'll go through them. Stating the obvious, but we obviously need a much better way to create base image reservations.
Re: Base image capture failure
Posted by Andy Kurth <an...@ncsu.edu>.
It looks like the image capture was successful and the vmware.pm module had
trouble changing the file names to the new image name. I don't think it was the
result of renaming the VM directory. You had the right idea by changing it to
match the reservation ID. I think the problem has to do with the original names
of the .vmdk files which were named after the manually created VM. What are the
contents of /install/vmware_images/vmwarewinxp-base7-v0/?
At this point I would manually fix the captured VM files. The .vmdk files
should be named vmwarewinxp-base7-v0-s00x.vmdk. Rename all of the .vmdk files
in the /install/vmware_images/vmwarewinxp-base7-v0/ directory to match this
format. Change the first part of the names but keep the 's00x.vmdk' as they are
named now.
There should be one .vmdk file without the 's00x' part. This should now be
named vmwarewinxp-base7-v0.vmdk. This file needs to be edited because it
contains the names of the other .vmdk files. You should see an "Extent
description" section in the file with the original names. Change each lines to
include 'vmwarewinxp-base7-v0-x00x.vmdk' instead of the old name.
Next, make sure the VCL 'deleted' column in the image and imagerevision tables
for this image is set to 0. In the image table, check id=7. You'll have to
look at the imagerevision table to figure out which one is for this revision.
The imagerevision.imagename value will be vmwarewinxp-base7-v0.
Next, make sure there isn't a directory named '/var/lib/vmware/Virtual
Machines/vmwarewinxp-base7-v0'. There shouldn't be one but check to make sure.
If it exists, rename it for now.
Next, cross your fingers and try to make a reservation for this image. If you
created and configured multiple VMs in VCL then another one should already be in
the available state and you should be able to make a reservation. If not,
change the state of your VM to 'available' via Manage Computers.
If you have trouble, the following will be useful:
$ ls -l /install/vmware_images
$ ls -l /install/vmware_images/vmwarewinxp-base7-v0
$ ls -l /var/lib/vmware/Virtual\ Machines/
$ cat /install/vmware_images/vmwarewinxp-base7-v0/vmwarewinxp-base7-v0.vmdk
I'm thinking there's a problem with the instructions that caused this latest
problem. I'll go through them. Stating the obvious, but we obviously need a
much better way to create base image reservations.
Hope this helps,
Andy
Terry McGuire wrote:
> ...which I "fixed" by renaming the vm directory and configuration file to
> nnvmguest-1 - with 'nn' incremented by 1 each time I attempted the capture
> (making it equal to the reservation id). Without maunally renaming, attempting
> to register the vm as you, and the warning itself, suggested simply reported
> that the vm didn't exist. Renaming things, I cleared the above warning, and,
> with a bit more futzing, even got the image to be captured, but then ran
> straight into the next problem:
>
> |459|1:31|image| ---- CRITICAL ----
> |459|1:31|image| 2010-02-08
> 16:51:49|459|1:31|image|vmware.pm:capture(1322)|could not read
> /install/vmware_images/vmwarewinxp-base7-v0/.vmdk Inappropriate ioctl for device
> |459|1:31|image| ( 0) utils.pm, notify (line: 737)
> |459|1:31|image| (-1) vmware.pm, capture (line: 1322)
> |459|1:31|image| (-2) image.pm, process (line: 162)
> |459|1:31|image| (-3) vcld, make_new_child (line: 594)
> |459|1:31|image| (-4) vcld, main (line: 341)
> _____________________________
>
> ...etc., etc. And, at this point, I figured I ought to contact you again for
> assistance. I *have* to be getting closer now, but clearly I'm still missing
> some required details. My current problem sure seems related to the previous
> one: naming and renaming the vm - but beyond that I'm personally at a dead-end.
> So, if you remain willing, help!
>
> Thanks,
> Terry
Re: Base image capture failure
Posted by Terry McGuire <tm...@ualberta.ca>.
On 5 Feb 2010, at 0811h, Andy Kurth wrote:
> Problem 1:
> Install nmap. This is listed as a system requirement on the main VCL wiki page but was not listed on the management node instructions page. I have updated this page. If yum is available on your management node OS, try 'yum install nmap'. There are also rpms available at http://nmap.org/download.html.
Yup, I definitely missed that one. I've now added it, and it fixed the related warnings. Looking at the management node page you just updated, you probably want to add nmap to the yum command listed there too.
> Problem 2:
> The network interface name on the Windows VM is named vmnet0 so it was ignored. The instructions on the page you mentioned refer to interfaces named vmnet* but the interfaces it's referring to are of the VM host server, not the VM guest. I'm guessing you manually set the interface names from "Local Area Connection*" to vmnet* on the Windows VM. Rename them back to "Local Area Connection*" to fix this problem.
Yup, I definitely took the liberty of renaming the interface in Windows, thinking that it'd help me keep things straight in the future. Silly me. I've now re-renamed the two connections to "public interface" and "private interface" and, swoosh, we went sailing past those former warnings.
> Problem 3:
> Something appears to have unregistered your VM. Run 'vmware-cmd -l' on the VMware host and check if the path to 15vmguest-1.vmx appears. If not, it needs to be registered before attempting the image capture again. You can do it by adding the VM via the VMware GUI or by running (all one line):
> vmware-cmd -s register /var/lib/vmware/Virtual\ Machines/15vmguest-1/15vmguest-1.vmx
This one is a bit of a longer story. Initially, I got this warning:
______________________
|26664|1:24|image| ---- WARNING ----
|26664|1:24|image| 2010-02-08 10:58:16|26664|1:24|image|vmware.pm:power_off(2424)|failed to run vmware-cmd stop trysoft on 24vmguest-1, exit status: 11, output:
|26664|1:24|image| Use of uninitialized value in string eq at /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/VMware/VmPerl.pm line 114. /usr/bin/vmware-cmd: Could not connect to VM /var/lib/vmware/Virtual Machines/24vmguest-1/24vmguest-1.vmx (VMControl error -11: No such virtual machine: The config file /var/lib/vmware/Virtual Machines/24vmguest-1/24vmguest-1.vmx is not registered. Please register the config file on the server. For example: vmware-cmd -s register "/var/lib/vmware/Virtual Machines/24vmguest-1/24vmguest-1.vmx")
|26664|1:24|image| ( 0) utils.pm, notify (line: 737)
|26664|1:24|image| (-1) vmware.pm, power_off (line: 2424)
|26664|1:24|image| (-2) Windows.pm, run_sysprep (line: 6058)
|26664|1:24|image| (-3) Version_5.pm, pre_capture (line: 97)
|26664|1:24|image| (-4) vmware.pm, capture (line: 1202)
|26664|1:24|image| (-5) image.pm, process (line: 162)
|26664|1:24|image| (-6) vcld, make_new_child (line: 594)
________________________
...which, after doing a bit of googling, I sort-of fixed by commenting out the relevant lines in vmperl.pm. The unititalized value error went away, but I remain stuck in the same place, with the following warning:
__________________________
|28719|1:27|image| ---- WARNING ----
|28719|1:27|image| 2010-02-08 12:15:36|28719|1:27|image|vmware.pm:power_off(2424)|failed to run vmware-cmd stop trysoft on 27vmguest-1, exit status: 11, output:
|28719|1:27|image| /usr/bin/vmware-cmd: Could not connect to VM /var/lib/vmware/Virtual Machines/27vmguest-1/27vmguest-1.vmx (VMControl error -11: No such virtual machine: The config file /var/lib/vmware/Virtual Machines/27vmguest-1/27vmguest-1.vmx is not registered. Please register the config file on the server. For example: vmware-cmd -s register "/var/lib/vmware/Virtual Machines/27vmguest-1/27vmguest-1.vmx")
|28719|1:27|image| ( 0) utils.pm, notify (line: 737)
|28719|1:27|image| (-1) vmware.pm, power_off (line: 2424)
|28719|1:27|image| (-2) Windows.pm, run_sysprep (line: 6058)
|28719|1:27|image| (-3) Version_5.pm, pre_capture (line: 97)
|28719|1:27|image| (-4) vmware.pm, capture (line: 1202)
|28719|1:27|image| (-5) image.pm, process (line: 162)
|28719|1:27|image| (-6) vcld, make_new_child (line: 594)
___________________________
...which I "fixed" by renaming the vm directory and configuration file to nnvmguest-1 - with 'nn' incremented by 1 each time I attempted the capture (making it equal to the reservation id). Without maunally renaming, attempting to register the vm as you, and the warning itself, suggested simply reported that the vm didn't exist. Renaming things, I cleared the above warning, and, with a bit more futzing, even got the image to be captured, but then ran straight into the next problem:
____________________________
2010-02-08 16:51:49|459|1:31|image|vmware.pm:capture(1265)|begin rename local disk image files to newname
Use of uninitialized value in concatenation (.) or string at
/usr/local/vcl/bin/../lib/VCL/Module/Provisioning/vmware.pm line 1282 (#1)
(W uninitialized) An undefined value was used as if it were already
defined. It was interpreted as a "" or a 0, but maybe it was a mistake.
To suppress this warning assign a defined value to your variables.
To help you figure out what was undefined, perl tells you what operation
you used the undefined value in. Note, however, that perl optimizes your
program and the operation displayed in the warning may not necessarily
appear literally in your program. For example, "that $foo" is
usually optimized into "that " . $foo, and the warning will refer to
the concatenation (.) operator, even though there is no . in your
program.
|459|1:31|image| ---- WARNING ----
|459|1:31|image| 2010-02-08 16:51:49|459|1:31|image|vcld:warning_handler(636)|Use of uninitialized value in concatenation (.) or string at /usr/local/vcl/bin/../lib/VCL/Module/Provisioning/vmware.pm line 1282.
|459|1:31|image| ( 0) utils.pm, notify (line: 737)
|459|1:31|image| (-1) vcld, warning_handler (line: 636)
|459|1:31|image| (-2) vmware.pm, capture (line: 1282)
|459|1:31|image| (-3) image.pm, process (line: 162)
|459|1:31|image| (-4) vcld, make_new_child (line: 594)
|459|1:31|image| (-5) vcld, main (line: 341)
|459|1:31|image| ---- WARNING ----
|459|1:31|image| 2010-02-08 16:51:49|459|1:31|image|vcld:warning_handler(636)|Use of uninitialized value in concatenation (.) or string at /usr/local/vcl/bin/../lib/VCL/Module/Provisioning/vmware.pm line 1282.
|459|1:31|image| ( 0) utils.pm, notify (line: 737)
|459|1:31|image| (-1) vcld, warning_handler (line: 636)
|459|1:31|image| (-2) vmware.pm, capture (line: 1282)
|459|1:31|image| (-3) image.pm, process (line: 162)
|459|1:31|image| (-4) vcld, make_new_child (line: 594)
|459|1:31|image| (-5) vcld, main (line: 341)
|459|1:31|image| ---- WARNING ----
|459|1:31|image| 2010-02-08 16:51:49|459|1:31|image|vcld:warning_handler(636)|Use of uninitialized value in concatenation (.) or string at /usr/local/vcl/bin/../lib/VCL/Module/Provisioning/vmware.pm line 1282.
|459|1:31|image| ( 0) utils.pm, notify (line: 737)
|459|1:31|image| (-1) vcld, warning_handler (line: 636)
|459|1:31|image| (-2) vmware.pm, capture (line: 1282)
|459|1:31|image| (-3) image.pm, process (line: 162)
|459|1:31|image| (-4) vcld, make_new_child (line: 594)
|459|1:31|image| (-5) vcld, main (line: 341)
|459|1:31|image| ---- WARNING ----
|459|1:31|image| 2010-02-08 16:51:49|459|1:31|image|vcld:warning_handler(636)|Use of uninitialized value in concatenation (.) or string at /usr/local/vcl/bin/../lib/VCL/Module/Provisioning/vmware.pm line 1282.
|459|1:31|image| ( 0) utils.pm, notify (line: 737)
|459|1:31|image| (-1) vcld, warning_handler (line: 636)
|459|1:31|image| (-2) vmware.pm, capture (line: 1282)
|459|1:31|image| (-3) image.pm, process (line: 162)
|459|1:31|image| (-4) vcld, make_new_child (line: 594)
|459|1:31|image| (-5) vcld, main (line: 341)
|459|1:31|image| ---- WARNING ----
|459|1:31|image| 2010-02-08 16:51:49|459|1:31|image|vcld:warning_handler(636)|Use of uninitialized value in concatenation (.) or string at /usr/local/vcl/bin/../lib/VCL/Module/Provisioning/vmware.pm line 1282.
|459|1:31|image| ( 0) utils.pm, notify (line: 737)
|459|1:31|image| (-1) vcld, warning_handler (line: 636)
|459|1:31|image| (-2) vmware.pm, capture (line: 1282)
|459|1:31|image| (-3) image.pm, process (line: 162)
|459|1:31|image| (-4) vcld, make_new_child (line: 594)
|459|1:31|image| (-5) vcld, main (line: 341)
|459|1:31|image| ---- WARNING ----
|459|1:31|image| 2010-02-08 16:51:49|459|1:31|image|vcld:warning_handler(636)|Use of uninitialized value in concatenation (.) or string at /usr/local/vcl/bin/../lib/VCL/Module/Provisioning/vmware.pm line 1282.
|459|1:31|image| ( 0) utils.pm, notify (line: 737)
|459|1:31|image| (-1) vcld, warning_handler (line: 636)
|459|1:31|image| (-2) vmware.pm, capture (line: 1282)
|459|1:31|image| (-3) image.pm, process (line: 162)
|459|1:31|image| (-4) vcld, make_new_child (line: 594)
|459|1:31|image| (-5) vcld, main (line: 341)
|459|1:31|image| ---- WARNING ----
|459|1:31|image| 2010-02-08 16:51:49|459|1:31|image|vcld:warning_handler(636)|Use of uninitialized value in concatenation (.) or string at /usr/local/vcl/bin/../lib/VCL/Module/Provisioning/vmware.pm line 1296.
|459|1:31|image| ( 0) utils.pm, notify (line: 737)
|459|1:31|image| (-1) vcld, warning_handler (line: 636)
|459|1:31|image| (-2) vmware.pm, capture (line: 1296)
|459|1:31|image| (-3) image.pm, process (line: 162)
|459|1:31|image| (-4) vcld, make_new_child (line: 594)
|459|1:31|image| (-5) vcld, main (line: 341)
|459|1:31|image| ---- WARNING ----
|459|1:31|image| 2010-02-08 16:51:49|459|1:31|image|vcld:warning_handler(636)|Use of uninitialized value in concatenation (.) or string at /usr/local/vcl/bin/../lib/VCL/Module/Provisioning/vmware.pm line 1322.
|459|1:31|image| ( 0) utils.pm, notify (line: 737)
|459|1:31|image| (-1) vcld, warning_handler (line: 636)
|459|1:31|image| (-2) vmware.pm, capture (line: 1322)
|459|1:31|image| (-3) image.pm, process (line: 162)
|459|1:31|image| (-4) vcld, make_new_child (line: 594)
|459|1:31|image| (-5) vcld, main (line: 341)
2010-02-08 16:51:49|27487|vcld:main(165)|lastcheckin time updated for management node 1: 2010-02-08 16:51:49
No recipient addresses found in header
2010-02-08 16:51:49|459|1:31|image|utils.pm:mail(1348)|SUCCESS -- Sending mail To: , PROBLEM -- vmware.pm
|459|1:31|image| ---- CRITICAL ----
|459|1:31|image| 2010-02-08 16:51:49|459|1:31|image|vmware.pm:capture(1322)|could not read /install/vmware_images/vmwarewinxp-base7-v0/.vmdk Inappropriate ioctl for device
|459|1:31|image| ( 0) utils.pm, notify (line: 737)
|459|1:31|image| (-1) vmware.pm, capture (line: 1322)
|459|1:31|image| (-2) image.pm, process (line: 162)
|459|1:31|image| (-3) vcld, make_new_child (line: 594)
|459|1:31|image| (-4) vcld, main (line: 341)
_____________________________
...etc., etc. And, at this point, I figured I ought to contact you again for assistance. I *have* to be getting closer now, but clearly I'm still missing some required details. My current problem sure seems related to the previous one: naming and renaming the vm - but beyond that I'm personally at a dead-end. So, if you remain willing, help!
Thanks,
Terry
Re: Base image capture failure
Posted by Andy Kurth <an...@ncsu.edu>.
I'm glad we're gaining on it. The log output you included is very
helpful. I see a few problems:
Problem 1:
Install nmap. This is listed as a system requirement on the main VCL
wiki page but was not listed on the management node instructions page.
I have updated this page. If yum is available on your management node
OS, try 'yum install nmap'. There are also rpms available at
http://nmap.org/download.html.
Problem 2:
The network interface name on the Windows VM is named vmnet0 so it was
ignored. The instructions on the page you mentioned refer to interfaces
named vmnet* but the interfaces it's referring to are of the VM host
server, not the VM guest. I'm guessing you manually set the interface
names from "Local Area Connection*" to vmnet* on the Windows VM. Rename
them back to "Local Area Connection*" to fix this problem.
VCL needs to figure out the public and private adapter names in order to
run several configuration commands. The code determines the private
interface by matching its IP address with what's set in /etc/hosts. The
public interface is much more difficult because there could be multiple
additional interfaces. From the remaining interfaces, the code ignores
interfaces if the name contains 'loopback|vmnet|afs|tunnel'. It also
ignores interfaces if the description contains
'loopback|virtual|afs|tunnel|pseudo|6to4|isatap'. The interfaces named
vmnet are ignored in case an image contains a VMware product with
virtual interfaces which may or may not be using public addresses.
Problem 3:
Something appears to have unregistered your VM. Run 'vmware-cmd -l' on
the VMware host and check if the path to 15vmguest-1.vmx appears. If
not, it needs to be registered before attempting the image capture
again. You can do it by adding the VM via the VMware GUI or by running
(all one line):
vmware-cmd -s register /var/lib/vmware/Virtual\
Machines/15vmguest-1/15vmguest-1.vmx
Then start the VM:
vmware-cmd /var/lib/vmware/Virtual\ Machines/15vmguest-1/15vmguest-1.vmx
start
Hope this helps,
Andy
Terry McGuire wrote:
> On 3 Feb 2010, at 1854h, Andy Kurth wrote:
>
>> Try this:
>> -Uninstall Cygwin. There may not be an entry in Add/Remove Programs. If not, just delete C:\cygwin.
>> -Download and install setup-legacy.exe which installs Cygwin 1.5:
>> http://cygwin.com/setup-legacy.exe
>> -Follow the same VCL Cygwin installation instructions.
>
> I'm pretty sure they don't pay you enough, Andy. Once again, this did the trick. Now, much more happens before it comes to a grinding halt, but grinding halt it continues to come to. The initial warnings are these:
>
>
>
> _________________
> 2010-02-04 13:56:50|12426|1:15|image|Windows.pm:get_network_configuration(4630)|attempting to retrieve network configuration
> 2010-02-04 13:56:50|12426|1:15|image|utils.pm:run_ssh_command(6180)|executing SSH command on vmguest-1:
> |12426|1:15|image| /usr/bin/ssh -i /etc/vcl/vcl.key -l root -p 22 -x vmguest-1 '$SYSTEMROOT/System32/ipconfig.exe /all' 2>&1
> 2010-02-04 13:56:52|12426|1:15|image|Windows.pm:get_network_configuration(4634)|ran ipconfig
> 2010-02-04 13:56:52|12426|1:15|image|Windows.pm:get_network_configuration(4655)|found interface: vmnet0
> 2010-02-04 13:56:52|12426|1:15|image|Windows.pm:get_network_configuration(4655)|found interface: vmnet1
> 2010-02-04 13:56:52|12426|1:15|image|Windows.pm:get_network_configuration(4706)|saving network configuration in $self->{network_configuration}
> 2010-02-04 13:56:52|12426|1:15|image|Windows.pm:get_network_configuration(4710)|network configuration has already been retrieved
> 2010-02-04 13:56:52|12426|1:15|image|DataStructure.pm:get_computer_private_ip_address(1442)|attempting to retrieve private IP address for computer: vmguest-1
> 2010-02-04 13:56:52|12426|1:15|image|DataStructure.pm:get_computer_private_ip_address(1446)|retrieved contents of /etc/hosts on this management node, contains 7 lines
> 2010-02-04 13:56:52|12426|1:15|image|DataStructure.pm:get_computer_private_ip_address(1479)|found line for 'vmguest-1' in /etc/hosts:
> |12426|1:15|image| 192.168.1.1 vmguest-1
> 2010-02-04 13:56:52|12426|1:15|image|DataStructure.pm:get_computer_private_ip_address(1490)|found IP address: 192.168.1.1
> 2010-02-04 13:56:52|12426|1:15|image|DataStructure.pm:_automethod(697)|data structure updated: $self->request_data->{reservation}{15}{computer}{privateIPaddress}
> |12426|1:15|image| computer_private_ip_address = 192.168.1.1
> 2010-02-04 13:56:52|12426|1:15|image|Windows.pm:get_network_configuration(4760)|interface ignored because of name: vmnet0, description: VMware Accelerated AMD PCNet Adapter #2, address(es): 129.128.9.108
> 2010-02-04 13:56:52|12426|1:15|image|Windows.pm:get_network_configuration(4747)|private interface found: vmnet1, description: VMware Accelerated AMD PCNet Adapter, address(es): 192.168.1.1
>
> |12426|1:15|image| ---- WARNING ----
> |12426|1:15|image| 2010-02-04 13:56:52|12426|1:15|image|Windows.pm:get_network_configuration(4817)|unable to determine the public interface:
> |12426|1:15|image| %
> |12426|1:15|image| |--%{vmnet0}
> |12426|1:15|image| |--{autoconfiguration_enabled} = 'Yes'
> |12426|1:15|image| |--{connection_specific_dns_suffix} = 'aict.ualberta.ca'
> |12426|1:15|image| |--{default_gateway} = '129.128.8.1'
> |12426|1:15|image| |--{description} = 'VMware Accelerated AMD PCNet Adapter #2'
> |12426|1:15|image| |--{dhcp_enabled} = 'Yes'
> |12426|1:15|image| |--{dhcp_server} = '129.128.3.245'
> |12426|1:15|image| |--{dns_server} = '129.128.76.233'
> |12426|1:15|image| |--%{vmnet0}{ip_address}
> |12426|1:15|image| |--{129.128.9.108} = '255.255.254.0'
> |12426|1:15|image| |--{lease_expires} = 'Tuesday, February 09, 2010 11:03:36 AM'
> |12426|1:15|image| |--{lease_obtained} = 'Thursday, February 04, 2010 11:03:36 AM'
> |12426|1:15|image| |--{physical_address} = '00-0C-29-5A-62-45'
> |12426|1:15|image| |--%{vmnet1}
> |12426|1:15|image| |--{autoconfiguration_enabled} = 'Yes'
> |12426|1:15|image| |--{default_gateway} = '192.168.0.1'
> |12426|1:15|image| |--{description} = 'VMware Accelerated AMD PCNet Adapter'
> |12426|1:15|image| |--{dhcp_enabled} = 'Yes'
> |12426|1:15|image| |--{dhcp_server} = '192.168.0.1'
> |12426|1:15|image| |--%{vmnet1}{ip_address}
> |12426|1:15|image| |--{192.168.1.1} = '255.255.0.0'
> |12426|1:15|image| |--{lease_expires} = 'Thursday, February 04, 2010 11:03:36 PM'
> |12426|1:15|image| |--{lease_obtained} = 'Thursday, February 04, 2010 11:03:36 AM'
> |12426|1:15|image| |--{physical_address} = '00-0C-29-5A-62-4F'
> |12426|1:15|image| ( 0) utils.pm, notify (line: 737)
> |12426|1:15|image| (-1) Windows.pm, get_network_configuration (line: 4817)
> |12426|1:15|image| (-2) Windows.pm, get_public_interface_name (line: 4871)
> |12426|1:15|image| (-3) Windows.pm, disable_dynamic_dns (line: 3660)
> |12426|1:15|image| (-4) Windows.pm, pre_capture (line: 211)
> |12426|1:15|image| (-5) Version_5.pm, pre_capture (line: 85)
> |12426|1:15|image| (-6) vmware.pm, capture (line: 1202)
>
>
> |12426|1:15|image| ---- WARNING ----
> |12426|1:15|image| 2010-02-04 13:56:52|12426|1:15|image|Windows.pm:get_public_interface_name(4873)|unable to retrieve network configuration
> |12426|1:15|image| ( 0) utils.pm, notify (line: 737)
> |12426|1:15|image| (-1) Windows.pm, get_public_interface_name (line: 4873)
> |12426|1:15|image| (-2) Windows.pm, disable_dynamic_dns (line: 3660)
> |12426|1:15|image| (-3) Windows.pm, pre_capture (line: 211)
> |12426|1:15|image| (-4) Version_5.pm, pre_capture (line: 85)
> |12426|1:15|image| (-5) vmware.pm, capture (line: 1202)
> |12426|1:15|image| (-6) image.pm, process (line: 162)
>
> 2010-02-04 13:56:52|12426|1:15|image|Windows.pm:get_network_configuration(4710)|network configuration has already been retrieved
> 2010-02-04 13:56:52|12426|1:15|image|DataStructure.pm:get_computer_private_ip_address(1418)|returning private IP address previously retrieved from /etc/hosts: 192.168.1.1
> 2010-02-04 13:56:52|12426|1:15|image|Windows.pm:get_network_configuration(4760)|interface ignored because of name: vmnet0, description: VMware Accelerated AMD PCNet Adapter #2, address(es): 129.128.9.108
> 2010-02-04 13:56:52|12426|1:15|image|Windows.pm:get_network_configuration(4747)|private interface found: vmnet1, description: VMware Accelerated AMD PCNet Adapter, address(es): 192.168.1.1
> 2010-02-04 13:56:52|12426|1:15|image|Windows.pm:get_network_configuration(4750)|returning data for private interface: vmnet1 (192.168.1.1)
> 2010-02-04 13:56:52|12426|1:15|image|Windows.pm:get_private_interface_name(4848)|returning private interface name: vmnet1
> Use of uninitialized value in concatenation (.) or string at
> /usr/local/vcl/bin/../lib/VCL/Module/OS/Windows.pm line 3666 (#1)
> (W uninitialized) An undefined value was used as if it were already
> defined. It was interpreted as a "" or a 0, but maybe it was a mistake.
> To suppress this warning assign a defined value to your variables.
>
> To help you figure out what was undefined, perl tells you what operation
> you used the undefined value in. Note, however, that perl optimizes your
> program and the operation displayed in the warning may not necessarily
> appear literally in your program. For example, "that $foo" is
> usually optimized into "that " . $foo, and the warning will refer to
> the concatenation (.) operator, even though there is no . in your
> program.
>
>
> |12426|1:15|image| ---- WARNING ----
> |12426|1:15|image| 2010-02-04 13:56:52|12426|1:15|image|vcld:warning_handler(636)|Use of uninitialized value in concatenation (.) or string at /usr/local/vcl/bin/../lib/VCL/Module/OS/Windows.pm line 3666.
> |12426|1:15|image| ( 0) utils.pm, notify (line: 737)
> |12426|1:15|image| (-1) vcld, warning_handler (line: 636)
> |12426|1:15|image| (-2) Windows.pm, disable_dynamic_dns (line: 3666)
> |12426|1:15|image| (-3) Windows.pm, pre_capture (line: 211)
> |12426|1:15|image| (-4) Version_5.pm, pre_capture (line: 85)
> |12426|1:15|image| (-5) vmware.pm, capture (line: 1202)
> |12426|1:15|image| (-6) image.pm, process (line: 162)
> ___________________________
>
>
>
>
> I'm not actually sure how bad those warning are. The process keeps going for a while, with various additional warnings, some duplicating the above, some different. Maybe it's worth posting the warnings that come towards the end:
>
>
>
> ___________________________
> 2010-02-04 13:58:30|12426|1:15|image|Windows.pm:reboot(2687)|rebooting vmguest-1 and waiting for ssh to become active
> 2010-02-04 13:58:30|12426|1:15|image|Windows.pm:reboot(2696)|reboot will be attempted on vmguest-1
> 2010-02-04 13:58:30|12426|1:15|image|Windows.pm:wait_for_ssh(3047)|waiting for vmguest-1 to respond to ssh, maximum of 0 minutes
>
> |12426|1:15|image| ---- WARNING ----
> |12426|1:15|image| 2010-02-04 13:58:30|12426|1:15|image|vcld:warning_handler(636)|Can't exec "/usr/bin/nmap": No such file or directory at /usr/local/vcl/bin/../lib/VCL/utils.pm line 3308.
> |12426|1:15|image| ( 0) utils.pm, notify (line: 737)
> |12426|1:15|image| (-1) vcld, warning_handler (line: 636)
> |12426|1:15|image| (-2) utils.pm, nmap_port (line: 3308)
> |12426|1:15|image| (-3) Windows.pm, wait_for_ssh (line: 3058)
> |12426|1:15|image| (-4) Windows.pm, reboot (line: 2699)
> |12426|1:15|image| (-5) Windows.pm, disable_pagefile (line: 1799)
> |12426|1:15|image| (-6) Windows.pm, pre_capture (line: 318)
>
>
> |12426|1:15|image| ---- WARNING ----
> |12426|1:15|image| 2010-02-04 13:58:30|12426|1:15|image|utils.pm:nmap_port(3327)|problems executing /usr/bin/nmap vmguest-1 -P0 -p 22 Inappropriate ioctl for device
> |12426|1:15|image| ( 0) utils.pm, notify (line: 737)
> |12426|1:15|image| (-1) utils.pm, nmap_port (line: 3327)
> |12426|1:15|image| (-2) Windows.pm, wait_for_ssh (line: 3058)
> |12426|1:15|image| (-3) Windows.pm, reboot (line: 2699)
> |12426|1:15|image| (-4) Windows.pm, disable_pagefile (line: 1799)
> |12426|1:15|image| (-5) Windows.pm, pre_capture (line: 318)
> |12426|1:15|image| (-6) Version_5.pm, pre_capture (line: 85)
>
>
> |12426|1:15|image| ---- WARNING ----
> |12426|1:15|image| 2010-02-04 13:58:30|12426|1:15|image|vcld:warning_handler(636)|Can't exec "/usr/bin/nmap": No such file or directory at /usr/local/vcl/bin/../lib/VCL/utils.pm line 3308.
> |12426|1:15|image| ( 0) utils.pm, notify (line: 737)
> |12426|1:15|image| (-1) vcld, warning_handler (line: 636)
> |12426|1:15|image| (-2) utils.pm, nmap_port (line: 3308)
> |12426|1:15|image| (-3) Windows.pm, wait_for_ssh (line: 3058)
> |12426|1:15|image| (-4) Windows.pm, reboot (line: 2699)
> |12426|1:15|image| (-5) Windows.pm, disable_pagefile (line: 1799)
> |12426|1:15|image| (-6) Windows.pm, pre_capture (line: 318)
>
>
> |12426|1:15|image| ---- WARNING ----
> |12426|1:15|image| 2010-02-04 13:58:30|12426|1:15|image|utils.pm:nmap_port(3327)|problems executing /usr/bin/nmap vmguest-1 -P0 -p 24 Inappropriate ioctl for device
> |12426|1:15|image| ( 0) utils.pm, notify (line: 737)
> |12426|1:15|image| (-1) utils.pm, nmap_port (line: 3327)
> |12426|1:15|image| (-2) Windows.pm, wait_for_ssh (line: 3058)
> |12426|1:15|image| (-3) Windows.pm, reboot (line: 2699)
> |12426|1:15|image| (-4) Windows.pm, disable_pagefile (line: 1799)
> |12426|1:15|image| (-5) Windows.pm, pre_capture (line: 318)
> |12426|1:15|image| (-6) Version_5.pm, pre_capture (line: 85)
>
> 2010-02-04 13:58:30|12426|1:15|image|Windows.pm:wait_for_ssh(3059)|ports 22 and 24 are closed on vmguest-1 according to nmap
>
> |12426|1:15|image| ---- WARNING ----
> |12426|1:15|image| 2010-02-04 13:58:30|12426|1:15|image|Windows.pm:wait_for_ssh(3078)|vmguest-1 is not available via ssh
> |12426|1:15|image| ( 0) utils.pm, notify (line: 737)
> |12426|1:15|image| (-1) Windows.pm, wait_for_ssh (line: 3078)
> |12426|1:15|image| (-2) Windows.pm, reboot (line: 2699)
> |12426|1:15|image| (-3) Windows.pm, disable_pagefile (line: 1799)
> |12426|1:15|image| (-4) Windows.pm, pre_capture (line: 318)
> |12426|1:15|image| (-5) Version_5.pm, pre_capture (line: 85)
> |12426|1:15|image| (-6) vmware.pm, capture (line: 1202)
>
>
> |12426|1:15|image| ---- WARNING ----
> |12426|1:15|image| 2010-02-04 13:58:30|12426|1:15|image|Windows.pm:reboot(2749)|vmguest-1 did not respond to ssh, graceful reboot cannot be performed, attempting hard reset
> |12426|1:15|image| ( 0) utils.pm, notify (line: 737)
> |12426|1:15|image| (-1) Windows.pm, reboot (line: 2749)
> |12426|1:15|image| (-2) Windows.pm, disable_pagefile (line: 1799)
> |12426|1:15|image| (-3) Windows.pm, pre_capture (line: 318)
> |12426|1:15|image| (-4) Version_5.pm, pre_capture (line: 85)
> |12426|1:15|image| (-5) vmware.pm, capture (line: 1202)
> |12426|1:15|image| (-6) image.pm, process (line: 162)
>
> 2010-02-04 13:58:30|12426|1:15|image|vmware.pm:get_vm_paths(2655)|vm locations:
> |12426|1:15|image| vmdk name: vmwarewinxp-base7-v0
> |12426|1:15|image| vmx path: /var/lib/vmware/Virtual\ Machines/15vmguest-1/15vmguest-1.vmx
> |12426|1:15|image| vm directory: 15vmguest-1
> |12426|1:15|image| base vm directory: 15vmguest-1
> 2010-02-04 13:58:30|12426|1:15|image|vmware.pm:power_reset(2522)|attempting to reset vm using trysoft mode: 15vmguest-1
> 2010-02-04 13:58:30|12426|1:15|image|utils.pm:run_ssh_command(6180)|executing SSH command on localvmhost:
> |12426|1:15|image| /usr/bin/ssh -i /etc/vcl/vcl.key -l root -p 22 -x localvmhost 'vmware-cmd /var/lib/vmware/Virtual\ Machines/15vmguest-1/15vmguest-1.vmx reset trysoft' 2>&1
>
> |12426|1:15|image| ---- WARNING ----
> |12426|1:15|image| 2010-02-04 13:58:30|12426|1:15|image|vmware.pm:power_reset(2524)|failed to run vmware-cmd reset on 15vmguest-1, exit status: 11, output:
> |12426|1:15|image| Use of uninitialized value in string eq at /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/VMware/VmPerl.pm line 114. /usr/bin/vmware-cmd: Could not connect to VM /var/lib/vmware/Virtual Machines/15vmguest-1/15vmguest-1.vmx (VMControl error -11: No such virtual machine: The config file /var/lib/vmware/Virtual Machines/15vmguest-1/15vmguest-1.vmx is not registered. Please register the config file on the server. For example: vmware-cmd -s register "/var/lib/vmware/Virtual Machines/15vmguest-1/15vmguest-1.vmx")
> |12426|1:15|image| ( 0) utils.pm, notify (line: 737)
> |12426|1:15|image| (-1) vmware.pm, power_reset (line: 2524)
> |12426|1:15|image| (-2) Windows.pm, reboot (line: 2752)
> |12426|1:15|image| (-3) Windows.pm, disable_pagefile (line: 1799)
> |12426|1:15|image| (-4) Windows.pm, pre_capture (line: 318)
> |12426|1:15|image| (-5) Version_5.pm, pre_capture (line: 85)
> |12426|1:15|image| (-6) vmware.pm, capture (line: 1202)
> _________________________
>
>
>
>
> It then goes on to attempt (but fail) to restart the VM, and then try (but fail) to ping the VM. Of the various warnings at the very end, the most interesting might be:
>
>
>
>
>
> _________________________
> |12426|1:15|image| ---- WARNING ----
> |12426|1:15|image| 2010-02-04 14:08:45|12426|1:15|image|Windows.pm:disable_pagefile(1803)|failed to reboot computer after disabling pagefile
> |12426|1:15|image| ( 0) utils.pm, notify (line: 737)
> |12426|1:15|image| (-1) Windows.pm, disable_pagefile (line: 1803)
> |12426|1:15|image| (-2) Windows.pm, pre_capture (line: 318)
> |12426|1:15|image| (-3) Version_5.pm, pre_capture (line: 85)
> |12426|1:15|image| (-4) vmware.pm, capture (line: 1202)
> |12426|1:15|image| (-5) image.pm, process (line: 162)
> |12426|1:15|image| (-6) vcld, make_new_child (line: 594)
>
>
> |12426|1:15|image| ---- WARNING ----
> |12426|1:15|image| 2010-02-04 14:08:45|12426|1:15|image|Windows.pm:pre_capture(319)|unable to disable pagefile
> |12426|1:15|image| ( 0) utils.pm, notify (line: 737)
> |12426|1:15|image| (-1) Windows.pm, pre_capture (line: 319)
> |12426|1:15|image| (-2) Version_5.pm, pre_capture (line: 85)
> |12426|1:15|image| (-3) vmware.pm, capture (line: 1202)
> |12426|1:15|image| (-4) image.pm, process (line: 162)
> |12426|1:15|image| (-5) vcld, make_new_child (line: 594)
> |12426|1:15|image| (-6) vcld, main (line: 341)
> ________________________
>
>
>
> I set the two network connections up on the vm as per the documentation here:
>
> http://cwiki.apache.org/VCL/configuring-a-standalone-vmware-vcl-environment.html
>
> I'm not sure how important it was to create both interfaces, but hopefully I did it right.
>
> So, I'm pretty sure the end of the tunnel is getting closer, but I'm still not sure how far I have to go. Any ideas about my current mess? (And, thanks once again for all the help you're giving me.)
>
> Terry
>
Re: Base image capture failure
Posted by Terry McGuire <tm...@ualberta.ca>.
On 3 Feb 2010, at 1854h, Andy Kurth wrote:
> Try this:
> -Uninstall Cygwin. There may not be an entry in Add/Remove Programs. If not, just delete C:\cygwin.
> -Download and install setup-legacy.exe which installs Cygwin 1.5:
> http://cygwin.com/setup-legacy.exe
> -Follow the same VCL Cygwin installation instructions.
I'm pretty sure they don't pay you enough, Andy. Once again, this did the trick. Now, much more happens before it comes to a grinding halt, but grinding halt it continues to come to. The initial warnings are these:
_________________
2010-02-04 13:56:50|12426|1:15|image|Windows.pm:get_network_configuration(4630)|attempting to retrieve network configuration
2010-02-04 13:56:50|12426|1:15|image|utils.pm:run_ssh_command(6180)|executing SSH command on vmguest-1:
|12426|1:15|image| /usr/bin/ssh -i /etc/vcl/vcl.key -l root -p 22 -x vmguest-1 '$SYSTEMROOT/System32/ipconfig.exe /all' 2>&1
2010-02-04 13:56:52|12426|1:15|image|Windows.pm:get_network_configuration(4634)|ran ipconfig
2010-02-04 13:56:52|12426|1:15|image|Windows.pm:get_network_configuration(4655)|found interface: vmnet0
2010-02-04 13:56:52|12426|1:15|image|Windows.pm:get_network_configuration(4655)|found interface: vmnet1
2010-02-04 13:56:52|12426|1:15|image|Windows.pm:get_network_configuration(4706)|saving network configuration in $self->{network_configuration}
2010-02-04 13:56:52|12426|1:15|image|Windows.pm:get_network_configuration(4710)|network configuration has already been retrieved
2010-02-04 13:56:52|12426|1:15|image|DataStructure.pm:get_computer_private_ip_address(1442)|attempting to retrieve private IP address for computer: vmguest-1
2010-02-04 13:56:52|12426|1:15|image|DataStructure.pm:get_computer_private_ip_address(1446)|retrieved contents of /etc/hosts on this management node, contains 7 lines
2010-02-04 13:56:52|12426|1:15|image|DataStructure.pm:get_computer_private_ip_address(1479)|found line for 'vmguest-1' in /etc/hosts:
|12426|1:15|image| 192.168.1.1 vmguest-1
2010-02-04 13:56:52|12426|1:15|image|DataStructure.pm:get_computer_private_ip_address(1490)|found IP address: 192.168.1.1
2010-02-04 13:56:52|12426|1:15|image|DataStructure.pm:_automethod(697)|data structure updated: $self->request_data->{reservation}{15}{computer}{privateIPaddress}
|12426|1:15|image| computer_private_ip_address = 192.168.1.1
2010-02-04 13:56:52|12426|1:15|image|Windows.pm:get_network_configuration(4760)|interface ignored because of name: vmnet0, description: VMware Accelerated AMD PCNet Adapter #2, address(es): 129.128.9.108
2010-02-04 13:56:52|12426|1:15|image|Windows.pm:get_network_configuration(4747)|private interface found: vmnet1, description: VMware Accelerated AMD PCNet Adapter, address(es): 192.168.1.1
|12426|1:15|image| ---- WARNING ----
|12426|1:15|image| 2010-02-04 13:56:52|12426|1:15|image|Windows.pm:get_network_configuration(4817)|unable to determine the public interface:
|12426|1:15|image| %
|12426|1:15|image| |--%{vmnet0}
|12426|1:15|image| |--{autoconfiguration_enabled} = 'Yes'
|12426|1:15|image| |--{connection_specific_dns_suffix} = 'aict.ualberta.ca'
|12426|1:15|image| |--{default_gateway} = '129.128.8.1'
|12426|1:15|image| |--{description} = 'VMware Accelerated AMD PCNet Adapter #2'
|12426|1:15|image| |--{dhcp_enabled} = 'Yes'
|12426|1:15|image| |--{dhcp_server} = '129.128.3.245'
|12426|1:15|image| |--{dns_server} = '129.128.76.233'
|12426|1:15|image| |--%{vmnet0}{ip_address}
|12426|1:15|image| |--{129.128.9.108} = '255.255.254.0'
|12426|1:15|image| |--{lease_expires} = 'Tuesday, February 09, 2010 11:03:36 AM'
|12426|1:15|image| |--{lease_obtained} = 'Thursday, February 04, 2010 11:03:36 AM'
|12426|1:15|image| |--{physical_address} = '00-0C-29-5A-62-45'
|12426|1:15|image| |--%{vmnet1}
|12426|1:15|image| |--{autoconfiguration_enabled} = 'Yes'
|12426|1:15|image| |--{default_gateway} = '192.168.0.1'
|12426|1:15|image| |--{description} = 'VMware Accelerated AMD PCNet Adapter'
|12426|1:15|image| |--{dhcp_enabled} = 'Yes'
|12426|1:15|image| |--{dhcp_server} = '192.168.0.1'
|12426|1:15|image| |--%{vmnet1}{ip_address}
|12426|1:15|image| |--{192.168.1.1} = '255.255.0.0'
|12426|1:15|image| |--{lease_expires} = 'Thursday, February 04, 2010 11:03:36 PM'
|12426|1:15|image| |--{lease_obtained} = 'Thursday, February 04, 2010 11:03:36 AM'
|12426|1:15|image| |--{physical_address} = '00-0C-29-5A-62-4F'
|12426|1:15|image| ( 0) utils.pm, notify (line: 737)
|12426|1:15|image| (-1) Windows.pm, get_network_configuration (line: 4817)
|12426|1:15|image| (-2) Windows.pm, get_public_interface_name (line: 4871)
|12426|1:15|image| (-3) Windows.pm, disable_dynamic_dns (line: 3660)
|12426|1:15|image| (-4) Windows.pm, pre_capture (line: 211)
|12426|1:15|image| (-5) Version_5.pm, pre_capture (line: 85)
|12426|1:15|image| (-6) vmware.pm, capture (line: 1202)
|12426|1:15|image| ---- WARNING ----
|12426|1:15|image| 2010-02-04 13:56:52|12426|1:15|image|Windows.pm:get_public_interface_name(4873)|unable to retrieve network configuration
|12426|1:15|image| ( 0) utils.pm, notify (line: 737)
|12426|1:15|image| (-1) Windows.pm, get_public_interface_name (line: 4873)
|12426|1:15|image| (-2) Windows.pm, disable_dynamic_dns (line: 3660)
|12426|1:15|image| (-3) Windows.pm, pre_capture (line: 211)
|12426|1:15|image| (-4) Version_5.pm, pre_capture (line: 85)
|12426|1:15|image| (-5) vmware.pm, capture (line: 1202)
|12426|1:15|image| (-6) image.pm, process (line: 162)
2010-02-04 13:56:52|12426|1:15|image|Windows.pm:get_network_configuration(4710)|network configuration has already been retrieved
2010-02-04 13:56:52|12426|1:15|image|DataStructure.pm:get_computer_private_ip_address(1418)|returning private IP address previously retrieved from /etc/hosts: 192.168.1.1
2010-02-04 13:56:52|12426|1:15|image|Windows.pm:get_network_configuration(4760)|interface ignored because of name: vmnet0, description: VMware Accelerated AMD PCNet Adapter #2, address(es): 129.128.9.108
2010-02-04 13:56:52|12426|1:15|image|Windows.pm:get_network_configuration(4747)|private interface found: vmnet1, description: VMware Accelerated AMD PCNet Adapter, address(es): 192.168.1.1
2010-02-04 13:56:52|12426|1:15|image|Windows.pm:get_network_configuration(4750)|returning data for private interface: vmnet1 (192.168.1.1)
2010-02-04 13:56:52|12426|1:15|image|Windows.pm:get_private_interface_name(4848)|returning private interface name: vmnet1
Use of uninitialized value in concatenation (.) or string at
/usr/local/vcl/bin/../lib/VCL/Module/OS/Windows.pm line 3666 (#1)
(W uninitialized) An undefined value was used as if it were already
defined. It was interpreted as a "" or a 0, but maybe it was a mistake.
To suppress this warning assign a defined value to your variables.
To help you figure out what was undefined, perl tells you what operation
you used the undefined value in. Note, however, that perl optimizes your
program and the operation displayed in the warning may not necessarily
appear literally in your program. For example, "that $foo" is
usually optimized into "that " . $foo, and the warning will refer to
the concatenation (.) operator, even though there is no . in your
program.
|12426|1:15|image| ---- WARNING ----
|12426|1:15|image| 2010-02-04 13:56:52|12426|1:15|image|vcld:warning_handler(636)|Use of uninitialized value in concatenation (.) or string at /usr/local/vcl/bin/../lib/VCL/Module/OS/Windows.pm line 3666.
|12426|1:15|image| ( 0) utils.pm, notify (line: 737)
|12426|1:15|image| (-1) vcld, warning_handler (line: 636)
|12426|1:15|image| (-2) Windows.pm, disable_dynamic_dns (line: 3666)
|12426|1:15|image| (-3) Windows.pm, pre_capture (line: 211)
|12426|1:15|image| (-4) Version_5.pm, pre_capture (line: 85)
|12426|1:15|image| (-5) vmware.pm, capture (line: 1202)
|12426|1:15|image| (-6) image.pm, process (line: 162)
___________________________
I'm not actually sure how bad those warning are. The process keeps going for a while, with various additional warnings, some duplicating the above, some different. Maybe it's worth posting the warnings that come towards the end:
___________________________
2010-02-04 13:58:30|12426|1:15|image|Windows.pm:reboot(2687)|rebooting vmguest-1 and waiting for ssh to become active
2010-02-04 13:58:30|12426|1:15|image|Windows.pm:reboot(2696)|reboot will be attempted on vmguest-1
2010-02-04 13:58:30|12426|1:15|image|Windows.pm:wait_for_ssh(3047)|waiting for vmguest-1 to respond to ssh, maximum of 0 minutes
|12426|1:15|image| ---- WARNING ----
|12426|1:15|image| 2010-02-04 13:58:30|12426|1:15|image|vcld:warning_handler(636)|Can't exec "/usr/bin/nmap": No such file or directory at /usr/local/vcl/bin/../lib/VCL/utils.pm line 3308.
|12426|1:15|image| ( 0) utils.pm, notify (line: 737)
|12426|1:15|image| (-1) vcld, warning_handler (line: 636)
|12426|1:15|image| (-2) utils.pm, nmap_port (line: 3308)
|12426|1:15|image| (-3) Windows.pm, wait_for_ssh (line: 3058)
|12426|1:15|image| (-4) Windows.pm, reboot (line: 2699)
|12426|1:15|image| (-5) Windows.pm, disable_pagefile (line: 1799)
|12426|1:15|image| (-6) Windows.pm, pre_capture (line: 318)
|12426|1:15|image| ---- WARNING ----
|12426|1:15|image| 2010-02-04 13:58:30|12426|1:15|image|utils.pm:nmap_port(3327)|problems executing /usr/bin/nmap vmguest-1 -P0 -p 22 Inappropriate ioctl for device
|12426|1:15|image| ( 0) utils.pm, notify (line: 737)
|12426|1:15|image| (-1) utils.pm, nmap_port (line: 3327)
|12426|1:15|image| (-2) Windows.pm, wait_for_ssh (line: 3058)
|12426|1:15|image| (-3) Windows.pm, reboot (line: 2699)
|12426|1:15|image| (-4) Windows.pm, disable_pagefile (line: 1799)
|12426|1:15|image| (-5) Windows.pm, pre_capture (line: 318)
|12426|1:15|image| (-6) Version_5.pm, pre_capture (line: 85)
|12426|1:15|image| ---- WARNING ----
|12426|1:15|image| 2010-02-04 13:58:30|12426|1:15|image|vcld:warning_handler(636)|Can't exec "/usr/bin/nmap": No such file or directory at /usr/local/vcl/bin/../lib/VCL/utils.pm line 3308.
|12426|1:15|image| ( 0) utils.pm, notify (line: 737)
|12426|1:15|image| (-1) vcld, warning_handler (line: 636)
|12426|1:15|image| (-2) utils.pm, nmap_port (line: 3308)
|12426|1:15|image| (-3) Windows.pm, wait_for_ssh (line: 3058)
|12426|1:15|image| (-4) Windows.pm, reboot (line: 2699)
|12426|1:15|image| (-5) Windows.pm, disable_pagefile (line: 1799)
|12426|1:15|image| (-6) Windows.pm, pre_capture (line: 318)
|12426|1:15|image| ---- WARNING ----
|12426|1:15|image| 2010-02-04 13:58:30|12426|1:15|image|utils.pm:nmap_port(3327)|problems executing /usr/bin/nmap vmguest-1 -P0 -p 24 Inappropriate ioctl for device
|12426|1:15|image| ( 0) utils.pm, notify (line: 737)
|12426|1:15|image| (-1) utils.pm, nmap_port (line: 3327)
|12426|1:15|image| (-2) Windows.pm, wait_for_ssh (line: 3058)
|12426|1:15|image| (-3) Windows.pm, reboot (line: 2699)
|12426|1:15|image| (-4) Windows.pm, disable_pagefile (line: 1799)
|12426|1:15|image| (-5) Windows.pm, pre_capture (line: 318)
|12426|1:15|image| (-6) Version_5.pm, pre_capture (line: 85)
2010-02-04 13:58:30|12426|1:15|image|Windows.pm:wait_for_ssh(3059)|ports 22 and 24 are closed on vmguest-1 according to nmap
|12426|1:15|image| ---- WARNING ----
|12426|1:15|image| 2010-02-04 13:58:30|12426|1:15|image|Windows.pm:wait_for_ssh(3078)|vmguest-1 is not available via ssh
|12426|1:15|image| ( 0) utils.pm, notify (line: 737)
|12426|1:15|image| (-1) Windows.pm, wait_for_ssh (line: 3078)
|12426|1:15|image| (-2) Windows.pm, reboot (line: 2699)
|12426|1:15|image| (-3) Windows.pm, disable_pagefile (line: 1799)
|12426|1:15|image| (-4) Windows.pm, pre_capture (line: 318)
|12426|1:15|image| (-5) Version_5.pm, pre_capture (line: 85)
|12426|1:15|image| (-6) vmware.pm, capture (line: 1202)
|12426|1:15|image| ---- WARNING ----
|12426|1:15|image| 2010-02-04 13:58:30|12426|1:15|image|Windows.pm:reboot(2749)|vmguest-1 did not respond to ssh, graceful reboot cannot be performed, attempting hard reset
|12426|1:15|image| ( 0) utils.pm, notify (line: 737)
|12426|1:15|image| (-1) Windows.pm, reboot (line: 2749)
|12426|1:15|image| (-2) Windows.pm, disable_pagefile (line: 1799)
|12426|1:15|image| (-3) Windows.pm, pre_capture (line: 318)
|12426|1:15|image| (-4) Version_5.pm, pre_capture (line: 85)
|12426|1:15|image| (-5) vmware.pm, capture (line: 1202)
|12426|1:15|image| (-6) image.pm, process (line: 162)
2010-02-04 13:58:30|12426|1:15|image|vmware.pm:get_vm_paths(2655)|vm locations:
|12426|1:15|image| vmdk name: vmwarewinxp-base7-v0
|12426|1:15|image| vmx path: /var/lib/vmware/Virtual\ Machines/15vmguest-1/15vmguest-1.vmx
|12426|1:15|image| vm directory: 15vmguest-1
|12426|1:15|image| base vm directory: 15vmguest-1
2010-02-04 13:58:30|12426|1:15|image|vmware.pm:power_reset(2522)|attempting to reset vm using trysoft mode: 15vmguest-1
2010-02-04 13:58:30|12426|1:15|image|utils.pm:run_ssh_command(6180)|executing SSH command on localvmhost:
|12426|1:15|image| /usr/bin/ssh -i /etc/vcl/vcl.key -l root -p 22 -x localvmhost 'vmware-cmd /var/lib/vmware/Virtual\ Machines/15vmguest-1/15vmguest-1.vmx reset trysoft' 2>&1
|12426|1:15|image| ---- WARNING ----
|12426|1:15|image| 2010-02-04 13:58:30|12426|1:15|image|vmware.pm:power_reset(2524)|failed to run vmware-cmd reset on 15vmguest-1, exit status: 11, output:
|12426|1:15|image| Use of uninitialized value in string eq at /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/VMware/VmPerl.pm line 114. /usr/bin/vmware-cmd: Could not connect to VM /var/lib/vmware/Virtual Machines/15vmguest-1/15vmguest-1.vmx (VMControl error -11: No such virtual machine: The config file /var/lib/vmware/Virtual Machines/15vmguest-1/15vmguest-1.vmx is not registered. Please register the config file on the server. For example: vmware-cmd -s register "/var/lib/vmware/Virtual Machines/15vmguest-1/15vmguest-1.vmx")
|12426|1:15|image| ( 0) utils.pm, notify (line: 737)
|12426|1:15|image| (-1) vmware.pm, power_reset (line: 2524)
|12426|1:15|image| (-2) Windows.pm, reboot (line: 2752)
|12426|1:15|image| (-3) Windows.pm, disable_pagefile (line: 1799)
|12426|1:15|image| (-4) Windows.pm, pre_capture (line: 318)
|12426|1:15|image| (-5) Version_5.pm, pre_capture (line: 85)
|12426|1:15|image| (-6) vmware.pm, capture (line: 1202)
_________________________
It then goes on to attempt (but fail) to restart the VM, and then try (but fail) to ping the VM. Of the various warnings at the very end, the most interesting might be:
_________________________
|12426|1:15|image| ---- WARNING ----
|12426|1:15|image| 2010-02-04 14:08:45|12426|1:15|image|Windows.pm:disable_pagefile(1803)|failed to reboot computer after disabling pagefile
|12426|1:15|image| ( 0) utils.pm, notify (line: 737)
|12426|1:15|image| (-1) Windows.pm, disable_pagefile (line: 1803)
|12426|1:15|image| (-2) Windows.pm, pre_capture (line: 318)
|12426|1:15|image| (-3) Version_5.pm, pre_capture (line: 85)
|12426|1:15|image| (-4) vmware.pm, capture (line: 1202)
|12426|1:15|image| (-5) image.pm, process (line: 162)
|12426|1:15|image| (-6) vcld, make_new_child (line: 594)
|12426|1:15|image| ---- WARNING ----
|12426|1:15|image| 2010-02-04 14:08:45|12426|1:15|image|Windows.pm:pre_capture(319)|unable to disable pagefile
|12426|1:15|image| ( 0) utils.pm, notify (line: 737)
|12426|1:15|image| (-1) Windows.pm, pre_capture (line: 319)
|12426|1:15|image| (-2) Version_5.pm, pre_capture (line: 85)
|12426|1:15|image| (-3) vmware.pm, capture (line: 1202)
|12426|1:15|image| (-4) image.pm, process (line: 162)
|12426|1:15|image| (-5) vcld, make_new_child (line: 594)
|12426|1:15|image| (-6) vcld, main (line: 341)
________________________
I set the two network connections up on the vm as per the documentation here:
http://cwiki.apache.org/VCL/configuring-a-standalone-vmware-vcl-environment.html
I'm not sure how important it was to create both interfaces, but hopefully I did it right.
So, I'm pretty sure the end of the tunnel is getting closer, but I'm still not sure how far I have to go. Any ideas about my current mess? (And, thanks once again for all the help you're giving me.)
Terry
Re: Base image capture failure
Posted by Andy Kurth <an...@ncsu.edu>.
I encountered this problem yesterday working with a Windows 7 base
image. I believe it's caused by a bug in Cygwin 1.7 which was recently
released. Cygwin 1.7 is the version you get if you download setup.exe
from the main cygwin.com page. There's a thread about the problem
affecting 64-bit Windows:
http://sourceware.org/ml/cygwin/2010-01/msg01185.html
From what I've seen, the command will work via Cygwin/SSH if you run it
without the .exe extension on cmd.exe. I'm assuming your attempting to
create a 32-bit XP base image? I wasn't sure if the problem affected
all Windows versions running Cygwin 1.7 or only affects Windows
7/64-bit/??? so this is good to know.
I would hold off on Cygwin 1.7 because of this problem and other things
have changed. The options for mount and umount have changed causing
cygwin-sshd-config.sh to display some warnings. 1.7 hasn't been tested
and I don't know if anything else will cause problems.
I updated the Cygwin installation instruction with a big red warning:
http://cwiki.apache.org/confluence/pages/viewpage.action?pageId=4589006
Try this:
-Uninstall Cygwin. There may not be an entry in Add/Remove Programs.
If not, just delete C:\cygwin.
-Download and install setup-legacy.exe which installs Cygwin 1.5:
http://cygwin.com/setup-legacy.exe
-Follow the same VCL Cygwin installation instructions.
The mix of slashes shouldn't be a problem. Cygwin should translate them
correctly when the command is executed. The reason for the first
backslash is because the C:\Windows part comes from the expansion of
Cygwin's $SYSTEMROOT variable. Cygwin's bash shell has equivalent
variables for the DOS/Windows environment variables, so %SystemRoot% is
exposed as $SYSTEMROOT in Cygwin/bash. I try to use environment
variables whenever possible rather than hard-coding 'C:\Windows'. The
remaining forward slashes are from VCL code. It's easier to use forward
slashes because backslashes can become an escaping nightmare.
Hope this helps,
Andy
Terry McGuire wrote:
> On 2 Feb 2010, at 0807h, Andy Kurth wrote:
>
>> The problem has to do with SSH checking the known_hosts file. Try adding the following to /etc/ssh/ssh_config before the "Host *" section:
>>
>> Host vmguest-* vmhost-* 10.*
>> UserKnownHostsFile /dev/null
>> StrictHostKeyChecking no
>>
>> This will cause SSH to ignore the known_hosts file for your VMs and VM hosts on the private network. The host keys change often as computers are reloaded. Adjust the Host line to match your computer naming convention and private IP addresses.
>
>
>
> Yay! The above addition, tweaked for our setup, did the trick. No more SSH warnings.
>
> Now, I'm sorry to say, I've got a whole new group of warnings, starting with:
>
> ______________
> 2010-02-03 10:37:35|2273|1:13|image|utils.pm:run_ssh_command(6180)|executing SSH command on vmguest-1:
> |2273|1:13|image| /usr/bin/ssh -i /etc/vcl/vcl.key -l root -p 22 -x vmguest-1 '$SYSTEMROOT/System32/cmd.exe /c "mkdir \"C:/Cygwin/home/root/VCL\""' 2>&1
>
> |2273|1:13|image| ---- WARNING ----
> |2273|1:13|image| 2010-02-03 10:37:35|2273|1:13|image|Windows.pm:create_directory(831)|failed to create directory on vmguest-1: C:/Cygwin/home/root/VCL, exit status: 126, output:
> |2273|1:13|image| bash: C:\WINDOWS/System32/cmd.exe: Bad address
> |2273|1:13|image| ( 0) utils.pm, notify (line: 737)
> |2273|1:13|image| (-1) Windows.pm, create_directory (line: 831)
> |2273|1:13|image| (-2) Windows.pm, copy_capture_configuration_files (line: 5908)
> |2273|1:13|image| (-3) Windows.pm, pre_capture (line: 179)
> |2273|1:13|image| (-4) Version_5.pm, pre_capture (line: 85)
> |2273|1:13|image| (-5) vmware.pm, capture (line: 1202)
> |2273|1:13|image| (-6) image.pm, process (line: 162)
> ______________
>
> ...and followed by other warnings that appear to be consequences of this one, and ending with failure.
>
> The mix of slashes and a backslash in "C:\WINDOWS/System32/cmd.exe" looks wrong to me, and it seems connected to $SYSTEMROOT, but that's as far as I can take it.
>
> Hoping the end of this tunnel arrives soon...
>
> Terry
>
> ________________________________________________
>
> Terry McGuire
> Junior Analyst, Research Support Group
> Academic Information & Communication Technologies (AICT)
> University of Alberta
> Edmonton, Alberta, Canada T6G 2H1
> Phone: 780-492-9422
>
> This communication is intended for the use of the recipient to which it is addressed, and may contain confidential, personal, and/or privileged information. Please contact us immediately if you are not the intended recipient of this communication. If you are not the intended recipient of this communication, do not copy, distribute, or take action on it. Any communication received in error, or subsequent reply, should be deleted or destroyed.
>
Re: Base image capture failure
Posted by Terry McGuire <tm...@ualberta.ca>.
On 2 Feb 2010, at 0807h, Andy Kurth wrote:
> The problem has to do with SSH checking the known_hosts file. Try adding the following to /etc/ssh/ssh_config before the "Host *" section:
>
> Host vmguest-* vmhost-* 10.*
> UserKnownHostsFile /dev/null
> StrictHostKeyChecking no
>
> This will cause SSH to ignore the known_hosts file for your VMs and VM hosts on the private network. The host keys change often as computers are reloaded. Adjust the Host line to match your computer naming convention and private IP addresses.
Yay! The above addition, tweaked for our setup, did the trick. No more SSH warnings.
Now, I'm sorry to say, I've got a whole new group of warnings, starting with:
______________
2010-02-03 10:37:35|2273|1:13|image|utils.pm:run_ssh_command(6180)|executing SSH command on vmguest-1:
|2273|1:13|image| /usr/bin/ssh -i /etc/vcl/vcl.key -l root -p 22 -x vmguest-1 '$SYSTEMROOT/System32/cmd.exe /c "mkdir \"C:/Cygwin/home/root/VCL\""' 2>&1
|2273|1:13|image| ---- WARNING ----
|2273|1:13|image| 2010-02-03 10:37:35|2273|1:13|image|Windows.pm:create_directory(831)|failed to create directory on vmguest-1: C:/Cygwin/home/root/VCL, exit status: 126, output:
|2273|1:13|image| bash: C:\WINDOWS/System32/cmd.exe: Bad address
|2273|1:13|image| ( 0) utils.pm, notify (line: 737)
|2273|1:13|image| (-1) Windows.pm, create_directory (line: 831)
|2273|1:13|image| (-2) Windows.pm, copy_capture_configuration_files (line: 5908)
|2273|1:13|image| (-3) Windows.pm, pre_capture (line: 179)
|2273|1:13|image| (-4) Version_5.pm, pre_capture (line: 85)
|2273|1:13|image| (-5) vmware.pm, capture (line: 1202)
|2273|1:13|image| (-6) image.pm, process (line: 162)
______________
...and followed by other warnings that appear to be consequences of this one, and ending with failure.
The mix of slashes and a backslash in "C:\WINDOWS/System32/cmd.exe" looks wrong to me, and it seems connected to $SYSTEMROOT, but that's as far as I can take it.
Hoping the end of this tunnel arrives soon...
Terry
________________________________________________
Terry McGuire
Junior Analyst, Research Support Group
Academic Information & Communication Technologies (AICT)
University of Alberta
Edmonton, Alberta, Canada T6G 2H1
Phone: 780-492-9422
This communication is intended for the use of the recipient to which it is addressed, and may contain confidential, personal, and/or privileged information. Please contact us immediately if you are not the intended recipient of this communication. If you are not the intended recipient of this communication, do not copy, distribute, or take action on it. Any communication received in error, or subsequent reply, should be deleted or destroyed.
Re: Base image capture failure
Posted by Andy Kurth <ak...@nc.rr.com>.
The problem has to do with SSH checking the known_hosts file. Try adding the
following to /etc/ssh/ssh_config before the "Host *" section:
Host vmguest-* vmhost-* 10.*
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
This will cause SSH to ignore the known_hosts file for your VMs and VM hosts on
the private network. The host keys change often as computers are reloaded.
Adjust the Host line to match your computer naming convention and private IP
addresses.
I would also add the following settings to ssh_config to cause things to timeout
faster if a computer is not responsive:
ServerAliveInterval 15
ConnectTimeout 4
Also, add the following so you don't have to specify the identity file every
time when using SSH via the command line:
IdentityFile /etc/vcl/vcl.key
Hope this helps,
Andy
Terry McGuire wrote:
> On 1 Feb 2010, at 0750h, Andy Kurth wrote:
>
>> It looks like there are some configuration details which aren't set regarding your VM and the VM host server it resides on.
>>
>> Each VM is assigned to a VM host, and each VM host is assigned a "VM Profile". The error you included indicates that the VM host's profile is not set. To check this:
>> -Click on "Virtual Hosts". Do you see the host you're using in the list under "Select a Virtual Host"?
>> -If yes, select it and click "Configure Host". What do you see next to "VM Profile"?
>> -If no, then your host was not correctly set to the vmhostinuse state and assigned a VM Profile. This will require some DB manipulation. I can provide instructions if you send some table dumps (listed later).
>>
>> If your VM host appears to correctly have a VM Profile assigned to it, the problem could also be the result of your VM not being assigned to a VM host. To check this:
>> -Click on "Virtual Hosts". Select the host you are using and then click "Configure Host". Is the VM you are using is assigned to the host?
>
>
> Thanks! The above got me further than I was before. I had not created a vmhost by setting the management node to "vmhostinuse". The related pieces fell into place after that.
>
> Now, while there are fewer errors in the log, the capture is still failing:
>
> ______________
> 2010-02-01 10:51:25|10975|1:7|image|image.pm:process(161)|calling provisioning module's capture() subroutine
> 2010-02-01 10:51:25|10975|1:7|image|vmware.pm:capture(1175)|req=1, res=7: new name: vmwarewinxp-base7-v0
> 2010-02-01 10:51:25|10975|1:7|image|vmware.pm:capture(1176)|req=1, res=7: computer_name: vmguest-1
> 2010-02-01 10:51:25|10975|1:7|image|vmware.pm:capture(1177)|req=1, res=7: vmhost_hostname: localvmhost
> 2010-02-01 10:51:25|10975|1:7|image|vmware.pm:capture(1178)|req=1, res=7: vmtype_name: vmwareGSX
> 2010-02-01 10:51:25|10975|1:7|image|utils.pm:run_ssh_command(6180)|executing SSH command on vmguest-1:
> |10975|1:7|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
>
> |10975|1:7|image| ---- WARNING ----
> |10975|1:7|image| 2010-02-01 10:51:25|10975|1:7|image|utils.pm:run_ssh_command(6252)|attempt 1/3: failed to execute SSH command on vmguest-1: chown root currentimage.txt; chmod 777 currentimage.txt, exit status: 255, SSH exits with the exit status of the remote command or with 255 if an error occurred, output:
> |10975|1:7|image| ssh output (chown root...): Host key verification failed.
> |10975|1:7|image| ( 0) utils.pm, notify (line: 737)
> |10975|1:7|image| (-1) utils.pm, run_ssh_command (line: 6252)
> |10975|1:7|image| (-2) utils.pm, write_currentimage_txt (line: 6500)
> |10975|1:7|image| (-3) vmware.pm, capture (line: 1181)
> |10975|1:7|image| (-4) image.pm, process (line: 162)
> |10975|1:7|image| (-5) vcld, make_new_child (line: 594)
> |10975|1:7|image| (-6) vcld, main (line: 341)
> ____________
>
> ...Followed by many more ssh-related warnings, ending with the same failure as before.
>
> I'm able to ssh to the vm without password from the command line, which suggests the ssl keys are where they need to be, doesn't it? This feels like I'm missing just one or two tiny details. Your continued assistance will be gratefully received.
>
> Regards,
> Terry
>
Re: Base image capture failure
Posted by Terry McGuire <tm...@ualberta.ca>.
On 1 Feb 2010, at 0750h, Andy Kurth wrote:
> It looks like there are some configuration details which aren't set regarding your VM and the VM host server it resides on.
>
> Each VM is assigned to a VM host, and each VM host is assigned a "VM Profile". The error you included indicates that the VM host's profile is not set. To check this:
> -Click on "Virtual Hosts". Do you see the host you're using in the list under "Select a Virtual Host"?
> -If yes, select it and click "Configure Host". What do you see next to "VM Profile"?
> -If no, then your host was not correctly set to the vmhostinuse state and assigned a VM Profile. This will require some DB manipulation. I can provide instructions if you send some table dumps (listed later).
>
> If your VM host appears to correctly have a VM Profile assigned to it, the problem could also be the result of your VM not being assigned to a VM host. To check this:
> -Click on "Virtual Hosts". Select the host you are using and then click "Configure Host". Is the VM you are using is assigned to the host?
Thanks! The above got me further than I was before. I had not created a vmhost by setting the management node to "vmhostinuse". The related pieces fell into place after that.
Now, while there are fewer errors in the log, the capture is still failing:
______________
2010-02-01 10:51:25|10975|1:7|image|image.pm:process(161)|calling provisioning module's capture() subroutine
2010-02-01 10:51:25|10975|1:7|image|vmware.pm:capture(1175)|req=1, res=7: new name: vmwarewinxp-base7-v0
2010-02-01 10:51:25|10975|1:7|image|vmware.pm:capture(1176)|req=1, res=7: computer_name: vmguest-1
2010-02-01 10:51:25|10975|1:7|image|vmware.pm:capture(1177)|req=1, res=7: vmhost_hostname: localvmhost
2010-02-01 10:51:25|10975|1:7|image|vmware.pm:capture(1178)|req=1, res=7: vmtype_name: vmwareGSX
2010-02-01 10:51:25|10975|1:7|image|utils.pm:run_ssh_command(6180)|executing SSH command on vmguest-1:
|10975|1:7|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
|10975|1:7|image| ---- WARNING ----
|10975|1:7|image| 2010-02-01 10:51:25|10975|1:7|image|utils.pm:run_ssh_command(6252)|attempt 1/3: failed to execute SSH command on vmguest-1: chown root currentimage.txt; chmod 777 currentimage.txt, exit status: 255, SSH exits with the exit status of the remote command or with 255 if an error occurred, output:
|10975|1:7|image| ssh output (chown root...): Host key verification failed.
|10975|1:7|image| ( 0) utils.pm, notify (line: 737)
|10975|1:7|image| (-1) utils.pm, run_ssh_command (line: 6252)
|10975|1:7|image| (-2) utils.pm, write_currentimage_txt (line: 6500)
|10975|1:7|image| (-3) vmware.pm, capture (line: 1181)
|10975|1:7|image| (-4) image.pm, process (line: 162)
|10975|1:7|image| (-5) vcld, make_new_child (line: 594)
|10975|1:7|image| (-6) vcld, main (line: 341)
____________
...Followed by many more ssh-related warnings, ending with the same failure as before.
I'm able to ssh to the vm without password from the command line, which suggests the ssl keys are where they need to be, doesn't it? This feels like I'm missing just one or two tiny details. Your continued assistance will be gratefully received.
Regards,
Terry
Re: Path to images?
Posted by Andy Kurth <an...@ncsu.edu>.
Hello Terry,
It looks like there are some configuration details which aren't set regarding
your VM and the VM host server it resides on.
Each VM is assigned to a VM host, and each VM host is assigned a "VM Profile".
The error you included indicates that the VM host's profile is not set. To
check this:
-Click on "Virtual Hosts". Do you see the host you're using in the list under
"Select a Virtual Host"?
-If yes, select it and click "Configure Host". What do you see next to "VM
Profile"?
-If no, then your host was not correctly set to the vmhostinuse state and
assigned a VM Profile. This will require some DB manipulation. I can provide
instructions if you send some table dumps (listed later).
If your VM host appears to correctly have a VM Profile assigned to it, the
problem could also be the result of your VM not being assigned to a VM host. To
check this:
-Click on "Virtual Hosts". Select the host you are using and then click
"Configure Host". Is the VM you are using is assigned to the host?
It will be helpful if you include some database entries after your image capture
fails:
SELECT * FROM request
SELECT * FROM reservation
SELECT * FROM computer
SELECT * FROM vmhost
SELECT * FROM vmprofile
Also, please include a chunk of your log file output with 4 or 5 warning
messages. There should be a point when several WARNING messages appear. Incude
the output beginning about 10 lines before the slew of WARNINGS appear until the
request fails.
-Andy
Terry McGuire wrote:
> Hello kind and generous VCL folks. I've now built my VCL demo server for the third time, but I'm still hitting snags when I try to capture a base image. Here's a snippet of vcld's log:
>
> _________
> 2010-01-26 12:02:54|30123|1:1|image|image.pm:process(161)|calling provisioning module's capture() subroutine
>
> |30123|1:1|image| ---- WARNING ----
> |30123|1:1|image| 2010-01-26 12:02:54|30123|1:1|image|DataStructure.pm:_automethod(675)|corresponding data has not been initialized for get_vmhost_type_name: $self->request_data->{reservation}{1}{computer}{vmhost}{vmprofile}{vmtype}{name}
> |30123|1:1|image| ( 0) utils.pm, notify (line: 737)
> |30123|1:1|image| (-1) DataStructure.pm, _automethod (line: 675)
> |30123|1:1|image| (-2) Autoload.pm, __ANON__ (line: 80)
> |30123|1:1|image| (-3) vmware.pm, capture (line: 1152)
> |30123|1:1|image| (-4) image.pm, process (line: 162)
> |30123|1:1|image| (-5) vcld, make_new_child (line: 594)
> |30123|1:1|image| (-6) vcld, main (line: 341)
> ___________
>
>
> After this come many more warnings and, not surprisingly, failure. Clearly, I'm missing something. Anyone have any ideas? I'll happily provide whatever additional info required to sort this out.
>
> Regards,
> Terry McGuire
> ________________________________________________
>
> Terry McGuire
> Junior Analyst, Research Support Group
> Academic Information & Communication Technologies (AICT)
> University of Alberta
> Edmonton, Alberta, Canada T6G 2H1
> Phone: 780-492-9422
>
> This communication is intended for the use of the recipient to which it is addressed, and may contain confidential, personal, and/or privileged information. Please contact us immediately if you are not the intended recipient of this communication. If you are not the intended recipient of this communication, do not copy, distribute, or take action on it. Any communication received in error, or subsequent reply, should be deleted or destroyed.
>
--
Andy Kurth
Virtual Computing Lab
Office of Information Technology
North Carolina State University
andy_kurth@ncsu.edu
919.513.4090
Re: Path to images?
Posted by Terry McGuire <tm...@ualberta.ca>.
Hello kind and generous VCL folks. I've now built my VCL demo server for the third time, but I'm still hitting snags when I try to capture a base image. Here's a snippet of vcld's log:
_________
2010-01-26 12:02:54|30123|1:1|image|image.pm:process(161)|calling provisioning module's capture() subroutine
|30123|1:1|image| ---- WARNING ----
|30123|1:1|image| 2010-01-26 12:02:54|30123|1:1|image|DataStructure.pm:_automethod(675)|corresponding data has not been initialized for get_vmhost_type_name: $self->request_data->{reservation}{1}{computer}{vmhost}{vmprofile}{vmtype}{name}
|30123|1:1|image| ( 0) utils.pm, notify (line: 737)
|30123|1:1|image| (-1) DataStructure.pm, _automethod (line: 675)
|30123|1:1|image| (-2) Autoload.pm, __ANON__ (line: 80)
|30123|1:1|image| (-3) vmware.pm, capture (line: 1152)
|30123|1:1|image| (-4) image.pm, process (line: 162)
|30123|1:1|image| (-5) vcld, make_new_child (line: 594)
|30123|1:1|image| (-6) vcld, main (line: 341)
___________
After this come many more warnings and, not surprisingly, failure. Clearly, I'm missing something. Anyone have any ideas? I'll happily provide whatever additional info required to sort this out.
Regards,
Terry McGuire
________________________________________________
Terry McGuire
Junior Analyst, Research Support Group
Academic Information & Communication Technologies (AICT)
University of Alberta
Edmonton, Alberta, Canada T6G 2H1
Phone: 780-492-9422
This communication is intended for the use of the recipient to which it is addressed, and may contain confidential, personal, and/or privileged information. Please contact us immediately if you are not the intended recipient of this communication. If you are not the intended recipient of this communication, do not copy, distribute, or take action on it. Any communication received in error, or subsequent reply, should be deleted or destroyed.
Re: Path to images?
Posted by Aaron Peeler <aa...@ncsu.edu>.
The Install Path is the top level location for the image repository that is
mounted on the management node
The provisioning modules use different paths under the Install Path.
vmware modules make use of /install/vmware_images
xcat modules /install/images/{x86|x86_64}
So in this case it should be set to /install and on your management node
for the vmware images you should have a directory /install/vmware_images
Aaron
--On January 21, 2010 2:09:03 PM -0700 Terry McGuire <tm...@ualberta.ca>
wrote:
> Hello learned and patient VCL folks. Newbie install question:
>
> I'm continuing to (re)build my all-in-one demo VCL server. I'll be using
> VMware server for the compute nodes. When configuring the management
> node, what would I put for "Install Path"? Is this the path to VMware's
> virtual machine directory? If not, can I pick something arbitrarily?
>
> Thanks in advance for your response.
>
> Terry McGuire
> ________________________________________________
>
> Terry McGuire
> Junior Analyst, Research Support Group
> Academic Information & Communication Technologies (AICT)
> University of Alberta
> Edmonton, Alberta, Canada T6G 2H1
> Phone: 780-492-9422
>
> This communication is intended for the use of the recipient to which it
> is addressed, and may contain confidential, personal, and/or privileged
> information. Please contact us immediately if you are not the intended
> recipient of this communication. If you are not the intended recipient
> of this communication, do not copy, distribute, or take action on it.
> Any communication received in error, or subsequent reply, should be
> deleted or destroyed.
>
Aaron Peeler
OIT Advanced Computing
College of Engineering-NCSU
919.513.4571
http://vcl.ncsu.edu