You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@vcl.apache.org by jf...@apache.org on 2013/01/08 17:37:56 UTC

svn commit: r1430372 [5/11] - /vcl/site/trunk/content/confluence_export/

Added: vcl/site/trunk/content/confluence_export/database-schema.mdtext
URL: http://svn.apache.org/viewvc/vcl/site/trunk/content/confluence_export/database-schema.mdtext?rev=1430372&view=auto
==============================================================================
--- vcl/site/trunk/content/confluence_export/database-schema.mdtext (added)
+++ vcl/site/trunk/content/confluence_export/database-schema.mdtext Tue Jan  8 16:37:53 2013
@@ -0,0 +1,1024 @@
+Title: Database Schema
+<a name="DatabaseSchema-affiliationtable"></a>
+### affiliation table
+This table contains a list of affiliations that can access this VCL site.
+
+id - id of entry
+name - name of entry
+shibname - for affiliations using shibboleth - the name of the shibboleth
+affiliation (the part after @ in eduPersonScopedAffiliation)
+dataUpdateText - 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
+sitewwwaddress - 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.
+https://vcl.example.org/vcl/index.php?mode=selectauth&authtype=EXAMPLE%20LDAP)
+helpaddress - support email address for this affiliation
+shibonly - 1 if this affiliation can only be authenticated via shibboleth,
+0 if LDAP is also set up
+
+
+<a name="DatabaseSchema-blockComputerstable"></a>
+### blockComputers table
+This table tracks which computers have been allocated to individual block
+allocation time slots.
+
+blockTimeid - reference to blockTimes.id
+computerid - reference to computer.id
+imageid - reference to image.id
+reloadrequestid - reference to request.id - reload reservation for
+preloading this node
+
+
+<a name="DatabaseSchema-blockRequesttable"></a>
+### blockRequest table
+This table contains all of the block allocations that have been requested
+and their current state.
+
+id - id of entry
+name - name of entry
+imageid - reference to image.id
+numMachines - number of machines to preload for this block allocation
+groupid - reference to usergroup.id - user group that will have access to
+machines in this block allocation
+repeating - enum field - weekly, monthly, or list - how this block
+allocation repeats
+ownerid - reference to user.id - owner of the block allocation
+admingroupid - reference to usergroup.id - (to be deprecated in 2.3) - user
+group that can modify this block allocation
+managementnodeid - reference to managementnode.id - management node that is
+to process this block allocation
+expireTime - last date and time of block allocation time slots
+processing - flag used by vcld to determine if a vcld process is processing
+this block allocation
+status - enum field - requested, accepted, completed, reject - current
+status of the block allocation
+comments - any comments entered by the person that requested the block
+allocation
+
+
+<a name="DatabaseSchema-blockTimestable"></a>
+### blockTimes table
+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.
+
+id - id of entry
+blockRequestid - reference to blockRequest.id
+start - start of block time
+end - end of block time
+processed - flag for vcld - 1 if block time has been processed by vcld, 0
+if not
+skip - flag for users to skip individual instances of repeating block
+allocations - 1 to skip, 0 to use
+
+
+<a name="DatabaseSchema-blockWebDatetable"></a>
+### blockWebDate table
+This table contains date related items associated with a block allocation
+so that they can more easily be retrieved when editing a block allocation.
+
+blockRequestid - reference to blockRequest.id
+start - start date of block allocation
+end - end date of block allocation
+days - 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
+weeknum - only used for monthly repeating blocks - the selected week of the
+month
+
+
+<a name="DatabaseSchema-blockWebTimetable"></a>
+### blockWebTime table
+This table contains time related items associated with a block allocation
+so that they can more easily be retrieved when editing a block allocation.
+
+blockRequestid - reference to blockRequest.id
+starthour - start hour of block allocation
+startminute - start minute of block allocation
+startmeridian - start meridian of block allocation
+endhour - end hour of block allocation
+endminute - end minute of block allocation
+endmeridian - end meridian of block allocation
+order - 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
+
+
+<a name="DatabaseSchema-changelogtable"></a>
+### changelog table
+This table logs changes made to reservations.
+
+id - id of entry
+logid - reference to log.id
+start - change to start time of reservation
+end - change to end time of reservation
+computerid - reference to computer.id - change to computer assigned to
+reservation
+remoteIP - change to remote IP of reservation user
+wasavailable - mostly deprecated - if submitted change to start/end time of
+reservation was available for use or not
+timestamp - datetime entry was added
+
+
+<a name="DatabaseSchema-clickThroughstable"></a>
+### clickThroughs table
+This table logs click through agreements users must agree to when they
+create images.
+
+userid - reference to user.id - user that clicked agreement
+imageid - reference to image.id - image for which agreement was clicked
+imagerevisionid - reference to imagerevision.id - image revision for which
+agreement was clicked
+accepted - datetime agreement clicked
+agreement - text of agreement at time it was clicked
+
+
+<a name="DatabaseSchema-computertable"></a>
+### computer table
+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.
+
+id - id of entry
+stateid - reference to state.id - current state of computer
+ownerid - reference to owner.id - owner of computer
+platformid - reference to platform.id - platform of computer
+scheduleid - reference to schedule.id - schedule of computer
+currentimageid - reference to image.id - image currently loaded on computer
+nextimageid - reference to image.id - image to be loaded next on computer,
+only used under certain circumstances
+imagerevisionid - reference to imagerevision.id - image revision currently
+loaded on computer (somewhat redundant with currentimageid)
+RAM - amount of RAM physical computer has, or maximum amount of RAM that
+can be allocated to virtual computer
+procnumber - number of processor cores physical computer has, or maximum
+number of processor cores that can be allocated to virtual computer
+procspeed - speed of processor cores in MHz
+network - speed of (public?) NIC(s) in Mbps
+hostname - private hostname of computer
+IPaddress - public IP address
+privateIPaddress - private IP address
+eth0macaddress - MAC address of private NIC
+eth1macaddress - MAC address of public NIC
+type - blade, lab, or virtualmachine - type of the computer
+provisioningid - reference to provisioning.id - provisioning module/method
+to be used for computer
+drivetype - hda or sda - type of drive in the computer (is this still
+used?)
+deleted - flag to show if computer has been deleted - 1 if deleted, 0 if
+not
+notes - any notes entered when computer placed into maintenance state
+lastcheck - date stamp of last time the computer was checked through
+healthcheck.pl
+location - physical location of node (Data Center 1, rack 1, etc)
+dsa - Not being used. Was planned for storing host keys for ssh
+dsapub - Not being used. Was planned for storing host keys for ssh
+rsa - Not being used. Was planned for storing host keys for ssh
+rsapub - Not being used. Was planned for storing host keys for ssh 
+host - Not being used. Was planned for storing host keys for ssh
+hostpub - Not being used. Was planned for storing host keys for ssh
+vmhostid - reference to vmhost.id - only used for virtual machines, this is
+the host computer of the VM
+vmtypeid - reference to vmtype.id - only used for virtual machines, this is
+the type of the VM (vmware, xen, kvm, etc)
+
+
+<a name="DatabaseSchema-computerloadflowtable"></a>
+### computerloadflow table
+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.
+
+computerloadstateid - reference to computerloadstate.id
+nextstateid - reference to computerloadstate.id - the computer load state
+that follows this one
+type - type of load this sequence is for
+
+
+<a name="DatabaseSchema-computerloadlogtable"></a>
+### computerloadlog table
+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.
+
+id - id of entry
+reservationid - reference to reservation.id - reservation this entry is for
+computerid - reference to computer.id
+loadstateid - reference to computerloadstate.id - state this entry is for
+timestamp - date/time entry entered into log
+additionalinfo - details about this entry
+
+
+<a name="DatabaseSchema-computerloadstatetable"></a>
+### computerloadstate table
+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.
+
+id - id of entry
+loadstatename - short name of state
+prettyname - more descriptive name of state
+est - estimated time for state in minutes
+
+
+<a name="DatabaseSchema-connectmethodtable"></a>
+### connectmethod table
+This table contains all of the connect methods available to be assigned to
+an image.  Connect methods are things like RDP, ssh, VNC, etc.
+
+id - id of entry
+name - name of entry
+description - description of connect method
+protocol - TCP or UDP
+port - tcp or udp port number
+connecttext - this text will be displayed on the Connect page, there are a
+few variable substitutions available to be used: #userid#, #password#,
+#connectIP#, and #connectport#
+servicename - name of service to be started to enable connect method on
+provisioned node
+startupscript - name of script to be run to enable connect method on
+provisioned node
+
+
+<a name="DatabaseSchema-connectmethodmaptable"></a>
+### connectmethodmap table
+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.
+
+connectmethodid - reference to connectmethod.id
+OStypeid - reference to OStype.id - OS type this entry applies to (can be
+NULL)
+OSid - reference to OS.id - OS this entry applies to (can be NULL)
+imagerevisionid - reference to imagerevision.id - image revision this entry
+applies to (can be NULL)
+disabled - flag telling if method is enabled/disabled for combination of
+OStypeid, OSid, and imagerevisionid
+autoprovisioned - 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
+
+
+<a name="DatabaseSchema-continuationstable"></a>
+### continuations table
+This table contains "continuations" which are basically saved states that
+can then be submitted by the frontend to perform an action.
+
+id - id of entry
+userid - reference to user.id - who this entry belongs to
+expiretime - date/time entry expires
+frommode - mode transitioning from
+tomode - mode transitioning to
+data - serialized data saved with this continuation
+multicall - flag to tell if this continuation can be called more than one
+time
+parentid - reference to continuations.id - parent of this continuation for
+continuation chains (can be NULL)
+deletefromid - reference to continuations.id - id in a continuation chain
+from which to start deleting the chain
+
+
+
+<a name="DatabaseSchema-documentationtable"></a>
+### documentation table
+This table is deprecated.  At one time, there was a built in documentation
+wiki like part of the site.
+
+name - name of entry
+title - title of documentation item
+data - text of documentation item
+
+
+<a name="DatabaseSchema-imagetable"></a>
+### image table
+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.
+
+id - id of entry
+name - system name of image
+prettyname - name of image that is displayed to users
+ownerid - reference to user.id - owner of image
+platformid - reference to platform.id - platform of image
+OSid - reference to OS.id - OS of image
+imagemetaid - reference to imagemeta.id - NULL or id from imagemeta table
+where additional image information is stored
+minram - 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
+minprocnumber - minimum number of cores required by image
+minprocspeed - minimum processor speed required by image in MHz
+minnetwork - minimum (public?) network speed required by image in Mbps
+maxconcurrent - maximum concurrent reservations that can be made for image
+reloadtime - 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
+deleted - flag to show if image has been deleted - 1 if deleted, 0 if not
+test - flag to show if there is a test version of this image available
+(depricated?)
+lastupdate - date/time image was last updated
+forcheckout - 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
+maxinitialtime - maximum initial time the image can be reserved
+project - vcl, hpc, or vclhpc - string used to control some network
+configuration?
+size - size of the image in MB?
+architecture - x86 or x86_64 - architecture of image
+description - description of image displayed on new reservations page
+usage - notes on how to use image displayed on Connect page
+basedoffrevisionid - reference to imagerevision.id - image revision this
+image was based off of
+
+
+<a name="DatabaseSchema-imagemetatable"></a>
+### imagemeta table
+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.
+
+id - id of entry
+checkuser - 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
+subimages - flag to tell if subimages are associated with image
+usergroupid - reference to usergroup.id - user group allowed to log in to
+reservations for image (deprecated?)
+sysprep - flat to tell if sysprep should be used on this image (bare metal
+images only, sysprep is always disabled for VMs)
+postoption - ??
+architecture - ??
+rootaccess - flag to tell if users should have root access on reservations
+for image - 1 to have it, 0 not to
+
+
+<a name="DatabaseSchema-imagerevisiontable"></a>
+### imagerevision table
+This table contains an entry for every revision (including the initial one)
+of each image.
+
+id - id of entry
+imageid - reference to image.id
+revision - number of this revision
+userid - reference to user.id - user that created the revision
+datecreated - date/time revision was created
+deleted - flag to tell if revision has been deleted - 1 for deleted, 0
+otherwise
+datedeleted - date/time revision was set to deleted
+production - flag to tell if this revision is the production one - 1 for
+production, 0 otherwise
+comments - comments entered when revision was created for keeping track of
+what was done to the image
+imagename - system name of revision
+autocaptured - flag to tell if this was an auto-captured revision - 1 if it
+was, 0 otherwise
+
+
+<a name="DatabaseSchema-IMtypetable"></a>
+### IMtype table
+This table never really got used.  The idea was the people could be
+notified via IM in addition to or instead of via email.
+
+id - id of entry
+name - name of entry
+
+
+<a name="DatabaseSchema-localauthtable"></a>
+### localauth table
+This table contains password hashes for local accounts.
+
+userid - reference to user.id
+passhash - sha1 hash of password and salt
+salt - 8 character salt to be hashed with the password
+lastupdated - date/time entry was last updated
+lockedout - (unused) flag to tell if this account is locked out - 1 if
+locked out, 0 otherwise
+
+
+<a name="DatabaseSchema-logtable"></a>
+### log table
+This table contains an entry for every reservation made in VCL except for
+those made by the special account 'vclreload'.
+
+id - id of entry
+userid - reference to user.id
+nowfuture - now or future - whether the reservation was for 'now' or a
+future date/time
+start - start time of the reservation
+loaded - date/time the image was ready for user connection
+initialend - scheduled end time of reservation
+finalend - date/time reservation actually ended
+wasavailable - 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
+ending - deleted, released, failed, failedtest, noack, nologin, timeout,
+EOR, or none - how the reservation ended
+requestid - reference to request.id - useful for looking through vcld logs
+computerid - reference to computer.id
+remoteIP - IP address of user's machine
+imageid - reference to image.id
+size - ??
+
+
+<a name="DatabaseSchema-loginlogtable"></a>
+### loginlog table
+This table contains a log of every authentication attempt.
+
+user - user id entered on login page
+authmech - authentication method selected
+affiliationid - affiliation used to authenticate user
+timestamp - date/time authentication attempt occurred
+passfail - 0 for fail, 1 for pass
+remoteIP - IP address of user's machine
+
+
+<a name="DatabaseSchema-managementnodetable"></a>
+### managementnode table
+This table contains information about each management node.
+
+id - id of entry
+IPaddress - IP of management node
+hostname - hostname of management node
+ownerid - reference to user.id - owner of management node
+stateid - reference to state.id - current state of management node
+lastcheckin - date/time of last check in by management node
+checkininterval - how often in seconds the management node should be
+checking in
+installpath - path to root of image library
+imagelibenable - 1 to enable sharing images among management nodes, 0
+otherwise
+imagelibgroupid - reference to resourcegroup.id - resource group that
+contains other management nodes from which this one can get images
+imagelibuser - user to use when fetching images from other management nodes
+imagelibkey - ssh identity key to use when fetching images from other
+management nodes
+keys - comman delimited list of ssh identity keys to use when sshing to
+compute nodes
+predictivemoduleid - id of module for predicting which image to load when a
+reservation completes
+sshport - ssh port to listen on
+publicIPconfiguration - how compute nodes managed by this node obtain their
+public IP
+publicSubnetMask - if publicIPconfiguration is 'static', enter the subnet
+mask to be used when configuring the compute nodes addresses
+publicDefaultGateway - if publicIPconfiguration is 'static', enter the
+gateway to be used when configuring the compute nodes addresses
+publicDNSserver - if publicIPconfiguration is 'static', enter the DNS
+server to be used when configuring the compute nodes addresses
+sysadminEmailAddress - email address to use when sending problem reports
+sharedMailBox - email address to use for sending shadow emails of user
+emails
+NOT_STANDALONE - ??
+
+
+<a name="DatabaseSchema-moduletable"></a>
+### module table
+This table contains information about the various perl modules that are
+part of vcld.
+
+id - id of module
+name - name of module
+prettyname - more descriptive name of module
+description - description of module
+perlpackage - string to use when including this module in perl scripts
+
+
+<a name="DatabaseSchema-OStable"></a>
+### OS table
+This table contains information about OSes VCL knows about.
+
+id - id of entry
+name - name of entry
+prettyname - more descriptive name of OS
+type - reference to OStype.name - windows, linux, unix, etc
+installtype - reference to OSinstalltype.name - none, partimage, kickstart,
+etc
+sourcepath - ??
+moduleid - reference to module.id - module that handles this OS
+
+
+<a name="DatabaseSchema-OSinstalltypetable"></a>
+### OSinstalltype table
+This table is a list of the ways an image can be installed.
+
+id - id of entry
+name - name of entry
+
+
+<a name="DatabaseSchema-OStypetable"></a>
+### OStype table
+This table contains a list of OS types VCL knows about - linux, unix,
+windows, etc.
+
+id - id of entry
+name - name of entry
+
+
+<a name="DatabaseSchema-platformtable"></a>
+### platform table
+This table contains a list of platforms VCL knows about - i386, i386_lab
+(special case for lab machines), and ultrasparc.
+
+id - id of entry
+name - name of entry
+
+
+<a name="DatabaseSchema-privnodetable"></a>
+### privnode table
+This table contains all of the nodes that make up the Privilege Tree on the
+Privileges page.
+
+id - id of entry
+parent - reference to privnode.id - parent of this node
+name - name of entry
+
+
+<a name="DatabaseSchema-provisioningtable"></a>
+### provisioning table
+This table contains all of the provisioning modules that are part of vcld.
+
+id - id of entry
+name - name of entry
+prettyname - more descriptive name of provisioning method
+moduleid - reference to module.id - id of module that handles this
+provisioning method
+
+
+<a name="DatabaseSchema-provisioningOSinstalltypetable"></a>
+### provisioningOSinstalltype table
+This table is a mapping of which provisioning methods can handle which OS
+install types.
+
+provisioningid - reference to provisioning.id
+OSinstalltypeid - reference to OSinstalltype.id
+
+
+<a name="DatabaseSchema-querylogtable"></a>
+### querylog table
+This table contains an entry for every query performed by the frontend that
+modifies the database (i.e. everything but SELECT statements).
+
+userid - reference to user.id
+timestamp - date/time of query
+mode - mode of site when query performed
+query - string of query
+
+
+<a name="DatabaseSchema-requesttable"></a>
+### request table
+This table contains information about every current or future reservation. 
+Only a single entry exists in this table for cluster reservations.
+
+id - id of entry
+stateid - reference to state.id - current state of reservation
+userid - reference to user.id
+laststateid - reference to state.id - last state of reservation
+logid - reference to log.id - log entry for reservation
+forimaging - 0 for normal reservation, 1 for imaging
+test - ??
+preload - ??
+start - date/time for start of reservation
+end - date/time for end of reservation
+daterequested - date/time reservation submitted
+datemodified - date/time reservation modified
+checkuser - 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
+
+
+<a name="DatabaseSchema-reservationtable"></a>
+### reservation table
+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.
+
+id - id of entry
+requestid - reference to request.id - corresponding entry in request table
+computerid - reference to computer.id - computer assigned to this
+reservation
+imageid - reference to image.id - image deployed on computer
+imagerevisionid - reference to imagerevision.id - image revision to be
+deployed on computer
+managementnodeid - reference to managementnode.id - management node
+handling this reservation
+remoteIP - IP address of user's machine
+lastcheck - date/time reservation last checked by vcld
+pw - user's password for reservation - leave empty to signify user should
+use enterprise authentication password
+connectIP - (unused)
+connectport - (unused)
+
+
+<a name="DatabaseSchema-reservationaccountstable"></a>
+### reservationaccounts table
+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.
+
+reservationid - reference to reservation.id
+userid - reference to user.id
+password - user's password for this reservation
+
+
+<a name="DatabaseSchema-resourcetable"></a>
+### resource table
+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).
+
+id - id of entry
+resourcetypeid - reference to resourcetype.id - type of this resource
+subid - reference to id from specific resource table (computer.id,
+image.id, managementnode.id, etc)
+
+
+<a name="DatabaseSchema-resourcegrouptable"></a>
+### resourcegroup table
+This table contains all of the resource groups.
+
+id - id of entry
+name - name of entry
+ownerusergroupid - reference to usergroup.id - user group that owns this
+resource group
+resourcetypeid - reference to resourcetype.id - type of this resource group
+
+
+<a name="DatabaseSchema-resourcegroupmemberstable"></a>
+### resourcegroupmembers table
+This table contains a list of which resources are in which resource groups.
+
+resourceid - reference to resource.id
+resourcegroupid - reference to resourcegroup.id
+
+
+<a name="DatabaseSchema-resourcemaptable"></a>
+### resourcemap table
+This table contains which resource groups map to other resource groups.
+
+resourcegroupid1 - reference to resourcegroup.id
+resourcetypeid1 - reference to resourcetype.id
+resourcegroupid2 - reference to resourcegroup.id
+resourcetypeid2 - reference to resourcetype.id
+
+
+<a name="DatabaseSchema-resourceprivtable"></a>
+### resourcepriv table
+This table contains the attributes that can be granted to resource groups.
+
+id - id of entry
+resourcegroupid - reference to resourcegroup.id - resource group being
+assigned attribute
+privnodeid - reference to privnode.id - node where attribute being assigned
+type - block, cascade, available, administer, manageGroup, or manageMapping
+- attribute being assigned at node
+
+
+<a name="DatabaseSchema-resourcetypetable"></a>
+### resourcetype table
+This table contains a list of all the resource types.
+
+id - id of entry
+name - name of entry
+
+
+<a name="DatabaseSchema-scheduletable"></a>
+### schedule table
+This table contains all of the schedules available.
+
+id - id of entry
+name - name of entry
+ownerid - reference to user.id - owner of schedule
+
+
+<a name="DatabaseSchema-scheduletimestable"></a>
+### scheduletimes table
+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).
+
+scheduleid - reference to schedule.id
+start - start of time slot in minutes since midnight Sunday morning
+end - end of time slot in minutes since midnight Sunday morning
+
+
+<a name="DatabaseSchema-serverprofiletable"></a>
+### serverprofile table
+This table contains all of the server profiles.
+
+id - id of entry
+name - name of entry
+description - info about profile
+imageid - reference to image.id
+ownerid - reference to user.id - owner of this profile
+ending - specified or indefinite - how reservations for this profile will
+typically end
+fixedIP - IP address reservations for this profile will typically use
+fixedMAC - MAC address reservations for this profile will typically use
+admingroupid - reference to usergroup.id
+logingroupid - reference to usergroup.id
+monitored - 
+
+
+<a name="DatabaseSchema-serverrequesttable"></a>
+### serverrequest table
+This table contains an entry for each server reservation.
+
+id - id of entry
+serverprofileid - reference to serverprofile.id - 0 if no profile used or
+too many items changed from profile
+requestid - reference to request.id - main request entry associated with
+this server reservation
+fixedIP - IP address to use on deployed machine
+fixedMAC - MAC address to use on deployed machine
+admingroupid - reference to usergroup.id - user group containing users that
+should be able to control this reservation and have admin access to the
+machine
+logingroupid - 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)
+monitored - 1 to have this reservation monitored, 0 otherwise
+
+
+<a name="DatabaseSchema-shibauthtable"></a>
+### shibauth table
+This table contains authentication information related to shibboleth
+logins.
+
+id - id of entry
+userid - reference to user.id - user entry associated with
+ts - date/time entry was inserted
+sessid - shib session id
+data - various shibboleth related data passed in from httpd
+
+
+<a name="DatabaseSchema-sitemaintenancetable"></a>
+### sitemaintenance table
+This table contains an entry for any active or upcoming scheduled site
+maintenance windows.
+
+id - id of entry
+start - date/time for start of maintenance window
+end - date/time for end of maintenance window
+ownerid - reference to user.id - owner of this entry
+created - date/time entry created
+reason - info about why maintenance is scheduled
+usermessage - message that will be displayed to users about the maintenance
+informhoursahead - hours before the start time that a warning should be
+displayed on the VCL site about upcoming maintenance
+allowreservations - 1 to allow reservations to be scheduled ahead of time
+that overlap with the window, 0 to keep overlapping future reservations
+from being scheduled
+
+
+<a name="DatabaseSchema-statetable"></a>
+### state table
+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.
+
+id - id of entry
+name - name of entry
+
+
+<a name="DatabaseSchema-statgraphcachetable"></a>
+### statgraphcache table
+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.
+
+graphtype - totalres, concurres, concurblade, or concurvm - type of graph
+for this entry
+statdate - date for this entry
+affiliationid - affiliation for this entry
+value - data point value for this entry
+
+
+<a name="DatabaseSchema-subimagestable"></a>
+### subimages table
+This table contains a list of sub images associated with any clusters.
+
+imagemetaid - reference to imagemeta.id
+imageid - reference to image.id - subimage associated with imagemetaid
+
+
+<a name="DatabaseSchema-sublogtable"></a>
+### sublog table
+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.
+
+logid - reference to log.id - corresponding entry in log table
+imageid - reference to image.id - image deployed for this reservation
+imagerevisionid - reference to imagerevision.id - image revision deployed
+for this reservation
+computerid - reference to computer.id - computer deployed for this
+reservation
+IPaddress - IP address of computer during this deploy
+managementnodeid - reference to managementnode.id - management node that
+handled this deploy
+predictivemoduleid - reference to module.id - prediction module used to
+load image when this reservation finished ??
+hostcomputerid - reference to computer.id - for VMs, this was the host the
+VM was deployed to
+
+
+<a name="DatabaseSchema-usertable"></a>
+### user table
+This table contains an entry for every user that has every logged in to
+VCL.
+
+id - id of entry
+uid - numeric id of user for accounts on deployed reservations
+unityid - normal user id for user
+affiliationid - reference to affiliation.id - affiliation of user
+firstname - first name of user
+lastname - last name of user
+preferredname - preferred name of user
+email - email address of user
+emailnotices - 1 to get email notices, 0 otherwise
+IMtypeid - reference to IMtype.id - type of IM address in IMid
+IMid - IM account for user
+adminlevelid - reference to adminlevel.id - deprecated
+width - screen width for RDP files
+height - screen height for RDP files
+bpp - color depth for RDP files
+audiomode - audio mode for RDP files
+mapdrives - drive mapping status for RDP files
+mapprinters - printer mapping status for RDP files
+mapserial - serial mapping status for RDP files
+showallgroups - 1 to show user groups from all affiliations where user
+groups can be selected, 0 to only show user groups matching user's
+affiliation
+lastupdated - date/time user's info was last updated
+
+
+<a name="DatabaseSchema-usergrouptable"></a>
+### usergroup table
+This table contains all of the user groups.
+
+id - id of entry
+name - name of entry
+affiliationid - reference to affiliation.id - affiliation of user group
+ownerid - reference to user.id - owner of user group
+editusergroupid - reference to usergroup.id - user group that can edit
+membership of this one
+custom - 1 for groups created on user groups page, 0 otherwise
+courseroll - 1 for user group created by courseroll scripts, 0 otherwise
+initialmaxtime - max time allowed for initial reservation creation for user
+group
+totalmaxtime - total time allowed for reservations created by users in this
+group
+maxextendtime - max time allowed per extension for users in this group
+overlapResCount - number of allowed overlapping reservations for users in
+this group (note that 1 is invalid as it doesn't make sense)
+
+
+<a name="DatabaseSchema-usergroupmemberstable"></a>
+### usergroupmembers table
+This table tracks which users are members of which user groups.
+
+userid - reference to user.id
+usergroupid - reference to usergroup.id
+
+
+<a name="DatabaseSchema-usergroupprivtable"></a>
+### usergrouppriv table
+This table is a list of which additional user group privileges have been
+assigned to which user groups.
+
+usergroupid - reference to usergroup.id
+userprivtypeid - reference to usergroupprivtype.id - it probably should
+have been named usergroupprivtypeid
+
+
+<a name="DatabaseSchema-usergroupprivtypetable"></a>
+### usergroupprivtype table
+This table contains additional privileges that can be associated with user
+groups that don't make sense to have at any particular privilege node.
+
+id - id of entry
+name - name of entry
+help - explaination of privilege type
+
+
+<a name="DatabaseSchema-userprivtable"></a>
+### userpriv table
+This table contains the user and user group privileges assigned in the
+privilege tree.
+
+id - id of entry
+userid - reference to user.id
+usergroupid - reference to usergroup.id
+privnodeid - reference to privnode.id - node where user privilege being
+granted
+userprivtypeid - reference to userprivtype.id - user privilege being
+granted
+
+
+<a name="DatabaseSchema-userprivtypetable"></a>
+### userprivtype table
+This table contains all of the available user privileges.
+
+id - id of entry
+name - name of entry
+
+
+<a name="DatabaseSchema-variabletable"></a>
+### variable table
+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.
+
+id - id of entry
+name - name of entry
+serialization - serialization method used for storing data
+value - data stored
+setby - what set the entry - perl module, web code, etc
+timestamp - date/time entry set
+
+
+<a name="DatabaseSchema-vmhosttable"></a>
+### vmhost table
+This table contains an entry for each virtual host.
+
+id - id of entry
+computerid - reference to computer.id - physical machine entry refers to
+vmlimit - max number of VMs that can be on this host
+vmprofileid - reference to vmprofile.id - profile being used on this host
+vmkernalnic - ??
+vmwaredisk - localdisk or networkdisk - ??
+
+
+<a name="DatabaseSchema-vmprofiletable"></a>
+### vmprofile table
+This table contains an entry for each virtual host profile.
+
+id - id of entry
+profilename - name of the profile
+vmtypeid - reference to vmtype.id - hypervisor type of this profile
+imageid - reference to image.id - image deployed on host
+repositorypath - ??
+datastorepath - ??
+virtualdiskpath - ??
+vmpath - ??
+virtualswitch0 - name of virtual switch0
+virtualswitch1 - name of virtual switch1
+virtualswitch2 - name of virtual switch2
+virtualswitch3 - name of virtual switch3
+vmdisk - localdist or networkdisk - ??
+username - username to use when accessing hosts with this profile
+password - password to use when accessing hosts with this profile
+vmware_mac_eth0_generated - 1 to generate eth0 MAC for VMs on hosts with
+this profile, 0 to use MAC from computer table
+vmware_mac_eth1_generated - 1 to generate eth1 MAC for VMs on hosts with
+this profile, 0 to use MAC from computer table
+
+
+<a name="DatabaseSchema-vmtypetable"></a>
+### vmtype table
+This table contains all of the virtual machine types.
+
+id - id of entry
+name - name of entry
+
+
+<a name="DatabaseSchema-winKMStable"></a>
+### winKMS table
+This table contains Windows KMS licensing information.
+
+affiliationid - reference to affiliation.id
+address - IP address of KMS server
+port - port KMS server is listening on
+
+
+<a name="DatabaseSchema-winProductKeytable"></a>
+### winProductKey table
+This table contains Windows product key information.
+
+affiliationid - reference to affiliation.id
+productname - ??
+productkey - ??
+
+
+<a name="DatabaseSchema-xmlrpcLogtable"></a>
+### xmlrpcLog table
+This table logs each XML RPC API call.
+
+xmlrpcKeyid - reference to user.id - user that made API call (originally,
+every user got their own key, and this was a reference to another table)
+timestamp - date/time API call was made
+IPaddress - IP address from which API call was made
+method - function called through API
+apiversion - API version used
+comments - serialization of arguments passed to API method

Added: vcl/site/trunk/content/confluence_export/dependencies.mdtext
URL: http://svn.apache.org/viewvc/vcl/site/trunk/content/confluence_export/dependencies.mdtext?rev=1430372&view=auto
==============================================================================
--- vcl/site/trunk/content/confluence_export/dependencies.mdtext (added)
+++ vcl/site/trunk/content/confluence_export/dependencies.mdtext Tue Jan  8 16:37:53 2013
@@ -0,0 +1,128 @@
+Title: Dependencies
+<a name="Dependencies-Frontend"></a>
+## Frontend
+
+* Apache HTTP Server v1.3 or v2.x with SSL enabled - while VCL may run
+under another webserver capable of running PHP code, it has only been
+tested to work with Apache HTTP Server
+* PHP 4 or 5, including these modules:
+** php-mcrypt
+** php-mysql
+** php-xmlrpc
+** php-gd
+** php-xml
+* Dojo Toolkit
+* JPGraph
+* FCKEditor (optional)
+* useful to have the server set up to be able to send debugging emails
+
+<a name="Dependencies-Backend"></a>
+## Backend
+
+* Perl
+* Perl Modules (available from cpan.org)
+** [http://search.cpan.org/CPAN/authors/id/M/MA/MARKOV/MailTools-2.04.tar.gz](http://search.cpan.org/CPAN/authors/id/M/MA/MARKOV/MailTools-2.04.tar.gz)
+** [http://search.cpan.org/CPAN/authors/id/T/TM/TMTM/Class-Data-Inheritable-0.08.tar.gz](http://search.cpan.org/CPAN/authors/id/T/TM/TMTM/Class-Data-Inheritable-0.08.tar.gz)
+** [http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Devel-StackTrace-1.20.tar.gz](http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Devel-StackTrace-1.20.tar.gz)
+** [http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Exception-Class-1.26.tar.gz](http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Exception-Class-1.26.tar.gz)
+** [http://search.cpan.org/CPAN/authors/id/J/JD/JDHEDDEN/Object-InsideOut-3.52.tar.gz](http://search.cpan.org/CPAN/authors/id/J/JD/JDHEDDEN/Object-InsideOut-3.52.tar.gz)
+** [http://search.cpan.org/CPAN/authors/id/K/KW/KWILLIAMS/Module-Build-0.30.tar.gz](http://search.cpan.org/CPAN/authors/id/K/KW/KWILLIAMS/Module-Build-0.30.tar.gz)
+** [http://search.cpan.org/CPAN/authors/id/A/AG/AGROLMS/GSSAPI-0.26.tar.gz](http://search.cpan.org/CPAN/authors/id/A/AG/AGROLMS/GSSAPI-0.26.tar.gz)
+** [http://search.cpan.org/CPAN/authors/id/G/GB/GBARR/Authen-SASL-2.12.tar.gz](http://search.cpan.org/CPAN/authors/id/G/GB/GBARR/Authen-SASL-2.12.tar.gz)
+** [http://search.cpan.org/CPAN/authors/id/R/RE/REATMON/XML-Stream-1.22.tar.gz](http://search.cpan.org/CPAN/authors/id/R/RE/REATMON/XML-Stream-1.22.tar.gz)
+** [http://search.cpan.org/CPAN/authors/id/H/HA/HACKER/Net-XMPP-1.02.tar.gz](http://search.cpan.org/CPAN/authors/id/H/HA/HACKER/Net-XMPP-1.02.tar.gz)
+** [http://search.cpan.org/CPAN/authors/id/R/RE/REATMON/Net-Jabber-2.0.tar.gz](http://search.cpan.org/CPAN/authors/id/R/RE/REATMON/Net-Jabber-2.0.tar.gz)
+** [http://www.cpan.org/modules/by-module/XML/XML-Parser-2.36.tar.gz](http://www.cpan.org/modules/by-module/XML/XML-Parser-2.36.tar.gz)
+** [http://www.cpan.org/modules/by-module/RPC/RPC-XML-0.64.tar.gz](http://www.cpan.org/modules/by-module/RPC/RPC-XML-0.64.tar.gz)
+** [http://www.cpan.org/modules/by-module/Crypt/Crypt-SSLeay-0.57.tar.gz](http://www.cpan.org/modules/by-module/Crypt/Crypt-SSLeay-0.57.tar.gz)
+
+<a name="Dependencies-BackendScripting&ProgrammingLanguages"></a>
+### Backend Scripting & Programming Languages
+
+* Perl - the backend is predominantly driven by Perl code
+* DOS/Windows Batch - several batch (.cmd) files perform tasks
+to&nbsp;configure Windows&nbsp;images&nbsp;
+* VBScript - several VBScript (.vbs) files perform tasks to configure
+Windows images
+* INI files - Windows .ini files need to be configured to customize the
+Windows installation (sysprep.ini, cmdlines.ini)
+
+<a name="Dependencies-ProvisioningEngines"></a>
+## Provisioning Engines
+
+* xCAT 1.3 or xCAT 2.1 [xCAT.org](http://xcat.sourceforge.net)
+* VMWare Free Server
+* VMWare ESX can use native vmware-cmd or VMware perl toolkit
+* VMWare ESXi requires [VMware perl toolkit](http://www.vmware.com/support/developer/viperltoolkit/)
+* KVM
+* IBM Smart Cloud computing ( in development, ask on the mailing list)
+
+<a name="Dependencies-Images"></a>
+## Images
+
+
+<a name="Dependencies-WindowsImageUtilities&OtherFiles"></a>
+### Windows Image Utilities & Other Files
+
+* Windows Sysprep for each version of Windows being used, available from
+microsoft.com( only needed for bare-metal loads)
+* Driver files specific to each version/platform of Windows being used
+* spdrvscn.exe utility - scans Windows drivers before an image is saved,
+available from vernalex.com
+* wsname.exe utility - renames computer according to registered DNS name,
+available from mystuff.clarke.co.nz
+* Cygwin with OpenSSH - allows management nodes to control loaded Windows
+OS on blades, available from cygwin.com
+
+<a name="Dependencies-LinuxKickstartDeployment"></a>
+### Linux Kickstart Deployment
+
+* installation media for Linux distribution that is supported by xCAT
+
+<a name="Dependencies-Database"></a>
+## Database
+
+* MySQL
+* PHPMyAdmin (optional)
+
+<a name="Dependencies-Network"></a>
+## Network
+
+Two or Three networks (see [Network Layout](network-layout.html)
+):
+1. private network - where most control operations happen and where images
+are pushed around
+1. public network - how end users connect to the nodes
+1. Blade Center management network - this is only needed if doing bare metal
+deployment; it is used to communicate with the blade server management
+modules to power on/off the blades and to configure the boot process
+
+<a name="Dependencies-Hardware"></a>
+## Hardware
+
+VCL can deploy images on various types of hardware depending on your needs.
+The following deployment methods have been tested with the listed hardware:
+* bare metal kickstart deploys using xCAT:
+** IBM BladeCenter Blade models HS20, HS21, HS22's
+** Sun blade models X6220 and X6250
+* bare metal image deploys using xCAT:
+** IBM BladeCenter Blade models HS20 and HS21
+* VMWare Free Server image deploys should work on any hardware with VMWare
+Free Server installed and 2 network interfaces
+* VMWare ESX or ESXi image deploys should work on any hardware with VMWare
+ESX installed and 2 network interfaces
+* VMWare vcenter
+* KVM based image deploys should work on any VT capable hardware with KVM
+hypervisor installed and 2 network interfaces
+
+<a name="Dependencies-DevelopmenttoolsusedbyVCLcommitters"></a>
+## Development tools used by VCL committers
+
+* ActiveState Komodo IDE - used to develop several types of files,
+commercial product
+* SlickEdit
+* VI/VIM
+* Firebug plugin for Firefox
+* WinSCP - used to manually transfer files to/from Windows images and
+to/from Windows development machines
+* PuTTY

Added: vcl/site/trunk/content/confluence_export/developer-guidelines.mdtext
URL: http://svn.apache.org/viewvc/vcl/site/trunk/content/confluence_export/developer-guidelines.mdtext?rev=1430372&view=auto
==============================================================================
--- vcl/site/trunk/content/confluence_export/developer-guidelines.mdtext (added)
+++ vcl/site/trunk/content/confluence_export/developer-guidelines.mdtext Tue Jan  8 16:37:53 2013
@@ -0,0 +1,4 @@
+Title: Developer Guidelines
+This page will eventually contain a summary of developer guidelines for the
+Apache VCL project.&nbsp; These guidelines will first be proposed and
+discussed by the development community using the project's dev list.

Added: vcl/site/trunk/content/confluence_export/example---granting-two-sets-of-users-access-to-two-different-sets-of-images.mdtext
URL: http://svn.apache.org/viewvc/vcl/site/trunk/content/confluence_export/example---granting-two-sets-of-users-access-to-two-different-sets-of-images.mdtext?rev=1430372&view=auto
==============================================================================
--- vcl/site/trunk/content/confluence_export/example---granting-two-sets-of-users-access-to-two-different-sets-of-images.mdtext (added)
+++ vcl/site/trunk/content/confluence_export/example---granting-two-sets-of-users-access-to-two-different-sets-of-images.mdtext Tue Jan  8 16:37:53 2013
@@ -0,0 +1,124 @@
+Title: Example - Granting Two Sets of Users Access to Two Different Sets of Images
+This page explains how to grant one groups of users access to one set of
+images, and another set of users access to a separate set of images.
+
+After looking over these steps, you can [watch a video](video---granting-two-sets-of-users-access-to-two-different-sets-of-images.html)
+ of the steps being performed.
+
+<a name="Example-GrantingTwoSetsofUsersAccesstoTwoDifferentSetsofImages-1.CreateaUserGroupforEachSetofUsers"></a>
+## 1. Create a User Group for Each Set of Users
+First, you need to create two user groups - one for each set of users.
+1. Click Manage Groups
+1. Under the User Groups section (at the top):
+1. # Enter a name for the group (it can include spaces)
+1. # (Optionally, if it shows up) select an affiliation for the group
+1. # Enter an owner of the group - probably yourself
+1. # Select a group allowed to edit the user group
+1. # The rest of the fields can be left as defaults
+1. Click Add
+1. Repeat the steps for the second group
+
+For the rest of the page, I'll call the groups *faculty* and *student*
+
+<a name="Example-GrantingTwoSetsofUsersAccesstoTwoDifferentSetsofImages-2.AddUserstoEachGroup"></a>
+## 2. Add Users to Each Group
+You need to add users to each of the groups.
+1. Click Manage Groups if you're not still on that page
+1. Click Edit next to the *faculty* group
+1. Enter a userid in the box next to the Add button (NOTE: if you are not
+using LDAP authentication, the users' accounts will already need to exist
+in VCL)
+1. Click Add
+1. Repeat for all users you wish to add to the *faculty* group
+1. Repeat these steps for the *student* group
+
+<a name="Example-GrantingTwoSetsofUsersAccesstoTwoDifferentSetsofImages-3.CreateanImageGroupforEachSetofImages"></a>
+## 3. Create an Image Group for Each Set of Images
+
+Next, you need to create an image group for each set of images.
+1. Click Manage Groups if you're not still on that page
+1. Under the Resource Groups section (further down the page):
+1. # Select Image as the type
+1. # Enter a name for the group (it can contain spaces)
+1. # Select a user group that will own the resource group (this user group
+will have access to manage some aspects of the resource group)
+1. Click Add
+1. Repeat the steps for the second group
+
+For the rest of the page, I'll call the groups *faculty images* and
+*student images*
+
+<a name="Example-GrantingTwoSetsofUsersAccesstoTwoDifferentSetsofImages-4.AddImagestoEachGroup"></a>
+## 4. Add Images to Each Group
+Now, you need to add the desired images to each group.
+1. Click Manage Images
+1. Select the Edit Image Grouping radio button
+1. Click Submit
+1. Click the *By Group* tab
+1. Select *faculty images*
+1. Click Get Images
+1. Select any images you want to be available to the *faculty* user group in
+the list on the right (Ctrl+click to select multiple images)
+1. Click the <-Add button
+1. Repeat steps for the *student images* group
+
+<a name="Example-GrantingTwoSetsofUsersAccesstoTwoDifferentSetsofImages-5.MaptheImageGroupstoComputerGroups"></a>
+## 5. Map the Image Groups to Computer Groups
+In order for VCL to know on which computers the images can run, you must
+map the image groups to computer groups. I'll assume you already have one
+or more computer groups that contain computers.
+1. Click Manage Images
+1. Select the Edit Image Mapping radio button
+1. Click Submit
+1. Select the *faculty images* group
+1. Click Get Computer Groups
+1. Select at least one computer group to map it to from the list on the
+right
+1. Click the <-Add button
+1. Repeat for the *student images* group (NOTE: It is okay to map both image
+groups to the same computer group. That will not affect what images the
+users have access to.)
+
+<a name="Example-GrantingTwoSetsofUsersAccesstoTwoDifferentSetsofImages-6.CreateaTwoPrivilegeNodes"></a>
+## 6. Create a Two Privilege Nodes
+Now, you need to create one node for each user group to separate their
+access.
+1. Click Privileges
+1. In the tree at the top of the page, click a node under which you'll
+create the two new nodes
+1. Click the Add Child button
+1. Enter a name for the new node (spaces are allowed)
+1. Click Create Child
+1. Repeat for the second node for the other user group
+
+I'll refer to these nodes as *faculty access* and *student access*
+
+<a name="Example-GrantingTwoSetsofUsersAccesstoTwoDifferentSetsofImages-7.AssignRightsatEachNode"></a>
+## 7. Assign Rights at Each Node
+Finally, you need to give each user group the *imageCheckOut* privilege at
+their respective nodes, and give each image group the *available* attribute
+at their respective nodes.
+1. Click on the *faculty access* node
+1. Under User Groups, click Add Group
+1. Select the *faculty* group
+1. Select the checkbox for the *imageCheckOut* privilege
+1. Click Submit New User Group
+1. Scroll down to the Resources section and click Add Resource Group
+1. Select the *image/faculty images* group
+1. Select the checkbox for the *available* attribute
+1. Click Submit New Resource Group
+1. Click on the *student access* node
+1. Under User Groups, click Add Group
+1. Select the *student* group
+1. Select the checkbox for the *imageCheckOut* privilege
+1. Click Submit New User Group
+1. Scroll down to the Resources section and click Add Resource Group
+1. Select the *image/student images* group
+1. Select the checkbox for the *available* attribute
+1. Click Submit New Resource Group
+
+<a name="Example-GrantingTwoSetsofUsersAccesstoTwoDifferentSetsofImages-Summary"></a>
+## Summary
+Now, users in the *faculty* user group will have access to check out images
+in the *faculty images* image group, and users in the *student* user group
+will have access to check out images in the *student images* image group.

Added: vcl/site/trunk/content/confluence_export/for-vcl-users.mdtext
URL: http://svn.apache.org/viewvc/vcl/site/trunk/content/confluence_export/for-vcl-users.mdtext?rev=1430372&view=auto
==============================================================================
--- vcl/site/trunk/content/confluence_export/for-vcl-users.mdtext (added)
+++ vcl/site/trunk/content/confluence_export/for-vcl-users.mdtext Tue Jan  8 16:37:53 2013
@@ -0,0 +1,174 @@
+Title: For VCL Users
+There are several concepts you need to understand when administering VCL.
+
+{toc:outline=true|style=none}
+
+<a name="ForVCLUsers-Resources"></a>
+## Resources
+
+VCL manages sets of resources. There are four types of resources: images,
+computers, management nodes, and schedules.  Each of these resources types
+are described below.
+
+<a name="ForVCLUsers-Images/Environments"></a>
+### Images/Environments
+
+An image is a collection of software that is installed on an operating
+system. For the most part, these images can be deployed, used, modified,
+and saved (captured). However, there are some cases where only some of the
+operations could be proformed on an image. For example, an image could
+exist that could be deployed and used, but not saved, or another image may
+exist that can have access to it brokered by VCL, but it cannot be deployed
+or saved. VCL provides a way to assign other images to be "subimages" of an
+image to create an environment (or cluster). Images can be designed to run
+directly on a computer (bare metal) or under a hypervisor (virtualized
+images). Currently, VCL uses xCAT as the provisioning engine to manage bare
+metal images. Various versions of VMWare can be used to provision
+virtualized images. The VCL backend code (vcld) is sturctured in a
+modularized way such that it is easy to add support for other provisioning
+technologies. We plan on adding support for other hypervisor technologies
+in the near future.
+
+<a name="ForVCLUsers-Computers"></a>
+### Computers
+
+Images are deployed on to computers. VCL needs to know about all of the
+computers it will be managing. Entries for both physical computers and
+Virtual Machines (some people call these "slots") need to be created in VCL
+for it to be able to manage them. 
+
+<a name="ForVCLUsers-ManagementNodes"></a>
+### Management Nodes
+
+Management nodes run the VCL backend code (vcld) that is responsible for
+deploying images to computers when users make reservations for images. Each
+management node can manage a mix of physical and virtual computers.
+
+<a name="ForVCLUsers-Schedules"></a>
+### Schedules
+
+Each computer must have a schedule associated with it. Schedules provide a
+way to define what times during a week a computer is available through VCL.
+This allows for computers to be managed by another system during certain
+parts of a week. For example, computers in a traditional university
+computing lab may be available through VCL when the lab is physically
+closed, but you wouldn't want to be assigning remote users to those
+computers when the lab is open.
+
+<a name="ForVCLUsers-Groups"></a>
+## Groups
+
+Users and resources are placed into groups to make management of them
+easier.
+
+<a name="ForVCLUsers-UserGroups"></a>
+### User Groups
+
+There are two types of user groups in VCL: those whose membership is
+manually managed through the web frontend or XML RPC API, and those whose
+membership is automatically managed by mirroring user groups in an LDAP
+system. Each user group has certain attributes associated with it. There
+are various places within VCL that user groups can be used, with the
+primary place being granting access to resources in the privilege tree.
+
+<a name="ForVCLUsers-ResourceGroups"></a>
+### Resource Groups
+
+Each resource group has a type associated with it which can be one of
+image, computer, management node, or schedule. The resource groups are used
+to grant users access to resources and also to allow VCL to know which
+resources can be used in relation to other resources. One example of this
+is to configure which images can be deployed to which computers. Another
+example is which management nodes can manage which computers.
+
+<a name="ForVCLUsers-ResourceManagement"></a>
+## Resource Management
+
+VCL needs to know how resources related to one another.  This is done by
+adding the resources to a resource group, and then mapping one type of
+resource group to another.
+
+<a name="ForVCLUsers-ResourceGrouping"></a>
+### Resource Grouping
+
+Resource groups can contain any number of resources. Each resource group
+has a resource type associated with it. Only resources matching that type
+can be added to the group. Also, it is important to note that when working
+with computers, physical and virtual computers should not be combined into
+the same group which could result in VCL trying to assign a physical image
+to a virtual computer or vice versa. Some upcoming changes to the code will
+remove this restriction, but for now, keep this restriction in mind while
+grouping computers.
+
+<a name="ForVCLUsers-{anchor:resourcemapping}ResourceMapping"></a>
+### {anchor:resourcemapping}Resource Mapping
+
+After you have grouped your resources, you need to map them together. Image
+groups are mapped to computer groups, and management node groups are mapped
+to computer groups. Schedule groups are not mapped to anything (instead,
+every computer is directly assigned a schedule).
+
+Any image in an image group can be run on any computer in a computer group
+to which it is mapped (provided a user has sufficient privileges to do so).
+There are a few things this allows you to do. If you have incompatible
+hardware, you would create separate computer groups for each type. Then,
+you would have image groups corresponding to each type so that you don't
+end up with VCL trying to deploy images from one type of hardware to an
+incompatible type of hardware. Another thing you can do with the mapping is
+to partition off parts of your hardware. For example, if you had a set of
+users purchase their own hardware to be managed by VCL, you could map only
+their image groups to their computer groups.
+
+<a name="ForVCLUsers-Privileges"></a>
+## Privileges
+
+Users are granted access to parts of the VCL web site and to resources
+through the Privilege tree. User permissions and resource attributes can
+both be cascaded down from one node to all of its children. Additionally,
+cascaded user permissions and resource attributes can be blocked at a node
+so that they do not cascade down to that node or any of its children.
+
+<a name="ForVCLUsers-UserPermissions"></a>
+### User Permissions
+
+There are nine user permissions that can be granted to users. They can be
+granted to users directly or to user groups.
+
+* computerAdmin - allows users to do administrative tasks with computers in
+computer groups with administer or manageGroup granted at the same node
+* groupAdmin - grants users access to the Manage Groups portion of the site
+* imageAdmin - allows users to do administrative tasks with images in image
+groups with administer or manageGroup granted at the same node
+* imageCheckOut - allows users to make reservations for images in image
+groups with available granted at the same node
+* mgmtNodeAdmin - allows users to do administrative tasks with management
+nodes in management node groups with administer or manageGroup granted at
+the same node
+* nodeAdmin - allows users to add and delete child nodes at the specified
+node
+* resourceGrant - grants users access to control what resource attributes
+are assigned at the same node
+* scheduleAdmin - allows users to do administrative tasks with schedules in
+schedule groups with administer or manageGroup granted at the same node
+* userGrant - grants users access to control what user permissions are
+assigned at the same node
+
+<a name="ForVCLUsers-ResourceAttributes"></a>
+### Resource Attributes
+
+There are three resource attributes that can be assigned to a resource
+group at any node in the privilege tree.
+
+* available - makes resources in the group available at the node - this is
+only has meaning for image groups and computer groups and relates to the
+imageCheckOut and imageAdmin user permissions
+* administer - makes the resources in the group available to be
+administered by users with the appropriate user permissions at the same
+node (i.e. imageAdmin for image groups, computerAdmin for computer groups,
+etc)
+* manageGroup - makes the resources in the group available to have their
+grouping controlled by users with the appropriate user permissions at the
+same node
+* manageMapping - makes the resources in the group available to have their
+mapping controlled by users with the appropriate user permissions at the
+same node

Added: vcl/site/trunk/content/confluence_export/frontend.mdtext
URL: http://svn.apache.org/viewvc/vcl/site/trunk/content/confluence_export/frontend.mdtext?rev=1430372&view=auto
==============================================================================
--- vcl/site/trunk/content/confluence_export/frontend.mdtext (added)
+++ vcl/site/trunk/content/confluence_export/frontend.mdtext Tue Jan  8 16:37:53 2013
@@ -0,0 +1,2 @@
+Title: Frontend
+[Overview of code structure](web-code-overview.html)

Added: vcl/site/trunk/content/confluence_export/further-steps-if-using-only-vmware.mdtext
URL: http://svn.apache.org/viewvc/vcl/site/trunk/content/confluence_export/further-steps-if-using-only-vmware.mdtext?rev=1430372&view=auto
==============================================================================
--- vcl/site/trunk/content/confluence_export/further-steps-if-using-only-vmware.mdtext (added)
+++ vcl/site/trunk/content/confluence_export/further-steps-if-using-only-vmware.mdtext Tue Jan  8 16:37:53 2013
@@ -0,0 +1,124 @@
+Title: Further steps if using only VMWare
+If you are using standalone VMWare servers (i.e. ones that VCL did not
+deploy using xCAT), you first need to add the VMWare servers; then, you
+need to add the virtual machines. You can either add them individually
+(Adding Individual VMWare Servers/Virtual Machines), or if they have
+sequential hostnames and IP addresses, you can add them all at once (Adding
+Multiple VMWare Servers/Virtual Machines).
+
+Once you have added at least one computer, you can get to the "Add Single
+Computer" page by going to Manage Computers->Edit Computer Information and
+clicking Add. You can get to the "Add Multiple Computers" page by doing the
+same thing but checking the "Add Multiple" checkbox.
+
+<a name="FurtherstepsifusingonlyVMWare-AddingIndividualVMWareServers"></a>
+### Adding Individual VMWare Servers
+
+1. click "Manage Computers"
+1. select the "Add Single Computer" radio button
+1. click Submit
+1. fill in
+1. * Hostname
+1. * IP Address
+1. * State - vmhostinuse - double check this because you will not be able to
+change it later
+1. * owner (admin@Local)
+1. * RAM
+1. * Proc Speed
+1. * Network Speed
+1. * Type - blade
+1. * Provisioning Engine - xCAT 2.x Provisioning
+1. * click the checkbox under "allcomputers"
+1. click Confirm Computer
+1. click Submit
+1. select a VM Host Profile to use with this host - you can edit the VM Host
+Profile later if needed
+1. click Add Computer (don't worry about the fact that the computer you just
+added isn't listed after clicking Submit)
+
+<a name="FurtherstepsifusingonlyVMWare-AddingIndividualVirtualMachines"></a>
+### Adding Individual Virtual Machines
+
+VM computers cannot be added individually at the current time because some
+required database properties such as the&nbsp;MAC address&nbsp;do not get
+populated.&nbsp; Instead, use the steps described below to add multiple
+virtual machines.
+
+<a name="FurtherstepsifusingonlyVMWare-AddingMultipleVMWareServers"></a>
+### Adding Multiple VMWare Servers
+
+1. click "Manage Computers"
+1. select the "Add Multiple Computers" radio button
+1. click Submit
+1. fill in
+1. * Hostname - the hostnames of all the computers must have a numerical part
+that is sequential, use a % as a placeholder where that part would be
+1. * Start value - the first number of the numerical part of the hostname
+1. * End value - the last number of the numerical part of the hostname
+1. * Start IP Address - if using static public addresses, the IP addresses
+must be sequential; enter the first address here; if using DHCP, just enter
+something like 1.1.1.1
+1. * End IP address - the last IP address of the sequence; if using DHCP,
+you'll need to enter something that would work out to the last address
+relative to Start IP Address (i.e. if adding 3 computers, use 1.1.1.1 for
+start and 1.1.1.3 for end)
+1. * State - vmhostinuse - double check this because you will not be able to
+change it later
+1. * Owner - owner of the computer
+1. * RAM
+1. * Processor Speed
+1. * Network Speed
+1. * Type - blade
+1. * Provisioning Engine - xCAT 2.x
+1. * check allComputers
+1. click Confirm Computers
+1. click Submit
+1. select a VM Host Profile to use with these hosts - you can edit the VM
+Host Profile later if needed
+1. click Add Computers
+
+<a name="FurtherstepsifusingonlyVMWare-AddingMultipleVirtualMachines"></a>
+### Adding Multiple Virtual Machines
+
+1. click "Manage Computers"
+1. select the "Add Multiple Computers" radio button
+1. click Submit
+1. fill in
+1. * Hostname - the hostnames of all the computers must have a numerical part
+that is sequential, use a % as a placeholder where that part would be
+1. * Start value - the first number of the numerical part of the hostname
+1. * End value - the last number of the numerical part of the hostname
+1. * Start IP Address - if using static public addresses, the IP addresses
+must be sequential; enter the first address here; if using DHCP, just enter
+something like 1.1.1.1
+1. * End IP address - the last IP address of the sequence; if using DHCP,
+you'll need to enter something that would work out to the last address
+relative to Start IP Address (i.e. if adding 3 computers, use 1.1.1.1 for
+start and 1.1.1.3 for end)
+1. * Start private IP Address - similar to Start IP Address, but for the
+private side
+1. * End private IP Address - similar to the End IP Address but for the
+private side
+1. * Start MAC Address - if mac addresses are sequential, with the first one
+being the private MAC address for the first computer, the second one being
+the public MAC address for the first computer, the third one being the
+private MAC address of the second computer, etc, you can enter the first
+one here and then have the option of generating data to add to your
+dhcpd.conf file later in the process.
+{color:#ff0000}{*}Important{*}{color}: for VMware VMs, the MAC addresses
+you choose must be in the range&nbsp;00:50:56:00:00:00 - 00:50:56:3F:FF:FF
+
+1. * State - maintenance
+1. * Owner - owner of the computer
+1. * RAM
+1. * Processor Speed
+1. * Network Speed
+1. * Type - virtualmachine
+1. * Provisioning Engine - VMware
+1. * check "All VM Computers" and newvmimages
+1. click Confirm Computers
+1. click Submit
+1. If you filled in the private address fields and the Start MAC Address,
+you can now enter the private IP address of the management node that will
+be handling these virtual machines to generate information to add to your
+dhcpd.conf file.

Added: vcl/site/trunk/content/confluence_export/further-steps-if-using-xcat.mdtext
URL: http://svn.apache.org/viewvc/vcl/site/trunk/content/confluence_export/further-steps-if-using-xcat.mdtext?rev=1430372&view=auto
==============================================================================
--- vcl/site/trunk/content/confluence_export/further-steps-if-using-xcat.mdtext (added)
+++ vcl/site/trunk/content/confluence_export/further-steps-if-using-xcat.mdtext Tue Jan  8 16:37:53 2013
@@ -0,0 +1,51 @@
+Title: Further steps if using xCAT
+You can initially add individual computers or multiple computers all
+together. After you have added at least one computer, you will need to go
+to Manage Computers \-> Edit Computer Information to additional ones.
+
+<a name="FurtherstepsifusingxCAT-AddingIndividualComputers"></a>
+### Adding Individual Computers
+
+1. click "Manage Computers"
+1. select the "Add Single Computer" radio button
+1. click Submit
+1. fill in Hostname, IP Address, owner (admin@Local), RAM, Proc Speed, 
+Network Speed, select "blade" for Type, select "xCAT 2.x Provisioning"	for
+"Provisioning Engine", and click the checkbox under "allcomputers",  and
+"newimages"
+1. click Confirm Computer
+1. click Submit (don't worry about the fact that the computer you just added
+isn't listed after clicking Submit)
+1. after you've configured your image library and your management node  has
+started checking in, you should be able to make a reservation
+
+<a name="FurtherstepsifusingxCAT-AddingMultipleComputers"></a>
+### Adding Multiple Computers
+
+1. click "Manage Computers"
+1. select the "Add Multiple Computers" radio button
+1. click Submit
+1. fill in
+1. * Hostname - the hostnames of all the computers must have a numerical part
+that is sequential, use a % as a placeholder where that part would be
+1. * Start value - the first number of the numerical part of the hostname
+1. * End value - the last number of the numerical part of the hostname
+1. * Start IP Address - if using static public addresses, the IP addresses
+must be sequential; enter the first address here; if using DHCP, just enter
+something like 1.1.1.1
+1. * End IP address - the last IP address of the sequence; if using DHCP,
+you'll need to enter something that would work out to the last address
+relative to Start IP Address (i.e. if adding 3 computers, use 1.1.1.1 for
+start and 1.1.1.3 for end)
+1. * Owner - owner of the computer
+1. * RAM
+1. * Processor Speed
+1. * Network Speed
+1. * Type - blade
+1. * Provisioning Engine - xCAT 2.x
+1. * check allComputers and newimages
+1. click Confirm Computer
+1. click Submit (don't worry about the fact that the computers you just
+added aren't listed after clicking Submit)
+1. after you've configured your image library and your management node has
+started checking in, you should be able to make a reservation

Added: vcl/site/trunk/content/confluence_export/graduation-board-resolution.mdtext
URL: http://svn.apache.org/viewvc/vcl/site/trunk/content/confluence_export/graduation-board-resolution.mdtext?rev=1430372&view=auto
==============================================================================
--- vcl/site/trunk/content/confluence_export/graduation-board-resolution.mdtext (added)
+++ vcl/site/trunk/content/confluence_export/graduation-board-resolution.mdtext Tue Jan  8 16:37:53 2013
@@ -0,0 +1,62 @@
+Title: Graduation Board Resolution
+X. Establish the Apache VCL Project
+
+WHEREAS, the Board of Directors deems it to be in the best
+interests of the Foundation and consistent with the
+Foundation's purpose to establish a Project Management
+Committee charged with the creation and maintenance of
+open-source software related to a modular cloud computing platform
+which dynamically provisions and brokers remote access to compute
+resources for distribution at no charge to the public.
+
+NOW, THEREFORE, BE IT RESOLVED, that a Project Management
+Committee (PMC), to be known as "The Apache VCL Project", be
+and hereby is established pursuant to Bylaws of the
+Foundation; and be it further
+
+RESOLVED, that the Apache VCL Project be and hereby is
+responsible for the creation and maintenance of software
+related to a modular cloud computing platform which dynamically
+provisions and brokers remote access to compute resources;
+and be it further
+
+RESOLVED, that the office of "Vice President, Apache VCL" be
+and hereby is created, the person holding such office to serve
+at the direction of the Board of Directors as the chair of the
+Apache VCL Project, and to have primary responsibility for
+management of the projects within the scope of responsibility
+of the Apache VCL Project; and be it further
+
+RESOLVED, that the persons listed immediately below be and
+hereby are appointed to serve as the initial members of the
+Apache VCL Project:
+
+* Alan Cabrera		    <ad...@apache.org>
+* Dmitri Chebotarov	    <di...@apache.org>
+* Aaron Coburn		    <ac...@apache.org>
+* David Hutchins	    <dn...@apache.org>
+* Andy Kurth		    <ar...@apache.org>
+* Kevan Miller		    <ke...@apache.org>
+* James O'Dell		    <jo...@apache.org>
+* Aaron Peeler		    <fa...@apache.org>
+* Josh Thompson 	    <jf...@apache.org>
+
+NOW, THEREFORE, BE IT FURTHER RESOLVED, that Andy Kurth
+be appointed to the office of Vice President, Apache VCL, to
+serve in accordance with and subject to the direction of the
+Board of Directors and the Bylaws of the Foundation until
+death, resignation, retirement, removal or disqualification,
+or until a successor is appointed; and be it further
+
+RESOLVED, that the initial Apache VCL PMC be and hereby is
+tasked with the creation of a set of bylaws intended to
+encourage open development and increased participation in the
+Apache VCL Project; and be it further
+
+RESOLVED, that the Apache VCL Project be and hereby
+is tasked with the migration and rationalization of the Apache
+Incubator VCL podling; and be it further
+
+RESOLVED, that all responsibilities pertaining to the Apache
+Incubator VCL podling encumbered upon the Apache Incubator
+Project are hereafter discharged.

Added: vcl/site/trunk/content/confluence_export/graduation-migration-todo.mdtext
URL: http://svn.apache.org/viewvc/vcl/site/trunk/content/confluence_export/graduation-migration-todo.mdtext?rev=1430372&view=auto
==============================================================================
--- vcl/site/trunk/content/confluence_export/graduation-migration-todo.mdtext (added)
+++ vcl/site/trunk/content/confluence_export/graduation-migration-todo.mdtext Tue Jan  8 16:37:53 2013
@@ -0,0 +1,130 @@
+Title: Graduation Migration ToDo
+This page is to track all the things that need to happen for migrating out
+of the incubator. Put your name next to any you are working on. Strike them
+out when completed.
+
+<a name="GraduationMigrationToDo-TasksforPMCChair(AndyKurth)"></a>
+## Tasks for PMC Chair (Andy Kurth)
+
+* -Subscribe to the board mailing list-
+{color:#008000}*(subscribed)*{color}
+* -Subscribe to the infrastructure mailing list- {color:#008000}*(was
+already subscribed)*{color}
+* -Ensure that they have been added to the- -[PMC chairs group (pmc-chairs) in LDAP](http://people.apache.org/committers-by-project.html#pmc-chairs)
+--. The pmc-chairs group is maintained by infrastructure. If they don't add
+you, give them a nudge...- {color:#008000}*(confirmed)*{color}
+* -Check out the foundation/officers folder from the private repository.
+Users with member or pmc-chairs karma can do this.-
+{color:#008000}*(done)*{color}
+* -Add yourself to the foundation/officers/affiliations.txt and the
+foundation/officers/irs-disclosures.txt files with the appropriate
+information.- {color:#008000}*(done)*{color}
+* Review appropriate documentation:
+** [PMC Chair Duties](http://www.apache.org/dev/pmc.html#chair)
+** PMC [documentation](http://www.apache.org/dev/#pmc)
+** Jakarta [Chair guide](http://wiki.apache.org/jakarta/RoleOfChair)
+** Incubator [Chair guide](http://incubator.apache.org/guides/chair.html)
+** -Reporting- -[calendar ](http://www.apache.org/foundation/board/calendar.html)
+--\- Work out a reporting schedule with the Board. For the first three
+months after graduation this will be monthly. After that, the project
+should slot into a quarterly reporting schedule. Now is a good time to
+remove the project from the Incubator reporting schedule.-
+{color:#008000}*(March, June, September, December)*{color}
+
+* -Add the PMC chair details to the foundation web site Officer list at- -[http://www.apache.org/foundation/index.html](http://www.apache.org/foundation/index.html)
+- {color:#008000}*(done)*{color}
+* -Add the new project's PMC chair to the
+foundation/officers/irs-disclosures.txt file. You will need a member to
+help with this task.- {color:#008000}*(done)*{color}
+* -Ensure the PMC is added to the committee-info.txt file at- -[https://svn.apache.org/repos/private/committers/board/committee-info.txt ](https://svn.apache.org/repos/private/committers/board/committee-info.txt)
+-[{color:#008000}*(done)*{color}|https://svn.apache.org/repos/private/committers/board/committee-info.txt]
+** -There are 3 sections which need to be updated; see instructions in the
+file. You may need to get a member to help with this.-
+* -Establish PMC-
+** -Create private list- {color:#008000}*(existing list was
+transferred)*{color}
+** -Subscribe initial members to private list-
+
+<a name="GraduationMigrationToDo-GeneralTasks"></a>
+## General Tasks
+
+Work with the Apache Infrastructure team to set up the top level project
+infrastructure. The various infrastructure tasks that are required (see
+check list) should be consolidated into a single issue (see this for
+example). This should be created in the category TLP Admin.
+
+h3. JIRA issue to track tasks:&nbsp; {color:#008000}[https://issues.apache.org/jira/browse/INFRA-4977](https://issues.apache.org/jira/browse/INFRA-4977)
+{color}
+
+Transfer resources from incubator to TLP
+* Source
+** -Post an announcement to the development list telling everyone that the
+repository is about to be moved-
+** -svn move the podling source tree-
+** -Post an announcement containing instructions for developers describing
+how to svn switch their workspaces-
+** Update site, wikis, pom.xml and other resources to point to the new
+repository location.
+* Websites
+** Transfer the podling website (request svnsubpub site)
+** Load the website into its new home. See infra notes.
+** Update the incubator/site-publish/.htaccess entry to redirect traffic
+from the old URLs to the new. (svn location is at [http://svn.apache.org/repos/asf/incubator/public/trunk/content/.htaccess](http://svn.apache.org/repos/asf/incubator/public/trunk/content/.htaccess)
+)
+** Delete the podling website from /www/incubator.apache.org/content/vcl on
+people.apache.org. If you do not have the necessary privileges, file a
+ticket with Infra.
+** Post an announcement to user and development lists
+* Update the Incubator site
+** Update the Incubator status page
+** Update the podling status page. All sections should now be filled in
+including EXIT. Take some time to read carefully since this page forms the
+final public record for graduation.
+** Edit the Incubator website to remove the podling from the list in
+project.xml. Here explains how.
+* Add Project To  www.apache.org
+** Check out [https://svn.apache.org/repos/asf/infrastructure/site/trunk](https://svn.apache.org/repos/asf/infrastructure/site/trunk)
+** Patch  xdocs/stylesheets/project.xml
+** If you have karma, regenerated and apply patch
+** If you do not have karma, submit patch to  infrastructure JIRA
+* Mailing lists
+** -Request that podlings lists be transferred to their new home. Any new
+mailing lists should be requested at the same time.-
+** When this has been executed by infrastructure, post an announcement to
+user and development lists.
+** Send notice to nabble.com (if they archive your incubator mailing list)
+that the address has changed, and possibly the location of your project (if
+it is listed as being part of the incubator). Repeat for other known
+mailing list archivers.
+** Update website: replace links to old archives with links to new ones and
+add new links to historic archives from incubation.
+** -Check project-private mailing list membership. Mentors should be
+allowed to remain if they wish to do so. The subscriber list should
+otherwise match that on the resolution. See  this and the EZMLM
+"Moderator's and Administrator's Manual".-
+** Update mail addresses including (The chair should have karma to perform
+these tasks):
+*** svn commit messages (see
+infrastructure/trunk/subversion/authorization/asf-mailer.conf )
+*** confluence commit messages (see adminstration documentation)
+*** issue tracking messages (see administration documentation)
+* Issue Tracking
+** Check that the issue tracking system used by the podling reflects the
+project's new status.
+* Distribution mirrors
+** After you have a release at your new home (/dist/vcl/ area), remove any
+distribution artifacts from your old /dist/incubator/vcl/ area. Remember
+from the mirror guidelines that everything is automatically added to
+archive.apache.org anyway.
+
+* Final Revision of Podling Incubation Records - When a project graduates,
+then the incubator resources need to be updated to indicate that the
+project is no longer incubating. Here are a few of the items that need to
+be done:
+** Update the svn incubator/trunk/content/projects/vcl.xml file to show the
+project's status.
+** Change the podling status to "graduated" in the podling summary file,
+i.e update the incubator/trunk/content/podlings.xml svn file. Also add the
+"enddate" attribute to document when the project graduated.
+** Ensure that other svn resources for your project have moved to your new
+home.

Added: vcl/site/trunk/content/confluence_export/granting-access-to-a-new-image.mdtext
URL: http://svn.apache.org/viewvc/vcl/site/trunk/content/confluence_export/granting-access-to-a-new-image.mdtext?rev=1430372&view=auto
==============================================================================
--- vcl/site/trunk/content/confluence_export/granting-access-to-a-new-image.mdtext (added)
+++ vcl/site/trunk/content/confluence_export/granting-access-to-a-new-image.mdtext Tue Jan  8 16:37:53 2013
@@ -0,0 +1,86 @@
+Title: Granting Access to a New Image
+<a name="GrantingAccesstoaNewImage-Overview"></a>
+## Overview
+
+Once you have created a new image, there are a few things you have to do to
+allow other people to use it.&nbsp; If you don't have access to do any of
+the following steps, you will need to get a VCL administrator to do them
+for you.
+
+When you create a new image, it is only available to you, and it is only
+allowed to be run on a few computers that have been set aside for the
+testing of new images.
+
+*NOTE*: After you have been through these steps one time, if you are
+granting the same set of users access to a new image, you may only have to
+perform step 1.1 for subsequent images.
+
+
+<a name="GrantingAccesstoaNewImage-Step1:ImageMapping"></a>
+## Step 1: Image Mapping
+
+Images are mapped to be run on a set of computers. See the documentation on [Resource Mapping](for-vcl-users#resourcemapping.html)
+ to learn more about why this is done. For your new image to be able to run
+on more computers than just those designated for testing, you need to map
+it to a set of computers. There are a few steps to this process:
+1. You need to make your image a member of an image group
+1. * Select {color:#0000ff}Manage Images{color}\->{color:#0000ff}Edit Image
+Grouping{color}
+1. * Select your image from the drop down box and click {color:#0000ff}Get
+Groups{color}
+1. * Choose one or more image groups to which you would like to add the image
+from the box on the right
+1. * Click {color:#0000ff}<-Add{color} to make the image a member of the
+group(s)
+1. You need to map the image group(s) you selected in #1 to one or more
+computer groups (if they are not already mapped)
+1. * Select {color:#0000ff}Manage Images{color}\->{color:#0000ff}Edit Image
+Mapping{color}
+1. * Do the following for each group from #1:
+1. ** Select the image group from the drop down box and click
+{color:#0000ff}Get Computer Groups{color}
+1. ** Choose one or more computer groups to which you would like to map the
+image group from the box on the right
+1. ** click {color:#0000ff}<-Add{color} to map the image group to the
+computer group(s)
+1. * *Note*: there is an assumption here that the computer groups you
+selected already have computers that are in those groups
+
+<a name="GrantingAccesstoaNewImage-Step2:Privileges"></a>
+## Step 2: Privileges
+
+Now, you need to grant access to use the image to a user or group of users
+under the Privileges section of the site.&nbsp; Here are the steps
+involved:
+1. Select {color:#0000ff}Privileges{color}
+1. Choose an existing node or create a new node in the tree structure in the
+upper portion of the page where you would like to assign the user(s) access
+1. Now, you need to grant the user {color:#0000ff}imageCheckOut{color} at
+the node.&nbsp; You can do this for an individual user or a group of users.
+1. * Individual User:
+1. ** Click {color:#0000ff}Add User{color}
+1. ** Enter the user's id (you may need to include the user's affiliation) in
+the text box and select the {color:#0000ff}imageCheckOut{color} checkbox
+1. ** Click {color:#0000ff}Submit New User{color}
+1. * User Group:
+1. ** Click {color:#0000ff}Add Group{color}
+1. ** Select the user group from the drop-down box and select the
+{color:#0000ff}imageCheckOut{color} checkbox
+1. ** Click {color:#0000ff}Submit New User Group{color}
+1. Next, you need to make sure the image group in which you placed the image
+in #1 of *Image Mapping* is available at this node. If it is, go on to the
+next step, if not:
+1. * Click {color:#0000ff}Add Resource Group{color}
+1. * Select the image group from the drop-down box and select the
+{color:#0000ff}available{color} checkbox
+1. * Click {color:#0000ff}Submit New Resource Group{color}
+1. Finally, you need to make sure the computer group(s) selected in #2 of
+*Image Mapping* are also available here. If so, you are finished.&nbsp; If
+not:
+1. * Click {color:#0000ff}Add Resource Group{color}
+1. * Select the computer group from the drop-down box and select the
+{color:#0000ff}available{color} checkbox
+1. * Click {color:#0000ff}Submit New Resource Group{color}
+
+Now, the user or user groups you have added to this node will be able to
+make reservations for the new image.

Added: vcl/site/trunk/content/confluence_export/guidelines-for-large-contributions.mdtext
URL: http://svn.apache.org/viewvc/vcl/site/trunk/content/confluence_export/guidelines-for-large-contributions.mdtext?rev=1430372&view=auto
==============================================================================
--- vcl/site/trunk/content/confluence_export/guidelines-for-large-contributions.mdtext (added)
+++ vcl/site/trunk/content/confluence_export/guidelines-for-large-contributions.mdtext Tue Jan  8 16:37:53 2013
@@ -0,0 +1,27 @@
+Title: Guidelines for Large Contributions
+These are some guidelines for making a large contribution to Apache VCL for
+people who are not currently committers.
+
+1. State on the vcl-dev list what modification you'd like to make.  Some
+background on why the existing codebase doesn't work in your situation
+would
+be useful.  Remember, when you modify existing code, it affects work being
+done by other contributors, which can result in imposing additional work on
+them.
+1. Propose a plan on the vcl-dev list for making the modification.  There
+may
+be others that want the same modification or something similar that can be
+incorporated at the same time.	Those people can help develop the
+modification.  On the other hand, the modification may have a very negative
+affect on some other part of the project.  Also, this provides an
+opportunity
+for existing contributors (those who know the codebase well) to provide
+input
+on your plan.  The plan needs to include how the modification will be
+maintained in the future - will you continue to maintain it; will existing
+contributors have to pick it up and maintain it?
+1. Create a JIRA issue to track implementation of the plan and start
+developing.  This provides a way for others to track work being done on the
+modification and ensures information about the modification will be added
+to
+the CHANGELOG when the next release is cut.