Author: fapeeler Date: Fri Jun 5 16:31:20 2009 New Revision: 782058 URL: http://svn.apache.org/viewvc?rev=782058&view=rev Log: minor clean-up of unused routines
removed routine entrys for virtual_status_vm virtual_status_unix getanothermachine an older reservations_ready routine Modified: incubator/vcl/trunk/managementnode/lib/VCL/utils.pm Modified: incubator/vcl/trunk/managementnode/lib/VCL/utils.pm URL: http://svn.apache.org/viewvc/incubator/vcl/trunk/managementnode/lib/VCL/utils.pm?rev=782058&r1=782057&r2=782058&view=diff ============================================================================== --- incubator/vcl/trunk/managementnode/lib/VCL/utils.pm (original) +++ incubator/vcl/trunk/managementnode/lib/VCL/utils.pm Fri Jun 5 16:31:20 2009 @@ -136,7 +136,6 @@ get_resource_groups get_managable_resource_groups get_vmhost_info - getanothermachine getdynamicaddress getimagesize getnewdbh @@ -202,8 +201,6 @@ update_request_state update_reservation_lastcheck update_sublog_ipaddress - virtual_status_unix - virtual_status_vm windowsroutetable write_currentimage_txt xmlrpc_call @@ -2740,35 +2737,6 @@ #///////////////////////////////////////////////////////////////////////////// -=head2 setimagid - - Parameters : $dbh, $computerid, $image, $imageid, $imagerevisionid - Returns : 1 - Description : updates imageid and imagerevisionid on provided computerid - -sub setimageid { - my ($dbh, $computerid, $image, $imageid, $imagerevisionid) = @_; - my ($package, $filename, $line, $sub) = caller(0); - notify($ERRORS{'WARNING'}, 0, "setimageid: computerid is not defined") if (!(defined($computerid))); - notify($ERRORS{'WARNING'}, 0, "setimageid: image is not defined") if (!(defined($image))); - notify($ERRORS{'WARNING'}, 0, "setimageid: imageid is not defined") if (!(defined($imageid))); - $imagerevisionid = 0 if (!(defined($imagerevisionid))); - - - my $update_statement="UPDATE computer c SET c.currentimageid = $imageid,c.imagerevisionid = $imagerevisionid WHERE c.id = $computerid" ; - # Call the database execute subroutine - if (database_execute($update_statement)) { - return 1; - } - else { - notify($ERRORS{'WARNING'}, 0, "unable to update preferredimageid"); - return 0; - } -} ## end sub setimageid -=cut - -#///////////////////////////////////////////////////////////////////////////// - =head2 setpreferredimage Parameters : $computerid, $image @@ -3581,98 +3549,6 @@ #///////////////////////////////////////////////////////////////////////////// -=head2 virtual_status_unix - - Parameters : $hostname, $os, $mnOS, $ipaddress, $log - Returns : array of values - pingable,sshd,vclclientd running - Description : runs status check on supplied node -=cut - -sub virtual_status_unix { - my ($hostname, $os, $mnOS, $ipaddress, $log) = @_; - my ($package, $filename, $line, $sub) = caller(0); - $log = 0 if (!(defined($log))); - notify($ERRORS{'WARNING'}, $log, "hostname is not defined") if (!(defined($hostname))); - notify($ERRORS{'WARNING'}, $log, "os is not defined") if (!(defined($os))); - notify($ERRORS{'WARNING'}, $log, "ManagementNode OS is not defined") if (!(defined($mnOS))); - notify($ERRORS{'WARNING'}, $log, "ipaddress is not defined") if (!(defined($ipaddress))); - my @status; - # status[0] = pingable - # status[1] = port 24 accessible - # status[2] = vclclientd running - # status[3] = - my @file; - my $p; - my $osname = lc($^O); - $mnOS = $osname; - notify($ERRORS{'DEBUG'}, $log, "virtual_status_unix MNos= $mnOS"); - - - #is host listed in our local known_hosts file? - if (known_hosts($hostname, $mnOS, $ipaddress)) { - notify($ERRORS{'OK'}, $log, "$hostname pub key added to local known_hosts"); - } - else { - notify($ERRORS{'OK'}, $log, "failed to add $hostname pub rsa key to local known_hosts"); - } - - #is pingable - $status[0] = _pingnode($ipaddress); - - #is ssh open on admin port - my @ssh; - my ($n, $identity); - - if ($os =~ /sun4x/) { - $identity = $IDENTITY_solaris_lab; - } - elsif ($os =~ /rhel/) { - $identity = $IDENTITY_linux_lab; - } - else { - notify($ERRORS{'OK'}, $log, "os $os set but not something I can handle yet, will attempt the unix identity."); - - $identity = $IDENTITY_solaris_lab; - } - $status[1] = 0; - if (check_ssh($ipaddress, 24, $log)) { - my $shortname = $1 if ($hostname =~ /([-_a-zA-Z0-9]*)\./); - $shortname = $hostname if (!defined($shortname)); - - my @ssh = run_ssh_command($ipaddress, $identity, "echo testing", "vclstaff", 24); - foreach $n (@{$ssh[1]}) { - next if ($n =~ /Warning: Permanently added/); - notify($ERRORS{'OK'}, $log, "$n"); - if ($n =~ /testing/) { - $status[1] = 1; - notify($ERRORS{'OK'}, $log, "SUCCESS $ipaddress port 24 is accessible"); - } - } - if ($status[1]) { - #is vclclientd running - $status[2] = 0; - my @file = run_ssh_command($ipaddress, $identity, "pgrep vclclient", "vclstaff", 24); - foreach my $f (@{$file[1]}) { - chomp($f); - next if ($f =~ /Warning: Permanently added/); - if ($f =~ /[0-9]+/) { - #notify($ERRORS{'OK'},$log,"SUCCESS vclclientd is running on $hostname"); - $status[2] = 1; - } - } - } ## end if ($status[1]) - else { - # hrm -p24 is not accessible - # return so caller can try to get another machine - notify($ERRORS{'WARNING'}, $log, "FAILURE $hostname port 24 is NOT accessible ssh output @ssh"); - $status[2] = 0; - } - } ## end if (check_ssh($ipaddress, 24, $log)) - return @status; -} ## end sub virtual_status_unix - -#///////////////////////////////////////////////////////////////////////////// - =head2 getnewdbh Parameters : none @@ -4481,47 +4357,6 @@ } ## end else [ if ($account eq "root") } ## end sub changelinuxpassword - -#///////////////////////////////////////////////////////////////////////////// - -=head2 getanothermachine - - Parameters : useid,imagename - Returns : available machine if successful or 0 on failure - Description : NOT COMPLETED - to be used in case of a failure on reservation, - if the box is reloading or failed in some fashion - using rpc call to php on webserver - -=cut - -sub getanothermachine { - my ($userid, $imageid) = @_; - my ($package, $filename, $line, $sub) = caller(0); - notify($ERRORS{'WARNING'}, 0, "userid is not defined") if (!(defined($userid))); - notify($ERRORS{'WARNING'}, 0, "imagid is not defined") if (!(defined($imageid))); - - my $function = "getUserResources"; - #Parameters for getUserResources function : - #$userprivs - array of privileges to look for (such as imageAdmin, imageCheckOut, etc); don't include 'block' or 'cascade' - #$resourceprivs- array of privileges to look for (such as available, administer, manageGroup); don't include 'block' or 'cascade' - #$onlygroups - (optional) if 1, return the resource groups instead of the resources - #$includedeleted - (optional) included deleted resources if 1, don't if 0 - #$userid - (optional) id from the user table, if not given, use the id of the currently logged in user - - my $arg1 = "imageAdmin:imageCheckOut"; - my $arg2 = "available:"; - my $arg3 = 0; - my $arg4 = 0; - my $arg5 = $userid; - - eval { - my $doc = get("https://vcl.ncsu.edu/scheduling/index.php?mode=vcldquery&key=$VCLDRPCQUERYKEY&query=$function,$arg1,$arg2,$arg3,$arg4,$arg5"); - - } - -} ## end sub getanothermachine - - #///////////////////////////////////////////////////////////////////////////// =head2 getusergroupmembers @@ -10378,171 +10213,6 @@ } ## end sub reservations_ready -##///////////////////////////////////////////////////////////////////////////// -# -#=head2 reservations_ready -# -# Parameters : request ID -# Returns : 1 if all reservations are ready, 0 if any are not ready, undefined if any failed -# Description : -# -#=cut -# -#sub reservations_ready { -# my ($request_id) = @_; -# -# # Make sure request ID was passed -# if (!$request_id) { -# notify($ERRORS{'WARNING'}, 0, "request ID argument was not passed"); -# return; -# } -# -# my $select_statement = " -# SELECT -# requeststate.name AS request_state, -# reservation.id AS reservation_id, -# computerloadstate.loadstatename, -# computerstate.name AS computer_state -# -# FROM -# request, -# state requeststate, -# reservation -# -# LEFT JOIN -# computerloadlog -# ON ( -# computerloadlog.reservationid = reservation.id -# ) -# -# LEFT JOIN -# computerloadstate -# ON ( -# computerloadstate.id = computerloadlog.loadstateid -# ), -# -# computer, -# state computerstate -# -# WHERE -# request.id = $request_id -# AND reservation.requestid = request.id -# AND computer.id = reservation.computerid -# AND computerstate.id = computer.stateid -# AND requeststate.id = request.stateid -# "; -# -# # Call the database select subroutine -# # This will return an array of one or more rows based on the select statement -# my @computerloadlog_rows = database_select($select_statement); -# -# # Check to make sure 1 row was returned -# if (scalar @computerloadlog_rows == 0) { -# notify($ERRORS{'WARNING'}, 0, "reservations associated with request $request_id could not be retrieved from the database, 0 rows were returned"); -# return; -# } -# -# my %reservation_status; -# -# # Loop through the rows, check the loadstate and computer state -# for my $computerloadlog_row (@computerloadlog_rows) { -# my $reservation_id = $computerloadlog_row->{reservation_id}; -# my $request_state_name = $computerloadlog_row->{request_state}; -# my $computerloadstate_name = $computerloadlog_row->{loadstatename}; -# my $computer_state_name = $computerloadlog_row->{computer_state}; -# -# # If request state has been changed to reserved or inuse, assume all reservations are ready -# if ($request_state_name =~ /^(reserved|inuse)$/i) { -# notify($ERRORS{'OK'}, 0, "assuming all reservations are ready, request state is $request_state_name"); -# return 1; -# } -# -# # If request state has been changed to failed or maintenance, return fail -# if ($request_state_name =~ /^(failed|maintenance)$/i) { -# notify($ERRORS{'WARNING'}, 0, "unable to determine if all reservations are ready, request state = $request_state_name"); -# return; -# } -# -# # If request been deleted, return 0 -# if ($request_state_name =~ /^(deleted)$/i) { -# notify($ERRORS{'OK'}, 0, "request state = $request_state_name"); -# return 0; -# } -# -# -# # Check for computerloadstate = failed -# if ($computerloadstate_name =~ /failed/i) { -# $reservation_status{$reservation_id} = "failed: computerloadstate = $computerloadstate_name"; -# next; -# } -# -# # Check for bad computer states -# if ($computer_state_name =~ /^(failed|maintenance|deleted)$/i) { -# $reservation_status{$reservation_id} = "failed: computer state = $computer_state_name"; -# next -# } -# -# -# # Skip if loadstatename is undefined, means no computerloadlog rows exist for the reservation -# if (!defined($computerloadstate_name)) { -# $reservation_status{$reservation_id} = 'not ready: no computerloadlog entries exist'; -# next; -# } -# -# # Check for loadstatnames we care about -# if ($computerloadstate_name =~ /^(loadimagecomplete|nodeready|reserved)$/i) { -# $reservation_status{$reservation_id} = "ready: computerloadstate $computerloadstate_name"; -# next; -# } -# -# -# # Check if computer state indicates it isn't ready -# if ($computer_state_name =~ /^(reload|reloading|available)$/i) { -# $reservation_status{$reservation_id} = "not ready: computer state = $computer_state_name"; -# next; -# } -# -# notify($ERRORS{'WARNING'}, 0, "unexpected situation: reservation $reservation_id, request state: $request_state_name, computer state: $computer_state_name, computerloadstate: $computerloadstate_name"); -# $reservation_status{$reservation_id} = "not ready: unexpected situation"; -# -# } ## end for my $computerloadlog_row (@computerloadlog_rows) -# -# -# # Assemble a string of all of the statuses -# my $status_string = ''; -# my $failed = 0; -# my $ready = 1; -# foreach my $reservation_check_id (sort keys(%reservation_status)) { -# my $reservation_check_status = $reservation_status{$reservation_check_id}; -# $status_string .= "reservation $request_id:$reservation_check_id: $reservation_check_status\n"; -# -# # Set the failed flag to 1 if any reservations failed -# if ($reservation_check_status =~ /failed/i) { -# $failed = 1; -# } -# -# # Set the ready flag to 0 if any reservations are set to 0 (matching state wasn't found) -# if ($reservation_check_status =~ /not ready/) { -# $ready = 0; -# } -# } ## end foreach my $reservation_check_id (sort keys(%reservation_status... -# -# if ($failed) { -# notify($ERRORS{'WARNING'}, 0, "request $request_id has failed reservations, returning undefined:\n$status_string"); -# return; -# } -# -# if ($ready) { -# notify($ERRORS{'OK'}, 0, "all reservations for request $request_id are ready, returning $ready:\n$status_string"); -# } -# else { -# notify($ERRORS{'OK'}, 0, "not all reservations for request $request_id are ready, returning $ready:\n$status_string"); -# } -# -# return $ready; -# -#} ## end sub reservations_ready - #///////////////////////////////////////////////////////////////////////////// =head2 reservation_being_processed