Author: fapeeler Date: Mon Jul 12 19:10:40 2010 New Revision: 963439 URL: http://svn.apache.org/viewvc?rev=963439&view=rev Log: VCL-2
moved preferred image to next image Modified: incubator/vcl/trunk/managementnode/lib/VCL/DataStructure.pm incubator/vcl/trunk/managementnode/lib/VCL/Module/Predictive/Level_0.pm incubator/vcl/trunk/managementnode/lib/VCL/new.pm incubator/vcl/trunk/managementnode/lib/VCL/utils.pm Modified: incubator/vcl/trunk/managementnode/lib/VCL/DataStructure.pm URL: http://svn.apache.org/viewvc/incubator/vcl/trunk/managementnode/lib/VCL/DataStructure.pm?rev=963439&r1=963438&r2=963439&view=diff ============================================================================== --- incubator/vcl/trunk/managementnode/lib/VCL/DataStructure.pm (original) +++ incubator/vcl/trunk/managementnode/lib/VCL/DataStructure.pm Mon Jul 12 19:10:40 2010 @@ -201,7 +201,7 @@ $SUBROUTINE_MAPPINGS{computer_node_name} $SUBROUTINE_MAPPINGS{computer_notes} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{notes}'; $SUBROUTINE_MAPPINGS{computer_owner_id} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{ownerid}'; $SUBROUTINE_MAPPINGS{computer_platform_id} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{platformid}'; -$SUBROUTINE_MAPPINGS{computer_preferredimage_id} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{preferredimageid}'; +$SUBROUTINE_MAPPINGS{computer_nextimage_id} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{nextimageid}'; $SUBROUTINE_MAPPINGS{computer_private_ip_address} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{privateIPaddress}'; $SUBROUTINE_MAPPINGS{computer_processor_count} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{procnumber}'; $SUBROUTINE_MAPPINGS{computer_processor_speed} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{procspeed}'; @@ -292,38 +292,38 @@ $SUBROUTINE_MAPPINGS{computer_currentima $SUBROUTINE_MAPPINGS{computer_platform_name} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{platform}{name}'; -$SUBROUTINE_MAPPINGS{computer_preferredimage_architecture} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{preferredimage}{architecture}'; -$SUBROUTINE_MAPPINGS{computer_preferredimage_deleted} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{preferredimage}{deleted}'; -$SUBROUTINE_MAPPINGS{computer_preferredimage_forcheckout} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{preferredimage}{forcheckout}'; -$SUBROUTINE_MAPPINGS{computer_preferredimage_id} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{preferredimage}{id}'; -$SUBROUTINE_MAPPINGS{computer_preferredimage_imagemetaid} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{preferredimage}{imagemetaid}'; -$SUBROUTINE_MAPPINGS{computer_preferredimage_imagetypeid} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{preferredimage}{imagetypeid}'; -$SUBROUTINE_MAPPINGS{computer_preferredimage_lastupdate} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{preferredimage}{lastupdate}'; -$SUBROUTINE_MAPPINGS{computer_preferredimage_maxconcurrent} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{preferredimage}{maxconcurrent}'; -$SUBROUTINE_MAPPINGS{computer_preferredimage_maxinitialtime} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{preferredimage}{maxinitialtime}'; -$SUBROUTINE_MAPPINGS{computer_preferredimage_minnetwork} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{preferredimage}{minnetwork}'; -$SUBROUTINE_MAPPINGS{computer_preferredimage_minprocnumber} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{preferredimage}{minprocnumber}'; -$SUBROUTINE_MAPPINGS{computer_preferredimage_minprocspeed} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{preferredimage}{minprocspeed}'; -$SUBROUTINE_MAPPINGS{computer_preferredimage_minram} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{preferredimage}{minram}'; -$SUBROUTINE_MAPPINGS{computer_preferredimage_name} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{preferredimage}{name}'; -$SUBROUTINE_MAPPINGS{computer_preferredimage_osid} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{preferredimage}{OSid}'; -$SUBROUTINE_MAPPINGS{computer_preferredimage_ownerid} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{preferredimage}{ownerid}'; -$SUBROUTINE_MAPPINGS{computer_preferredimage_platformid} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{preferredimage}{platformid}'; -$SUBROUTINE_MAPPINGS{computer_preferredimage_prettyname} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{preferredimage}{prettyname}'; -$SUBROUTINE_MAPPINGS{computer_preferredimage_project} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{preferredimage}{project}'; -$SUBROUTINE_MAPPINGS{computer_preferredimage_reloadtime} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{preferredimage}{reloadtime}'; -$SUBROUTINE_MAPPINGS{computer_preferredimage_size} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{preferredimage}{size}'; -$SUBROUTINE_MAPPINGS{computer_preferredimage_test} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{preferredimage}{test}'; - -$SUBROUTINE_MAPPINGS{computer_preferredimagerevision_comments} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{preferredimagerevision}{comments}'; -$SUBROUTINE_MAPPINGS{computer_preferredimagerevision_datecreated} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{preferredimagerevision}{datecreated}'; -$SUBROUTINE_MAPPINGS{computer_preferredimagerevision_deleted} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{preferredimagerevision}{deleted}'; -$SUBROUTINE_MAPPINGS{computer_preferredimagerevision_id} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{preferredimagerevision}{id}'; -$SUBROUTINE_MAPPINGS{computer_preferredimagerevision_imageid} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{preferredimagerevision}{imageid}'; -$SUBROUTINE_MAPPINGS{computer_preferredimagerevision_imagename} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{preferredimagerevision}{imagename}'; -$SUBROUTINE_MAPPINGS{computer_preferredimagerevision_production} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{preferredimagerevision}{production}'; -$SUBROUTINE_MAPPINGS{computer_preferredimagerevision_revision} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{preferredimagerevision}{revision}'; -$SUBROUTINE_MAPPINGS{computer_preferredimagerevision_userid} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{preferredimagerevision}{userid}'; +$SUBROUTINE_MAPPINGS{computer_nextimage_architecture} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{nextimage}{architecture}'; +$SUBROUTINE_MAPPINGS{computer_nextimage_deleted} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{nextimage}{deleted}'; +$SUBROUTINE_MAPPINGS{computer_nextimage_forcheckout} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{nextimage}{forcheckout}'; +$SUBROUTINE_MAPPINGS{computer_nextimage_id} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{nextimage}{id}'; +$SUBROUTINE_MAPPINGS{computer_nextimage_imagemetaid} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{nextimage}{imagemetaid}'; +$SUBROUTINE_MAPPINGS{computer_nextimage_imagetypeid} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{nextimage}{imagetypeid}'; +$SUBROUTINE_MAPPINGS{computer_nextimage_lastupdate} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{nextimage}{lastupdate}'; +$SUBROUTINE_MAPPINGS{computer_nextimage_maxconcurrent} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{nextimage}{maxconcurrent}'; +$SUBROUTINE_MAPPINGS{computer_nextimage_maxinitialtime} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{nextimage}{maxinitialtime}'; +$SUBROUTINE_MAPPINGS{computer_nextimage_minnetwork} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{nextimage}{minnetwork}'; +$SUBROUTINE_MAPPINGS{computer_nextimage_minprocnumber} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{nextimage}{minprocnumber}'; +$SUBROUTINE_MAPPINGS{computer_nextimage_minprocspeed} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{nextimage}{minprocspeed}'; +$SUBROUTINE_MAPPINGS{computer_nextimage_minram} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{nextimage}{minram}'; +$SUBROUTINE_MAPPINGS{computer_nextimage_name} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{nextimage}{name}'; +$SUBROUTINE_MAPPINGS{computer_nextimage_osid} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{nextimage}{OSid}'; +$SUBROUTINE_MAPPINGS{computer_nextimage_ownerid} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{nextimage}{ownerid}'; +$SUBROUTINE_MAPPINGS{computer_nextimage_platformid} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{nextimage}{platformid}'; +$SUBROUTINE_MAPPINGS{computer_nextimage_prettyname} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{nextimage}{prettyname}'; +$SUBROUTINE_MAPPINGS{computer_nextimage_project} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{nextimage}{project}'; +$SUBROUTINE_MAPPINGS{computer_nextimage_reloadtime} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{nextimage}{reloadtime}'; +$SUBROUTINE_MAPPINGS{computer_nextimage_size} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{nextimage}{size}'; +$SUBROUTINE_MAPPINGS{computer_nextimage_test} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{nextimage}{test}'; + +$SUBROUTINE_MAPPINGS{computer_nextimagerevision_comments} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{nextimagerevision}{comments}'; +$SUBROUTINE_MAPPINGS{computer_nextimagerevision_datecreated} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{nextimagerevision}{datecreated}'; +$SUBROUTINE_MAPPINGS{computer_nextimagerevision_deleted} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{nextimagerevision}{deleted}'; +$SUBROUTINE_MAPPINGS{computer_nextimagerevision_id} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{nextimagerevision}{id}'; +$SUBROUTINE_MAPPINGS{computer_nextimagerevision_imageid} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{nextimagerevision}{imageid}'; +$SUBROUTINE_MAPPINGS{computer_nextimagerevision_imagename} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{nextimagerevision}{imagename}'; +$SUBROUTINE_MAPPINGS{computer_nextimagerevision_production} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{nextimagerevision}{production}'; +$SUBROUTINE_MAPPINGS{computer_nextimagerevision_revision} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{nextimagerevision}{revision}'; +$SUBROUTINE_MAPPINGS{computer_nextimagerevision_userid} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{nextimagerevision}{userid}'; $SUBROUTINE_MAPPINGS{computer_schedule_name} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{schedule}{name}'; $SUBROUTINE_MAPPINGS{computer_state_name} = '$self->request_data->{reservation}{RESERVATION_ID}{computer}{state}{name}'; Modified: incubator/vcl/trunk/managementnode/lib/VCL/Module/Predictive/Level_0.pm URL: http://svn.apache.org/viewvc/incubator/vcl/trunk/managementnode/lib/VCL/Module/Predictive/Level_0.pm?rev=963439&r1=963438&r2=963439&view=diff ============================================================================== --- incubator/vcl/trunk/managementnode/lib/VCL/Module/Predictive/Level_0.pm (original) +++ incubator/vcl/trunk/managementnode/lib/VCL/Module/Predictive/Level_0.pm Mon Jul 12 19:10:40 2010 @@ -155,8 +155,8 @@ sub get_next_image { } ## end for (@selected_rows) } ## end if (scalar @selected_rows > 0) - # No upcoming reservations - fetch preferred image information - my $select_preferredimage = " + # No upcoming reservations - fetch next image information + my $select_nextimage = " SELECT DISTINCT imagerevision.imagename AS imagename, imagerevision.id AS imagerevisionid, @@ -166,27 +166,27 @@ sub get_next_image { computer, imagerevision WHERE - imagerevision.imageid = computer.preferredimageid + imagerevision.imageid = computer.nextimageid AND imagerevision.production = 1 - AND computer.preferredimageid = image.id + AND computer.nextimageid = image.id AND computer.id = $computer_id "; # Call the database select subroutine # This will return an array of one or more rows based on the select statement - my @preferred_selected_rows = database_select($select_preferredimage); + my @next_selected_rows = database_select($select_nextimage); # Check to make sure at least 1 row were returned - if (scalar @preferred_selected_rows == 0) { - notify($ERRORS{'WARNING'}, 0, "$notify_prefix failed to fetch preferred image for computerid $computer_id"); + if (scalar @next_selected_rows == 0) { + notify($ERRORS{'WARNING'}, 0, "$notify_prefix failed to fetch next image for computerid $computer_id"); return 0; } - elsif (scalar @preferred_selected_rows > 1) { - notify($ERRORS{'WARNING'}, 0, "" . scalar @preferred_selected_rows . " rows were returned from database select"); + elsif (scalar @next_selected_rows > 1) { + notify($ERRORS{'WARNING'}, 0, "" . scalar @next_selected_rows . " rows were returned from database select"); return 0; } - notify($ERRORS{'OK'}, 0, "$notify_prefix returning preferredimage image=$preferred_selected_rows[0]{imagename} imageid=$preferred_selected_rows[0]{imageid}"); - push(@ret_array, $preferred_selected_rows[0]{imagename}, $preferred_selected_rows[0]{imageid}, $preferred_selected_rows[0]{imagerevisionid}); + notify($ERRORS{'OK'}, 0, "$notify_prefix returning nextimage image=$next_selected_rows[0]{imagename} imageid=$next_selected_rows[0]{imageid}"); + push(@ret_array, $next_selected_rows[0]{imagename}, $next_selected_rows[0]{imageid}, $next_selected_rows[0]{imagerevisionid}); return @ret_array; } ## end sub get_next_image_revision Modified: incubator/vcl/trunk/managementnode/lib/VCL/new.pm URL: http://svn.apache.org/viewvc/incubator/vcl/trunk/managementnode/lib/VCL/new.pm?rev=963439&r1=963438&r2=963439&view=diff ============================================================================== --- incubator/vcl/trunk/managementnode/lib/VCL/new.pm (original) +++ incubator/vcl/trunk/managementnode/lib/VCL/new.pm Mon Jul 12 19:10:40 2010 @@ -103,8 +103,8 @@ sub process { my $computer_type = $self->data->get_computer_type(); my $computer_ip_address = $self->data->get_computer_ip_address(); my $computer_state_name = $self->data->get_computer_state_name(); - my $computer_preferred_image_id = $self->data->get_computer_preferredimage_id(); - my $computer_preferred_image_name = $self->data->get_computer_preferredimage_name(); + my $computer_next_image_id = $self->data->get_computer_nextimage_id(); + my $computer_next_image_name = $self->data->get_computer_nextimage_name(); my $image_id = $self->data->get_image_id(); my $image_os_name = $self->data->get_image_os_name(); my $image_name = $self->data->get_image_name(); @@ -174,18 +174,18 @@ sub process { # Computer is not available, not a new request (most likely a simple reload) notify($ERRORS{'WARNING'}, 0, "request state=$request_state_name, $computer_short_name is NOT available"); - # Set the computer preferred image so it gets loaded if/when other reservations are complete - if ($image_name ne $computer_preferred_image_name) { - notify($ERRORS{'OK'}, 0, "$computer_short_name is not available, setting computer preferred image to $image_name"); - if (setpreferredimage($computer_id, $image_id)) { - notify($ERRORS{'OK'}, 0, "$computer_short_name preferred image set to $image_name"); + # Set the computer next image so it gets loaded if/when other reservations are complete + if (!defined($computer_next_image_name) || $image_name ne $computer_next_image_name) { + notify($ERRORS{'OK'}, 0, "$computer_short_name is not available, setting computer next image to $image_name"); + if (setnextimage($computer_id, $image_id)) { + notify($ERRORS{'OK'}, 0, "$computer_short_name next image set to $image_name"); } else { - notify($ERRORS{'WARNING'}, 0, "failed to set $computer_short_name preferred image to $image_name"); + notify($ERRORS{'WARNING'}, 0, "failed to set $computer_short_name next image to $image_name"); } } else { - notify($ERRORS{'OK'}, 0, "$computer_short_name is not available, computer preferred image is already set to $image_name"); + notify($ERRORS{'OK'}, 0, "$computer_short_name is not available, computer next image is already set to $image_name"); } # Update request state to complete @@ -203,18 +203,18 @@ sub process { # Computer is not available, preload only = true notify($ERRORS{'WARNING'}, 0, "preload reservation, $computer_short_name is NOT available"); - # Set the computer preferred image so it gets loaded if/when other reservations are complete - if ($image_name ne $computer_preferred_image_name) { - notify($ERRORS{'OK'}, 0, "preload only request, $computer_short_name is not available, setting computer preferred image to $image_name"); - if (setpreferredimage($computer_id, $image_id)) { - notify($ERRORS{'OK'}, 0, "$computer_short_name preferred image set to $image_name"); + # Set the computer next image so it gets loaded if/when other reservations are complete + if (!defined($computer_next_image_name) || $image_name ne $computer_next_image_name) { + notify($ERRORS{'OK'}, 0, "preload only request, $computer_short_name is not available, setting computer next image to $image_name"); + if (setnextimage($computer_id, $image_id)) { + notify($ERRORS{'OK'}, 0, "$computer_short_name next image set to $image_name"); } else { - notify($ERRORS{'WARNING'}, 0, "failed to set $computer_short_name preferred image to $image_name"); + notify($ERRORS{'WARNING'}, 0, "failed to set $computer_short_name next image to $image_name"); } } else { - notify($ERRORS{'OK'}, 0, "preload only request, $computer_short_name is not available, computer preferred image is already set to $image_name"); + notify($ERRORS{'OK'}, 0, "preload only request, $computer_short_name is not available, computer next image is already set to $image_name"); } # Only the parent reservation is allowed to modify the request state in this module @@ -346,17 +346,17 @@ sub process { # Attempt to reserve the computer if this is a 'new' reservation # These steps are not done for simple reloads if ($request_state_name eq 'new') { - # Set the computer preferred image to the one for this reservation - if ($image_name ne $computer_preferred_image_name) { - if (setpreferredimage($computer_id, $image_id)) { - notify($ERRORS{'OK'}, 0, "$computer_short_name preferred image set to $image_name"); + # Set the computer next image to the one for this reservation + if (!defined($computer_next_image_name) || $image_name ne $computer_next_image_name) { + if (setnextimage($computer_id, $image_id)) { + notify($ERRORS{'OK'}, 0, "$computer_short_name next image set to $image_name"); } else { - notify($ERRORS{'WARNING'}, 0, "failed to set $computer_short_name preferred image to $image_name"); + notify($ERRORS{'WARNING'}, 0, "failed to set $computer_short_name next image to $image_name"); } } else { - notify($ERRORS{'OK'}, 0, "$computer_short_name preferred image is already set to $image_name"); + notify($ERRORS{'OK'}, 0, "$computer_short_name next image is already set to $image_name"); } if ($request_preload_only) { @@ -477,9 +477,9 @@ sub reload_image { my $computer_type = $self->data->get_computer_type(); my $computer_ip_address = $self->data->get_computer_ip_address(); my $computer_state_name = $self->data->get_computer_state_name(); - my $computer_preferred_image_id = $self->data->get_computer_preferredimage_id(); - my $computer_preferred_image_name = $self->data->get_computer_preferredimage_name(); - my $computer_currentimage_name = $self->data->get_computer_currentimage_name(); + my $computer_next_image_id = $self->data->get_computer_nextimage_id(); + my $computer_next_image_name = $self->data->get_computer_nextimage_name(); + my $computer_currentimage_name = $self->data->get_computer_currentimage_name(); my $image_id = $self->data->get_image_id(); my $image_os_name = $self->data->get_image_os_name(); my $image_name = $self->data->get_image_name(); @@ -487,7 +487,7 @@ sub reload_image { my $image_project = $self->data->get_image_project(); my $image_reloadtime = $self->data->get_image_reload_time(); my $image_architecture = $self->data->get_image_architecture(); - my $image_os_install_type = $self->data->get_image_os_install_type(); + my $image_os_install_type = $self->data->get_image_os_install_type(); my $image_os_type = $self->data->get_image_os_type(); my $imagemeta_checkuser = $self->data->get_imagemeta_checkuser(); my $imagemeta_usergroupid = $self->data->get_imagemeta_usergroupid(); @@ -726,8 +726,8 @@ sub computer_not_being_used { my $computer_type = $self->data->get_computer_type(); my $computer_ip_address = $self->data->get_computer_ip_address(); my $computer_state_name = $self->data->get_computer_state_name(); - my $computer_preferred_image_id = $self->data->get_computer_preferredimage_id(); - my $computer_preferred_image_name = $self->data->get_computer_preferredimage_name(); + my $computer_next_image_id = $self->data->get_computer_nextimage_id(); + my $computer_next_image_name = $self->data->get_computer_nextimage_name(); my $image_id = $self->data->get_image_id(); my $image_os_name = $self->data->get_image_os_name(); my $image_name = $self->data->get_image_name(); @@ -965,8 +965,8 @@ sub reserve_computer { my $computer_type = $self->data->get_computer_type(); my $computer_ip_address = $self->data->get_computer_ip_address(); my $computer_state_name = $self->data->get_computer_state_name(); - my $computer_preferred_image_id = $self->data->get_computer_preferredimage_id(); - my $computer_preferred_image_name = $self->data->get_computer_preferredimage_name(); + my $computer_next_image_id = $self->data->get_computer_nextimage_id(); + my $computer_next_image_name = $self->data->get_computer_nextimage_name(); my $image_id = $self->data->get_image_id(); my $image_os_name = $self->data->get_image_os_name(); my $image_name = $self->data->get_image_name(); Modified: incubator/vcl/trunk/managementnode/lib/VCL/utils.pm URL: http://svn.apache.org/viewvc/incubator/vcl/trunk/managementnode/lib/VCL/utils.pm?rev=963439&r1=963438&r2=963439&view=diff ============================================================================== --- incubator/vcl/trunk/managementnode/lib/VCL/utils.pm (original) +++ incubator/vcl/trunk/managementnode/lib/VCL/utils.pm Mon Jul 12 19:10:40 2010 @@ -178,7 +178,7 @@ our @EXPORT = qw( set_logfile_path set_managementnode_state setimageid - setpreferredimage + setnextimage setstaticaddress string_to_ascii switch_state @@ -2472,7 +2472,7 @@ sub is_request_imaging { Description : Looks for any upcoming reservations for supplied computerid, if starttime is within 50 minutes return that imageid. Else - fetch and return preferred image + fetch and return next image =cut sub get_next_image_default { @@ -2536,8 +2536,8 @@ sub get_next_image_default { } ## end for (@selected_rows) } ## end if (scalar @selected_rows > 0) - # No upcoming reservations - fetch preferred image information - my $select_preferredimage = " + # No upcoming reservations - fetch next image information + my $select_nextimage = " SELECT DISTINCT imagerevision.imagename AS imagename, imagerevision.id AS imagerevisionid, @@ -2547,57 +2547,57 @@ sub get_next_image_default { computer, imagerevision WHERE - imagerevision.imageid = computer.preferredimageid + imagerevision.imageid = computer.nextimageid AND imagerevision.production = 1 - AND computer.preferredimageid = image.id + AND computer.nextimageid = image.id AND computer.id = $computerid "; # Call the database select subroutine # This will return an array of one or more rows based on the select statement - my @preferred_selected_rows = database_select($select_preferredimage); + my @next_selected_rows = database_select($select_nextimage); # Check to make sure at least 1 row were returned - if (scalar @preferred_selected_rows == 0) { - notify($ERRORS{'WARNING'}, 0, "get_next_image_default failed to fetch preferred image for computerid $computerid"); + if (scalar @next_selected_rows == 0) { + notify($ERRORS{'WARNING'}, 0, "get_next_image_default failed to fetch next image for computerid $computerid"); return 0; } - elsif (scalar @preferred_selected_rows > 1) { - notify($ERRORS{'WARNING'}, 0, "" . scalar @preferred_selected_rows . " rows were returned from database select"); + elsif (scalar @next_selected_rows > 1) { + notify($ERRORS{'WARNING'}, 0, "" . scalar @next_selected_rows . " rows were returned from database select"); return 0; } - notify($ERRORS{'OK'}, 0, "get_next_image_default : returning preferredimage image=$preferred_selected_rows[0]{imagename} imageid=$preferred_selected_rows[0]{imageid}"); - push(@ret_array, $preferred_selected_rows[0]{imagename}, $preferred_selected_rows[0]{imageid}, $preferred_selected_rows[0]{imagerevisionid}); + notify($ERRORS{'OK'}, 0, "get_next_image_default : returning next image=$next_selected_rows[0]{imagename} imageid=$next_selected_rows[0]{imageid}"); + push(@ret_array, $next_selected_rows[0]{imagename}, $next_selected_rows[0]{imageid}, $next_selected_rows[0]{imagerevisionid}); return @ret_array; } ## end sub get_next_image #///////////////////////////////////////////////////////////////////////////// -=head2 setpreferredimage +=head2 setnextimage Parameters : $computerid, $image Returns : 1 success, 0 failed - Description : updates preferredimageid on provided computerid + Description : updates nextimageid on provided computerid =cut -sub setpreferredimage { +sub setnextimage { my ($computerid, $imageid) = @_; my ($package, $filename, $line, $sub) = caller(0); notify($ERRORS{'WARNING'}, 0, "computerid: node is not defined") if (!(defined($computerid))); notify($ERRORS{'WARNING'}, 0, "imageid: node is not defined") if (!(defined($imageid))); - my $update_statement = " UPDATE computer SET preferredimageid = $imageid WHERE id = $computerid "; + my $update_statement = " UPDATE computer SET nextimageid = $imageid WHERE id = $computerid "; # Call the database execute subroutine if (database_execute($update_statement)) { return 1; } else { - notify($ERRORS{'WARNING'}, 0, "unable to update preferredimageid"); + notify($ERRORS{'WARNING'}, 0, "unable to update nextimageid"); return 0; } -} ## end sub setpreferredimage +} ## end sub setnextimage #///////////////////////////////////////////////////////////////////////////// @@ -4492,7 +4492,7 @@ sub get_request_info { computer.platformid AS computer_platformid, computer.scheduleid AS computer_scheduleid, computer.currentimageid AS computer_currentimageid, - computer.preferredimageid AS computer_preferredimageid, + computer.nextimageid AS computer_nextimageid, computer.imagerevisionid AS computer_imagerevisionid, computer.RAM AS computer_RAM, computer.procnumber AS computer_procnumber, @@ -4643,28 +4643,28 @@ sub get_request_info { notify($ERRORS{'WARNING'}, 0, "currentimageid is not set for computer id=" . $reservation_row{computer_id}); } - # Get the computer's preferred image information - if ($reservation_row{computer_preferredimageid}) { - my %computer_preferredimage_info; - if (%computer_preferredimage_info = get_image_info($reservation_row{computer_preferredimageid})) { - $request_info{reservation}{$reservation_id}{computer}{preferredimage} = \%computer_preferredimage_info; - - # For preferred imageid get the production imagerevision info - my %preferred_imagerevision_info; - if (%preferred_imagerevision_info = get_production_imagerevision_info($reservation_row{computer_preferredimageid})) { - $request_info{reservation}{$reservation_id}{computer}{preferredimagerevision} = \%preferred_imagerevision_info; + # Get the computer's next image information + if ($reservation_row{computer_nextimageid}) { + my %computer_nextimage_info; + if (%computer_nextimage_info = get_image_info($reservation_row{computer_nextimageid})) { + $request_info{reservation}{$reservation_id}{computer}{nextimage} = \%computer_nextimage_info; + + # For next imageid get the production imagerevision info + my %next_imagerevision_info; + if (%next_imagerevision_info = get_production_imagerevision_info($reservation_row{computer_nextimageid})) { + $request_info{reservation}{$reservation_id}{computer}{nextimagerevision} = \%next_imagerevision_info; } else { - notify($ERRORS{'WARNING'}, 0, "unable to get preferred image revision info for computer, image revision ID is not set, tried to get production image for image ID " . $reservation_row{computer_preferredimageid}); + notify($ERRORS{'WARNING'}, 0, "unable to get next image revision info for computer, image revision ID is not set, tried to get production image for image ID " . $reservation_row{computer_nextimageid}); } - } ## end if (%computer_preferredimage_info = get_image_info... + } ## end if (%computer_nextimage_info = get_image_info... else { - notify($ERRORS{'WARNING'}, 0, "unable to get preferredimage image info for computer"); + notify($ERRORS{'WARNING'}, 0, "unable to get nextimage image info for computer"); } - } ## end if ($reservation_row{computer_preferredimageid... + } ## end if ($reservation_row{computer_nextimageid... else { # currentimageid wasn't set for the computer - notify($ERRORS{'WARNING'}, 0, "preferredimageid is not set for computer id=" . $reservation_row{computer_id}); + notify($ERRORS{'WARNING'}, 0, "nextimageid is not set for computer id=" . $reservation_row{computer_id}); } # Get the computer's current imagemeta information @@ -6357,14 +6357,14 @@ sub update_computer_imagename { =head2 update_currentimage - Parameters : $computerid, $imageid, $imagerevisionid, $preferredimagid(optional) + Parameters : $computerid, $imageid, $imagerevisionid, $nextimagid(optional) Returns : 0 failed or 1 success - Description : Updates currentimage on a node, preferredimageid = optional + Description : Updates currentimage on a node, nextimageid = optional =cut sub update_currentimage { - my ($computerid, $imageid, $imagerevisionid, $preferredimagid) = @_; + my ($computerid, $imageid, $imagerevisionid, $nextimagid) = @_; my ($package, $filename, $line, $sub) = caller(0); # Check the passed parameters @@ -6384,7 +6384,7 @@ sub update_currentimage { notify($ERRORS{'OK'}, 0, "updating computer $computerid: image=$imageid, imagerevision=$imagerevisionid"); # Construct the update statement - # If $preferredimageid defined and set build slightly different statement + # If $nextimageid defined and set build slightly different statement my $update_statement = " UPDATE computer c, image i @@ -6395,18 +6395,18 @@ sub update_currentimage { c.id = $computerid "; - if (defined($preferredimagid) && ($preferredimagid)) { + if (defined($nextimagid) && ($nextimagid)) { $update_statement = " UPDATE computer c, image i SET c.currentimageid = $imageid, - c.preferredimageid = $imageid, + c.nextimageid = $imageid, c.imagerevisionid= $imagerevisionid WHERE c.id = $computerid "; - } ## end if (defined($preferredimagid) && ($preferredimagid... + } ## end if (defined($nextimagid) && ($nextimagid... # Call the database execute subroutine if (database_execute($update_statement)) {