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 [8/11] - /vcl/site/trunk/content/confluence_export/

Added: vcl/site/trunk/content/confluence_export/storage-management.mdtext
URL: http://svn.apache.org/viewvc/vcl/site/trunk/content/confluence_export/storage-management.mdtext?rev=1430372&view=auto
==============================================================================
--- vcl/site/trunk/content/confluence_export/storage-management.mdtext (added)
+++ vcl/site/trunk/content/confluence_export/storage-management.mdtext Tue Jan  8 16:37:53 2013
@@ -0,0 +1,27 @@
+Title: Storage Management
+Something VCL has been lacking is automated management of storage, both on
+the system side and on the user side. This is a list of areas that should
+be addressed when designing storage management and automation:
+
+* System storage:
+** block attached image store for management nodes
+** network attached image store for management nodes
+** block attached image store for hypervisors
+** network attached image store for hypervisors
+** block attached images for node booting (i.e. iSCSI booting)
+** file/block/LUN cloning
+** LUN/share management of existing stores
+** LUN/share management of temporary stores (things created/destroyed
+dynamically)
+** logging/auditing
+** where does security fit in?
+* User storage:
+** block attached
+** networked filesystems
+** allocation
+** authentication/authorization
+** quota management
+** lifetime of storage (just for reservation vs. lifetime of user)
+** backups
+** request process
+** logging/auditing

Added: vcl/site/trunk/content/confluence_export/sysprep-fails-because-of-unsigned-storage-drivers.mdtext
URL: http://svn.apache.org/viewvc/vcl/site/trunk/content/confluence_export/sysprep-fails-because-of-unsigned-storage-drivers.mdtext?rev=1430372&view=auto
==============================================================================
--- vcl/site/trunk/content/confluence_export/sysprep-fails-because-of-unsigned-storage-drivers.mdtext (added)
+++ vcl/site/trunk/content/confluence_export/sysprep-fails-because-of-unsigned-storage-drivers.mdtext Tue Jan  8 16:37:53 2013
@@ -0,0 +1,56 @@
+Title: Sysprep Fails Because of Unsigned Storage Drivers
+Sysprep may fail if mass storage drivers are not signed.  This problem
+occurs even if the sysprep.inf file is configured with
+DriverSigningPolicy=Ignore.  This is a known problem with some
+versions of LSI SAS drivers (1.30.02.00) used on IBM blades.  The
+driver available from LSI's website is not correctly signed.
+ The same version is available from IBM's website and is
+correctly signed.  It can be downloaded from:
+[(Critical update) IBM and LSI Basic or Integrated RAID SAS driver v1.30.02.00 for Microsoft Windows Server 2008 and Windows Server 2003 - IBM BladeCenter and System x](http://www-947.ibm.com/systems/support/supportsite.wss/docdisplay?lndocid=MIGR-5073138&brandind=5000020)
+
+<a name="SysprepFailsBecauseofUnsignedStorageDrivers-HowtoTellifthisProblemOccurred&nbsp;"></a>
+#### How to Tell if this Problem Occurred&nbsp;
+
+Open C:\Windows\setupapi.log.&nbsp; Look for lines containing
+"{color:#ff0000}{*}An unsigned or incorrectly signed file{*}{color}":&nbsp;
+{panel}
+\[2009/10/21 10:52:43 1912.7 Driver Install\](2009/10/21-10:52:43-1912.7-driver-install\.html)
+\#-019 Searching for hardware ID(s): pci\ven_1000&dev_0622
+\#-199 Executing "C:\Sysprep\sysprep.exe" with command line:
+C:/Sysprep/sysprep.exe /quiet /reseal /mini
+\#I022 Found "PCI\VEN_1000&DEV_0622" in
+c:\cygwin\home\root\vcl\drivers\storage\lsi-sas\symmpi.inf; Device: "LSI
+Adapter, 2Gb FC, models 44929, G2 with 929"; Driver: "LSI Adapter, 2Gb FC,
+models 44929, G2 with 929"; Provider: "LSI Corporation"; Mfg: "LSI
+Corporation"; Section name: "SYMMPI_Inst".
+\#I087 Driver node not trusted, rank changed from 0x00000000 to 0x0000c000.
+\#I023 Actual install section: \[SYMMPI_Inst\](symmpi_inst\.html)
+. Rank: 0x0000c000. Effective driver date: 01/30/2009.
+\#-166 Device install function: DIF_SELECTBESTCOMPATDRV.
+\#I063 Selected driver installs from section \[SYMMPI_Inst\](symmpi_inst\.html)
+ in "c:\cygwin\home\root\vcl\drivers\storage\lsi-sas\symmpi.inf".
+\#I320 Class GUID of device remains:
+\{4D36E97B-E325-11CE-BFC1-08002BE10318\}
+\#I060 Set selected driver.
+\#I058 Selected best compatible driver.
+\#-124 Doing copy-only install of "ROOT\SYSPREP_TEMPORARY\0000".
+{color:#ff0000}*\#E358 An unsigned or incorrectly signed file
+"c:\cygwin\home\root\vcl\drivers\storage\lsi-sas\mpixp32.cat" for driver
+"LSI Adapter, 2Gb FC, models 44929, G2 with 929" blocked (server install).
+Error 0x800b0003: The form specified for the subject is not one supported
+or known by the specified trust provider.*{color}
+\#W187 Install failed, attempting to restore original files.
+  
+  
+<a name="SysprepFailsBecauseofUnsignedStorageDrivers-HowtoResolvethisProblem"></a>
+#### How to Resolve this Problem
+
+The preferred method is to obtain a signed driver.&nbsp; If a signed driver
+cannot be located, try configuring the local computer policy to allow
+unsigned drivers:
+* Run: *gpedit.msc*
+* Navigate to: Computer Configuration > Windows Settings > Security Options
+* Edit: Devices: Unsigned driver installation behavior = *Silently succeed*
+* Run: *gpupdate /force*
+
+Restart the image capture.

Added: vcl/site/trunk/content/confluence_export/terms.mdtext
URL: http://svn.apache.org/viewvc/vcl/site/trunk/content/confluence_export/terms.mdtext?rev=1430372&view=auto
==============================================================================
--- vcl/site/trunk/content/confluence_export/terms.mdtext (added)
+++ vcl/site/trunk/content/confluence_export/terms.mdtext Tue Jan  8 16:37:53 2013
@@ -0,0 +1,23 @@
+Title: Terms
+* backend
+* block request
+* cluster reservation
+* currentimage.txt
+* forimaging flag
+* frontend
+* grouping
+* image
+* imagemeta
+* laststate
+* management node
+* mapping
+* module
+* provisioning engine
+* request
+* reservation
+* resource
+* state
+* tmpl file
+* vcld
+* vcld.conf
+* xCAT

Added: vcl/site/trunk/content/confluence_export/troubleshooting.mdtext
URL: http://svn.apache.org/viewvc/vcl/site/trunk/content/confluence_export/troubleshooting.mdtext?rev=1430372&view=auto
==============================================================================
--- vcl/site/trunk/content/confluence_export/troubleshooting.mdtext (added)
+++ vcl/site/trunk/content/confluence_export/troubleshooting.mdtext Tue Jan  8 16:37:53 2013
@@ -0,0 +1,3 @@
+Title: Troubleshooting
+{excerpt}These pages are intended to help VCL administrators troubleshoot
+problems.{excerpt}

Added: vcl/site/trunk/content/confluence_export/updating-an-existing-image.mdtext
URL: http://svn.apache.org/viewvc/vcl/site/trunk/content/confluence_export/updating-an-existing-image.mdtext?rev=1430372&view=auto
==============================================================================
--- vcl/site/trunk/content/confluence_export/updating-an-existing-image.mdtext (added)
+++ vcl/site/trunk/content/confluence_export/updating-an-existing-image.mdtext Tue Jan  8 16:37:53 2013
@@ -0,0 +1,43 @@
+Title: Updating an Existing Image
+This is a continuation of other pages, if you did not come from [Save the Image](save-the-image.html)
+, you should start at [Creating a New Image from a Base Image]
+.
+
+<a name="UpdatinganExistingImage-UnderstandingImageRevisions"></a>
+## Understanding Image Revisions
+Each VCL image can have multiple revisions. When a VCL image is saved, all
+data from the image's disk is saved in disk image files. A revision is
+still a full set of disk image files, but information about each revision
+allows them to be tracked as a series of updates to a VCL image. Think
+about it like writing a paper. If you print a first draft, you end up with
+the 1st revision of the paper. After making some changes and printing it
+again, you end up with the 2nd revision of the paper.  Now, you have two
+physical copies of the paper. The 2nd one is based on and very similar to
+the 1st one, but it is still a separate copy of it. You could end up with
+more revisions if you make more changes. When you decide to publish it, you
+can choose any of the revisions, though you'll most likely choose the most
+recent one.
+
+With VCL, you can make as many revisions as you want, and you can select
+which is the *production* image, that is, the one users get when they make
+a reservation. You can select which revision is in production by going to
+Manage Images-&gt;Edit Image Profiles, and clicking Edit next to the
+desired image. Then, scroll down to the bottom of the page and select the
+radio button for the revision you would like to be in production.
+
+Only the owner of an image can create new revisions of it. If you need
+someone else to update an image, simply change the owner of the image to
+that person (and make sure they have access to update images).
+
+<a name="UpdatinganExistingImage-StepstoFinishUpdatinganExistingImage"></a>
+## Steps to Finish Updating an Existing Image
+
+1. After selecting Update Existing Image, click Submit
+1. The next page will present you with an Install Agreement stating that all
+software in the image is appropriately licensed
+1. Click *I agree* (clicking _I do not agree_ will take you back to Current
+Reservations)
+1. On the next page, enter any notes for yourself and other admins about the
+image. These notes are not viewable by normal users - only people with
+access to manage the image.
+1. Click *Create New Revision* to start the imaging process

Added: vcl/site/trunk/content/confluence_export/upgrade-from-previous-version.mdtext
URL: http://svn.apache.org/viewvc/vcl/site/trunk/content/confluence_export/upgrade-from-previous-version.mdtext?rev=1430372&view=auto
==============================================================================
--- vcl/site/trunk/content/confluence_export/upgrade-from-previous-version.mdtext (added)
+++ vcl/site/trunk/content/confluence_export/upgrade-from-previous-version.mdtext Tue Jan  8 16:37:53 2013
@@ -0,0 +1,141 @@
+Title: Upgrade From Previous Version
+This file provides information on how to upgrade from VCL 2.1 to VCL 2.2.
+Please note it only applies for the upgrade from 2.1 to 2.2, this may or
+may not work for other versions.
+
+<a name="UpgradeFromPreviousVersion-*Thebasicstepsthatwillbeperformed*"></a>
+## *The basic steps that will be performed*
+
+* Download and Extract 2.2 code
+* Shutdown httpd and vcld services
+* Create backup of vcl database
+* Update mysql schema
+* Update Web code, create a backup, copy in new, make changes
+* Restart httpd service
+* Update Management node vcl code, create a backup, copy in new, make
+changes
+* Restart vcld service
+
+<a name="UpgradeFromPreviousVersion-*DownloadandExtract2.2code*"></a>
+## *Download and Extract 2.2 code*
+
+1. follow instructions on [VCL:VCL 2.2](vcl:vcl-2.2.html)
+ Release page to download and verify apache-VCL-2.2-incubating.tar.bz2 and
+put in in /root
+1. extract VCL 2.2 code
+
+    tar xjf apache-VCL-2.2-incubating.tar.bz2
+
+
+
+<a name="UpgradeFromPreviousVersion-*Shutdownservices*"></a>
+## *Shutdown services*
+
+Shutdown the httpd and vcld services
+
+    service httpd stop or /etc/init.d/httpd stop
+    service vcld stop or /etc/init.d/vcld stop
+
+
+<a name="UpgradeFromPreviousVersion-*Createabackupofvcldatabase*"></a>
+## *Create a backup of vcl database*
+
+We will create a backup of the vcl database. This will provide a restore
+point if necessary.
+
+
+    mysqldump vcl > ~/vcl-pre2.2-upgrade.sql
+
+
+<a name="UpgradeFromPreviousVersion-*Updatemysqlschema*"></a>
+## *Update mysql schema*
+
+This step updates the mysql schema.
+
+
+    cd /root/apache-VCL-2.2-incubating
+    mysql vcl < mysql/update-2.2.sql
+
+
+<a name="UpgradeFromPreviousVersion-*Updatewebcode*"></a>
+## *Update web code*
+
+This step we will move the 2.1 web directory out of the way, so we can copy
+in the new web code base. After copying in the new code, we will migrate
+your configuration changes. These instructions assume that you installed
+the vcl web code at /var/www/html/vcl. If you installed it elsewhere,
+replace /var/www/html/vcl with your vcl web root.
+
+1. copy your old code out of the way
+
+    cd /var/www/html
+    mv vcl ~/vcl_2.1_web
+
+1. copy the new code in place
+
+    cd /root/apache-VCL-2.2-incubating
+    cp -r web /var/www/html/vcl
+
+1. copy your 2.1 config files
+
+    cd ~/vcl_2.1_web/.ht-inc
+    cp conf.php secrets.php pubkey.pem keys.pem /var/www/html/vcl/.ht-inc
+
+1. make /var/www/html/vcl/.ht-inc/maintenance writable by the web server -
+if httpd on your server is running as the user apache:
+
+    chown apache /var/www/html/vcl/.ht-inc/maintenance
+
+1. add the following new entries to conf.php - You can copy them in from
+.ht-inc/conf-default.php. Descriptions of each item can also be found in
+conf-default.php
+1. * date_default_timezone_set('America/New_York');
+1. * $blockNotifyUsers = "adminuser@example.org";
+1. * define("SCHEDULER_ALLOCATE_RANDOM_COMPUTER", 0);
+1. * define("DOCUMENTATIONURL", "https://cwiki.apache.org/VCLDOCS/");
+1. * define("USEFILTERINGSELECT", 1);
+1. * define("FILTERINGSELECTTHRESHOLD", 1000);
+1. * define("DEFAULTTHEME", 'default');
+
+<a name="UpgradeFromPreviousVersion-Restarthttpdservice"></a>
+## Restart httpd service
+
+    service httpd start or /etc/init.d/httpd start
+
+
+<a name="UpgradeFromPreviousVersion-*Updatemanagementnodecode*"></a>
+## *Update management node code*
+
+This step will move the 2.1 vcl code base out of the way, so we can cleanly
+copy in the new management node(MN) code.
+
+1. Copy 2.1 code base to a backup location
+
+    cd <your vcl MN code root path>
+    ie. cd /usr/local/
+    cp -r vcl ~/vcl_2.1_managementnode
+
+1. Copy in the 2.2 code base to /usr/local, copying in should preserve any
+drivers or other files you've added.
+
+    /bin/cp -r /root/apache-VCL-2.2-incubating/managementnode/* /usr/local/vcl
+
+1. Make changes related to vcld.conf settings
+1. # Open VCL web interface
+1. # Go to Management Nodes
+1. # Select Edit Management Node Information
+1. # Select Edit.
+1. # Set any relevant fields:
+1. # SysAdmin Email Address(es) - comma delimited list of vcl admin email
+addresses
+1. # Address for Shadow Emails - a shared mail box, optional it receives
+email of all notifications
+1. # Public NIC configuration method - Defines what type of NIC configuration
+is used, options are dynamic DHCP, Manual DHCP, or static
+1. # End Node SSH Identity Key Files
+
+<a name="UpgradeFromPreviousVersion-Restartvcldservice"></a>
+## Restart vcld service
+
+    service vcld start or /etc/init.d/vcld start
+

Added: vcl/site/trunk/content/confluence_export/variable-table.mdtext
URL: http://svn.apache.org/viewvc/vcl/site/trunk/content/confluence_export/variable-table.mdtext?rev=1430372&view=auto
==============================================================================
--- vcl/site/trunk/content/confluence_export/variable-table.mdtext (added)
+++ vcl/site/trunk/content/confluence_export/variable-table.mdtext Tue Jan  8 16:37:53 2013
@@ -0,0 +1,229 @@
+Title: Variable Table
+<a name="VariableTable-Overview"></a>
+## Overview
+
+This page describes the _variable_ table in the database.&nbsp; The purpose
+of this table is to allow pieces of data to be easily stored in the
+database&nbsp;without having to&nbsp;manipulate the schema.&nbsp; The need
+for such a table has grown over time as more and more features are added to
+VCL.&nbsp; This table will become very useful as VCL becomes increasingly
+modularized.&nbsp; This table will allow any VCL component to access the
+variable data without having to interact directly with the database.
+
+<a name="VariableTable-VariableNames"></a>
+### Variable Names
+
+A variable stored in this table can be thought&nbsp;just like any other
+programatic variable \-\- it has a unique name and value.&nbsp; The name
+can be any string and is chosen by the developer utilizing the table.&nbsp;
+Since the name must be unique and the variable&nbsp;table is shared by all
+facets of VCL (frontend, backend, modules), the developer should choose a
+name that isn't too general.&nbsp; It is advisable to include something
+like the module name in the variable name in order to prevent other
+components from overwriting the variable.
+
+<a name="VariableTable-VariableValues&Serialization"></a>
+### Variable Values & Serialization
+
+The variable value is completely flexible. &nbsp;It can be a
+simple&nbsp;integer or a complex data structure.&nbsp; This is accomplished
+by [serializing](http://en.wikipedia.org/wiki/Serialization)
+ the value before saving it to the database.&nbsp; [YAML|http://en.wikipedia.org/wiki/Yaml]
+ is used to serialize the data.&nbsp; YAML is a human friendly data
+serialization standard for all programming languages
+([http://yaml.org/]).&nbsp; YAML modules are available for Perl, PHP, and
+many other languages:
+* Perl: [http://search.cpan.org/~ingy/YAML-0.68/lib/YAML.pm](http://search.cpan.org/~ingy/YAML-0.68/lib/YAML.pm)
+* PHP: [http://code.google.com/p/spyc](http://code.google.com/p/spyc)
+
+Because the data is serialized into a highly compatible format, the backend
+and frontend can utilize common variables.&nbsp; It will be easy for the
+frontend to provide a means to configure variables by capturing the data
+entered into a web page, constructing a data structure, serializing it via
+a PHP YAML module,&nbsp;and then saving&nbsp;the data structure in the
+variable table.&nbsp; The backend can then access the identical data
+structure using a Perl YAML module to deserialize the data.
+
+<a name="VariableTable-BackendInterface"></a>
+### Backend Interface
+
+The variable table&nbsp;is utilized by backend code via functions provided
+by the DataStructure.pm module:
+* get_variable($name)
+* set_variable($name, $value)
+
+<a name="VariableTable-DatabaseTableStructure"></a>
+## Database Table Structure
+
+The variable has the following columns:
+<table>
+<tr><th> id </th><th> name </th><th> value </th><th> setby </th><th> timestamp </th></tr>
+  
+  
+  
+  
+  
+  
+  
+  
+unique | longtext | varchar(40) | timestamp |
+* id
+** variable.id contains a unique&nbsp;auto-incremented unsigned integer
+value
+** The id column is consistent with most other columns in the VCL database
+* name
+** variable.name contains a string
+** variable.name values must be unique
+** variable.name provides a human-friendly means of identifying a variable
+* value
+** variable.value contains an encoded&nbsp;string which is a YAML
+serialized representation of the data
+** The string stored in variable.value is programatically serialized before
+it is stored and programatically deserialized when it is retrieved
+* setby
+** variable.setby contains a string which indicates who/where last set the
+data
+** variable.setby is mainly used for debugging purposes
+** variable.setby can be NULL but should be set whenever a row is altered
+* timestamp
+** variable.timestamp contains the date and time when the variable was last
+set
+** variable.timestamp&nbsp;is automatically&nbsp;updated whenever a row is
+inserted or altered because the "ON UPDATE CURRENT_TIMESTAMP" column
+attribute is set
+</table>
+
+<a name="VariableTable-SQLtabledefinition"></a>
+### SQL table definition
+
+
+    CREATE TABLE `variable` (
+      `id` smallint(5) unsigned NOT NULL auto_increment,
+      `name` varchar(128) NOT NULL,
+      `value` longtext NOT NULL,
+      `setby` varchar(128) default NULL,
+      `timestamp` datetime NOT NULL,
+      PRIMARY KEY  (`id`),
+      UNIQUE KEY `name` (`name`)
+    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+
+
+<a name="VariableTable-Examples"></a>
+## Examples
+
+
+<a name="VariableTable-Example1:"></a>
+### Example 1:
+
+The following hash is created in Perl:
+
+    my %kms_configuration = (
+     "ECU" => "192.168.22.33:1688",
+     "NCSU" => "kms-server.ncsu.edu",
+    );
+    $self->data->set_variable("kms-configuration", \%kms_configuration);
+
+The keys correspond to the affiliation.name column in the database.&nbsp;
+The values represent the addresses (phony) of Windows Vista/2008 KMS
+activation servers.
+
+This hash is serialized by DataStructure.pm::set_variable() using the YAML
+module's Dump function which transforms the hash into:
+
+    ---
+    ECU: 192.168.22.33:1688
+    NCSU: kms-server.ncsu.edu
+
+The following&nbsp;row is saved in the variable table by the
+DataStructure.pm::set_variable() subroutine:
+<table>
+<tr><th> id </th><th> name </th><th> value </th><th> setby </th><th> timestamp </th></tr>
+  
+  
+  
+  
+NCSU: kms-server.ncsu.edu | new.pm:139 | 2009-05-26 11:35:36 |
+To retrieve the data:
+
+    my $kms_configuration = $self->data->get_variable("kms-configuration");
+    my $kms_address = $kms_configuration->{$affiliation_id};
+
+
+<a name="VariableTable-Example2:"></a>
+### Example 2:
+
+A more elaborate data structure is created in Perl containing an array of
+hashes. One of the hash values (email) can be multivalued because the value
+is an anonymous array:
+
+    my @contacts = (
+     {
+      "firstname" => "Joe",
+      "lastname" => "Doe",
+      "email" => ["joe@somewhere.org", "jdoe22@unity.ncsu.edu"]
+,
+      "employee_id" => 3342
+     },
+     {
+      "firstname" => "Jane",
+      "lastname" => "Doe",
+      "email" => ["jane@somewhere.org"]
+,
+      "employee_id" => 7865
+     }
+    );  
+    $self->data->set_variable("contacts", \@contacts);
+
+DataStructure.pm::set_variable() uses YAML::Dump to transform this data
+structure into:
+
+    ---
+    - email:
+        - joe@somewhere.org
+        - jdoe22@unity.ncsu.edu
+      employee_id: 3342
+      firstname: Joe
+      lastname: Doe
+    - email:
+        - jane@somewhere.org
+      employee_id: 7865
+      firstname: Jane
+      lastname: Doe
+
+The following row is then added to the variable table:
+<table>
+<tr><th> id </th><th> name </th><th> value </th><th> setby </th><th> timestamp </th></tr>
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+&nbsp; lastname: Doe | DataStructure.pm:554 | 2009-05-26 12:35:36 |
+To retrieve the data:
+
+    my @returned_contacts = @{$self->data->get_variable('contacts')};
+    for my $contact (@returned_contacts) {
+       print "Name: $contact->{firstname} $contact->{lastname}\n";
+       for my $email_address (@{$contact->{email}}) {
+          print "Email: $email_address\n";
+       }
+       print "---\n";
+    }
+

Added: vcl/site/trunk/content/confluence_export/vcl-2.1-goals.mdtext
URL: http://svn.apache.org/viewvc/vcl/site/trunk/content/confluence_export/vcl-2.1-goals.mdtext?rev=1430372&view=auto
==============================================================================
--- vcl/site/trunk/content/confluence_export/vcl-2.1-goals.mdtext (added)
+++ vcl/site/trunk/content/confluence_export/vcl-2.1-goals.mdtext Tue Jan  8 16:37:53 2013
@@ -0,0 +1,27 @@
+Title: VCL 2.1 goals
+VCL 2.1 goals
+
+1. xCAT 2.x module
+1. * written and in testing stage
+1. Get rid of preferredimage from image table, use nextimage instead
+1. Clean up data base - removed unused variables
+1. Shibboleth support
+1. * testing stage
+1. Web server load balance
+1. healthcheck.pl - improve / bring up to date, add support for vms,&nbsp;
+try to reinstall nodes if necessary.
+1. Clean up / re-write blockrequest module, planning to use api calls to web
+site.
+1. Modularize OS code
+1. Polish cluster reservation process
+1. Allow dynamic change of predictive load module - currently have to
+restart vcld after change in database.
+1. * Done - committed to repos
+1. Pull out check_ssh dep - binary from nagios
+1. * Done - committed to repos
+1. Additional management node configuration web tools.
+1. image retrieval between management nodes - allow for defined ssh ports.
+Store which port in db management node table
+1. Add check for existence of image libraries and take appropriate action,
+in case /install gets dropped for some reason.
+1. Vista OS support

Added: vcl/site/trunk/content/confluence_export/vcl-2.1-installation.mdtext
URL: http://svn.apache.org/viewvc/vcl/site/trunk/content/confluence_export/vcl-2.1-installation.mdtext?rev=1430372&view=auto
==============================================================================
--- vcl/site/trunk/content/confluence_export/vcl-2.1-installation.mdtext (added)
+++ vcl/site/trunk/content/confluence_export/vcl-2.1-installation.mdtext Tue Jan  8 16:37:53 2013
@@ -0,0 +1,2 @@
+Title: VCL 2.1 Installation
+{pagetree:root=@self|sort=position|excerpt=true|reverse=false|startDepth=99|expandCollapseAll=true|searchBox=false}

Added: vcl/site/trunk/content/confluence_export/vcl-2.1.mdtext
URL: http://svn.apache.org/viewvc/vcl/site/trunk/content/confluence_export/vcl-2.1.mdtext?rev=1430372&view=auto
==============================================================================
--- vcl/site/trunk/content/confluence_export/vcl-2.1.mdtext (added)
+++ vcl/site/trunk/content/confluence_export/vcl-2.1.mdtext Tue Jan  8 16:37:53 2013
@@ -0,0 +1,426 @@
+Title: VCL 2.1
+<a name="VCL2.1-TableofContents"></a>
+## Table of Contents
+   * [Download links](#VCL2.1-Downloadlinks)
+   * [Release Notes](#VCL2.1-ReleaseNotes)
+         * [I. Intro and Description](#VCL2.1-I.IntroandDescription)
+         * [II. VCL Roadmap](#VCL2.1-II.VCLRoadmap)
+         * [III. Getting Involved in the ASF VCL Community](#VCL2.1-III.GettingInvolvedintheASFVCLCommunity)
+         * [IV. How to Submit Bugs and Feature Requests](#VCL2.1-IV.HowtoSubmitBugsandFeatureRequests)
+   * [Change Log](#VCL2.1-ChangeLog)
+         * [Sub-task](#VCL2.1-Sub-task)
+         * [Bug](#VCL2.1-Bug)
+         * [Improvement](#VCL2.1-Improvement)
+         * [New Feature](#VCL2.1-NewFeature)
+         * [Task](#VCL2.1-Task)
+
+<a name="VCL2.1-Downloadlinks"></a>
+## Download links
+
+Please make sure to download VCL from an mirror server. The following link
+will automatically select one for you that should be close to you. After
+downloading it *make sure* you verify it with MD5 or SHA1 sums *AND* the
+GPG signature (sums and signature files should be downloaded directly from
+Apache, not from mirrors).
+
+[Download ASF VCL 2.1](http://www.apache.org/dyn/closer.cgi/incubator/vcl/apache-VCL-2.1-incubating.tar.bz2)
+[GPG Signature](http://www.apache.org/dist/incubator/vcl/apache-VCL-2.1-incubating.tar.bz2.asc)
+[MD5 Sum](http://www.apache.org/dist/incubator/vcl/apache-VCL-2.1-incubating.tar.bz2.md5)
+[SHA1 Sum](http://www.apache.org/dist/incubator/vcl/apache-VCL-2.1-incubating.tar.bz2.sha1)
+[VCL KEYS file](http://www.apache.org/dist/incubator/vcl/KEYS)
+
+Run the following command to verify the MD5 sum. You should get the same
+number that is in apache-VCL-2.1-incubating.tar.bz2.md5:
+md5sum apache-VCL-2.1-incubating.tar.bz2
+
+Similarly, Run the following command to verify the SHA1 sum. You should get
+the same number that is in apache-VCL-2.1-incubating.tar.bz2.sha1:
+sha1sum apache-VCL-2.1-incubating.tar.bz2
+
+To verify the GPG signature (you'll need to have [GnuPG](http://www.gnupg.org/)
+ installed):
+1. download and import the VCL KEYS file:
+gpg \--import KEYS
+1. download the GPG Signature to the same location as the release file
+1. from the directory containing both the release file and the GPG
+signature, run
+gpg \--verify apache-VCL-2.1-incubating.tar.bz2.asc
+
+<a name="VCL2.1-ReleaseNotes"></a>
+## Release Notes
+
+<a name="VCL2.1-I.IntroandDescription"></a>
+#### I. Intro and Description
+
+VCL, Virtual Computing Lab. The VCL can be many things, first and foremost
+it is an open-source system used to dynamically provision and broker remote
+access to a dedicated compute environment for an end-user. The provisioned
+computers are typically housed in a data center and may be physical blade
+servers, traditional rack mounted servers, or virtual machines. VCL can
+also broker access to standalone machines such as a lab computers on a
+university campus.
+
+One of the primary goals of VCL is to deliver a dedicated compute
+environment to a user for a limited time through a web interface. This
+compute environment can range from something as simple as a virtual machine
+running productivity software to a machine room blade running high end
+software (i.e. a CAD, GIS, statistical package or an Enterprise level
+application) to a cluster of interconnected physical (bare metal) compute
+nodes.
+
+Also using the scheduling API it can be used to automate the provisioning
+of servers in a server farm or HPC cluster. 
+
+The release supports provisioning nodes using xCAT 1.3, xCAT 2.1, vmware
+server 1.x, ESX standard Server using the toolkit the vmware-cmd on the esx
+host, ESXi using the vmware toolkit.
+
+<a name="VCL2.1-II.VCLRoadmap"></a>
+#### II. VCL Roadmap
+
+VCL 2.1 (this release)
+* completed modularization of vcld
+* xCAT 2.1 support
+* Shibboleth authentication
+* VMWare management via VMWare toolkit
+* ESXi with thin provisioning on a NetApp
+* Only supports xCAT 1.3 and xCAT 2.1 versions
+
+VCL 2.2
+* support for xCAT 2.3 or later versions
+* -improve cluster reservations- {color:#ff0000}VMWare Free Server
+2.x{color} {color:#000000}(changed after 2.1 release){color}
+* improve block reservations(rename to block allocations)
+
+VCL 2.3
+* Service deployments
+* power management
+* -VMWare Free Server 2.x- {color:#ff0000}improve cluster
+reservations{color} {color:#000000}(changed after 2.1 release){color}
+
+VCL 2.4
+* improve hypervisor support
+* dynamic provisioning of host servers
+* possibly XEN or KVM
+
+VCL 2.5
+* develop tools for managing both system and user storage
+
+With each release, we'll be working toward making VCL easier to install. As
+part of our move to development at the Apache Software Foundation, it is an
+obvious goal to create a community of users and more developers around VCL.
+Bringing in more developers should become easier as VCL becomes easier to
+install.
+
+<a name="VCL2.1-III.GettingInvolvedintheASFVCLCommunity"></a>
+#### III. Getting Involved in the ASF VCL Community
+
+There are five ways to become involved in the ASF VCL community.
+
+* Join the mailing lists and participate in discussion. There are two
+mailing lists: vcl-user@incubator.apache.org
+vcl-dev@incubator.apache.org
+To join vcl-user, send an empty message to
+[vcl-user-subscribe@incubator.apache.org](mailto:vcl-user-subscribe@incubator.apache.org|click-to-subscribe.html)
+. To join vcl-dev, send an empty
+message to [vcl-dev-subscribe@incubator.apache.org](mailto:vcl-dev-subscribe@incubator.apache.org|click-to-subscribe.html)
+.
+
+* Submit bug reports and feature requests to our JIRA bug tracking system.
+See section IV below for more information on doing this.
+
+* Create documentation on our Confluence site. Create an account at [http://cwiki.apache.org/confluence/display/VCL/Index](http://cwiki.apache.org/confluence/display/VCL/Index)
+ and just start adding content. (Note to current community: We should
+create a page explaining the layout so new people will know where to add
+content better.)
+
+* Submit patches through the vcl-dev mailing list and via the JIRA bug
+tracking system. Once you have become familiar with VCL, you can begin
+assisting with the development of it by picking a JIRA issue to fix or by
+adding a feature needed at your site. Then, contribute a patch of your
+changes through the JIRA tracking system and send a message to the vcl-dev
+list explaining what you have done.
+
+* Become an official committer to the project. Once you have shown that you
+have a good grasp of the project by submitting patches, you can further
+join the development work by submitting a contributor license agreement
+(CLA) to ASF and having a committer account created to directly contribute
+code to the project.
+
+<a name="VCL2.1-IV.HowtoSubmitBugsandFeatureRequests"></a>
+#### IV. How to Submit Bugs and Feature Requests
+
+If you find a bug, please submit a bug report to our JIRA bug tracking
+system at [http://issues.apache.org/jira/browse/VCL](http://issues.apache.org/jira/browse/VCL)
+ (you will need to set up an account there if you haven't already done so -
+it's free to anyone). Also, we would appreciate it if you mentioned that
+you filed a bug on the vcl-dev list to make sure we don't miss it.
+
+If you would like to requrest a new feature, you can also submit that in
+the same way through JIRA (just select "New Feature" or "Improvement" as
+the Issue Type). Again, it would be helpful if you mentioned that you filed
+a feature
+request on the vcl-dev list.
+
+After you have created a JIRA issue, you have the option to vote on it to
+help us know how to prioritize issues. You can also "watch" the issue to
+see when activity related to it is submitted.
+
+<a name="VCL2.1-ChangeLog"></a>
+## Change Log
+
+<a name="VCL2.1-Sub-task"></a>
+#### Sub-task
+
+* \[[VCL-67](https://issues.apache.org/jira/browse/VCL-67)
+\] -	     Allow OS, provisioning engine, and other module objects to
+access each other
+
+<a name="VCL2.1-Bug"></a>
+#### Bug
+
+* \[[VCL-14](https://issues.apache.org/jira/browse/VCL-14)
+\] -	     xCAT.pm's capture_monitor output always displays "attempt
+1/80"
+* \[[VCL-26](https://issues.apache.org/jira/browse/VCL-26)
+\] -	     get_reservation_remote_ip subroutine redefined warning
+* \[[VCL-34](https://issues.apache.org/jira/browse/VCL-34)
+\] -	     When adding computers, missing requirement for the
+provisioning module
+* \[[VCL-51](https://issues.apache.org/jira/browse/VCL-51)
+\] -	     user groups that have a name that is a number cause problems
+on the privilege page
+* \[[VCL-54](https://issues.apache.org/jira/browse/VCL-54)
+\] -	     disable LDAP referrals for all LDAP connections to handle
+firewalls
+* \[[VCL-55](https://issues.apache.org/jira/browse/VCL-55)
+\] -	     processBulkComputerInput in computers.php not always setting
+startpripaddress, endpripaddress, startmac
+* \[[VCL-61](https://issues.apache.org/jira/browse/VCL-61)
+\] -	     blockrequest and the reload state
+* \[[VCL-62](https://issues.apache.org/jira/browse/VCL-62)
+\] -	     Calls to \_rpower in Windows.pm cause reservation processes to
+die
+* \[[VCL-64](https://issues.apache.org/jira/browse/VCL-64)
+\] -	     EmptyRecycleBin.exe utility causes problems during image
+capture
+* \[[VCL-69](https://issues.apache.org/jira/browse/VCL-69)
+\] -	     Unknown column 'af.shibonly' in 'field list'
+* \[[VCL-71](https://issues.apache.org/jira/browse/VCL-71)
+\] -	     Reservation processes being killed unexpectedly
+* \[[VCL-73](https://issues.apache.org/jira/browse/VCL-73)
+\] -	     new.pm::computer_not_being_used hangs occasionally
+* \[[VCL-74](https://issues.apache.org/jira/browse/VCL-74)
+\] -	     Reservation may fail if user's UID value is null
+* \[[VCL-75](https://issues.apache.org/jira/browse/VCL-75)
+\] -	     Bug in Perl 5.8.0 causes exit status to be reported
+incorrectly
+* \[[VCL-76](https://issues.apache.org/jira/browse/VCL-76)
+\] -	     form tags outside of td tags on Edit Image Profiles page
+* \[[VCL-79](https://issues.apache.org/jira/browse/VCL-79)
+\] -	     error in how the end time for schedule times is computed
+* \[[VCL-81](https://issues.apache.org/jira/browse/VCL-81)
+\] -	     Image retrieval does not verify if it was successful
+* \[[VCL-85](https://issues.apache.org/jira/browse/VCL-85)
+\] -	     watchInFlight error appears if image description contains
+special characters
+* \[[VCL-88](https://issues.apache.org/jira/browse/VCL-88)
+\] -	     vclreload account assumed to match the default affiliation
+* \[[VCL-90](https://issues.apache.org/jira/browse/VCL-90)
+\] -	     Image reservation for sub-image with "nousercheckout" flag set
+* \[[VCL-91](https://issues.apache.org/jira/browse/VCL-91)
+\] -	     edit reservation allows saving/updaing image for cluster
+reservations
+* \[[VCL-96](https://issues.apache.org/jira/browse/VCL-96)
+\] -	     < and > in user's passwords not handled properly
+* \[[VCL-101](https://issues.apache.org/jira/browse/VCL-101)
+\] -	     forimaging flag causes wrong user when imaging linux in
+reserved.pm
+* \[[VCL-103](https://issues.apache.org/jira/browse/VCL-103)
+\] -	     vclreload account has invalid curiculumid
+* \[[VCL-108](https://issues.apache.org/jira/browse/VCL-108)
+\] -	     apostrophe in image name causes AJAX updates to privilege page
+to break
+* \[[VCL-109](https://issues.apache.org/jira/browse/VCL-109)
+\] -	     viewing requests from timetable not using continuations
+* \[[VCL-111](https://issues.apache.org/jira/browse/VCL-111)
+\] -	     missing default values for vmtype table
+* \[[VCL-119](https://issues.apache.org/jira/browse/VCL-119)
+\] -	     Reservations insert log.ending = EOR when they shouldn't
+* \[[VCL-126](https://issues.apache.org/jira/browse/VCL-126)
+\] -	     get_new_dbh() doesn't return correct value if different
+database is specified
+* \[[VCL-129](https://issues.apache.org/jira/browse/VCL-129)
+\] -	     LockerWrtUser doesn't work with usernames containing
+underscores
+* \[[VCL-131](https://issues.apache.org/jira/browse/VCL-131)
+\] -	     utils getdynamicaddress routine - bad regex
+* \[[VCL-136](https://issues.apache.org/jira/browse/VCL-136)
+\] -	     missing perlpackage for id 6 in module table
+* \[[VCL-143](https://issues.apache.org/jira/browse/VCL-143)
+\] -	     need to drop allowing new reservations to take priority over
+reload reservations
+* \[[VCL-151](https://issues.apache.org/jira/browse/VCL-151)
+\] -	     apostrophe in last name can cause an error when adding user to
+database
+* \[[VCL-166](https://issues.apache.org/jira/browse/VCL-166)
+\] -	     Windows firewall subs not catching "Object already exists" in
+netsh.exe output
+* \[[VCL-167](https://issues.apache.org/jira/browse/VCL-167)
+\] -	     run_ssh_command not catching host key differs warning messages
+* \[[VCL-172](https://issues.apache.org/jira/browse/VCL-172)
+\] -	     xCAT21.pm - xcat database is locked at dbdimp.c error
+* \[[VCL-186](https://issues.apache.org/jira/browse/VCL-186)
+\] -	     Windows images losing default gateway
+* \[[VCL-187](https://issues.apache.org/jira/browse/VCL-187)
+\] -	     Ubuntu.pm - not  completed
+* \[[VCL-191](https://issues.apache.org/jira/browse/VCL-191)
+\] -	     path changes in vshpere SDK vmware perl toolkit
+* \[[VCL-207](https://issues.apache.org/jira/browse/VCL-207)
+\] -	     Predictive reload modules not accounting for machines in block
+computers table
+* \[[VCL-213](https://issues.apache.org/jira/browse/VCL-213)
+\] -	     Bug in retrieve_image sub in vmware.pm and xCAT.pm calls next
+instead of return
+* \[[VCL-218](https://issues.apache.org/jira/browse/VCL-218)
+\] -	     vmware.pm may delete image being captured by cleanup process
+* \[[VCL-226](https://issues.apache.org/jira/browse/VCL-226)
+\] -	     Windows reboot fails - processing another action error
+* \[[VCL-238](https://issues.apache.org/jira/browse/VCL-238)
+\] -	     Linux.pm  pre-capture routine not shuting down OS
+* \[[VCL-240](https://issues.apache.org/jira/browse/VCL-240)
+\] -	     utils.pm - insert_reload_request
+* \[[VCL-246](https://issues.apache.org/jira/browse/VCL-246)
+\] -	     READY flag check for VMware and xCAT is being thrown off by
+other processes running on machines
+* \[[VCL-247](https://issues.apache.org/jira/browse/VCL-247)
+\] -	     computer with shortname  only in database not being reloaded
+after being used
+* \[[VCL-263](https://issues.apache.org/jira/browse/VCL-263)
+\] -	     Linux.pm - add default vcl user group
+
+<a name="VCL2.1-Improvement"></a>
+#### Improvement
+
+* \[[VCL-3](https://issues.apache.org/jira/browse/VCL-3)
+\] -	     clean up database
+* \[[VCL-6](https://issues.apache.org/jira/browse/VCL-6)
+\] -	     update healthcheck.pl to use modularized code
+* \[[VCL-15](https://issues.apache.org/jira/browse/VCL-15)
+\] -	     modify blockrequest module to use frontend API for scheduling
+* \[[VCL-20](https://issues.apache.org/jira/browse/VCL-20)
+\] -	     Configuration of sshd port for image retrieval
+* \[[VCL-23](https://issues.apache.org/jira/browse/VCL-23)
+\] -	     Modularize Windows OS code
+* \[[VCL-63](https://issues.apache.org/jira/browse/VCL-63)
+\] -	     Remove critical notification if image is configured with a
+user group containing 0 members
+* \[[VCL-65](https://issues.apache.org/jira/browse/VCL-65)
+\] -	     Remove pagefile from all drives during image capture
+* \[[VCL-72](https://issues.apache.org/jira/browse/VCL-72)
+\] -	     die and warning signals are not handled by the backend code
+* \[[VCL-84](https://issues.apache.org/jira/browse/VCL-84)
+\] -	     Prevent users from starting create image until computer is in
+inuse state
+* \[[VCL-105](https://issues.apache.org/jira/browse/VCL-105)
+\] -	     an image cannot have itself as a subimage
+* \[[VCL-106](https://issues.apache.org/jira/browse/VCL-106)
+\] -	     mail notifications notify routine
+* \[[VCL-107](https://issues.apache.org/jira/browse/VCL-107)
+\] -	     User email notifications
+* \[[VCL-110](https://issues.apache.org/jira/browse/VCL-110)
+\] -	     2 second deley in vcld may cause problems with imaging
+* \[[VCL-112](https://issues.apache.org/jira/browse/VCL-112)
+\] -	     Provide access to image affiliation data via DataStructure.pm
+* \[[VCL-115](https://issues.apache.org/jira/browse/VCL-115)
+\] -	     allow user groups with the same name but different
+affiliations
+* \[[VCL-118](https://issues.apache.org/jira/browse/VCL-118)
+\] -	     Add delay to run_ssh_command() & run_scp_command() retry
+attempts
+* \[[VCL-120](https://issues.apache.org/jira/browse/VCL-120)
+\] -	     Add subroutine to set IE's runonce registry keys so user isn't
+presented with it
+* \[[VCL-124](https://issues.apache.org/jira/browse/VCL-124)
+\] -	     locally affiliated users need a way to change their password
+* \[[VCL-128](https://issues.apache.org/jira/browse/VCL-128)
+\] -	     Update reclaim.pm
+* \[[VCL-132](https://issues.apache.org/jira/browse/VCL-132)
+\] -	     vcld check_time
+* \[[VCL-156](https://issues.apache.org/jira/browse/VCL-156)
+\] -	     insert current_image.txt file on kickstart based nodes
+* \[[VCL-157](https://issues.apache.org/jira/browse/VCL-157)
+\] -	     Add support for xCAT 2.1 partimage format
+* \[[VCL-173](https://issues.apache.org/jira/browse/VCL-173)
+\] -	     add power_off,power_on,power_reset,power_status routines to
+xCAT21 module
+* \[[VCL-175](https://issues.apache.org/jira/browse/VCL-175)
+\] -	     Set virtual switch 0 from database value for VMware GSX
+* \[[VCL-176](https://issues.apache.org/jira/browse/VCL-176)
+\] -	     Prevent vmware.pm from looping 15 times before checking ssh
+during load
+* \[[VCL-177](https://issues.apache.org/jira/browse/VCL-177)
+\] -	     Remove Windows OS post-load configuration tasks from vmware.pm
+* \[[VCL-183](https://issues.apache.org/jira/browse/VCL-183)
+\] -	     DataStructure.pm contains duplicate subroutines:
+get_computer_private_ip and get_computer_private_ip_address
+* \[[VCL-184](https://issues.apache.org/jira/browse/VCL-184)
+\] -	     Update database schema for 2.1 release
+* \[[VCL-185](https://issues.apache.org/jira/browse/VCL-185)
+\] -	     Modularize Linux OS Code
+* \[[VCL-188](https://issues.apache.org/jira/browse/VCL-188)
+\] -	     Document Windows tools dependencies
+* \[[VCL-190](https://issues.apache.org/jira/browse/VCL-190)
+\] -	     Add time configuration and synchronization commands to Windows
+post_load
+* \[[VCL-205](https://issues.apache.org/jira/browse/VCL-205)
+\] -	     allow esx provisioing module to set MAC addresses
+* \[[VCL-212](https://issues.apache.org/jira/browse/VCL-212)
+\] -	     Add code to set SysprepStatus registry keys for Windows 6
+* \[[VCL-217](https://issues.apache.org/jira/browse/VCL-217)
+\] -	     xcat modules - Throttle control
+* \[[VCL-228](https://issues.apache.org/jira/browse/VCL-228)
+\] -	     Windows image capture fails to delete user profiles because
+file is open
+
+<a name="VCL2.1-NewFeature"></a>
+#### New Feature
+
+* \[[VCL-1](https://issues.apache.org/jira/browse/VCL-1)
+\] -	     xCAT 2.0 module
+* \[[VCL-4](https://issues.apache.org/jira/browse/VCL-4)
+\] -	     add support for Shibboleth authentication
+* \[[VCL-7](https://issues.apache.org/jira/browse/VCL-7)
+\] -	     modify healthcheck.pl to monitor vms
+* \[[VCL-18](https://issues.apache.org/jira/browse/VCL-18)
+\] -	     allow dynamic change of predictive loading module
+* \[[VCL-19](https://issues.apache.org/jira/browse/VCL-19)
+\] -	     add configuration of v2 fields for management nodes
+* \[[VCL-21](https://issues.apache.org/jira/browse/VCL-21)
+\] -	     add check for existance of image libraries
+* \[[VCL-29](https://issues.apache.org/jira/browse/VCL-29)
+\] -	     author an ESX and ESX 3i provisioning module (using netboot)
+* \[[VCL-33](https://issues.apache.org/jira/browse/VCL-33)
+\] -	     add user group management to XML RPC API
+* \[[VCL-78](https://issues.apache.org/jira/browse/VCL-78)
+\] -	     API for backend to allocate computers for block reservations
+via the frontend
+* \[[VCL-123](https://issues.apache.org/jira/browse/VCL-123)
+\] -	     add Ubuntu Support using the new OS Module framework
+* \[[VCL-209](https://issues.apache.org/jira/browse/VCL-209)
+\] -	     create a page that will test for required php modules and
+correct configuration
+
+<a name="VCL2.1-Task"></a>
+#### Task
+
+* \[[VCL-70](https://issues.apache.org/jira/browse/VCL-70)
+\] -	     Create a basic helloworld.pm provisioning module
+* \[[VCL-95](https://issues.apache.org/jira/browse/VCL-95)
+\] -	     Set Subversion properties for files in repository
+* \[[VCL-135](https://issues.apache.org/jira/browse/VCL-135)
+\] -	     remove all references to ncsu
+* \[[VCL-198](https://issues.apache.org/jira/browse/VCL-198)
+\] -	     Release tasks
+* \[[VCL-264](https://issues.apache.org/jira/browse/VCL-264)
+\] -	     VCL 2.1 RC2 todo items

Added: vcl/site/trunk/content/confluence_export/vcl-2.2-installation.mdtext
URL: http://svn.apache.org/viewvc/vcl/site/trunk/content/confluence_export/vcl-2.2-installation.mdtext?rev=1430372&view=auto
==============================================================================
--- vcl/site/trunk/content/confluence_export/vcl-2.2-installation.mdtext (added)
+++ vcl/site/trunk/content/confluence_export/vcl-2.2-installation.mdtext Tue Jan  8 16:37:53 2013
@@ -0,0 +1,7 @@
+Title: VCL 2.2 Installation
+Steps to install VCL:
+
+1. Download and verify a release file. Follow instructions on the [VCL 2.2 release page](vcl-2.2.html)
+1. [Install the database portion of VCL](2.2-database-configuration.html)
+1. [Install the web code](2.2-web-code-installation.html)
+1. [Install the Management Node code](2.2-management-node-installation.html)

Added: vcl/site/trunk/content/confluence_export/vcl-2.2.1---adding-ldap-authentication.mdtext
URL: http://svn.apache.org/viewvc/vcl/site/trunk/content/confluence_export/vcl-2.2.1---adding-ldap-authentication.mdtext?rev=1430372&view=auto
==============================================================================
--- vcl/site/trunk/content/confluence_export/vcl-2.2.1---adding-ldap-authentication.mdtext (added)
+++ vcl/site/trunk/content/confluence_export/vcl-2.2.1---adding-ldap-authentication.mdtext Tue Jan  8 16:37:53 2013
@@ -0,0 +1,122 @@
+Title: VCL 2.2.1 - Adding LDAP Authentication
+<a name="VCL2.2.1-AddingLDAPAuthentication-PrerequisitesforyourLDAPserver:"></a>
+### Prerequisites for your LDAP server:
+
+* SSL should be enabled on your LDAP server
+* An LDAP&nbsp;account that can look up a user's first and last names, user
+id, and email address (email address is optional) - this will be referred
+to as 'vcllookup' on this page. You can skip this step if anonymous binds
+are enabled on your LDAP server and an anonymous bind will be able to look
+up userids, names, and email addresses.
+* If your LDAP server is behind a&nbsp;firewall, you will need to allow
+your VCL web server to access tcp port 636 on your LDAP server
+
+<a name="VCL2.2.1-AddingLDAPAuthentication-PrerequisitesforyourVCLwebserver:"></a>
+### Prerequisites for your VCL web server:
+
+* *php-ldap* needs to be installed
+* If your LDAP server's SSL certificate is self-signed, your VCL web server
+needs to have the root CA certificate that was used to sign the LDAP server
+certificate installed. On CentOS, information about the certificate needs
+to be added to /etc/pki/tls/certs/ca-bundle.crt - this [script](adding-ldap-authentication^convert_crt_for_ldapssl.html)
+ will take as input a file containing the base64 encoded certificate and
+generate the lines that need to be added to the ca-bundle.crt file.
+* After adding the certificate, restart httpd:
+{tip}
+service httpd restart
+{tip}
+* You can verify that the certificate is properly installed using this
+command:
+{tip}
+openssl s_client \-showcerts \-CAfile /etc/pki/tls/certs/ca-bundle.crt
+\-connect your.ldap.server.here:636
+{tip}
+If you see "Verify return code: 0 (ok)" at the end of the output then it is
+installed correctly. If you see a different return code, then you'll need
+to troubleshoot the problem.
+* You may need to add a line to */etc/openldap/ldap.conf* to point to the
+ca-bundle.crt file. If so, add the following:
+
+    TLS_CACERT /etc/pki/tls/certs/ca-bundle.crt
+
+
+<a name="VCL2.2.1-AddingLDAPAuthentication-AddingLDAPAuthenticationtotheWebCode"></a>
+### Adding LDAP Authentication to the Web Code
+
+* You will need to manually add an entry to the affiliation table in the
+VCL database. Choose a name for the affiliation. This will be appended to
+all userids for the affiliation to distinguish them from other affiliations
+you may configure later. Initials or a short name of your organization are
+a good idea. The affiliation name&nbsp;cannot contain spaces. Use the
+following to add the affiliation, replacing 'EXAMPLE' with the name you
+chose. Take note of the id from the 2nd SQL statement as you will need it
+later. It is the numerical id for this affiliation.
+{tip}
+mysql vcl
+{tip}
+{tip}
+INSERT INTO affiliation (name) VALUES ('EXAMPLE');
+{tip}
+{tip}
+SELECT id FROM affiliation WHERE name = 'EXAMPLE';
+{tip}
+{tip}
+exit
+{tip}
+* Edit *conf.php* and search for "EXAMPLE1 LDAP"
+* Uncomment the "EXAMPLE1 LDAP" section by removing the '/*' before it and
+the '*/' at the end of 'to use this login mechanism'
+* Change 'EXAMPLE1 LDAP' to something to match your location, for example
+at NCSU, it is 'NCSU LDAP'. This string is what users will see where they
+select the authentication mechanism to use when logging in.
+* Modify the following fields:
+** *server* \- this is the hostname of your LDAP server
+** *binddn* \- typically, you'll want to use the base DN of your LDAP
+server; for Active Directory, this is usually dc= for each of your domain
+name components. For example, your your domain name was ad.example.org, it
+would be "dc=ad,dc=example,dc=org"
+** *userid* \- this is a string that is added to the userid a user enters
+on the login page. Place a '%s' where the entered userid should go. Some
+examples are:
+*** %s@example.org
+*** %s@ad.example.org
+*** uid=%s,ou=accounts,dc=example,dc=org'
+** *unityid* \- this is the ldap field that contains a user's login id (for
+Active Directory, this is usually sAMAccountName)
+** *firstname* \- this is the ldap field that contains a user's first name
+** *lastname* \- this is the ldap field that contains a user's last name
+** *email* \- this is the ldap field that contains a user's email address
+** *defaultemail* \- if an email address is not provided by the ldap
+server, this will be appended to the end of the userid to create an email
+address. In this case, email notifications will be disabled by default.
+** *masterlogin* \- this is the vcllookup account referred to in the
+"Prerequisites for your LDAP server" section - comment out this line if
+using anonymous binds
+** *masterpwd* \- password for the masterlogin account - comment out this
+line if using anonymous binds
+** *affiliationid* \- this is the id from the SELECT statement in the first
+step
+** *help* \- this is some text that will show up on the page where users
+select the authentication method explaining why they would select this
+option
+* Uncomment the *require_once* line for *ldapauth.php* toward the bottom of
+the file
+
+<a name="VCL2.2.1-AddingLDAPAuthentication-TweakifyourLDAPserverhasusersinmultiplecontainers"></a>
+### Tweak if your LDAP server has users in multiple containers
+
+If your LDAP server has users in multiple containers, then the full DN for
+each user must be looked up before doing a bind to the LDAP server to
+authenticate the user. In this case, you'll need to modify
+authentication.php.
+* Edit *authenciation.php*
+* Search for "ldapLogin"
+* Search for "EXAMPLE1 LDAP" in the function
+* Uncomment the block of code it is contained in by removing the '/*' at the beginning of the line containing 'EXAMPLE1 LDAP', and removing the '*/' at the end of the else that is before '$ldapuser = sprintf($authMechs\[\](\.html)
+['userid'], $userid);'
+* change 'EXAMPLE1 LDAP' to match what you changed it to in step 3
+* Look for the line containing 'cn=$userid'. If you use 'cn' to look up
+userids in your LDAP server, the line is fine as is. If you use something
+else, such as 'uid', change 'cn' to 'uid' or whatever is used on your LDAP
+server.
+* Save the file

Added: vcl/site/trunk/content/confluence_export/vcl-2.2.1---further-steps-if-using-vmware.mdtext
URL: http://svn.apache.org/viewvc/vcl/site/trunk/content/confluence_export/vcl-2.2.1---further-steps-if-using-vmware.mdtext?rev=1430372&view=auto
==============================================================================
--- vcl/site/trunk/content/confluence_export/vcl-2.2.1---further-steps-if-using-vmware.mdtext (added)
+++ vcl/site/trunk/content/confluence_export/vcl-2.2.1---further-steps-if-using-vmware.mdtext Tue Jan  8 16:37:53 2013
@@ -0,0 +1,140 @@
+Title: VCL 2.2.1 - Further Steps if Using 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="VCL2.2.1-FurtherStepsifUsingVMware-AddingIndividualVMwareServers"></a>
+### Adding Individual VMware Servers
+
+1. Click *Manage Computers*
+1. Select the *Add Single Computer* radio button
+1. Click *Submit*
+1. Fill in the following:
+1. * *Hostname*
+1. * *IP Address*
+1. * *State* \- vmhostinuse
+{note}Double-check this because you will not be able to change it
+later{note}
+1. * *Owner* \- [admin@Local](mailto:admin@local.html)
+1. * *RAM*
+1. * *Processor 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* these VMware hosts will use.&nbsp; See the [VCL:VMware Configuration](vcl:vmware-configuration.html)
+&nbsp;page for more information about VM Host Profiles.&nbsp;
+{info}You can modify the VM Host Profile later if needed{info}
+1. Click Add Computer
+{info}The computer you just added isn't listed after clicking Submit. This
+is not a problem.{info}
+
+<a name="VCL2.2.1-FurtherStepsifUsingVMware-AddingMultipleVMWareServers"></a>
+### Adding Multiple VMWare Servers
+
+1. Click *Manage Computers*
+1. Select the *Add Multiple Computers* radio button
+1. Click *Submit*
+1. Fill in the following:
+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
+{note}Double-check this because you will not be able to change it
+later{note}
+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* these VMware hosts will use. See the [VCL:VMware Configuration](vcl:vmware-configuration.html)
+&nbsp;page for more information about VM Host Profiles.&nbsp;
+{info}You can modify the VM Host Profile later if needed{info}
+1. Click *Add Computers*
+
+<a name="VCL2.2.1-FurtherStepsifUsingVMware-AddingVirtualMachines"></a>
+### Adding Virtual Machines
+
+1. Click *Manage Computers*
+1. Select the *Add Multiple Computers* radio button
+1. Click *Submit*
+1. Fill in the following:
+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.
+{note}For VMware virtual machines, the MAC addresses you choose must be in
+the range {color:#008000}{*}00:50:56:00:00:00{*}{color}
+{color:#008000}\-{color}{color:#008000}{*}00:50:56:3F:FF:FF{*}{color}.
+Pay special attention to the upper bound of this range.
+{color:#ff0000}{*}00:50:56:40:00:00{*}{color} {color:#ff0000}\-{color}
+{color:#ff0000}{*}00:50:56:FF:FF:FF{*}{color} are *NOT* valid VMware
+virtual machines.{note}
+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.
+
+<a name="VCL2.2.1-FurtherStepsifUsingVMware-AssignaVMtoaVirtualHost"></a>
+### Assign a VM to a Virtual Host
+
+1. Click *Virtual Hosts*
+1. On the *VM Hosts* tab, select the virtual host server added previously.
+1. Click *Configure Host*, You should see VM limit set to a number along
+with the vm profile, two columns of VM's assigned to host and Unassigned
+VMs.
+1. Adjust the VM limit to the desired number of vms you would like to run on
+this host. Warning please consult your hypervisor documentation for
+the&nbsp;recommended number of virtual machines to run concurrently for
+your virtual server configuration.
+1. Select the virtual machine nodes from the Unassigned VMs: column.&nbsp;
+1. Click Add.

Added: vcl/site/trunk/content/confluence_export/vcl-2.2.1---further-steps-if-using-xcat.mdtext
URL: http://svn.apache.org/viewvc/vcl/site/trunk/content/confluence_export/vcl-2.2.1---further-steps-if-using-xcat.mdtext?rev=1430372&view=auto
==============================================================================
--- vcl/site/trunk/content/confluence_export/vcl-2.2.1---further-steps-if-using-xcat.mdtext (added)
+++ vcl/site/trunk/content/confluence_export/vcl-2.2.1---further-steps-if-using-xcat.mdtext Tue Jan  8 16:37:53 2013
@@ -0,0 +1,51 @@
+Title: VCL 2.2.1 - 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="VCL2.2.1-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="VCL2.2.1-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/vcl-2.2.1-database-installation.mdtext
URL: http://svn.apache.org/viewvc/vcl/site/trunk/content/confluence_export/vcl-2.2.1-database-installation.mdtext?rev=1430372&view=auto
==============================================================================
--- vcl/site/trunk/content/confluence_export/vcl-2.2.1-database-installation.mdtext (added)
+++ vcl/site/trunk/content/confluence_export/vcl-2.2.1-database-installation.mdtext Tue Jan  8 16:37:53 2013
@@ -0,0 +1,48 @@
+Title: VCL 2.2.1 Database Installation
+{excerpt:hidden=true}How to install MySQL Server, create the VCL database,
+and import the VCL database schema{excerpt}
+
+<a name="VCL2.2.1DatabaseInstallation-Install&ConfiguretheDatabase"></a>
+# Install & Configure the Database
+
+1. h2. Download & Extract the Apache VCL Source
+1. # If you have not already done so, download and the Apache VCL source to
+the database server:
+{tip}wget
+{nolink:http://www.apache.org/dist/incubator/vcl/apache-VCL-2.2.1-incubating.tar.bz2}{tip}
+1. # Extract the files:
+{tip}tar \-jxvf apache-VCL-2.2.1-incubating.tar.bz2{tip}
+1. h2. Install MySQL Server
+1. # Install MySQL Server 5.x: {tip}yum install mysql-server \-y{tip}
+1. # Configure the MySQL daemon (mysqld) to start automatically:
+{tip}/sbin/chkconfig \--level 345 mysqld on{tip}
+1. # Start the MySQL daemon:
+{tip}/sbin/service mysqld start{tip}
+1. # Make sure&nbsp;the&nbsp;firewall&nbsp;on the database server is
+configured to allow traffic from the web server and management node servers
+to connect to the MySQL&nbsp;daemon TCP port: *3306*.&nbsp; See the
+firewall documentation for more information. {info}man iptables{info}
+1. h2. Create&nbsp;the VCL Database
+1. # Run the MySQL command-line client: {tip}mysql{tip}
+1. # Create a database:
+{tip}CREATE DATABASE vcl;{tip}
+1. # Create a user with SELECT, INSERT, UPDATE, DELETE, and CREATE TEMPORARY
+TABLES privileges on the database you just created:
+{tip}GRANT SELECT,INSERT,UPDATE,DELETE,CREATE TEMPORARY TABLES ON vcl.\* TO
+'*vcluser*'@'localhost' IDENTIFIED BY '*vcluserpassword*';{tip}
+{note}Replace *vcluser* and *vcluserpassword* with that of the user you
+want to use to connect to the database{note}
+{info}The GRANT command will automatically create the user if it doesn't
+already exist{info}
+1. # Exit the MySQL command-line client: {tip}exit{tip}
+1. # Import the vcl.sql file into the database:
+{tip}mysql vcl < apache-VCL-2.2.1-incubating/mysql/vcl.sql{tip}
+{info}The *vcl.sql* file is included in the *mysql* directory within the
+Apache VCL&nbsp;source code{info}
+1. h2. Install & Configure phpMyAdmin (Optional):
+{excerpt-include:VCL 2.2.1 phpMyAdmin Installation &
+Configuration|nopanel=true}
+To install phpMyAdmin, follow the instructions on: [VCL:VCL 2.2.1 phpMyAdmin Installation & Configuration](vcl:vcl-2.2.1-phpmyadmin-installation-&-configuration.html)
+
+----
+Next step: [VCL:VCL 2.2.1 Web Code Installation](vcl:vcl-2.2.1-web-code-installation.html)

Added: vcl/site/trunk/content/confluence_export/vcl-2.2.1-installation.mdtext
URL: http://svn.apache.org/viewvc/vcl/site/trunk/content/confluence_export/vcl-2.2.1-installation.mdtext?rev=1430372&view=auto
==============================================================================
--- vcl/site/trunk/content/confluence_export/vcl-2.2.1-installation.mdtext (added)
+++ vcl/site/trunk/content/confluence_export/vcl-2.2.1-installation.mdtext Tue Jan  8 16:37:53 2013
@@ -0,0 +1,17 @@
+Title: VCL 2.2.1 Installation
+<a name="VCL2.2.1Installation-Install&Configure:"></a>
+### Install & Configure:
+
+1. [Database](vcl:vcl-2.2.1-installation#database.html)
+1. [Web Components](vcl:vcl-2.2.1-installation#web.html)
+1. [Management Node Components](vcl:vcl-2.2.1-installation#managementnode.html)
+
+----
+{anchor:Database}
+{include:VCL 2.2.1 Database Installation}
+----
+{anchor:Web}
+{include:VCL 2.2.1 Web Code Installation}
+----
+{anchor:ManagementNode}
+{include:VCL 2.2.1 Management Node Installation}

Added: vcl/site/trunk/content/confluence_export/vcl-2.2.1-management-node-installation.mdtext
URL: http://svn.apache.org/viewvc/vcl/site/trunk/content/confluence_export/vcl-2.2.1-management-node-installation.mdtext?rev=1430372&view=auto
==============================================================================
--- vcl/site/trunk/content/confluence_export/vcl-2.2.1-management-node-installation.mdtext (added)
+++ vcl/site/trunk/content/confluence_export/vcl-2.2.1-management-node-installation.mdtext Tue Jan  8 16:37:53 2013
@@ -0,0 +1,359 @@
+Title: VCL 2.2.1 Management Node Installation
+{excerpt:hidden=true}
+How to install and configure the VCL management node components including
+the required Linux packages, Perl modules, VCL daemon (vcld), and Windows
+utility dependencies{excerpt}
+
+<a name="VCL2.2.1ManagementNodeInstallation-Install&ConfiguretheManagementNodeComponents"></a>
+# Install & Configure the Management Node Components
+
+<a name="VCL2.2.1ManagementNodeInstallation-Prerequisites"></a>
+### Prerequisites
+
+The following management node installation instructions assume the
+instructions on the following pages have previously been completed:
+* [VCL:VCL 2.2.1 Database Installation](vcl:vcl-2.2.1-database-installation.html)
+* [VCL:VCL 2.2.1 Web Code Installation](vcl:vcl-2.2.1-web-code-installation.html)
+
+<a name="VCL2.2.1ManagementNodeInstallation-SupportedOperatingSystems:"></a>
+##### Supported Operating Systems:
+
+The VCL management node daemon (vcld) has been developed to run on an
+operating system based on Red Hat Enterprise Linux (RHEL). It has been
+tested on the following:
+* Red Hat Enterprise Linux 4.x
+* Red Hat Enterprise Linux 5.x
+* CentOS 5.x
+
+<a name="VCL2.2.1ManagementNodeInstallation-RequiredLinuxPackages:"></a>
+##### Required Linux Packages:
+
+The VCL management node daemon (vcld) requires the following Linux packages
+and Perl modules in order to run (see step 2 below for installation
+instructions):
+
+
+* *expat* \- A library for parsing XML
+* *expat-devel* \- Libraries and include files to develop XML applications
+with expat
+* *gcc* \- Various compilers (C, C++, Objective-C, Java, ...)
+* *krb5-libs* \- The shared libraries used by Kerberos 5
+* *krb5-devel* \- Development files needed to compile Kerberos 5 programs
+* *libxml2* \- Library providing XML and HTML support
+* *libxml2-devel* \- Libraries, includes, etc. to develop XML and HTML
+applications
+* *mysql* \- MySQL client programs and shared libraries
+* *nmap* \- Network exploration tool and security scanner
+* *openssh* \- The OpenSSH implementation of SSH protocol versions 1 and 2
+* *openssl* \- The OpenSSL toolkit
+* *openssl-devel* \- Files for development of applications which will use
+OpenSSL
+* *perl* \- The Perl programming language
+* *perl-DBD-MySQL* \- A MySQL interface for perl
+* *xmlsec1-openssl* \- OpenSSL crypto plugin for XML Security Library
+
+<a name="VCL2.2.1ManagementNodeInstallation-RequiredPerlModules:"></a>
+##### Required Perl Modules:
+
+The VCL management node daemon (vcld) is written in Perl and has been
+tested on Perl 5.8.x. The following Perl modules available from [CPAN ](http://www.cpan.org)
+are also required (see step 2 below for installation instructions):
+* *DBI* \- Generic Database Interface
+* *Digest::SHA1* \- NIST SHA message digest algorithm
+* *Mail::Mailer* \- Simple mail agent interface
+* *Object::InsideOut* \- Comprehensive inside-out object support
+* *RPC::XML* \- A set of classes for core data, message and XML handling
+* *YAML* \- YAML Ain't Markup Language
+
+1. h2. Install the VCL Management Node Code - Perl Daemon
+1. # If you have not already done so, download and extract the VCL source
+files to the management node:
+  
+  
+tar \-jxvf apache-VCL-2.2.1-incubating.tar.bz2{tip}
+1. # Copy the *managementnode* directory to the location where you want it to
+reside (typically */usr/local*):
+{tip}cp \-r apache-VCL-2.2.1-incubating/managementnode /usr/local/vcl{tip}
+1. h2. Install the Required Linux Packages & Perl Modules
+*Run the install_perl_libs.pl script:*
+{tip}perl /usr/local/vcl/bin/install_perl_libs.pl{tip}
+The last line of the install_perl_libs.pl script output should be:
+
+    _Note: The script will hang or terminate if it encounters a problem. If
+this occurs, you will need to troubleshoot the problem by looking at the
+output._
+    \\
+    \\
+    _Note:_ RPC::XML may not install correctly on CentOS 5.6. The CPAN install
+of RPC::XML fails because RPC::XML needs 'XML::LibXML' for it's 'self
+tests' - even though - it's _NOT_ configured as a dependency, and the 'self
+tests' are suppose to skip tests involving 'XML::LibXML' if it's not
+installed. You may need to install the module manually before running the
+'install_perl_libs.pl' script.
+    (i.e. cpan -i XML::LibXML )
+    \\
+    \\
+    The install_perl_libs.pl script included in the VCL distribution will
+attempt to download and install the required Linux packages and Perl
+modules. It uses the yum utility to install the required Linux packages.
+The required Perl modules are available from [CPAN - The Comprehensive Perl Archive Network|http://www.cpan.org]
+. The install_perl_libs.pl script attempts to download and install the
+required Perl modules by using the CPAN.pm module which is included with
+most Perl distributions.
+    \\
+    \\
+    The yum utility should exist on any modern Red Hat-based Linux distribution
+(Red Hat, CentOS, Fedora, etc). If yum isn't available on your management
+node OS, you will need to download and install the required Linux packages
+manually or by using another package management utility. After installing
+the required Linux packages, attempt to run the install_perl_libs.pl script
+again.
+    # h2. Configure vcld.conf
+    ## Create the \*/etc/vcl\* directory: {tip}mkdir /etc/vcl{tip}
+    ## Copy the stock \*vcld.conf\* file to \*/etc/vcl*: {tip}cp
+/usr/local/vcl/etc/vcl/vcld.conf /etc/vcl{tip}
+    ## Edit \*/etc/vcl/vcld.conf*:
+    {tip}vi /etc/vcl/vcld.conf{tip}
+    The following lines must be configured in order to start the VCL daemon
+(vcld) and allow it to check in to the database:
+    ##* *FQDN* \- the fully qualified name of the management node, this should
+match the name that was configured for the management node in the database
+    ##* *server* \- the IP address or FQDN of the database server
+    ##* *LockerWrtUser* \- database user account with write privileges
+    ##* *wrtPass* \- database user password
+    ## Save the vcld.conf file
+    # h2. Configure the SSH Client
+    The SSH client on the management node should be configured to prevent SSH
+processes spawned by the root user to the computers it controls from
+hanging because of missing or different entries in the known_hosts file.
+    \\
+    \\
+    Edit the ssh_config file: {tip}vi /etc/ssh/ssh_config{tip}
+    Locate the *UserKnownHostsFile* and *StrictHostKeyChecking* lines and
+change them to the following:
+
+StrictHostKeyChecking no{noformat}
+_Note: If you do not want these settings applied universally on the
+management node the SSH configuration can also be configured to only apply
+these settings to certain hosts or only for the root user. Consult the SSH
+documentation for more information._
+1. h2. Install and Start the VCL Daemon (vcld) Service
+1. # Copy the vcld service script to /etc/init.d and name it vcld:
+{tip}
+cp /usr/local/vcl/bin/S99vcld.linux /etc/init.d/vcld
+{tip}
+1. # Add the vcld service using chkconfig:
+{tip}
+/sbin/chkconfig \--add vcld
+{tip}
+1. # Configure the vcld service to automatically run at runtime levels 3-5:
+{tip}
+/sbin/chkconfig \--level 345 vcld on
+{tip}
+1. # Start the vcld service:
+{tip}
+/sbin/service vcld start
+{tip}
+You should see output similar to the following:
+
+    ============================================================================
+    VCL Management Node Daemon (vcld) | 2011-03-15 10:23:04
+    ============================================================================
+    bin path:      /usr/local/vcl/bin
+    config file:   /etc/vcl/vcld.conf
+    log file:      /var/log/vcld.log
+    pid file:      /var/run/vcld.pid
+    daemon mode:   1
+    setup mode:    0
+    verbose mode:  1
+    ============================================================================
+    Created VCL daemon process: 8465
+                                                               [  OK  ]
+{noformat}
+    {info}
+    The vcld service can also be started by running the service script
+directly: */etc/init.d/vcld start{*}{info}
+    ## Check the vcld service by monitoring the vcld.log file: {tip}tail \-f
+/var/log/vcld.log{tip}
+    You should see the following being added to the log file every few seconds
+if the management node is checking in with the database:
+
+1. h2. Install & Configure the DHCP Service
+1. # Install *dhcp* if it is not already installed:
+{tip}
+yum install dhcp \-y
+{tip}
+1. # The DHCP daemon should only listen on the virtual private network (eth0)
+to avoid conflicts with other networks. Configure the dhcpd service startup
+script to only listen on the private interface:
+{tip}
+vi /etc/sysconfig/dhcpd
+{tip}
+Add *eth0* the to the *DHCPDARGS* line:
+
+    # Command line options here
+    DHCPDARGS=eth0
+
+1. # Configure the dhcpd service to automatically start at runlevels 3-5:
+{tip}
+/sbin/chkconfig \--level 345 dhcpd on
+{tip}
+1. # Configure the dhcpd.conf file.
+{tip}
+vi /etc/dhcpd.conf
+{tip}
+{info}Configure your dhcpd.conf file according to your network
+configuration. The contents of the dhcpd.conf file will vary based on how
+your network is configured. Below is an example of a basic dhcpd.conf
+file:{info}
+
+    ddns-update-style none;
+    	 shared-network eth0 {
+    	subnet 10.100.0.0 netmask 255.255.255.0 {
+    		ignore unknown-clients;
+    	  }
+    }
+
+You will add host definitions to the dhcpd.conf file after you add
+computers to VCL using the website. The website will display the dhcpd.conf
+host definitions after the computers have been added to VCL, which can be
+copied and pasted into the dhcpd.conf file.
+1. # Start the dhcpd service:
+{tip}/sbin/service dhcpd start{tip}
+1. h2. Configure Windows Product Keys and/or KMS Server Addresses (Optional)
+If you will be deploying Windows environments your institution's Windows
+product key and/or KMS server addresses must be entered into the VCL
+database. This can be done by running the following command:
+{tip}/usr/local/vcl/bin/vcld \-setup{tip}
+Select "*Windows OS Module*" and follow the prompts.
+1. h2. Download Windows Sysprep Utility (Optional)
+If you will be using VCL to deploy bare-metal Windows XP or Windows Server
+2003 environments via xCAT, the appropriate versions of the Microsoft
+Sysprep utility must be downloaded to the management node. The following
+steps do not need to be completed if you only intend to deploy VMware
+virtual machines.
+  
+  
+  
+  
+The Sysprep utility is included in the Deployment Tools available for free
+from Microsoft. You do not need to download Sysprep for Windows 7 or
+Windows Server 2008 because it is included in the operating system.
+  
+  
+  
+  
+The Sysprep files need to be downloaded, extracted, and then copied to the
+management node. The format of the file available for download is
+Microsoft's .cab format. It is easiest to extract the files on a Windows
+computer. Windows Explorer is able to open the .cab file and then the files
+contained within can be copied elsewhere.
+  
+  
+  
+  
+1. # Windows XP
+1. ## Download Sysprep for Windows XP: [Windows XP Service Pack 3 Deployment Tools](http://www.microsoft.com/downloads/details.aspx?FamilyID=673a1019-8e3e-4be0-ac31-70dd21b5afa7&displaylang=en)
+1. ## Extract the Windows XP Sysprep Files
+1. ## Copy the extracted Windows XP Sysprep files to the following directory
+the management node:
+{noformat}/usr/local/vcl/tools/Windows_XP/Utilities/Sysprep{noformat}
+1. # Windows Server 2003
+1. ## Download Sysprep for Windows Server 2003: [System Preparation tool for Windows Server 2003 Service Pack 2 Deployment](http://www.microsoft.com/downloads/details.aspx?familyid=93F20BB1-97AA-4356-8B43-9584B7E72556&displaylang=en)
+1. ## Extract the Windows Server 2003 Sysprep Files
+1. ## Copy the extracted Windows Server 2003 Sysprep files to the following
+directory the management node:
+{noformat}/usr/local/vcl/tools/Windows_Server_2003/Utilities/Sysprep{noformat}
+1. h2. Download Windows Drivers (Optional)
+Drivers which aren't included with Windows must be downloaded and saved to
+the management node. The drivers required will vary greatly depending on
+the hardware. The only way to know what additional drivers you need is to
+install Windows on a computer and check for missing drivers.
+  
+  
+  
+  
+The drivers must be copied to the appropriate directory on the management
+node. The VCL image capture process copies the driver directories to the
+computer before an image is captured. Drivers from multiple directories
+will be copied based on the version of Windows being captured. There are
+driver directories under *tools* for each version of Windows (Windows XP,
+Windows 7) and for each version group of Windows (version 5, 6). This
+allows drivers which are common to multiple versions of Windows to be
+shared in the management node tools directory structure.
+  
+  
+Examples:
+  
+  
+  
+  
+If a chipset driver works for all versions of Windows it should be saved
+in:
+*/var/lib/vcl/tools/Windows/Drivers/Chipset*
+  
+  
+  
+  
+If Windows XP and Windows Server 2003 both use the same network driver it
+can be saved in:
+*/var/lib/vcl/tools/Windows_Version_5/Drivers/Network*
+  
+  
+  
+  
+If a storage driver only works for Windows XP it should be saved in:
+*/var/lib/vcl/tools/Windows_XP/Drivers/Storage*
+  
+  
+  
+  
+During the image capture process, each Windows version directory is copied
+to the computer under C:\Cygwin\home\root\VCL. The order in which the
+Windows version directories are copied goes from most general to most
+specific. In the example above, the order would be:
+*/var/lib/vcl/tools/Windows/\**
+*/var/lib/vcl/tools/Windows_Version_5/\**
+*/var/lib/vcl/tools/Windows_XP/\**
+  
+  
+  
+  
+The following list shows which driver files should be saved in the driver
+directories:
+*/var/lib/vcl/tools/Windows/Drivers* \- drivers common to all versions of
+Windows
+*/var/lib/vcl/tools/Windows_Version_5/Drivers* \- drivers used by Windows
+XP and Server 2003
+*/var/lib/vcl/tools/Windows_XP/Drivers* \- drivers only used by Windows XP
+*/var/lib/vcl/tools/Windows_Server_2003/Drivers* \- drivers only used by
+Windows Server 2003
+  
+  
+*/var/lib/vcl/tools/Windows_Version_6/Drivers* \- drivers used by Windows
+Vista and Server 2008
+*/var/lib/vcl/tools/Windows_7/Drivers* \- drivers only used by Windows 7
+*/var/lib/vcl/tools/Windows_Server_2008/Drivers* \- drivers only used by
+Windows Server 2008
+
+The directory structure under each Drivers directory does not matter. It is
+helpful to organize each directory by driver class, and each directory
+should be organized using the same theme. For example:
+*/var/lib/vcl/tools/Windows_Version_XP/Drivers{*}*/Chipset*
+*/var/lib/vcl/tools/Windows_Version_XP/Drivers{*}*/Network*
+*/var/lib/vcl/tools/Windows_Version_XP/Drivers{*}*/Storage*
+*/var/lib/vcl/tools/Windows_Version_XP/Drivers{*}*/Video*
+1. h2. Install & Configure Provisioning Engines and Hypervisors
+VCL supports the following, please see the related websites for
+installation and configuration instructions:
+1. # xCAT - Extreme Cluster Administration Toolkit
+1. #* Versions Supported:
+1. #** 1.3
+1. #** 2.x
+1. #* See the xCAT website for installation & configuration information: [http://xcat.sourceforge.net](http://xcat.sourceforge.net)
+1. # VMware
+1. ## See the VMware website for installation & configuration information: [http://www.vmware.com](http://www.vmware.com)
+1. ## See the following pages for additional VCL VMware configuration
+information:
+1. ### [VCL 2.2.1 - Further steps if using only VMware](vcl-2.2.1---further-steps-if-using-vmware.html)
+1. ### [VCL:VMware Configuration](vcl:vmware-configuration.html)