Author: jfthomps Date: Fri Aug 6 18:10:38 2010 New Revision: 983079 URL: http://svn.apache.org/viewvc?rev=983079&view=rev Log: VCL-254 block allocation improvements
utils.php: added isImageBlockTimeActive images.php: modified getRevisionHTML to print warning message above list of revisions about changing the production revison if > 1 revision and there is an active block allocation requests.php: modified confirmDeleteRequestProduction to print warning mesage about changing the production version if there is an active block allocation Modified: incubator/vcl/trunk/web/.ht-inc/images.php incubator/vcl/trunk/web/.ht-inc/requests.php incubator/vcl/trunk/web/.ht-inc/utils.php Modified: incubator/vcl/trunk/web/.ht-inc/images.php URL: http://svn.apache.org/viewvc/incubator/vcl/trunk/web/.ht-inc/images.php?rev=983079&r1=983078&r2=983079&view=diff ============================================================================== --- incubator/vcl/trunk/web/.ht-inc/images.php (original) +++ incubator/vcl/trunk/web/.ht-inc/images.php Fri Aug 6 18:10:38 2010 @@ -1046,9 +1046,17 @@ function editOrAddImage($state) { /// //////////////////////////////////////////////////////////////////////////////// function getRevisionHTML($imageid) { + $revisions = getImageRevisions($imageid); $rt = ''; $rt .= "<h3>Revisions of this Image</h3>\n"; $rt .= "<table summary=\"\"><tr><td>\n"; + if(count($revisions) > 1 && isImageBlockTimeActive($imageid)) { + $rt .= "<font color=\"red\">WARNING: This image is part of an active "; + $rt .= "block allocation. Changing the production revision of the image "; + $rt .= "at this time will result in new reservations under the block "; + $rt .= "allocation to have full reload times instead of a < 1 minutes "; + $rt .= "wait.</font><br><br>\n"; + } $rt .= "<table summary=\"\" id=\"revisiontable\">\n"; $rt .= " <tr>\n"; $rt .= " <td></td>\n"; @@ -1058,7 +1066,6 @@ function getRevisionHTML($imageid) { $rt .= " <th nowrap>In Production</th>\n"; $rt .= " <th>Comments (click to edit)</th>\n"; $rt .= " </tr>\n"; - $revisions = getImageRevisions($imageid); foreach($revisions AS $rev) { $rt .= " <tr>\n"; $rt .= " <td><INPUT type=checkbox\n"; Modified: incubator/vcl/trunk/web/.ht-inc/requests.php URL: http://svn.apache.org/viewvc/incubator/vcl/trunk/web/.ht-inc/requests.php?rev=983079&r1=983078&r2=983079&view=diff ============================================================================== --- incubator/vcl/trunk/web/.ht-inc/requests.php (original) +++ incubator/vcl/trunk/web/.ht-inc/requests.php Fri Aug 6 18:10:38 2010 @@ -1927,6 +1927,17 @@ function confirmDeleteRequestProduction( print "Are you satisfied that this environment is ready to be made production "; print "and replace the current production version, or would you just like to "; print "end this reservation and test it again later?\n"; + + if(isImageBlockTimeActive($request['reservations'][0]['imageid'])) { + print "<br><br><font color=\"red\">WARNING: This environment is part of "; + print "an active block allocation. Changing the production version of "; + print "the environment at this time will result in new reservations "; + print "under the block allocation to have full reload times instead of "; + print "a < 1 minutes wait. You can change the production version "; + print "later by going to Manage Images->Edit Image Profiles and "; + print "clicking Edit for this environment.</font><br>\n"; + } + print "<FORM action=\"" . BASEURL . SCRIPT . "\" method=post>\n"; $cont = addContinuationsEntry('setImageProduction', $cdata, SECINDAY, 0, 1); Modified: incubator/vcl/trunk/web/.ht-inc/utils.php URL: http://svn.apache.org/viewvc/incubator/vcl/trunk/web/.ht-inc/utils.php?rev=983079&r1=983078&r2=983079&view=diff ============================================================================== --- incubator/vcl/trunk/web/.ht-inc/utils.php (original) +++ incubator/vcl/trunk/web/.ht-inc/utils.php Fri Aug 6 18:10:38 2010 @@ -6369,6 +6369,35 @@ function isBlockAllocationTime($compid, //////////////////////////////////////////////////////////////////////////////// /// +/// \fn isImageBlockTimeActive($imageid) +/// +/// \param $imageid - id of an image +/// +/// \return 1 if a block time for a block allocation for $imageid has had the +/// processed flag set and the end time has not been reached; 0 otherwise +/// +/// \brief checks to see if a block time for $imageid has been processed but not +/// yet ended +/// +//////////////////////////////////////////////////////////////////////////////// +function isImageBlockTimeActive($imageid) { + $now = time(); + $nowdt = unixToDatetime($now); + $query = "SELECT bt.id " + . "FROM blockTimes bt, " + . "blockRequest br " + . "WHERE bt.blockRequestid = br.id AND " + . "bt.processed = 1 AND " + . "bt.end > '$nowdt' AND " + . "br.imageid = $imageid"; + $qh = doQuery($query, 101); + if($row = mysql_fetch_assoc($qh)) + return 1; + return 0; +} + +//////////////////////////////////////////////////////////////////////////////// +/// /// \fn printSelectInput($name, $dataArr, $selectedid, $skip, $multiple, $domid, /// $extra) ///