Author: buildbot
Date: Wed Jan 9 15:02:33 2013
New Revision: 845738
Log:
Staging update by buildbot for vcl
Added:
websites/staging/vcl/trunk/content/dev/database-schema.html
Removed:
websites/staging/vcl/trunk/content/confluence_export/database-schema.html
Modified:
websites/staging/vcl/trunk/content/ (props changed)
Propchange: websites/staging/vcl/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Wed Jan 9 15:02:33 2013
@@ -1 +1 @@
-1430875
+1430877
Added: websites/staging/vcl/trunk/content/dev/database-schema.html
==============================================================================
--- websites/staging/vcl/trunk/content/dev/database-schema.html (added)
+++ websites/staging/vcl/trunk/content/dev/database-schema.html Wed Jan 9
15:02:33 2013
@@ -0,0 +1,861 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE- 2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+ <link href="/css/vcl.css" rel="stylesheet" type="text/css">
+ <link href="/css/code.css" rel="stylesheet" type="text/css">
+ <title>Apache VCL - Database Schema</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+</head>
+
+<body>
+ <div id="sitetitle">
+ <table width="100%" border="0" cellspacing="0" cellpadding="5">
+ <tr>
+ <td><a href="/index.html"><img src="/img/vcl-logo.png" height="100"
align="left" alt="Apache VCL logo"></a></td>
+ <td><a href="http://www.apache.org"><img src="/img/asf-logo.png"
align="right" alt="Apache Software Foundation logo"></a></td>
+ </tr>
+ </table>
+ </div>
+
+ <div id="navigation">
+ <ul>
+<li>Information<ul>
+<li><a href="/info/about.html">What is VCL?</a></li>
+<li><a href="/info/features.html">Features</a></li>
+<li><a href="/info/architecture.html">Architecture</a></li>
+<li><a href="/info/use-cases.html">Use Cases</a></li>
+<li><a href="/downloads/download.cgi">Download</a></li>
+<li><a href="http://www.apache.org/licenses/LICENSE-2.0.html">License</a></li>
+<li><a href="/info/faq.html">FAQ</a></li>
+</ul>
+</li>
+<li><a href="/docs/index.html">Documentation</a><ul>
+<li><a href="/docs/using-vcl.html">Using VCL</a></li>
+<li><a href="/docs/image-creation.html">Image Creation</a></li>
+<li><a href="/docs/administration.html">Administration</a></li>
+<li><a href="/docs/installation.html">Installation</a></li>
+<li><a href="/docs/deployment-planning.html">Deployment Planning</a></li>
+</ul>
+</li>
+<li><a href="/comm/index.html">Community</a><ul>
+<li><a href="/comm/index.html#getInvolved">Getting Involved</a></li>
+<li><a href="/comm/index.html#mail-list">Mailing Lists</a></li>
+<li><a href="/comm/index.html#how-do-i-join-the-project">How can I
Join</a></li>
+<li><a href="/comm/wiki.html">Wiki</a></li>
+<li><a href="/dev/index.html">Development</a><ul>
+<li><a href="/dev/jira.html">Issue Tracking</a></li>
+<li><a href="/dev/code-documentation.html">Code Documentation</a></li>
+<li><a href="/dev/roadmap.html">Roadmap</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li><a href="http://www.apache.org">Apache Software Foundation</a><ul>
+<li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+<li><a href="http://www.apache.org/foundation/sponsorship.html">Become a
Sponsor</a></li>
+</ul>
+</li>
+</ul>
+ </div>
+
+ <div id="content">
+ <h1 class="title">Database Schema</h1>
+ <div class="toc">
+<ul>
+<li><a href="#affiliation-table">affiliation table</a></li>
+<li><a href="#blockcomputers-table">blockComputers table</a></li>
+<li><a href="#blockrequest-table">blockRequest table</a></li>
+<li><a href="#blocktimes-table">blockTimes table</a></li>
+<li><a href="#blockwebdate-table">blockWebDate table</a></li>
+<li><a href="#blockwebtime-table">blockWebTime table</a></li>
+<li><a href="#changelog-table">changelog table</a></li>
+<li><a href="#clickthroughs-table">clickThroughs table</a></li>
+<li><a href="#computer-table">computer table</a></li>
+<li><a href="#computerloadflow-table">computerloadflow table</a></li>
+<li><a href="#computerloadlog-table">computerloadlog table</a></li>
+<li><a href="#computerloadstate-table">computerloadstate table</a></li>
+<li><a href="#connectmethod-table">connectmethod table</a></li>
+<li><a href="#connectmethodmap-table">connectmethodmap table</a></li>
+<li><a href="#continuations-table">continuations table</a></li>
+<li><a href="#documentation-table">documentation table</a></li>
+<li><a href="#image-table">image table</a></li>
+<li><a href="#imagemeta-table">imagemeta table</a></li>
+<li><a href="#imagerevision-table">imagerevision table</a></li>
+<li><a href="#imtype-table">IMtype table</a></li>
+<li><a href="#localauth-table">localauth table</a></li>
+<li><a href="#log-table">log table</a></li>
+<li><a href="#loginlog-table">loginlog table</a></li>
+<li><a href="#managementnode-table">managementnode table</a></li>
+<li><a href="#module-table">module table</a></li>
+<li><a href="#os-table">OS table</a></li>
+<li><a href="#osinstalltype-table">OSinstalltype table</a></li>
+<li><a href="#ostype-table">OStype table</a></li>
+<li><a href="#platform-table">platform table</a></li>
+<li><a href="#privnode-table">privnode table</a></li>
+<li><a href="#provisioning-table">provisioning table</a></li>
+<li><a href="#provisioningosinstalltype-table">provisioningOSinstalltype
table</a></li>
+<li><a href="#querylog-table">querylog table</a></li>
+<li><a href="#request-table">request table</a></li>
+<li><a href="#reservation-table">reservation table</a></li>
+<li><a href="#reservationaccounts-table">reservationaccounts table</a></li>
+<li><a href="#resource-table">resource table</a></li>
+<li><a href="#resourcegroup-table">resourcegroup table</a></li>
+<li><a href="#resourcegroupmembers-table">resourcegroupmembers table</a></li>
+<li><a href="#resourcemap-table">resourcemap table</a></li>
+<li><a href="#resourcepriv-table">resourcepriv table</a></li>
+<li><a href="#resourcetype-table">resourcetype table</a></li>
+<li><a href="#schedule-table">schedule table</a></li>
+<li><a href="#scheduletimes-table">scheduletimes table</a></li>
+<li><a href="#serverprofile-table">serverprofile table</a></li>
+<li><a href="#serverrequest-table">serverrequest table</a></li>
+<li><a href="#shibauth-table">shibauth table</a></li>
+<li><a href="#sitemaintenance-table">sitemaintenance table</a></li>
+<li><a href="#state-table">state table</a></li>
+<li><a href="#statgraphcache-table">statgraphcache table</a></li>
+<li><a href="#subimages-table">subimages table</a></li>
+<li><a href="#sublog-table">sublog table</a></li>
+<li><a href="#user-table">user table</a></li>
+<li><a href="#usergroup-table">usergroup table</a></li>
+<li><a href="#usergroupmembers-table">usergroupmembers table</a></li>
+<li><a href="#usergrouppriv-table">usergrouppriv table</a></li>
+<li><a href="#usergroupprivtype-table">usergroupprivtype table</a></li>
+<li><a href="#userpriv-table">userpriv table</a></li>
+<li><a href="#userprivtype-table">userprivtype table</a></li>
+<li><a href="#variable-table">variable table</a></li>
+<li><a href="#vmhost-table">vmhost table</a></li>
+<li><a href="#vmprofile-table">vmprofile table</a></li>
+<li><a href="#vmtype-table">vmtype table</a></li>
+<li><a href="#winkms-table">winKMS table</a></li>
+<li><a href="#winproductkey-table">winProductKey table</a></li>
+<li><a href="#xmlrpclog-table">xmlrpcLog table</a></li>
+</ul>
+</div>
+<h3 id="affiliation-table">affiliation table</h3>
+<p>This table contains a list of affiliations that can access this VCL
site.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>name</strong> - name of entry</li>
+<li><strong>shibname</strong> - for affiliations using shibboleth - the name
of the shibboleth affiliation (the part after @ in
eduPersonScopedAffiliation)</li>
+<li><strong>dataUpdateText</strong> - this will be displayed on the User
Preferences->Personal Information page to provide information on how to
update things other than Preferred Name in that box</li>
+<li><strong>sitewwwaddress</strong> - URL for login page for this affiliation;
typically it is just the URL encoded parameters to index.php to have the
authentication method already selected (i.e. <a
href="https://vcl.example.org/vcl/index.php?mode=selectauth&authtype=EXAMPLE%20LDAP"
class="external-link"
rel="nofollow">https://vcl.example.org/vcl/index.php?mode=selectauth&authtype=EXAMPLE%20LDAP</a>)</li>
+<li><strong>helpaddress</strong> - support email address for this
affiliation</li>
+<li><strong>shibonly</strong> - 1 if this affiliation can only be
authenticated via shibboleth, 0 if LDAP is also set up</li>
+</ul>
+<h3 id="blockcomputers-table">blockComputers table</h3>
+<p>This table tracks which computers have been allocated to individual block
allocation time slots.</p>
+<ul>
+<li><strong>blockTimeid</strong> - reference to blockTimes.id</li>
+<li><strong>computerid</strong> - reference to computer.id</li>
+<li><strong>imageid</strong> - reference to image.id</li>
+<li><strong>reloadrequestid</strong> - reference to request.id - reload
reservation for preloading this node</li>
+</ul>
+<h3 id="blockrequest-table">blockRequest table</h3>
+<p>This table contains all of the block allocations that have been requested
and their current state.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>name</strong> - name of entry</li>
+<li><strong>imageid</strong> - reference to image.id</li>
+<li><strong>numMachines</strong> - number of machines to preload for this
block allocation</li>
+<li><strong>groupid</strong> - reference to usergroup.id - user group that
will have access to machines in this block allocation</li>
+<li><strong>repeating</strong> - enum field - weekly, monthly, or list - how
this block allocation repeats</li>
+<li><strong>ownerid</strong> - reference to user.id - owner of the block
allocation</li>
+<li><strong>admingroupid</strong> - reference to usergroup.id - (to be
deprecated in 2.3) - user group that can modify this block allocation</li>
+<li><strong>managementnodeid</strong> - reference to managementnode.id -
management node that is to process this block allocation</li>
+<li><strong>expireTime</strong> - last date and time of block allocation time
slots</li>
+<li><strong>processing</strong> - flag used by vcld to determine if a vcld
process is processing this block allocation</li>
+<li><strong>status</strong> - enum field - requested, accepted, completed,
reject - current status of the block allocation</li>
+<li><strong>comments</strong> - any comments entered by the person that
requested the block allocation</li>
+</ul>
+<h3 id="blocktimes-table">blockTimes table</h3>
+<p>This table contains all of the time slots associated with a block
allocation that are active or have not yet been reached. Time slots are deleted
after they are completed.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>blockRequestid</strong> - reference to blockRequest.id</li>
+<li><strong>start</strong> - start of block time</li>
+<li><strong>end</strong> - end of block time</li>
+<li><strong>processed</strong> - flag for vcld - 1 if block time has been
processed by vcld, 0 if not</li>
+<li><strong>skip</strong> - flag for users to skip individual instances of
repeating block allocations - 1 to skip, 0 to use</li>
+</ul>
+<h3 id="blockwebdate-table">blockWebDate table</h3>
+<p>This table contains date related items associated with a block allocation
so that they can more easily be retrieved when editing a block allocation.</p>
+<ul>
+<li><strong>blockRequestid</strong> - reference to blockRequest.id</li>
+<li><strong>start</strong> - start date of block allocation</li>
+<li><strong>end</strong> - end date of block allocation</li>
+<li><strong>days</strong> - for weekly repeating blocks, this is a bitmask of
the selected days; for monthly repeating blocks, this is the day of the week;
for lists, this is the order the item is in the set of dates</li>
+<li><strong>weeknum</strong> - only used for monthly repeating blocks - the
selected week of the month</li>
+</ul>
+<h3 id="blockwebtime-table">blockWebTime table</h3>
+<p>This table contains time related items associated with a block allocation
so that they can more easily be retrieved when editing a block allocation.</p>
+<ul>
+<li><strong>blockRequestid</strong> - reference to blockRequest.id</li>
+<li><strong>starthour</strong> - start hour of block allocation</li>
+<li><strong>startminute</strong> - start minute of block allocation</li>
+<li><strong>startmeridian</strong> - start meridian of block allocation</li>
+<li><strong>endhour</strong> - end hour of block allocation</li>
+<li><strong>endminute</strong> - end minute of block allocation</li>
+<li><strong>endmeridian</strong> - end meridian of block allocation</li>
+<li><strong>order</strong> - for weekly and monthly repeating blocks, this is
the sequential order of the time slot; for lists, it is the sequential order of
the date/time</li>
+</ul>
+<h3 id="changelog-table">changelog table</h3>
+<p>This table logs changes made to reservations.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>logid</strong> - reference to log.id</li>
+<li><strong>start</strong> - change to start time of reservation</li>
+<li><strong>end</strong> - change to end time of reservation</li>
+<li><strong>computerid</strong> - reference to computer.id - change to
computer assigned to reservation</li>
+<li><strong>remoteIP</strong> - change to remote IP of reservation user</li>
+<li><strong>wasavailable</strong> - mostly deprecated - if submitted change to
start/end time of reservation was available for use or not</li>
+<li><strong>timestamp</strong> - datetime entry was added</li>
+</ul>
+<h3 id="clickthroughs-table">clickThroughs table</h3>
+<p>This table logs click through agreements users must agree to when they
create images.</p>
+<ul>
+<li><strong>userid</strong> - reference to user.id - user that clicked
agreement</li>
+<li><strong>imageid</strong> - reference to image.id - image for which
agreement was clicked</li>
+<li><strong>imagerevisionid</strong> - reference to imagerevision.id - image
revision for which agreement was clicked</li>
+<li><strong>accepted</strong> - datetime agreement clicked</li>
+<li><strong>agreement</strong> - text of agreement at time it was clicked</li>
+</ul>
+<h3 id="computer-table">computer table</h3>
+<p>This table contains all information about compute nodes and VMs that VCL
controls. All bare metal computers, virtual hosts, and virtual machines must
have an entry in this table.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>stateid</strong> - reference to state.id - current state of
computer</li>
+<li><strong>ownerid</strong> - reference to owner.id - owner of computer</li>
+<li><strong>platformid</strong> - reference to platform.id - platform of
computer</li>
+<li><strong>scheduleid</strong> - reference to schedule.id - schedule of
computer</li>
+<li><strong>currentimageid</strong> - reference to image.id - image currently
loaded on computer</li>
+<li><strong>nextimageid</strong> - reference to image.id - image to be loaded
next on computer, only used under certain circumstances</li>
+<li><strong>imagerevisionid</strong> - reference to imagerevision.id - image
revision currently loaded on computer (somewhat redundant with
currentimageid)</li>
+<li><strong>RAM</strong> - amount of RAM physical computer has, or maximum
amount of RAM that can be allocated to virtual computer</li>
+<li><strong>procnumber</strong> - number of processor cores physical computer
has, or maximum number of processor cores that can be allocated to virtual
computer</li>
+<li><strong>procspeed</strong> - speed of processor cores in MHz</li>
+<li><strong>network</strong> - speed of (public?) NIC(s) in Mbps</li>
+<li><strong>hostname</strong> - private hostname of computer</li>
+<li><strong>IPaddress</strong> - public IP address</li>
+<li><strong>privateIPaddress</strong> - private IP address
+eth0macaddress - MAC address of private NIC
+eth1macaddress - MAC address of public NIC</li>
+<li><strong>type</strong> - blade, lab, or virtualmachine - type of the
computer</li>
+<li><strong>provisioningid</strong> - reference to provisioning.id -
provisioning module/method to be used for computer</li>
+<li><strong>drivetype</strong> - hda or sda - type of drive in the computer
(is this still used?)</li>
+<li><strong>deleted</strong> - flag to show if computer has been deleted - 1
if deleted, 0 if not</li>
+<li><strong>notes</strong> - any notes entered when computer placed into
maintenance state</li>
+<li><strong>lastcheck</strong> - date stamp of last time the computer was
checked through healthcheck.pl</li>
+<li><strong>location</strong> - physical location of node (Data Center 1, rack
1, etc)</li>
+<li><strong>dsa</strong> - Not being used. Was planned for storing host keys
for ssh</li>
+<li><strong>dsapub</strong> - Not being used. Was planned for storing host
keys for ssh</li>
+<li><strong>rsa</strong> - Not being used. Was planned for storing host keys
for ssh</li>
+<li><strong>rsapub</strong> - Not being used. Was planned for storing host
keys for ssh </li>
+<li><strong>host</strong> - Not being used. Was planned for storing host keys
for ssh</li>
+<li><strong>hostpub</strong> - Not being used. Was planned for storing host
keys for ssh</li>
+<li><strong>vmhostid</strong> - reference to vmhost.id - only used for virtual
machines, this is the host computer of the VM</li>
+<li><strong>vmtypeid</strong> - reference to vmtype.id - only used for virtual
machines, this is the type of the VM (vmware, xen, kvm, etc)</li>
+</ul>
+<h3 id="computerloadflow-table">computerloadflow table</h3>
+<p>This table contains entries that establish a flow of states that are
followed when a reservation is being deployed so that users can have feedback
on the current reservations page about their reservations.</p>
+<ul>
+<li><strong>computerloadstateid</strong> - reference to
computerloadstate.id</li>
+<li><strong>nextstateid</strong> - reference to computerloadstate.id - the
computer load state that follows this one</li>
+<li><strong>type</strong> - type of load this sequence is for</li>
+</ul>
+<h3 id="computerloadlog-table">computerloadlog table</h3>
+<p>This table contains actual log entries for each state processed when a
reservation is being deployed so that users can have feedback on the current
reservations page about their reservations.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>reservationid</strong> - reference to reservation.id - reservation
this entry is for</li>
+<li><strong>computerid</strong> - reference to computer.id</li>
+<li><strong>loadstateid</strong> - reference to computerloadstate.id - state
this entry is for</li>
+<li><strong>timestamp</strong> - date/time entry entered into log</li>
+<li><strong>additionalinfo</strong> - details about this entry</li>
+</ul>
+<h3 id="computerloadstate-table">computerloadstate table</h3>
+<p>This table contains the load states that a reservation goes through when
being deployed and their estimated time so that an estimate of how much longer
the deploy will take can be generated.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>loadstatename</strong> - short name of state</li>
+<li><strong>prettyname</strong> - more descriptive name of state</li>
+<li><strong>est</strong> - estimated time for state in minutes</li>
+</ul>
+<h3 id="connectmethod-table">connectmethod table</h3>
+<p>This table contains all of the connect methods available to be assigned to
an image. Connect methods are things like RDP, ssh, VNC, etc.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>name</strong> - name of entry</li>
+<li><strong>description</strong> - description of connect method</li>
+<li><strong>protocol</strong> - TCP or UDP</li>
+<li><strong>port</strong> - tcp or udp port number</li>
+<li><strong>connecttext</strong> - this text will be displayed on the Connect
page, there are a few variable substitutions available to be used: #userid#,
#password#, #connectIP#, and #connectport#</li>
+<li><strong>servicename</strong> - name of service to be started to enable
connect method on provisioned node</li>
+<li><strong>startupscript</strong> - name of script to be run to enable
connect method on provisioned node</li>
+</ul>
+<h3 id="connectmethodmap-table">connectmethodmap table</h3>
+<p>This table contains two types of information and can be somewhat confusing.
It tracks which connect methods are mapped to which OS types, OSes, and image
revisions. It also contains which methods can be assigned to which OS types
and OSes. Entries that have autoprovisioned set to 0 or 1 are entries that
tell whether or not the image can be assigned to that OS type or OS. Entries
that have autoprovisioned set to NULL tell whether that method is enabled in
addition to default methods for the image, or whether that method is a default
one but disable for the image.</p>
+<ul>
+<li><strong>connectmethodid</strong> - reference to connectmethod.id</li>
+<li><strong>OStypeid</strong> - reference to OStype.id - OS type this entry
applies to (can be NULL)</li>
+<li><strong>OSid</strong> - reference to OS.id - OS this entry applies to (can
be NULL)</li>
+<li><strong>imagerevisionid</strong> - reference to imagerevision.id - image
revision this entry applies to (can be NULL)</li>
+<li><strong>disabled</strong> - flag telling if method is enabled/disabled for
combination of OStypeid, OSid, and imagerevisionid</li>
+<li><strong>autoprovisioned</strong> - NULL, 0, or 1 - flag to tell if this
connect method can be autoprovisioned by vcld or if the image owner must
install the software to enable it</li>
+</ul>
+<h3 id="continuations-table">continuations table</h3>
+<p>This table contains "continuations" which are basically saved states that
can then be submitted by the frontend to perform an action.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>userid</strong> - reference to user.id - who this entry belongs
to</li>
+<li><strong>expiretime</strong> - date/time entry expires</li>
+<li><strong>frommode</strong> - mode transitioning from</li>
+<li><strong>tomode</strong> - mode transitioning to</li>
+<li><strong>data</strong> - serialized data saved with this continuation</li>
+<li><strong>multicall</strong> - flag to tell if this continuation can be
called more than one time</li>
+<li><strong>parentid</strong> - reference to continuations.id - parent of this
continuation for continuation chains (can be NULL)</li>
+<li><strong>deletefromid</strong> - reference to continuations.id - id in a
continuation chain from which to start deleting the chain</li>
+</ul>
+<h3 id="documentation-table">documentation table</h3>
+<p>This table is deprecated. At one time, there was a built in documentation
wiki like part of the site.</p>
+<ul>
+<li><strong>name</strong> - name of entry</li>
+<li><strong>title</strong> - title of documentation item</li>
+<li><strong>data</strong> - text of documentation item</li>
+</ul>
+<h3 id="image-table">image table</h3>
+<p>This table contains all information about the images available through VCL.
It comes with a single required special image - "No image" that is used to
signify when a computer is not loaded with anything.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>name</strong> - system name of image</li>
+<li><strong>prettyname</strong> - name of image that is displayed to users</li>
+<li><strong>ownerid</strong> - reference to user.id - owner of image</li>
+<li><strong>platformid</strong> - reference to platform.id - platform of
image</li>
+<li><strong>OSid</strong> - reference to OS.id - OS of image</li>
+<li><strong>imagemetaid</strong> - reference to imagemeta.id - NULL or id from
imagemeta table where additional image information is stored</li>
+<li><strong>minram</strong> - minimum RAM required for this image in MB; for
VM images, this is how much RAM to allocate to the VM - however, vcld controls
the minimum that will be allocated to a VM</li>
+<li><strong>minprocnumber</strong> - minimum number of cores required by
image</li>
+<li><strong>minprocspeed</strong> - minimum processor speed required by image
in MHz</li>
+<li><strong>minnetwork</strong> - minimum (public?) network speed required by
image in Mbps</li>
+<li><strong>maxconcurrent</strong> - maximum concurrent reservations that can
be made for image</li>
+<li><strong>reloadtime</strong> - reload time for image - used by backend for
knowing how long to wait during certain parts of deploying the image; only used
by the frontend the first time the image is loaded, after which historical data
is used to estimate loading time</li>
+<li><strong>deleted</strong> - flag to show if image has been deleted - 1 if
deleted, 0 if not</li>
+<li><strong>test</strong> - flag to show if there is a test version of this
image available (depricated?)</li>
+<li><strong>lastupdate</strong> - date/time image was last updated</li>
+<li><strong>forcheckout</strong> - flag to tell if the image should show up in
the list of images on the new reservations page - this is designed to be used
for subimages in clusters where the subimages should not be directly
reserved</li>
+<li><strong>maxinitialtime</strong> - maximum initial time the image can be
reserved</li>
+<li><strong>project</strong> - vcl, hpc, or vclhpc - string used to control
some network configuration?</li>
+<li><strong>size</strong> - size of the image in MB?</li>
+<li><strong>architecture</strong> - x86 or x86_64 - architecture of image</li>
+<li><strong>description</strong> - description of image displayed on new
reservations page</li>
+<li><strong>usage</strong> - notes on how to use image displayed on Connect
page</li>
+<li><strong>basedoffrevisionid</strong> - reference to imagerevision.id -
image revision this image was based off of</li>
+</ul>
+<h3 id="imagemeta-table">imagemeta table</h3>
+<p>This table contains additional information about some images. It was added
so that the extra information would not needed to be recorded for every image
when most of them would not need it.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>checkuser</strong> - flag to tell if reservations for image should
be timed out if user is disconnect for > 15 minutes - 0 not to do timeout, 1
to do timeout</li>
+<li><strong>subimages</strong> - flag to tell if subimages are associated with
image</li>
+<li><strong>usergroupid</strong> - reference to usergroup.id - user group
allowed to log in to reservations for image (deprecated?)</li>
+<li><strong>sysprep</strong> - flat to tell if sysprep should be used on this
image (bare metal images only, sysprep is always disabled for VMs)</li>
+<li><strong>postoption</strong> - ??</li>
+<li><strong>architecture</strong> - ??</li>
+<li><strong>rootaccess</strong> - flag to tell if users should have root
access on reservations for image - 1 to have it, 0 not to</li>
+</ul>
+<h3 id="imagerevision-table">imagerevision table</h3>
+<p>This table contains an entry for every revision (including the initial one)
of each image.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>imageid</strong> - reference to image.id</li>
+<li><strong>revision</strong> - number of this revision</li>
+<li><strong>userid</strong> - reference to user.id - user that created the
revision</li>
+<li><strong>datecreated</strong> - date/time revision was created</li>
+<li><strong>deleted</strong> - flag to tell if revision has been deleted - 1
for deleted, 0 otherwise</li>
+<li><strong>datedeleted</strong> - date/time revision was set to deleted</li>
+<li><strong>production</strong> - flag to tell if this revision is the
production one - 1 for production, 0 otherwise</li>
+<li><strong>comments</strong> - comments entered when revision was created for
keeping track of what was done to the image</li>
+<li><strong>imagename</strong> - system name of revision</li>
+<li><strong>autocaptured</strong> - flag to tell if this was an auto-captured
revision - 1 if it was, 0 otherwise</li>
+</ul>
+<h3 id="imtype-table">IMtype table</h3>
+<p>This table never really got used. The idea was the people could be
notified via IM in addition to or instead of via email.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>name</strong> - name of entry</li>
+</ul>
+<h3 id="localauth-table">localauth table</h3>
+<p>This table contains password hashes for local accounts.</p>
+<ul>
+<li><strong>userid</strong> - reference to user.id</li>
+<li><strong>passhash</strong> - sha1 hash of password and salt</li>
+<li><strong>salt</strong> - 8 character salt to be hashed with the
password</li>
+<li><strong>lastupdated</strong> - date/time entry was last updated</li>
+<li><strong>lockedout</strong> - (unused) flag to tell if this account is
locked out - 1 if locked out, 0 otherwise</li>
+</ul>
+<h3 id="log-table">log table</h3>
+<p>This table contains an entry for every reservation made in VCL except for
those made by the special account 'vclreload'.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>userid</strong> - reference to user.id</li>
+<li><strong>nowfuture</strong> - now or future - whether the reservation was
for 'now' or a future date/time</li>
+<li><strong>start</strong> - start time of the reservation</li>
+<li><strong>loaded</strong> - date/time the image was ready for user
connection</li>
+<li><strong>initialend</strong> - scheduled end time of reservation</li>
+<li><strong>finalend</strong> - date/time reservation actually ended</li>
+<li><strong>wasavailable</strong> - flag to tell if requested reservation was
actually available - somewhat deprecated because users get feedback that a
selection is not available without actually submitting it</li>
+<li><strong>ending</strong> - deleted, released, failed, failedtest, noack,
nologin, timeout, EOR, or none - how the reservation ended</li>
+<li><strong>requestid</strong> - reference to request.id - useful for looking
through vcld logs</li>
+<li><strong>computerid</strong> - reference to computer.id</li>
+<li><strong>remoteIP</strong> - IP address of user's machine</li>
+<li><strong>imageid</strong> - reference to image.id</li>
+<li><strong>size</strong> - ??</li>
+</ul>
+<h3 id="loginlog-table">loginlog table</h3>
+<p>This table contains a log of every authentication attempt.</p>
+<ul>
+<li><strong>user</strong> - user id entered on login page</li>
+<li><strong>authmech</strong> - authentication method selected</li>
+<li><strong>affiliationid</strong> - affiliation used to authenticate user</li>
+<li><strong>timestamp</strong> - date/time authentication attempt occurred</li>
+<li><strong>passfail</strong> - 0 for fail, 1 for pass</li>
+<li><strong>remoteIP</strong> - IP address of user's machine</li>
+</ul>
+<h3 id="managementnode-table">managementnode table</h3>
+<p>This table contains information about each management node.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>IPaddress</strong> - IP of management node</li>
+<li><strong>hostname</strong> - hostname of management node</li>
+<li><strong>ownerid</strong> - reference to user.id - owner of management
node</li>
+<li><strong>stateid</strong> - reference to state.id - current state of
management node</li>
+<li><strong>lastcheckin</strong> - date/time of last check in by management
node</li>
+<li><strong>checkininterval</strong> - how often in seconds the management
node should be checking in</li>
+<li><strong>installpath</strong> - path to root of image library</li>
+<li><strong>imagelibenable</strong> - 1 to enable sharing images among
management nodes, 0 otherwise</li>
+<li><strong>imagelibgroupid</strong> - reference to resourcegroup.id -
resource group that contains other management nodes from which this one can get
images</li>
+<li><strong>imagelibuser</strong> - user to use when fetching images from
other management nodes</li>
+<li><strong>imagelibkey</strong> - ssh identity key to use when fetching
images from other management nodes</li>
+<li><strong>keys</strong> - comman delimited list of ssh identity keys to use
when sshing to compute nodes</li>
+<li><strong>predictivemoduleid</strong> - id of module for predicting which
image to load when a reservation completes</li>
+<li><strong>sshport</strong> - ssh port to listen on</li>
+<li><strong>publicIPconfiguration</strong> - how compute nodes managed by this
node obtain their public IP</li>
+<li><strong>publicSubnetMask</strong> - if publicIPconfiguration is 'static',
enter the subnet mask to be used when configuring the compute nodes
addresses</li>
+<li><strong>publicDefaultGateway</strong> - if publicIPconfiguration is
'static', enter the gateway to be used when configuring the compute nodes
addresses</li>
+<li><strong>publicDNSserver</strong> - if publicIPconfiguration is 'static',
enter the DNS server to be used when configuring the compute nodes
addresses</li>
+<li><strong>sysadminEmailAddress</strong> - email address to use when sending
problem reports</li>
+<li><strong>sharedMailBox</strong> - email address to use for sending shadow
emails of user emails
+NOT_STANDALONE - ??</li>
+</ul>
+<h3 id="module-table">module table</h3>
+<p>This table contains information about the various perl modules that are
part of vcld.</p>
+<ul>
+<li><strong>id</strong> - id of module</li>
+<li><strong>name</strong> - name of module</li>
+<li><strong>prettyname</strong> - more descriptive name of module</li>
+<li><strong>description</strong> - description of module</li>
+<li><strong>perlpackage</strong> - string to use when including this module in
perl scripts</li>
+</ul>
+<h3 id="os-table">OS table</h3>
+<p>This table contains information about OSes VCL knows about.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>name</strong> - name of entry</li>
+<li><strong>prettyname</strong> - more descriptive name of OS</li>
+<li><strong>type</strong> - reference to OStype.name - windows, linux, unix,
etc</li>
+<li><strong>installtype</strong> - reference to OSinstalltype.name - none,
partimage, kickstart, etc</li>
+<li><strong>sourcepath</strong> - ??</li>
+<li><strong>moduleid</strong> - reference to module.id - module that handles
this OS</li>
+</ul>
+<h3 id="osinstalltype-table">OSinstalltype table</h3>
+<p>This table is a list of the ways an image can be installed.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>name</strong> - name of entry</li>
+</ul>
+<h3 id="ostype-table">OStype table</h3>
+<p>This table contains a list of OS types VCL knows about - linux, unix,
windows, etc.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>name</strong> - name of entry</li>
+</ul>
+<h3 id="platform-table">platform table</h3>
+<p>This table contains a list of platforms VCL knows about - i386, i386_lab
(special case for lab machines), and ultrasparc.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>name</strong> - name of entry</li>
+</ul>
+<h3 id="privnode-table">privnode table</h3>
+<p>This table contains all of the nodes that make up the Privilege Tree on the
Privileges page.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>parent</strong> - reference to privnode.id - parent of this
node</li>
+<li><strong>name</strong> - name of entry</li>
+</ul>
+<h3 id="provisioning-table">provisioning table</h3>
+<p>This table contains all of the provisioning modules that are part of
vcld.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>name</strong> - name of entry</li>
+<li><strong>prettyname</strong> - more descriptive name of provisioning
method</li>
+<li><strong>moduleid</strong> - reference to module.id - id of module that
handles this provisioning method</li>
+</ul>
+<h3 id="provisioningosinstalltype-table">provisioningOSinstalltype table</h3>
+<p>This table is a mapping of which provisioning methods can handle which OS
install types.</p>
+<ul>
+<li><strong>provisioningid</strong> - reference to provisioning.id</li>
+<li><strong>OSinstalltypeid</strong> - reference to OSinstalltype.id</li>
+</ul>
+<h3 id="querylog-table">querylog table</h3>
+<p>This table contains an entry for every query performed by the frontend that
modifies the database (i.e. everything but SELECT statements).</p>
+<ul>
+<li><strong>userid</strong> - reference to user.id</li>
+<li><strong>timestamp</strong> - date/time of query</li>
+<li><strong>mode</strong> - mode of site when query performed</li>
+<li><strong>query</strong> - string of query</li>
+</ul>
+<h3 id="request-table">request table</h3>
+<p>This table contains information about every current or future reservation.
Only a single entry exists in this table for cluster reservations.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>stateid</strong> - reference to state.id - current state of
reservation</li>
+<li><strong>userid</strong> - reference to user.id</li>
+<li><strong>laststateid</strong> - reference to state.id - last state of
reservation</li>
+<li><strong>logid</strong> - reference to log.id - log entry for
reservation</li>
+<li><strong>forimaging</strong> - 0 for normal reservation, 1 for imaging</li>
+<li><strong>test</strong> - ??</li>
+<li><strong>preload</strong> - ??</li>
+<li><strong>start</strong> - date/time for start of reservation</li>
+<li><strong>end</strong> - date/time for end of reservation</li>
+<li><strong>daterequested</strong> - date/time reservation submitted</li>
+<li><strong>datemodified</strong> - date/time reservation modified</li>
+<li><strong>checkuser</strong> - flag to tell if reservation should be timed
out if user is disconnect for > 15 minutes - 0 not to do timeout, 1 to do
timeout</li>
+</ul>
+<h3 id="reservation-table">reservation table</h3>
+<p>This table contains information about every current or future reservation.
There will be one entry in this table corresponding to each entry in the
request table for normal reservations, and multiple entries (one for each node)
in this one for each entry in the request table for cluster reservations.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>requestid</strong> - reference to request.id - corresponding entry
in request table</li>
+<li><strong>computerid</strong> - reference to computer.id - computer assigned
to this reservation</li>
+<li><strong>imageid</strong> - reference to image.id - image deployed on
computer</li>
+<li><strong>imagerevisionid</strong> - reference to imagerevision.id - image
revision to be deployed on computer</li>
+<li><strong>managementnodeid</strong> - reference to managementnode.id -
management node handling this reservation</li>
+<li><strong>remoteIP</strong> - IP address of user's machine</li>
+<li><strong>lastcheck</strong> - date/time reservation last checked by
vcld</li>
+<li><strong>pw</strong> - user's password for reservation - leave empty to
signify user should use enterprise authentication password</li>
+<li><strong>connectIP</strong> - (unused)</li>
+<li><strong>connectport</strong> - (unused)</li>
+</ul>
+<h3 id="reservationaccounts-table">reservationaccounts table</h3>
+<p>This table contains userids and passwords for additional accounts for
server reservations. There is not an entry for the owner of the reservation.
These correspond to the admin and login user groups.</p>
+<ul>
+<li><strong>reservationid</strong> - reference to reservation.id</li>
+<li><strong>userid</strong> - reference to user.id</li>
+<li><strong>password</strong> - user's password for this reservation</li>
+</ul>
+<h3 id="resource-table">resource table</h3>
+<p>This table contains an entry for every resource VCL knows about. Every
resource has a unique id from this table, and a sub id from a resource specific
table (computer, image, management node, etc).</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>resourcetypeid</strong> - reference to resourcetype.id - type of
this resource</li>
+<li><strong>subid</strong> - reference to id from specific resource table
(computer.id, image.id, managementnode.id, etc)</li>
+</ul>
+<h3 id="resourcegroup-table">resourcegroup table</h3>
+<p>This table contains all of the resource groups.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>name</strong> - name of entry</li>
+<li><strong>ownerusergroupid</strong> - reference to usergroup.id - user group
that owns this resource group</li>
+<li><strong>resourcetypeid</strong> - reference to resourcetype.id - type of
this resource group</li>
+</ul>
+<h3 id="resourcegroupmembers-table">resourcegroupmembers table</h3>
+<p>This table contains a list of which resources are in which resource
groups.</p>
+<ul>
+<li><strong>resourceid</strong> - reference to resource.id</li>
+<li><strong>resourcegroupid</strong> - reference to resourcegroup.id</li>
+</ul>
+<h3 id="resourcemap-table">resourcemap table</h3>
+<p>This table contains which resource groups map to other resource groups.</p>
+<p>resourcegroupid1 - reference to resourcegroup.id
+resourcetypeid1 - reference to resourcetype.id
+resourcegroupid2 - reference to resourcegroup.id
+resourcetypeid2 - reference to resourcetype.id</p>
+<h3 id="resourcepriv-table">resourcepriv table</h3>
+<p>This table contains the attributes that can be granted to resource
groups.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>resourcegroupid</strong> - reference to resourcegroup.id -
resource group being assigned attribute</li>
+<li><strong>privnodeid</strong> - reference to privnode.id - node where
attribute being assigned</li>
+<li><strong>type</strong> - block, cascade, available, administer,
manageGroup, or manageMapping - attribute being assigned at node</li>
+</ul>
+<h3 id="resourcetype-table">resourcetype table</h3>
+<p>This table contains a list of all the resource types.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>name</strong> - name of entry</li>
+</ul>
+<h3 id="schedule-table">schedule table</h3>
+<p>This table contains all of the schedules available.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>name</strong> - name of entry</li>
+<li><strong>ownerid</strong> - reference to user.id - owner of schedule</li>
+</ul>
+<h3 id="scheduletimes-table">scheduletimes table</h3>
+<p>This table contains all of the starts/ends of the time slots for each
schedule. Schedules are what times during a week that computers are available.
They run from midnight Sunday morning (0) to midnight Sunday morning one week
later (10080).</p>
+<ul>
+<li><strong>scheduleid</strong> - reference to schedule.id</li>
+<li><strong>start</strong> - start of time slot in minutes since midnight
Sunday morning</li>
+<li><strong>end</strong> - end of time slot in minutes since midnight Sunday
morning</li>
+</ul>
+<h3 id="serverprofile-table">serverprofile table</h3>
+<p>This table contains all of the server profiles.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>name</strong> - name of entry</li>
+<li><strong>description</strong> - info about profile</li>
+<li><strong>imageid</strong> - reference to image.id</li>
+<li><strong>ownerid</strong> - reference to user.id - owner of this
profile</li>
+<li><strong>ending</strong> - specified or indefinite - how reservations for
this profile will typically end</li>
+<li><strong>fixedIP</strong> - IP address reservations for this profile will
typically use</li>
+<li><strong>fixedMAC</strong> - MAC address reservations for this profile will
typically use</li>
+<li><strong>admingroupid</strong> - reference to usergroup.id</li>
+<li><strong>logingroupid</strong> - reference to usergroup.id</li>
+<li><strong>monitored</strong> - </li>
+</ul>
+<h3 id="serverrequest-table">serverrequest table</h3>
+<p>This table contains an entry for each server reservation.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>serverprofileid</strong> - reference to serverprofile.id - 0 if no
profile used or too many items changed from profile</li>
+<li><strong>requestid</strong> - reference to request.id - main request entry
associated with this server reservation</li>
+<li><strong>fixedIP</strong> - IP address to use on deployed machine</li>
+<li><strong>fixedMAC</strong> - MAC address to use on deployed machine</li>
+<li><strong>admingroupid</strong> - reference to usergroup.id - user group
containing users that should be able to control this reservation and have admin
access to the machine</li>
+<li><strong>logingroupid</strong> - reference to usergroup.id - user group
containing users that should be only be able to log in to this machine (will
see reservation, but only the Connect button)</li>
+<li><strong>monitored</strong> - 1 to have this reservation monitored, 0
otherwise</li>
+</ul>
+<h3 id="shibauth-table">shibauth table</h3>
+<p>This table contains authentication information related to shibboleth
logins.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>userid</strong> - reference to user.id - user entry associated
with</li>
+<li><strong>ts</strong> - date/time entry was inserted</li>
+<li><strong>sessid</strong> - shib session id</li>
+<li><strong>data</strong> - various shibboleth related data passed in from
httpd</li>
+</ul>
+<h3 id="sitemaintenance-table">sitemaintenance table</h3>
+<p>This table contains an entry for any active or upcoming scheduled site
maintenance windows.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>start</strong> - date/time for start of maintenance window</li>
+<li><strong>end</strong> - date/time for end of maintenance window</li>
+<li><strong>ownerid</strong> - reference to user.id - owner of this entry</li>
+<li><strong>created</strong> - date/time entry created</li>
+<li><strong>reason</strong> - info about why maintenance is scheduled</li>
+<li><strong>usermessage</strong> - message that will be displayed to users
about the maintenance</li>
+<li><strong>informhoursahead</strong> - hours before the start time that a
warning should be displayed on the VCL site about upcoming maintenance</li>
+<li><strong>allowreservations</strong> - 1 to allow reservations to be
scheduled ahead of time that overlap with the window, 0 to keep overlapping
future reservations from being scheduled</li>
+</ul>
+<h3 id="state-table">state table</h3>
+<p>This table contains all of the states used in VCL. Not all states are used
any place where states are used. For example, there are states used in the
request table that are not used in the computer table.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>name</strong> - name of entry</li>
+</ul>
+<h3 id="statgraphcache-table">statgraphcache table</h3>
+<p>This table contains cached values for the stat graphs. Some of the data
points take enough computation time that it is prohibitive to calculate them
for really long periods of time. This table allows historical points to
computed once and then saved forever.</p>
+<ul>
+<li><strong>graphtype</strong> - totalres, concurres, concurblade, or concurvm
- type of graph for this entry</li>
+<li><strong>statdate</strong> - date for this entry</li>
+<li><strong>affiliationid</strong> - affiliation for this entry</li>
+<li><strong>value</strong> - data point value for this entry</li>
+</ul>
+<h3 id="subimages-table">subimages table</h3>
+<p>This table contains a list of sub images associated with any clusters.</p>
+<ul>
+<li><strong>imagemetaid</strong> - reference to imagemeta.id</li>
+<li><strong>imageid</strong> - reference to image.id - subimage associated
with imagemetaid</li>
+</ul>
+<h3 id="sublog-table">sublog table</h3>
+<p>This table contains an entry for each computer that was part of a log table
entry. For normal reservations, this is a single entry; for cluster
reservations, it is one entry for each subimage.</p>
+<ul>
+<li><strong>logid</strong> - reference to log.id - corresponding entry in log
table</li>
+<li><strong>imageid</strong> - reference to image.id - image deployed for this
reservation</li>
+<li><strong>imagerevisionid</strong> - reference to imagerevision.id - image
revision deployed for this reservation</li>
+<li><strong>computerid</strong> - reference to computer.id - computer deployed
for this reservation</li>
+<li><strong>IPaddress</strong> - IP address of computer during this deploy</li>
+<li><strong>managementnodeid</strong> - reference to managementnode.id -
management node that handled this deploy</li>
+<li><strong>predictivemoduleid</strong> - reference to module.id - prediction
module used to load image when this reservation finished ??</li>
+<li><strong>hostcomputerid</strong> - reference to computer.id - for VMs, this
was the host the VM was deployed to</li>
+</ul>
+<h3 id="user-table">user table</h3>
+<p>This table contains an entry for every user that has every logged in to
VCL.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>uid</strong> - numeric id of user for accounts on deployed
reservations</li>
+<li><strong>unityid</strong> - normal user id for user</li>
+<li><strong>affiliationid</strong> - reference to affiliation.id - affiliation
of user</li>
+<li><strong>firstname</strong> - first name of user</li>
+<li><strong>lastname</strong> - last name of user</li>
+<li><strong>preferredname</strong> - preferred name of user</li>
+<li><strong>email</strong> - email address of user</li>
+<li><strong>emailnotices</strong> - 1 to get email notices, 0 otherwise</li>
+<li><strong>IMtypeid</strong> - reference to IMtype.id - type of IM address in
IMid</li>
+<li><strong>IMid</strong> - IM account for user</li>
+<li><strong>adminlevelid</strong> - reference to adminlevel.id -
deprecated</li>
+<li><strong>width</strong> - screen width for RDP files</li>
+<li><strong>height</strong> - screen height for RDP files</li>
+<li><strong>bpp</strong> - color depth for RDP files</li>
+<li><strong>audiomode</strong> - audio mode for RDP files</li>
+<li><strong>mapdrives</strong> - drive mapping status for RDP files</li>
+<li><strong>mapprinters</strong> - printer mapping status for RDP files</li>
+<li><strong>mapserial</strong> - serial mapping status for RDP files</li>
+<li><strong>showallgroups</strong> - 1 to show user groups from all
affiliations where user groups can be selected, 0 to only show user groups
matching user's affiliation</li>
+<li><strong>lastupdated</strong> - date/time user's info was last updated</li>
+</ul>
+<h3 id="usergroup-table">usergroup table</h3>
+<p>This table contains all of the user groups.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>name</strong> - name of entry</li>
+<li><strong>affiliationid</strong> - reference to affiliation.id - affiliation
of user group</li>
+<li><strong>ownerid</strong> - reference to user.id - owner of user group</li>
+<li><strong>editusergroupid</strong> - reference to usergroup.id - user group
that can edit membership of this one</li>
+<li><strong>custom</strong> - 1 for groups created on user groups page, 0
otherwise</li>
+<li><strong>courseroll</strong> - 1 for user group created by courseroll
scripts, 0 otherwise</li>
+<li><strong>initialmaxtime</strong> - max time allowed for initial reservation
creation for user group</li>
+<li><strong>totalmaxtime</strong> - total time allowed for reservations
created by users in this group</li>
+<li><strong>maxextendtime</strong> - max time allowed per extension for users
in this group</li>
+<li><strong>overlapResCount</strong> - number of allowed overlapping
reservations for users in this group (note that 1 is invalid as it doesn't make
sense)</li>
+</ul>
+<h3 id="usergroupmembers-table">usergroupmembers table</h3>
+<p>This table tracks which users are members of which user groups.</p>
+<ul>
+<li><strong>userid</strong> - reference to user.id</li>
+<li><strong>usergroupid</strong> - reference to usergroup.id</li>
+</ul>
+<h3 id="usergrouppriv-table">usergrouppriv table</h3>
+<p>This table is a list of which additional user group privileges have been
assigned to which user groups.</p>
+<ul>
+<li><strong>usergroupid</strong> - reference to usergroup.id</li>
+<li><strong>userprivtypeid</strong> - reference to usergroupprivtype.id - it
probably should have been named usergroupprivtypeid</li>
+</ul>
+<h3 id="usergroupprivtype-table">usergroupprivtype table</h3>
+<p>This table contains additional privileges that can be associated with user
groups that don't make sense to have at any particular privilege node.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>name</strong> - name of entry</li>
+<li><strong>help</strong> - explaination of privilege type</li>
+</ul>
+<h3 id="userpriv-table">userpriv table</h3>
+<p>This table contains the user and user group privileges assigned in the
privilege tree.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>userid</strong> - reference to user.id</li>
+<li><strong>usergroupid</strong> - reference to usergroup.id</li>
+<li><strong>privnodeid</strong> - reference to privnode.id - node where user
privilege being granted</li>
+<li><strong>userprivtypeid</strong> - reference to userprivtype.id - user
privilege being granted</li>
+</ul>
+<h3 id="userprivtype-table">userprivtype table</h3>
+<p>This table contains all of the available user privileges.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>name</strong> - name of entry</li>
+</ul>
+<h3 id="variable-table">variable table</h3>
+<p>This table is a place to store any generic data. It can be settings that
stay around forever, or things that only need to be temporarily stored. It
also provides for a place for the frontend and backend to share less structured
information that what is in other tables.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>name</strong> - name of entry</li>
+<li><strong>serialization</strong> - serialization method used for storing
data</li>
+<li><strong>value</strong> - data stored</li>
+<li><strong>setby</strong> - what set the entry - perl module, web code,
etc</li>
+<li><strong>timestamp</strong> - date/time entry set</li>
+</ul>
+<h3 id="vmhost-table">vmhost table</h3>
+<p>This table contains an entry for each virtual host.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>computerid</strong> - reference to computer.id - physical machine
entry refers to</li>
+<li><strong>vmlimit</strong> - max number of VMs that can be on this host</li>
+<li><strong>vmprofileid</strong> - reference to vmprofile.id - profile being
used on this host</li>
+<li><strong>vmkernalnic</strong> - ??</li>
+<li><strong>vmwaredisk</strong> - localdisk or networkdisk - ??</li>
+</ul>
+<h3 id="vmprofile-table">vmprofile table</h3>
+<p>This table contains an entry for each virtual host profile.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>profilename</strong> - name of the profile</li>
+<li><strong>vmtypeid</strong> - reference to vmtype.id - hypervisor type of
this profile</li>
+<li><strong>imageid</strong> - reference to image.id - image deployed on
host</li>
+<li><strong>repositorypath</strong> - ??</li>
+<li><strong>datastorepath</strong> - ??</li>
+<li><strong>virtualdiskpath</strong> - ??</li>
+<li><strong>vmpath</strong> - ??
+virtualswitch0 - name of virtual switch0
+virtualswitch1 - name of virtual switch1
+virtualswitch2 - name of virtual switch2</li>
+</ul>
+<h3 id="vmtype-table">vmtype table</h3>
+<p>This table contains all of the virtual machine types.</p>
+<ul>
+<li><strong>id</strong> - id of entry</li>
+<li><strong>name</strong> - name of entry</li>
+</ul>
+<h3 id="winkms-table">winKMS table</h3>
+<p>This table contains Windows KMS licensing information.</p>
+<ul>
+<li><strong>affiliationid</strong> - reference to affiliation.id</li>
+<li><strong>address</strong> - IP address of KMS server</li>
+<li><strong>port</strong> - port KMS server is listening on</li>
+</ul>
+<h3 id="winproductkey-table">winProductKey table</h3>
+<p>This table contains Windows product key information.</p>
+<ul>
+<li><strong>affiliationid</strong> - reference to affiliation.id</li>
+<li><strong>productname</strong> - ??</li>
+<li><strong>productkey</strong> - ??</li>
+</ul>
+<h3 id="xmlrpclog-table">xmlrpcLog table</h3>
+<p>This table logs each XML RPC API call.</p>
+<ul>
+<li><strong>xmlrpcKeyid</strong> - reference to user.id - user that made API
call (originally, every user got their own key, and this was a reference to
another table)</li>
+<li><strong>timestamp</strong> - date/time API call was made</li>
+<li><strong>IPaddress</strong> - IP address from which API call was made</li>
+<li><strong>method</strong> - function called through API</li>
+<li><strong>apiversion</strong> - API version used</li>
+<li><strong>comments</strong> - serialization of arguments passed to API
method</li>
+</ul>
+ </div>
+
+ <div id="footer">
+ <div class="copyright">
+ <p>
+ Copyright © 2012 The Apache Software Foundation, Licensed under
+ the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache
License, Version 2.0</a>.
+ <br />
+ Apache and the Apache feather logo are trademarks of The Apache
Software Foundation.
+ </p>
+ </div>
+ </div>
+
+</body>
+</html>