Author: arkurth
Date: Thu Feb 26 15:53:15 2009
New Revision: 748188

URL: http://svn.apache.org/viewvc?rev=748188&view=rev
Log:
VCL-23
Added a block in new.pm::reserve_computer() to call the OS module's reserve() 
subroutine if it has been implemented. Otherwise, flow continues exactly as it 
did before. Existing OS modules do not have reserve() subroutines so they 
aren't affected.

Modified:
    incubator/vcl/trunk/managementnode/lib/VCL/new.pm

Modified: incubator/vcl/trunk/managementnode/lib/VCL/new.pm
URL: 
http://svn.apache.org/viewvc/incubator/vcl/trunk/managementnode/lib/VCL/new.pm?rev=748188&r1=748187&r2=748188&view=diff
==============================================================================
--- incubator/vcl/trunk/managementnode/lib/VCL/new.pm (original)
+++ incubator/vcl/trunk/managementnode/lib/VCL/new.pm Thu Feb 26 15:53:15 2009
@@ -1060,9 +1060,22 @@
                        # Set the password in the DataStructure object
                        
$self->data->set_reservation_password($reservation_password);
                        
+                       # Check if OS module had implemented a reserve() 
subroutine
+                       # This is only true for modularized OS modules
+                       if ($self->os->can('reserve')) {
+                               # Call the OS module's reserve() subroutine
+                               notify($ERRORS{'DEBUG'}, 0, "calling OS 
module's reserve() subroutine");
+                               if ($self->os->reserve()) {
+                                       notify($ERRORS{'DEBUG'}, 0, "OS module 
successfully reserved resources for this reservation");
+                               }
+                               else {
+                                       $self->reservation_failed("OS module 
failed to reserve resources for this reservation");
+                               }
+                       }
+                       
                        # Windows Vista reservation tasks
                        # Much of this subroutine will be rearranged once other 
OS's are modularized
-                       if ($image_os_name =~ /winvista/) {
+                       elsif ($image_os_name =~ /winvista/) {
                                if ($request_forimaging) {
                                        # Set the Administrator password
                                        notify($ERRORS{'OK'}, 0, "attempting to 
set Administrator password to $reservation_password on $computer_short_name");


Reply via email to