Author: arkurth
Date: Fri Sep 19 20:41:09 2014
New Revision: 1626325

URL: http://svn.apache.org/r1626325
Log:
Cleaned up indentation and formatting in Level_0.pm and Level_1.pm.

Modified:
    vcl/trunk/managementnode/lib/VCL/Module/Predictive/Level_0.pm
    vcl/trunk/managementnode/lib/VCL/Module/Predictive/Level_1.pm

Modified: vcl/trunk/managementnode/lib/VCL/Module/Predictive/Level_0.pm
URL: 
http://svn.apache.org/viewvc/vcl/trunk/managementnode/lib/VCL/Module/Predictive/Level_0.pm?rev=1626325&r1=1626324&r2=1626325&view=diff
==============================================================================
--- vcl/trunk/managementnode/lib/VCL/Module/Predictive/Level_0.pm (original)
+++ vcl/trunk/managementnode/lib/VCL/Module/Predictive/Level_0.pm Fri Sep 19 
20:41:09 2014
@@ -78,64 +78,63 @@ sub get_next_image {
                exit 1;
        }
        #notify($ERRORS{'WARNING'}, 0, "get_next_image_revision works!");
-
+       
        # Retrieve variables from the DataStructure
        my $request_id          = $self->data->get_request_id();
        my $reservation_id      = $self->data->get_reservation_id();
        my $computer_id         = $self->data->get_computer_id();
        my $computer_short_name = $self->data->get_computer_short_name();
-
+       
        my $notify_prefix = "predictive_reload_Level_0: ";
-
+       
        notify($ERRORS{'OK'}, 0, "$notify_prefix for $computer_id");
-
+       
        #check if node is part of block reservation 
-       if(is_inblockrequest($computer_id)){
+       if (is_inblockrequest($computer_id)) {
                notify($ERRORS{'DEBUG'}, 0, "computer id $computer_id is in 
blockComputers table");
-                my @block_ret_array = 
get_block_request_image_info($computer_id);
-
-               if(defined($block_ret_array[0]) && $block_ret_array[0]){
+               my @block_ret_array = 
get_block_request_image_info($computer_id);
+               
+               if (defined($block_ret_array[0]) && $block_ret_array[0]) {
                        return @block_ret_array;
                }
                else{
                        notify($ERRORS{'WARNING'}, 0, "computer $computer_id is 
part of blockComputers, failed to return image info"); 
                }
-
        }
-
+       
        my $select_statement = "
-       SELECT DISTINCT
-       req.start AS starttime,
-       ir.imagename AS imagename,
-       res.imagerevisionid AS imagerevisionid,
-       res.imageid AS imageid
-       FROM
-       reservation res,
-       request req,
-       image i,
-       state s,
-       imagerevision ir
-   WHERE
-       res.requestid = req.id
-       AND req.stateid = s.id
-       AND i.id = res.imageid
-       AND ir.id = res.imagerevisionid
-       AND res.computerid = $computer_id
-       AND (s.name = \'new\' OR s.name = \'reload\' OR s.name = \'imageprep\')
-   ";
-
+               SELECT DISTINCT
+               req.start AS starttime,
+               ir.imagename AS imagename,
+               res.imagerevisionid AS imagerevisionid,
+               res.imageid AS imageid
+               FROM
+               reservation res,
+               request req,
+               image i,
+               state s,
+               imagerevision ir
+               WHERE
+               res.requestid = req.id
+               AND req.stateid = s.id
+               AND i.id = res.imageid
+               AND ir.id = res.imagerevisionid
+               AND res.computerid = $computer_id
+               AND (s.name = \'new\' OR s.name = \'reload\' OR s.name = 
\'imageprep\')
+       ";
+       
        # Call the database select subroutine
        # This will return an array of one or more rows based on the select 
statement
        my @selected_rows = database_select($select_statement);
        my @ret_array;
-
+       
        # Check to make sure 1 or more rows were returned
        if (scalar @selected_rows > 0) {
                # Loop through list of upcoming reservations
                # Based on the start time load the next one
-
+               
                my $now = time();
-
+               
                # It contains a hash
                for (@selected_rows) {
                        my %reservation_row = %{$_};
@@ -154,29 +153,29 @@ sub get_next_image {
                        }
                } ## end for (@selected_rows)
        } ## end if (scalar @selected_rows > 0)
-
+       
        # No upcoming reservations - fetch next image information
        my $select_nextimage = "
-       SELECT DISTINCT
-       imagerevision.imagename AS imagename,
-       imagerevision.id AS imagerevisionid,
-       image.id AS imageid
-       FROM
-       image,
-       computer,
-       imagerevision
-   WHERE
-       imagerevision.imageid = computer.nextimageid
-       AND imagerevision.production = 1
-       AND computer.nextimageid = image.id
-       AND computer.id = $computer_id
+               SELECT DISTINCT
+               imagerevision.imagename AS imagename,
+               imagerevision.id AS imagerevisionid,
+               image.id AS imageid
+               FROM
+               image,
+               computer,
+               imagerevision
+               WHERE
+               imagerevision.imageid = computer.nextimageid
+               AND imagerevision.production = 1
+               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 @next_selected_rows = database_select($select_nextimage);
-
+       
        # Check to make sure at least 1 row were returned
        if (scalar @next_selected_rows == 0) {
                notify($ERRORS{'WARNING'}, 0, "$notify_prefix failed to fetch 
next image for computerid $computer_id");
@@ -187,13 +186,12 @@ sub get_next_image {
                return 0;
        }
        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});
+       push (@ret_array, $next_selected_rows[0]{imagename}, 
$next_selected_rows[0]{imageid}, $next_selected_rows[0]{imagerevisionid});
        #Clear next_imageid
        if(!clear_next_image_id($computer_id)){
-          notify($ERRORS{'WARNING'}, 0, "$notify_prefix failed to clear 
next_image_id for computerid $computer_id");
+               notify($ERRORS{'WARNING'}, 0, "$notify_prefix failed to clear 
next_image_id for computerid $computer_id");
        }
        return @ret_array;
-
 } ## end sub get_next_image_revision
 
 #/////////////////////////////////////////////////////////////////////////////

Modified: vcl/trunk/managementnode/lib/VCL/Module/Predictive/Level_1.pm
URL: 
http://svn.apache.org/viewvc/vcl/trunk/managementnode/lib/VCL/Module/Predictive/Level_1.pm?rev=1626325&r1=1626324&r2=1626325&view=diff
==============================================================================
--- vcl/trunk/managementnode/lib/VCL/Module/Predictive/Level_1.pm (original)
+++ vcl/trunk/managementnode/lib/VCL/Module/Predictive/Level_1.pm Fri Sep 19 
20:41:09 2014
@@ -77,66 +77,63 @@ sub get_next_image {
                notify($ERRORS{'CRITICAL'}, 0, "subroutine was called as a 
function, it must be called as a class method, process exiting");
                exit 1;
        }
-       #notify($ERRORS{'WARNING'}, 0, "get_next_image_revision works!");
-
+       
        # Retrieve variables from the DataStructure
-       my $request_id          = $self->data->get_request_id();
-       my $reservation_id      = $self->data->get_reservation_id();
-       my $computer_id         = $self->data->get_computer_id();
-       my $computer_short_name = $self->data->get_computer_short_name();
+       my $request_id           = $self->data->get_request_id();
+       my $reservation_id       = $self->data->get_reservation_id();
+       my $computer_id          = $self->data->get_computer_id();
+       my $computer_short_name  = $self->data->get_computer_short_name();
        my $computer_nextimage_id = $self->data->get_computer_nextimage_id();
-
+       
        my @ret_array;
        my $notify_prefix = "predictive_reload_Level_1 :";
-
+       
        notify($ERRORS{'OK'}, 0, "$notify_prefix starting 
predictive_reload_level_1 for $computer_id");
-
-       #check if node is part of block reservation 
-       if(is_inblockrequest($computer_id)){
+       
+       # Check if node is part of block reservation 
+       if (is_inblockrequest($computer_id)) {
                notify($ERRORS{'DEBUG'}, 0, "computer id $computer_id is in 
blockComputers table");
                my @block_ret_array = 
get_block_request_image_info($computer_id);
-
-               if(defined($block_ret_array[0]) && $block_ret_array[0]){
+               if (defined($block_ret_array[0]) && $block_ret_array[0]) {
                        return @block_ret_array;
                }
                else{
                        notify($ERRORS{'WARNING'}, 0, "computer $computer_id is 
part of blockComputers, failed to return image info"); 
                }
        }
-
-       #If nextimageid set, set to default 0 and return the imageid
-       if(defined($computer_nextimage_id) && $computer_nextimage_id) {
+       
+       # If nextimageid set, set to default 0 and return the imageid
+       if (defined($computer_nextimage_id) && $computer_nextimage_id) {
                #Get computer_nextimage_id info
                my $select_nextimage = " 
-               SELECT DISTINCT
-               imagerevision.imagename AS imagename,
-               imagerevision.id AS imagerevisionid,
-               image.id AS imageid
-               FROM
-               image,
-               computer,
-               imagerevision
-               WHERE
-               imagerevision.imageid = computer.nextimageid
-               AND imagerevision.production = 1
-               AND computer.nextimageid = image.id
-               AND computer.id = $computer_id
+                       SELECT DISTINCT
+                       imagerevision.imagename AS imagename,
+                       imagerevision.id AS imagerevisionid,
+                       image.id AS imageid
+                       FROM
+                       image,
+                       computer,
+                       imagerevision
+                       WHERE
+                       imagerevision.imageid = computer.nextimageid
+                       AND imagerevision.production = 1
+                       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 @next_selected_rows = database_select($select_nextimage);
                # Check to make sure at least 1 row were returned
                if (scalar @next_selected_rows == 0) {
                        notify($ERRORS{'WARNING'}, 0, "$notify_prefix failed to 
fetch next image for computerid $computer_id");
                }   
-               elsif (scalar @next_selected_rows > 1) {      
notify($ERRORS{'WARNING'}, 0, "" . scalar @next_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");
                }
                else {
                        notify($ERRORS{'OK'}, 0, "$notify_prefix returning 
nextimage image=$next_selected_rows[0]{imagename} 
imageid=$next_selected_rows[0]{imageid}");
                        my @next_image_ret_array;
-                       push(@next_image_ret_array, 
$next_selected_rows[0]{imagename}, $next_selected_rows[0]{imageid}, 
$next_selected_rows[0]{imagerevisionid});
+                       push (@next_image_ret_array, 
$next_selected_rows[0]{imagename}, $next_selected_rows[0]{imageid}, 
$next_selected_rows[0]{imagerevisionid});
                        
                        #Clear next_imageid
                        if(!clear_next_image_id($computer_id)){
@@ -144,52 +141,46 @@ sub get_next_image {
                        }
                        return @next_image_ret_array;
                }
-
        }
-
-
+       
        my $select_statement = "
-                 SELECT DISTINCT
-                 req.start AS starttime,
-                 ir.imagename AS imagename,
-        res.imagerevisionid AS imagerevisionid,
-        res.imageid AS imageid
-        FROM
-        reservation res,
-        request req,
-        image i,
-        state s,
-        imagerevision ir
-   WHERE
-        res.requestid = req.id
-        AND req.stateid = s.id
-        AND i.id = res.imageid
-        AND ir.id = res.imagerevisionid
-        AND res.computerid = $computer_id
-        AND (s.name = \'new\' OR s.name = \'reload\' OR s.name = \'imageprep\')
-   ";
-
+               SELECT DISTINCT
+               req.start AS starttime,
+               ir.imagename AS imagename,
+               res.imagerevisionid AS imagerevisionid,
+               res.imageid AS imageid
+               FROM
+               reservation res,
+               request req,
+               image i,
+               state s,
+               imagerevision ir
+               WHERE
+               res.requestid = req.id
+               AND req.stateid = s.id
+               AND i.id = res.imageid
+               AND ir.id = res.imagerevisionid
+               AND res.computerid = $computer_id
+               AND (s.name = \'new\' OR s.name = \'reload\' OR s.name = 
\'imageprep\')
+       ";
+       
        # Call the database select subroutine
        # This will return an array of one or more rows based on the select 
statement
        my @selected_rows = database_select($select_statement);
        
-
        # Check to make sure 1 or more rows were returned
        if (scalar @selected_rows > 0) {
                # Loop through list of upcoming reservations
                # Based on the start time load the next one
-
+               
                my $now = time();
-
+               
                # It contains a hash
                for (@selected_rows) {
                        my %reservation_row = %{$_};
-                       # $reservation_row{starttime}
-                       # $reservation_row{imagename}
-                       # $reservation_row{imagerevisionid}
-                       # $reservation_row{imageid}
                        my $epoch_start = 
convert_to_epoch_seconds($reservation_row{starttime});
-                       my $diff        = $epoch_start - $now;
+                       my $diff = $epoch_start - $now;
+                       
                        # If start time is less than 50 minutes from now return 
this image
                        notify($ERRORS{'OK'}, 0, "$notify_prefix diff= $diff 
image= $reservation_row{imagename} imageid=$reservation_row{imageid}");
                        if ($diff < (50 * 60)) {
@@ -199,20 +190,21 @@ sub get_next_image {
                        }
                } ## end for (@selected_rows)
        } ## end if (scalar @selected_rows > 0)
-
+       
        # No upcoming reservations - determine most popular, unloaded image
-
+       
        # determine state of system
-
+       
        # get machine type
        my $select_type = "
-    SELECT
-    type,provisioningid
-        FROM
-         computer
-         WHERE
-         id = $computer_id
-                ";
+               SELECT
+               type,provisioningid
+               FROM
+               computer
+               WHERE
+               id = $computer_id
+       ";
+       
        my @data = database_select($select_type);
        if (scalar @data == 0) {
                notify($ERRORS{'WARNING'}, 0, "$notify_prefix failed to fetch 
preferred image for computer_id $computer_id");
@@ -220,102 +212,106 @@ sub get_next_image {
        }
        my $type = $data[0]{type};
        my $provisioningid = $data[0]{provisioningid};
-
+       
        # online machines
        my $select_online = "
-         SELECT
-         COUNT(id) as cnt
-         FROM
-         computer
-         WHERE
-         stateid IN (2, 3, 6, 8, 11)
-         AND type = '$type'
-                 ";
+               SELECT
+               COUNT(id) as cnt
+               FROM
+               computer
+               WHERE
+               stateid IN (2, 3, 6, 8, 11)
+               AND type = '$type'
+       ";
+       
        @data = database_select($select_online);
        if (scalar @data == 0) {
                notify($ERRORS{'WARNING'}, 0, "$notify_prefix failed to fetch 
preferred image for computer_id $computer_id");
                return 0;
        }
        my $online = $data[0]{cnt};
-
+       
        # available machines
        my $select_available = "
-        SELECT
-        COUNT(id) AS cnt
-        FROM
-        computer
-        WHERE
-        stateid = 2
-        AND type = '$type'
-        ";
+               SELECT
+               COUNT(id) AS cnt
+               FROM
+               computer
+               WHERE
+               stateid = 2
+               AND type = '$type'
+       ";
+       
        @data = database_select($select_available);
        if (scalar @data == 0) {
                notify($ERRORS{'WARNING'}, 0, "$notify_prefix failed to fetch 
preferred image for computer_id $computer_id");
                return 0;
        }
+       
        my $avail = $data[0]{cnt};
-
+       
        # check if > X% usage, look at past X days, otherwise, look at past 2 
months
        my $timeframe;
        my $notavail = ($online - $avail);
        my $usage = ($notavail / $online);
-       if ( $usage > 0.40) {
-                $timeframe = '1 DAY';
-        }
-        elsif( $usage > 0.35) {
-                $timeframe = '2 DAY';
-        }
-        elsif( $usage > 0.30) {
-                $timeframe = '3 DAY';
-        }
-        elsif( $usage > 0.25) {
-                $timeframe = '4 DAY';
-        }
-        elsif( $usage > 0.20) {
-                $timeframe = '5 DAY';
-        }
-        elsif( $usage > 0.15) {
-                $timeframe = '10 DAY';
-        }
-        elsif( $usage > 0.10) {
-                $timeframe = '20 DAY';
-        }
-        elsif( $usage > 0.05) {
-                $timeframe = '30 DAY';
-        }
+       if ($usage > 0.40) {
+               $timeframe = '1 DAY';
+       }
+       elsif ($usage > 0.35) {
+               $timeframe = '2 DAY';
+       }
+       elsif ($usage > 0.30) {
+               $timeframe = '3 DAY';
+       }
+       elsif ($usage > 0.25) {
+               $timeframe = '4 DAY';
+       }
+       elsif ($usage > 0.20) {
+               $timeframe = '5 DAY';
+       }
+       elsif ($usage > 0.15) {
+               $timeframe = '10 DAY';
+       }
+       elsif ($usage > 0.10) {
+               $timeframe = '20 DAY';
+       }
+       elsif ($usage > 0.05) {
+               $timeframe = '30 DAY';
+       }
        else {
                $timeframe = '2 MONTH';
        }
-
+       
        notify($ERRORS{'OK'}, 0, "$notify_prefix computer_short_name= 
$computer_short_name type= $type");
-   notify($ERRORS{'OK'}, 0, "$notify_prefix avail= $avail notavail= $notavail 
online= $online timeframe= $timeframe");
-
+       notify($ERRORS{'OK'}, 0, "$notify_prefix avail= $avail notavail= 
$notavail online= $online timeframe= $timeframe");
+       
        # what images map to this computer
        my $select_mapped_images = "
-        SELECT
-        id
-        FROM
-        resource
-        WHERE
-        resourcetypeid = 12
-        AND subid = $computer_id
-        ";
+               SELECT
+               id
+               FROM
+               resource
+               WHERE
+               resourcetypeid = 12
+               AND subid = $computer_id
+       ";
        @data = database_select($select_mapped_images);
        if (scalar @data == 0) {
                notify($ERRORS{'WARNING'}, 0, "$notify_prefix failed to fetch 
preferred image for computer_id $computer_id");
                return 0;
        }
        my $resourceid = $data[0]{id};
-
+       
        my $select_compgrps1 = "
-        SELECT
-        resourcegroupid
-        FROM
-        resourcegroupmembers
-        WHERE
-        resourceid = $resourceid
-        ";
+               SELECT
+               resourcegroupid
+               FROM
+               resourcegroupmembers
+               WHERE
+               resourceid = $resourceid
+       ";
        @data = database_select($select_compgrps1);
+       
        if (scalar @data == 0) {
                notify($ERRORS{'WARNING'}, 0, "$notify_prefix failed to fetch 
preferred image for computer_id $computer_id");
                return 0;
@@ -325,34 +321,36 @@ sub get_next_image {
                my %row = %{$_};
                push(@compgroups, $row{resourcegroupid});
        }
-
+       
        my $inlist = join(',', @compgroups);
        my $select_imggrps1 = "
-        SELECT
-        resourcegroupid2
-        FROM
-        resourcemap
-        WHERE
-        resourcetypeid1 = 12
-        AND resourcegroupid1 IN ($inlist)
-        AND resourcetypeid2 = 13
-        ";
+               SELECT
+               resourcegroupid2
+               FROM
+               resourcemap
+               WHERE
+               resourcetypeid1 = 12
+               AND resourcegroupid1 IN ($inlist)
+               AND resourcetypeid2 = 13
+       ";
        @data = database_select($select_imggrps1);
+       
        my @imggroups;
        foreach (@data) {
                my %row = %{$_};
                push(@imggroups, $row{resourcegroupid2});
        }
+       
        my $select_imggrps2 = "
-        SELECT
-        resourcegroupid1
-        FROM
-        resourcemap
-        WHERE
-        resourcetypeid2 = 12
-        AND resourcegroupid2 IN ($inlist)
-        AND resourcetypeid1 = 13
-        ";
+               SELECT
+               resourcegroupid1
+               FROM
+               resourcemap
+               WHERE
+               resourcetypeid2 = 12
+               AND resourcegroupid2 IN ($inlist)
+               AND resourcetypeid1 = 13
+       ";
        @data = database_select($select_imggrps2);
        foreach (@data) {
                my %row = %{$_};
@@ -362,30 +360,29 @@ sub get_next_image {
                notify($ERRORS{'WARNING'}, 0, "$notify_prefix failed to fetch 
preferred image for computer_id $computer_id");
                return 0;
        }
-
-
+       
        $inlist = join(',', @imggroups);
        my $select_imageids = "
-        SELECT
-        DISTINCT(r.subid)
-        FROM
-        image i,
-       OS o,
-        resource r,
-        resourcegroupmembers rgm,
-       OSinstalltype osit,
-       provisioningOSinstalltype posit
-        WHERE
-        rgm.resourceid = r.id
-        AND r.resourcetypeid = 13
-        AND rgm.resourcegroupid IN ($inlist)
-        AND r.subid = i.id
-        AND i.deleted = 0
-       AND i.OSid = o.id
-       AND o.installtype = osit.name
-       AND osit.id = posit.OSinstalltypeid
-       AND posit.provisioningid = $provisioningid
-        ";
+               SELECT
+               DISTINCT(r.subid)
+               FROM
+               image i,
+               OS o,
+               resource r,
+               resourcegroupmembers rgm,
+               OSinstalltype osit,
+               provisioningOSinstalltype posit
+               WHERE
+               rgm.resourceid = r.id
+               AND r.resourcetypeid = 13
+               AND rgm.resourcegroupid IN ($inlist)
+               AND r.subid = i.id
+               AND i.deleted = 0
+               AND i.OSid = o.id
+               AND o.installtype = osit.name
+               AND osit.id = posit.OSinstalltypeid
+               AND posit.provisioningid = $provisioningid
+       ";
        my @imgids;
        @data = database_select($select_imageids);
        if (scalar @data == 0) {
@@ -398,20 +395,21 @@ sub get_next_image {
        }
        my $numselected_imagids = @imgids;
        notify($ERRORS{'OK'}, 0, "$notify_prefix $numselected_imagids available 
images can go on $computer_short_name");
-
+       
        # which of those are loaded
        $inlist = join(',', @imgids);
        my $select_loaded = "
-        SELECT
-        DISTINCT(currentimageid),
-       COUNT(currentimageid) AS count
-        FROM
-        computer
-        WHERE
-        currentimageid IN ($inlist)
-        AND stateid = 2
-       GROUP BY currentimageid
-          HAVING count > 1";
+               SELECT
+               DISTINCT(currentimageid),
+               COUNT(currentimageid) AS count
+               FROM
+               computer
+               WHERE
+               currentimageid IN ($inlist)
+               AND stateid = 2
+               GROUP BY currentimageid
+               HAVING count > 1
+       ";
        @data = database_select($select_loaded);
        my @loaded;
        foreach (@data) {
@@ -420,7 +418,7 @@ sub get_next_image {
        }
        my $already_loaded_once = @loaded;
        notify($ERRORS{'OK'}, 0, "$notify_prefix $already_loaded_once of 
$numselected_imagids available images loaded at least once");
-
+       
        # which of those are not loaded (find difference of @imagids and 
@loaded)
        my (@intersection, @notloaded, $element);
        @intersection = @notloaded = ();
@@ -429,59 +427,56 @@ sub get_next_image {
        foreach $element (keys %count) {
                push @{$count{$element} > 1 ? \@intersection : \@notloaded}, 
$element;
        }
-
+       
        my $not_loaded = @notloaded;
        notify($ERRORS{'OK'}, 0, "$notify_prefix $not_loaded of 
$numselected_imagids total images available for selection");
-
+       
        # get the most popular in $timeframe
        $inlist = join(',', @notloaded);
        my $select_imageid = "
-        SELECT
-        COUNT(imageid) AS cnt,
-        imageid
-        FROM
-        log
-        WHERE
-        imageid IN ($inlist)
-        AND start > (NOW() - INTERVAL $timeframe)
-        GROUP BY imageid
-        ORDER BY cnt DESC
-        LIMIT 1
-        ";
+               SELECT
+               COUNT(imageid) AS cnt,
+               imageid
+               FROM
+               log
+               WHERE
+               imageid IN ($inlist)
+               AND start > (NOW() - INTERVAL $timeframe)
+               GROUP BY imageid
+               ORDER BY cnt DESC
+               LIMIT 1
+       ";
        @data = database_select($select_imageid);
        if (scalar @data == 0) {
                notify($ERRORS{'WARNING'}, 0, "$notify_prefix failed to fetch 
preferred image for computer_id $computer_id");
                return 0;
        }
        my $imageid = $data[0]{imageid};
-
+       
        notify($ERRORS{'OK'}, 0, "$notify_prefix  imageid= $imageid is most 
popular image during last $timeframe");
-
+       
        # get extra data about the image
        my $select_extra = "
-        SELECT
-        i.name,
-        r.id
-        FROM
-        image i,
-        imagerevision r
-        WHERE
-        i.id = $imageid
-        AND r.imageid = $imageid
-        AND r.production = 1
-        ";
+               SELECT
+               i.name,
+               r.id
+               FROM
+               image i,
+               imagerevision r
+               WHERE
+               i.id = $imageid
+               AND r.imageid = $imageid
+               AND r.production = 1
+       ";
        @data = database_select($select_extra);
        if (scalar @data == 0) {
                notify($ERRORS{'WARNING'}, 0, "$notify_prefix failed to fetch 
preferred image for computer_id $computer_id");
                return 0;
        }
-
-
+       
        notify($ERRORS{'OK'}, 0, "$notify_prefix $computer_id $data[0]{name}, 
$imageid, $data[0]{id}");
        push(@ret_array, $data[0]{name}, $imageid, $data[0]{id});
        return @ret_array;
-
-
 } ## end sub get_next_image_revision
 
 #/////////////////////////////////////////////////////////////////////////////


Reply via email to