[
https://issues.apache.org/jira/browse/VCL-584?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14130191#comment-14130191
]
ASF subversion and git services commented on VCL-584:
-----------------------------------------------------
Commit 1624325 from [~jfthomps] in branch 'vcl/trunk'
[ https://svn.apache.org/r1624325 ]
VCL-5 - multiple web servers
VCL-552 - create an easy way to view deleted computers
VCL-555 - need a way to give users access to add management nodes
VCL-559 - convert pages with large tables to use dojo datagrids
VCL-568 - refresh current reservations page 15 minutes after a reservation
becomes available
VCL-584 - Extend features of Server loads - only added specify IP address and
offline capture
VCL-592 - honor user preference to only show user groups matching user's
affiliation on server profile pages
VCL-669 - ssh identity keys for end-users
VCL-673 - imaging reservation for an image with subimages prompts for revisions
for each subimage
VCL-690 - There is no default selection on Manage computer
VCL-694 - problem with conditional in editOrAddComputer - $data['compid'] can
be used when adding a computer
VCL-730 - cannot update image revision comments under Edit Image
VCL-733 - editing a block allocation recreates past block time entries
VCL-741 - a tomaintenance reservation can be created right after another
tomaintenance reservation
VCL-742 - server reservations cannot be modified if they cannot be extended
VCL-776 - rework resource code to have a base class for all resources and
inheriting classes for each resource type
VCL-778 - add graph for seeing historical usage of block allocations
VCL-779 - add method to dashboard for restarting failed imaging reservations
(sorry for the massive commit)
added resource.php, computer.php, config.php, image.php, managementnode.php,
schedule.php, and storebackend.php: these are a rewrite of how resources are
handled. resource.php is a base class with basic functionality common to all
resources. the other files are inheriting classes that implement things
specific to each resource
removed computers.php, images.php, managementnodes.php, and schedules.php:
these are the older files that handled managing resources are replaced by the
files above
added siteconfig.php
authentication.php: changed call to semUnlock to cleanSemaphore
ldapauth.php:
-modified validateLDAPUser: added test to see if ldap server is responding
using fsockopen so that there is a faster response for offline servers
-modified updateLDAPUser: added extra check for getting user data from database
when uid in db is NULL, auth method provides a numericid, and unityid and
affiliationid match an entry in db
-modified updateLDAPUser: get usepublickeys and sshpublickeys from user table
shibauth.php: modified updateShibGroups: changed $groups argument to allow for
optional 2nd case of passing an array with a single entry with a key of
'shibaffil' and a value that matches the shibname entry from the affiliation
table. in this case, the user is simply added to a single group named "All
<affil name> users" where <affil name> is the name value from the affiliation
table
blockallocations.php:
-modified createListBlockData: fixed recreating old time slots when editing an
allocation
-modified getCurrentBlockHTML: added link to show historical usage of block
allocation and dijit dialog for displaying it
-added AJviewBlockAllocationUsage
conf-default.php:
-added MAXINITIALIMAGINGTIME
-added MAXSUBIMAGES
dashboard.php:
-added section for seeing failed imaging reservations if user has global view
dashboard permission; allows an admin to easily restart an imaging reservation
after fixing whatever caused it to fail
-added "in use" computers to current status section
-changed "Loading Reservations" to "Notable Reservations" and included any
reservations that have started to be loaded that have a start time within the
next hour to handle showing preloading reservations
errors.php:
-added error code 400 for reporting semaphore expiration problem which would be
caused by a really sluggish web server
-modified errorHandler to use new semaphore calls
groups.php:
-modified check for blockRequest table to only check for user group usage if
block status is requested or accepted. removed check in imagemeta table (not
sure why that was there, not currently a usergroupid field in imagemeta table)
-modified submitDeleteGroup - added query to update blockrequests to set
groupid to 0 if deleting the selected user group
privileges.php:
-modified userLookup: added IP address assigned to node to reservation history.
added list of current reservations
-modified jsonGetUserGroupMembers - allow users with Manage Federated User
Groups to see user group membership for federated groups
-modified jsonGetResourceGroupMembers - no longer include deleted images and
computers in list
requests.php:
-large rewrite to combine "New Reservations" and "Current Reservations" pages
into a single, more dynamic page
-updated to use new semaphore code
-updated calls to isAvailable to include $holdcomps argument
-moved making server reservations from serverprofiles.php to here
-added option to keep reservation and create image
-fixed bug where user was prompted for image revisions for every subimage
assigned to an image when making an imaging reservation
-fixed bug where all user group showed up in server reservation selection of
admin and access user groups even when user preference to only see groups
matching user's affiliation was set
-modifed places where string of text is wrapped at 50 characters to wrap at end
of line in addition to space and newline
serverprofiles.php:
-moved deploy code to requests.php
-modified manageProfilesHTML: added netmask, router, and dns servers to go
along with fixedIP and a boxed area around fixedIP fields
-modified AJserverProfileData, AJsaveServerProfile, and procesProfileInput:
include netmask, router, and dns
-moved getServerProfiles and getServerProfileImages to utils.php
-added AJfetchRouterDNS
sitemaintenance.php: modifed places where string of text is wrapped at 50
characters to wrap at end of line in addition to space and newline
states.php:
-added to entry array: resource, config, image, computer, managementnode,
schedule, RESTresourceBasic, RESTresourceDetail, siteconfig
-removed from entry array: newRequest, selectImageOption, viewSchedules,
selectComputers, selectMgmtnodeOption, imageClickThrough
-added to noHTMLwrappers array: AJnewRequest, AJfilterCompGroups,
AJfetchRouterDNS, AJviewBlockAllocationUsage, AJrestartImageCapture,
jsonResourceStore, AJpromptToggleDeleteResource, AJsubmitToggleDeleteResource,
AJsaveResource, AJeditResource, jsonResourceGroupingGroups,
AJaddRemGroupResource, AJaddRemResourceGroup, jsonResourceGroupingResources,
jsonResourceMappingMapToGroups, AJaddRemMapToGroup, jsonResourceMappingGroups,
AJaddRemGroupMapTo, jsonConfigMapStore, AJeditConfigMapping,
AJsaveConfigMapping, AJdeleteConfigMapping, AJsubmitDeleteConfigMapping,
AJconfigSystem, RESTresourceBasic, RESTresourceDetail, AJstartImage,
AJupdateImage, AJupdateTimeSource, AJreloadComputers, AJsubmitReloadComputers,
AJdeleteComputers, AJsubmitDeleteComputers, AJcompScheduleChange,
AJsubmitCompScheduleChange, AJgenerateDHCPdata, AJhostsData, AJcompStateChange,
AJcompProvisioningChange, AJsubmitCompProvisioningChange,
AJsubmitCompStateChange, AJsubmitComputerStateLater, AJconnectRequest
-removed from noHTMLwrappers: submitRequest, submitTestProd, AJupdateImage,
jsonImageGroupingImages, jsonImageGroupingGroups, jsonImageMapCompGroups,
jsonImageMapImgGroups, AJaddImageToGroup, AJremImageFromGroup,
AJaddGroupToImage, AJremGroupFromImage, imageGroupingGrid,
AJaddCompGrpToImgGrp, AJremCompGrpFromImgGrp, AJaddImgGrpToCompGrp,
AJremImgGrpFromCompGrp, imageMappingGrid, jsonCompGroupingComps,
jsonCompGroupingGroups, compGroupingGrid, AJaddCompToGroup, AJremCompFromGroup,
AJaddGroupToComp, AJremGroupFromComp, generateDHCP, AJgetScheduleTimesData,
AJsaveScheduleTimes, AJdeployServer, AJgenerateUtilData, submitEdit
-combined newReservations and viewRequests into reservations section
-removed manageImages, manageSchedules, manageComputers, and managementNodes
sections
-added siteconfig, resource, and storebackend sections
statistics.php: modified to have load time counts for <2 min, 2-6 min, 6-8min,
>8 min
userpreferences.php: added input and validation of public key fields to general
preferences
utils.php:
-changed how semaphores are handled as described in
http://mail-archives.apache.org/mod_mbox/vcl-dev/201307.mbox/%3C2232243.J55CAxcd2y@treebeard%3E
-removed modes that are no longer used due to changing resources to be class
based
-added 'variables' to the session cache
-modified doQuery: skip recording 'UPDATE continuations SET expiretime ...'
queries in the queryLog; added a loop around actually doing the query that
checks for mysql error 1213 9deadlock) that makes a few more attempts if
encountered
-modified getOSList: added installtype to returned data
-modified getImages: added deleted and datedeleted to image revision data;
added ostypeid and ostype to image data; include maxconcurrent, checkuser, and
rootaccess for all images
-moved getServerProfiles and getServerProfileImages here from serverprofiles.php
-modified getImageConnectMethods and getProductionRevisionid: added extra
argument $nostatic that, if true, will get the data from the db again even if
it had already been retrieved
-modified getUserResources: if managementnodeAdmin is in $userprivs, also add
mgmtnodeAdmin; remove noimage from returned data
-modified addOwnedResources and getResourcesFromGroups: changed series of
if/elseif to switch statement
-modified getUserInfo: added usepublickeys and sshpublickeys to returned data
-modified getOverallUserPrivs: if mgmtNodeAdmin in $privileges, add
managementnodeAdmin
-modified isAvailable: added $holdcomps argument that is then passed to
allocComputer to get insert a semaphore in the database for allocated
computers; added ipwarning to $requestInfo that records if there may be a
possible IP conflict with requested fixed IP at deploy time for future
reservations; if $imagerevisionid is not an array, make it in to one; instead
of returning values directly, return them through debugIsAvailable to allow for
debugging what isAvailable is return unavailable; added code to check for
requested fixedIP being in use on a management node; added code to prevent
block allocations from counting toward max concurrent usage of an image for
users that are part of the group specified for the block allocation; added code
to ensure a management node is able to configure a node with specified fixedIP;
added checks part way through that goes ahead and returns 0 if no computers are
available so that later unnecessary parts are not run; changed how VMs are
ordered when selecting from VMhostCheck temp table; added extra block that
checks for use of requested fixed IP address
-added debugIsAvailable - function that provides a way for admins to debug why
isAvailable is returning that the requested image is not available
-modified allocComputer: include calls to getSemaphore to hold computers for
later scheduling
-added getSemaphore: adds entry to semaphore table to hold computer briefly so
that other web server processes will not book the computer
-added retryGetSemaphore: function that loops through a few tries calling
getSemaphore; useful when needing to do something with a specific computer
-modified addRequest: moved insertion of entry into changelog to much later in
function; changed insert into reservation table to be an insert using a select
from the semaphore table
-modified updateRequest: added "LIMIT 1" to query that updates reservation
entry to fix a bug that causes strange behavior with cluster reservations
-modified deleteRequest: added code to delete any fixedIPsr* entries from the
variable table for related server reservations
-modified moveReservationsOffComputer: calls to isAvailable result in computers
being semaphore locked; calls to this function now need to call cleanSemaphore
after calling this function
-added moveReservationsOffVMs
-modified getCompFinalReservationTime: added argument to allow passing an
additional set of request states to ignore
-added getCompFinalVMReservationTime
-added getExistingChageStateStartTime
-added updateExistingToState
-added getProvisioningtypes
-modified getManagementNodes: added $includedeleted and $id arguments to make
similar to other resources; added block to get timesource data from variable
table
-added getMnsFromImage
-added checkAvailableNetworks
-modified findAvailableTimes: added linking in provisioningOSinstalltype to
better limit which computers can be returned
-modified getComputers: changed returned name of currently loaded image to be
prettyname instead of name; added vmhostcomputerid to returned data
-changed printSelectInput to selectInputHTML that returns a string of HTML
instead of printing it; changed printSelectInput to be a wrapper that calls
selectInputHTML and prints the returned string
-added selectInputAutoDigitHTML - determines if filtering select or regular
dijit select should be used and calls selectInputHTML with appropriate arguments
-added labeledFormItem
-added dijitButton
-modified requestIsReady: removed currentstateid == 24 && computer stateid == 8
-modified sendRDPfile: when sending Administrator as the username check that
OStype is windows in addition to being an imaging reservation
-added getResourceGroupName
-added getConfigTypes, getConfigDataTypes, getConfigMapTypes, getMappedConfigs,
getMappedSubConfigs, getImageConfigVariables, getConfigClusters,
getConfigClustersRec, and getConfigSubimages
-added getOStypes
-modified compareDashedNumbers: commented out returning based on difference in
domains
-modified timeToNextReservation: updated to handle clusters better
-removed semLock and semUnlock
-added cleanSemaphore
-modified addContinuationsEntry: if HTTP_USER_AGENT exists in $_SERVER, include
it in md5 for continuation id
-added getVariable, getVariablesRegex, setVariable, and deleteVariable
-added validateIPv4addr
-added validateEmailAddress
-modified xmlRPCabort: added mysql error number to returned error data
-added helpIcon
-added helpTooltip
-modified sendJSON: added $REST argument that causes to send only output of
json_encode instead of wrapping it
-modified menulistLI: updated to handle resource classes
-modified getNavMenu: collapsed "New Reservation" and "Current Reservations"
and updated for new resource classes; added Site Configuration section
-modified getDojoHTML: removed old modes and added new modes to match resource
class modes; added sections for siteconfig
vm.php:
-modified editVMInfo: added sorting of profiles
-modified updateVMlimit: removed redundant javascript alert when user does not
have access to manage host
-modified AJvmFromHost: updated to use new semaphore code
xmlrpcWrappers.php:
-updated calls to isAvailable to include holdcomps argument
-modified XMLRPCdeployServer: changed to require serverCheckOut permission
instead of serverProfileAdmin
-modified XMLRPCgetRequestIds: added 'admin' to returned data which is if the
user is an admin of a server reservation or not
-modified XMLRPCextendRequest and XMLRPCsetRequestEnding: use new semaphore code
-modified XMLRCPautoCapture: use new image resource code
-modified XMLRCPaddNode: fixed bug where $tmp was checked for being NULL
instead of $nodeInfo
-modified XMLRCPaddUserGroupPriv: fixed a few bugs
-modified XMLRCPeditUserGroup: fixed a bug in a query where a comma was missing
-modified XMLRPCprocessBlockTime: USE NEW SEMAPHORE CODE
vcl.css:
-added html and body sections that set width and height to 100%
-added ready and wait classes that set the font color
-added gridcontainer table th, gridcontainer table td, extrafiltersdiv table
th, extrafiltersdiv table td to section that sets font size to 1em
-added .editmntable, #deployprofilediv table, #serverprofiledata table
-added .boxedtablerows
-added #systemconfigdiv .dojoxMultiSelectSelectedOption, #groupbyresourcediv
.dojoxMultiSelectSelectedOption, #groupbygroupdiv
.dojoxMultiSelectSelectedOption, #mapbyresgroupdiv
.dojoxMultiSelectSelectedOption, #mapbymaptogroupdiv
.dojoxMultiSelectSelectedOption
-added #systemconfigdiv .dojoxGridHeader, #groupbyresourcediv .dojoxGridHeader,
#groupbygroupdiv .dojoxGridHeader, #mapbyresgroupdiv .dojoxGridHeader,
#mapbymaptogroupdiv .dojoxGridHeader, #configvariablegriddiv .dojoxGridHeader
-added #systemconfigdiv .dojoxGrid, #groupbyresourcediv .dojoxGrid,
#groupbygroupdiv .dojoxGrid, #mapbyresgroupdiv .dojoxGrid, #mapbymaptogroupdiv
.dojoxGrid, #subimagegriddiv .dojoxGrid, #configvariablegriddiv .dojoxGrid
-added #systemconfigdiv .dojoxGridRow, #systemconfigdiv .dojoxGridRowOdd,
#groupbyresourcediv .dojoxGridRow, #groupbyresourcediv .dojoxGridRowOdd,
#groupbygroupdiv .dojoxGridRow, #groupbygroupdiv .dojoxGridRowOdd,
#mapbyresgroupdiv .dojoxGridRow, #mapbyresgroupdiv .dojoxGridRowOdd,
#mapbymaptogroupdiv .dojoxGridRow, #mapbymaptogroupdiv .dojoxGridRowOdd,
#subimagegriddiv .dojoxGridRow, #subimagegriddiv .dojoxGridRowOdd,
#configvariablegriddiv .dojoxGridRow, #configvariablegriddiv .dojoxGridRowOdd
-added #content #systemconfigdiv table, #content #groupbyresourcediv table,
#content #groupbygroupdiv table, #content #mapbyresgroupdiv table, #content
#mapbymaptogroupdiv table, #content #subimagegriddiv table, #content
#configvariablegriddiv table
-added #systemconfigdiv .dojoxGridRowSelected, #groupbyresourcediv
.dojoxGridRowSelected, #groupbygroupdiv .dojoxGridRowSelected,
#mapbyresgroupdiv .dojoxGridRowSelected, #mapbymaptogroupdiv
.dojoxGridRowSelected, #subimagegriddiv .dojoxGridRowSelected,
#configvariablegriddiv .dojoxGridRowSelected
-added #systemconfigdiv .dojoxGridRowSelected td, #groupbyresourcediv
.dojoxGridRowSelected td, #groupbygroupdiv .dojoxGridRowSelected td,
#mapbyresgroupdiv .dojoxGridRowSelected td, #mapbymaptogroupdiv
.dojoxGridRowSelected td, #subimagegriddiv .dojoxGridRowSelected td,
#configvariablegriddiv .dojoxGridRowSelected td
-added #systemconfigdiv .dojoxGridCell, #systemconfigdiv .dojoxGridCellFocus,
#systemconfigdiv .dojoxGridCellOver, #groupbyresourcediv .dojoxGridCell,
#groupbyresourcediv .dojoxGridCellFocus, #groupbyresourcediv
.dojoxGridCellOver, #groupbygroupdiv .dojoxGridCell, #groupbygroupdiv
.dojoxGridCellFocus, #groupbygroupdiv .dojoxGridCellOver, #mapbyresgroupdiv
.dojoxGridCell, #mapbyresgroupdiv .dojoxGridCellFocus, #mapbyresgroupdiv
.dojoxGridCellOver, #mapbymaptogroupdiv .dojoxGridCell, #mapbymaptogroupdiv
.dojoxGridCellFocus, #mapbymaptogroupdiv .dojoxGridCellOver, #subimagegriddiv
.dojoxGridCell, #subimagegriddiv .dojoxGridCellFocus, #subimagegriddiv
.dojoxGridCellOver, #configvariablegriddiv .dojoxGridCell,
#configvariablegriddiv .dojoxGridCellFocus, #configvariablegriddiv
.dojoxGridCellOver
-added #systemconfigdiv .dojoxMultiSelectItemBox, #groupbyresourcediv
.dojoxMultiSelectItemBox, #groupbygroupdiv .dojoxMultiSelectItemBox,
#mapbyresgroupdiv .dojoxMultiSelectItemBox, #mapbymaptogroupdiv
.dojoxMultiSelectItemBox, #subimagegriddiv .dojoxMultiSelectItemBox,
#configvariablegriddiv .dojoxMultiSelectItemBox
-added #addeditdlgcontent label, #newreslabelfields label
-added #newreslabelfields label
-added #addeditdlgcontent .labeledform
-added #advancedoptions .labeledform
-added #mgmtnodedlgcontent label
-added #mgmtnodedlgcontent .labeledform
-added #computerdlgcontent label
-added #computerdlgcontent .labeledform
-added #advancedoptions label
-added #cfgvartypelbl
-added #addeditdlgcontent .labeledforminnerlabel
-added #newreslabelfields .labeledform
-added #configvariables
-added .strikethrough
-added #nrfixedipdiv
-added .boxedoptions
-added #imageRevisionDlg .dijitDialogPaneContent
-added .disabledlabel
index.php:
-updated $VCLversion
-changed to use cleanSemaphore instead of semUnlock
-modified how $actionFunction is called to check if in a continuation and there
is an object in it if the specified function does not exist globally, then call
the object's function if it exists there
in javascript files, moved RPCwrapper to code.js from all other files to
centralize it
added resources.js, resources/computer.js, resources/config.js,
resources/image.js, resources/managementnode.js, and resources/schedule.js:
these are part of a rewrite of how resources are handled; resources.js handles
things common to all resources; the other files handle things specific to each
resource type
removed computers.js, images.js, managementnodes.js, and schedules.js which are
replaced by the above files
added siteconfig.js
blockallocations.js: added viewBlockUsage and viewBlockUsageCB
code.js:
-moved RPCwrapper from all other files to here
-modified RPCwrapper to call returnCheck as the load function if dojson
specified and do not actually handle returned content as json
-added returnCheck - trys to decode returned data as json, if fails, notifies
user of error, if succeeds, calls the passed in callback function
-changed genericCB to generalCB
-modified setLoading and unsetLoading to use dijit.byId instead of
dojo.widget.byId
-removed checkAllCompUtils
-removed uncheckAllCompUtils
-removed reloadComputerSubmit
-removed compStateChangeSubmit
-removed compScheduleChangeSubmit
-removed toggleRowSelect
-removed toggleColSelect
-added resizeRecenterDijitDialog
-added checkValidatedObj
-added resetSelect
dashboard.js:
-modified updateDashboardCB: added variable to track refresh timeout; added
call to updateFailedImaging
-modified updateTopFailed: updated to include separate counts for user fails
and reload fails
-added updateFailedImaging
-added restartImagingCB
privileges.js: modified submitAddUserGroup: fixed bug where cascade was not
getting submitted
requests.js:
-large rewrite to combine "New Reservations" and "Current Reservations" pages
into a single, more dynamic page
-added global variables: waittimetimeout, durationchanged, initialimageset,
resconfigmapid, revisiongrids, waittimeobj, waittimeh, profilesstoredata
-added initViewRequests, showNewResDlg, resetNewResDlg, setLastImage,
selectResType, checkSelectedInList, setFirstAvailableImage,
validateDeployInputs, getDeployData, getConfigData, getImageDescription,
durationChange, setEndDuration, resetDeployBtnLabel, configureSystem,
configureSystemCB, showConfigureSystem, closeConfigureSystem, subimageSelected,
addReservationConfig, configSelected, setApplyConfig, showConfigData,
selectConfigVariable, saveSelectedConfig, saveSelectedConfigVar,
promptRevisions, promptRevisionsCB, addRevisionSelection, showRevisionDlg,
submitNewReservation, submitNewReservationCB, connectRequest, connectRequestCB
-removed useSuggestedEditSlot, showRDPbutton
-moved setStartNow, setStartLater, setEndIndef, and setEndAt from
serverprofiles.js to here
-added 30 second timout to several RPCwrapper calls
serverprofiles.php:
-moved code related to deploying to either newresservercommon.js or requests.js
-moved populateProfileStore, populateProfileStoreCB, deployProfileChanged,
getServerProfileData, and getServerProfileDataDeployCB to newresservercommon.js
-moved setStartNow, setStartLater, setEndIndef, and setEndAt to requests.js
-uncommented fixedIP stuff
-added code for netmask, router, and dns
sitemaintenance.js: moved RPCwrapper to code.js
statistics.js: added 5 minute timeouts to RPCwrapper calls for graphs
> Extend features of Server loads
> -------------------------------
>
> Key: VCL-584
> URL: https://issues.apache.org/jira/browse/VCL-584
> Project: VCL
> Issue Type: Improvement
> Components: database, vcld (backend), web gui (frontend)
> Reporter: Aaron Peeler
> Fix For: 2.4
>
>
> -specify IP address
> -specify MAC address
> -online capture of image (snapshots)
> -offline capture with continuation of reservation
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)