376 |16651|5:5|new| ---- WARNING ---- ^M
    377 |16651|5:5|new| 2010-03-17 
13:02:45|16651|5:5|new|DataStructure.pm:_automethod(675)|corresponding data has not 
been initialized for get_computer_pref        erredimage_id: 
$self->request_data->{reservation}{5}{computer}{preferredimage}{id}^M
    378 |16651|5:5|new| ( 0) utils.pm, notify (line: 737)^M
    379 |16651|5:5|new| (-1) DataStructure.pm, _automethod (line: 675)^M
    380 |16651|5:5|new| (-2) Autoload.pm, __ANON__ (line: 80)^M
    381 |16651|5:5|new| (-3) new.pm, process (line: 106)^M
    382 |16651|5:5|new| (-4) vcld, make_new_child (line: 594)^M
    383 |16651|5:5|new| (-5) vcld, main (line: 341)^M

#>>> Not sure if I am missing something here.

This isn't a problem. It occurs because computer.preferredimageid isn't set in the database. It should get set automatically after a successful reservation is made on the computer.

    475 2010-03-17 
13:02:46|16651|5:5|new|utils.pm:run_ssh_command(6180)|executing SSH command on 
resxi-2:^M
    476 |16651|5:5|new| /usr/bin/ssh -i /etc/vcl/vcl.key  -l root -p 22 -x resxi-2 
'cat currentimage.txt' 2>&1^M
    477 2010-03-17 
13:02:47|16651|5:5|new|utils.pm:run_ssh_command(6262)|run_ssh_command output:^M
    478 |16651|5:5|new| cat: currentimage.txt: No such file or directory^M

#>>> currentimage.txt : Is this something that we have to create at anytime? I 
am thinking it is created automatically when a image is loaded for the first time.

This appears to be a problem. You never have to manually create/alter currentimage.txt. It should be created automatically during the image capture process and saved within the image. This file is used when a reservation is made to determine if the correct image is loaded on the computer in order to know if the computer needs to be reloaded or not. The computer will be reloaded every time a reservation is made if the file is missing or incorrect, even if the correct image is loaded.

Check if currentimage.txt exists in root's home directory on that computer. You should be able to shell into it from the management node via:
ssh -i /etc/vcl/vcl.key -l root -p 22 -x resxi-2

Then run "ls -l ~".  What do you see?

If you still have the vcld.log output from the image capture process, search it for "currentimage.txt" to see if anything went wrong.

    489 2010-03-17 13:02:47|16651|5:5|new|utils.pm:insertloadlog(4710)|inserted 
computer=3, loadimageblade, resxi-2 must be reloaded with vmwarewinxp-base7-v   
     0^M
    490 2010-03-17 13:02:47|16651|5:5|new|new.pm:reload_image(616)|calling 
VCL::Module::Provisioning::esx->does_image_exist()^M
    491 Use of uninitialized value in concatenation (.) or string at^M
    492         /usr/local/vcl/bin/../lib/VCL/Module/Provisioning/esx.pm line 
907 (#1)^M
    493     (W uninitialized) An undefined value was used as if it were 
already^M
    494     defined.  It was interpreted as a "" or a 0, but maybe it was a 
mistake.^M
    495     To suppress this warning assign a defined value to your variables.^M
    496     ^M
    497     To help you figure out what was undefined, perl tells you what 
operation^M
    498     you used the undefined value in.  Note, however, that perl 
optimizes your^M
    499     program and the operation displayed in the warning may not 
necessarily^M
    500     appear literally in your program.  For example, "that $foo" is^M
    501     usually optimized into "that " . $foo, and the warning will refer 
to^M
    502     the concatenation (.) operator, even though there is no . in your^M
    503     program.^M

#>>> Can we ignore this?

    504     ^M
    505 ^M
    506 |16651|5:5|new| ---- WARNING ---- ^M
    507 |16651|5:5|new| 2010-03-17 
13:02:47|16651|5:5|new|vcld:warning_handler(636)|Use of uninitialized value in 
concatenation (.) or string at /usr/local/v        
cl/bin/../lib/VCL/Module/Provisioning/esx.pm line 907.^M
    508 |16651|5:5|new| ( 0) utils.pm, notify (line: 737)^M
    509 |16651|5:5|new| (-1) vcld, warning_handler (line: 636)^M
    510 |16651|5:5|new| (-2) esx.pm, does_image_exist (line: 907)^M
    511 |16651|5:5|new| (-3) new.pm, reload_image (line: 618)^M
    512 |16651|5:5|new| (-4) new.pm, process (line: 266)^M
    513 |16651|5:5|new| (-5) vcld, make_new_child (line: 594)^M
    514 |16651|5:5|new| (-6) vcld, main (line: 341)^M
    515 ^M
    516 2010-03-17 
13:02:47|16651|5:5|new|utils.pm:run_ssh_command(6180)|executing SSH command on 
/install/image/nfs1:^M
    517 |16651|5:5|new| /usr/bin/ssh -i /etc/vcl/vcl.key  -l root -p 22 -x 
/install/image/nfs1 'ls -1 /golden 2>&1' 2>&1^M

#>>> This is where my real issues are: I realized reading the README for esx 
and esxthin, that I need to have a VCL mount point and a subdirectory /golden for my 
images
But what I am missing here is why is it trying to ssh -x /install/image/nfs1 
which is actually the Data Store path. Isn't it supposed to ssh to my VMhost 
machine.
Also when does VCL code use the esxthin.pm, as opposed to esx.pm?

The previous two questions are related. I'm not too familiar with the esx.pm module but you cannot ignore this. From looking at the code, the warning is being displayed because there's a problem with your VM host profile's data store path value. It's looking for this setting to be in the format:
<IP address>:<datastore path>

Check this setting:
Virtual Hosts > VM Host Profiles > Configure Profile > Data Store Path

I'm guessing it doesn't include the IP address where the golden images reside or a colon. The "ls -1" SSH command above is being incorrectly assembled because of this. It's inserting "/install/image/nfs1" where the IP address should go. Once the data store path is changed to include "<IP address>:", the command should be assembled correctly as: /usr/bin/ssh -i /etc/vcl/vcl.key -l root -p 22 -x <IP address> 'ls -1 /install/image/nfs1/golden 2>&1'

The rest of the SSH errors are occurring because it's attempting to connect to the computer with the address "/install/image/nfs1".

    518 ^M
    519 |16651|5:5|new| ---- WARNING ---- ^M
    520 |16651|5:5|new| 2010-03-17 
13:02:47|16651|5:5|new|utils.pm:run_ssh_command(6252)|attempt 1/3: failed to execute 
SSH command on /install/image/nfs1: l        s -1 /golden 2>&1, exit status: 
255, SSH exits with the exit status of the remote command or with 255 if an error 
occurred, output:^M
    521 |16651|5:5|new| ssh output (ls -1 /gol...): ssh: /install/image/nfs1: 
Name or service not known^M
    522 |16651|5:5|new| ( 0) utils.pm, notify (line: 737)^M
    523 |16651|5:5|new| (-1) utils.pm, run_ssh_command (line: 6252)^M
    524 |16651|5:5|new| (-2) esx.pm, does_image_exist (line: 910)^M
    525 |16651|5:5|new| (-3) new.pm, reload_image (line: 618)^M
    526 |16651|5:5|new| (-4) new.pm, process (line: 266)^M
    527 |16651|5:5|new| (-5) vcld, make_new_child (line: 594)^M
    528 |16651|5:5|new| (-6) vcld, main (line: 341)^M

Thank you,
Amit



Hope this helps,
Andy

Reply via email to