vcl-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject svn commit: r1430372 [8/11] - /vcl/site/trunk/content/confluence_export/
Date Tue, 08 Jan 2013 16:37:56 GMT
Added: vcl/site/trunk/content/confluence_export/storage-management.mdtext
--- 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
+** 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
--- 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 ( 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](
+<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;
+\[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:
+\#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\" 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
--- 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
--- 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

Added: vcl/site/trunk/content/confluence_export/updating-an-existing-image.mdtext
--- 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
+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
--- 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
+* 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 Descriptions of each item can also be found in
+1. * date_default_timezone_set('America/New_York');
+1. * $blockNotifyUsers = "";
+1. * define("DOCUMENTATIONURL", "");
+1. * define("USEFILTERINGSELECT", 1);
+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
+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
--- 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](
+ the value before saving it to the database.&nbsp; [YAML|]
+ is used to serialize the data.&nbsp; YAML is a human friendly data
+serialization standard for all programming languages
+([]).&nbsp; YAML modules are available for Perl, PHP, and
+many other languages:
+* Perl: [](
+* PHP: [](
+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 module:
+* get_variable($name)
+* set_variable($name, $value)
+<a name="VariableTable-DatabaseTableStructure"></a>
+## Database Table Structure
+The variable has the following columns:
+<tr><th> id </th><th> name </th><th> value </th><th> setby </th><th> timestamp </th></tr>
+unique | longtext | varchar(40) | timestamp |
+* id
+** contains a unique&nbsp;auto-incremented unsigned integer
+** The id column is consistent with most other columns in the VCL database
+* name
+** contains a string
+** values must be unique
+** 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
+** 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
+** variable.timestamp&nbsp;is automatically&nbsp;updated whenever a row is
+inserted or altered because the "ON UPDATE CURRENT_TIMESTAMP" column
+attribute is set
+<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`)
+<a name="VariableTable-Examples"></a>
+## Examples
+<a name="VariableTable-Example1:"></a>
+### Example 1:
+The following hash is created in Perl:
+    my %kms_configuration = (
+     "ECU" => "",
+     "NCSU" => "",
+    );
+    $self->data->set_variable("kms-configuration", \%kms_configuration);
+The keys correspond to the column in the database.&nbsp;
+The values represent the addresses (phony) of Windows Vista/2008 KMS
+activation servers.
+This hash is serialized by using the YAML
+module's Dump function which transforms the hash into:
+    ---
+    ECU:
+    NCSU:
+The following&nbsp;row is saved in the variable table by the subroutine:
+<tr><th> id </th><th> name </th><th> value </th><th> setby </th><th> timestamp </th></tr>
+NCSU: | | 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" => ["", ""]
+      "employee_id" => 3342
+     },
+     {
+      "firstname" => "Jane",
+      "lastname" => "Doe",
+      "email" => [""]
+      "employee_id" => 7865
+     }
+    );  
+    $self->data->set_variable("contacts", \@contacts);
+ uses YAML::Dump to transform this data
+structure into:
+    ---
+    - email:
+        -
+        -
+      employee_id: 3342
+      firstname: Joe
+      lastname: Doe
+    - email:
+        -
+      employee_id: 7865
+      firstname: Jane
+      lastname: Doe
+The following row is then added to the variable table:
+<tr><th> id </th><th> name </th><th> value </th><th> setby </th><th> timestamp </th></tr>
+&nbsp; lastname: Doe | | 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
--- 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. - 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
+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
--- 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

Added: vcl/site/trunk/content/confluence_export/vcl-2.1.mdtext
--- 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](
+[GPG Signature](
+[MD5 Sum](
+[SHA1 Sum](
+[VCL KEYS file](
+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](
+ 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
+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
+<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:
+To join vcl-user, send an empty message to
+. To join vcl-dev, send an empty
+message to [](|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 [](
+ 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 [](
+ (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](
+\] -	     Allow OS, provisioning engine, and other module objects to
+access each other
+<a name="VCL2.1-Bug"></a>
+#### Bug
+* \[[VCL-14](
+\] -'s capture_monitor output always displays "attempt
+* \[[VCL-26](
+\] -	     get_reservation_remote_ip subroutine redefined warning
+* \[[VCL-34](
+\] -	     When adding computers, missing requirement for the
+provisioning module
+* \[[VCL-51](
+\] -	     user groups that have a name that is a number cause problems
+on the privilege page
+* \[[VCL-54](
+\] -	     disable LDAP referrals for all LDAP connections to handle
+* \[[VCL-55](
+\] -	     processBulkComputerInput in computers.php not always setting
+startpripaddress, endpripaddress, startmac
+* \[[VCL-61](
+\] -	     blockrequest and the reload state
+* \[[VCL-62](
+\] -	     Calls to \_rpower in cause reservation processes to
+* \[[VCL-64](
+\] -	     EmptyRecycleBin.exe utility causes problems during image
+* \[[VCL-69](
+\] -	     Unknown column 'af.shibonly' in 'field list'
+* \[[VCL-71](
+\] -	     Reservation processes being killed unexpectedly
+* \[[VCL-73](
+\] - hangs occasionally
+* \[[VCL-74](
+\] -	     Reservation may fail if user's UID value is null
+* \[[VCL-75](
+\] -	     Bug in Perl 5.8.0 causes exit status to be reported
+* \[[VCL-76](
+\] -	     form tags outside of td tags on Edit Image Profiles page
+* \[[VCL-79](
+\] -	     error in how the end time for schedule times is computed
+* \[[VCL-81](
+\] -	     Image retrieval does not verify if it was successful
+* \[[VCL-85](
+\] -	     watchInFlight error appears if image description contains
+special characters
+* \[[VCL-88](
+\] -	     vclreload account assumed to match the default affiliation
+* \[[VCL-90](
+\] -	     Image reservation for sub-image with "nousercheckout" flag set
+* \[[VCL-91](
+\] -	     edit reservation allows saving/updaing image for cluster
+* \[[VCL-96](
+\] -	     < and > in user's passwords not handled properly
+* \[[VCL-101](
+\] -	     forimaging flag causes wrong user when imaging linux in
+* \[[VCL-103](
+\] -	     vclreload account has invalid curiculumid
+* \[[VCL-108](
+\] -	     apostrophe in image name causes AJAX updates to privilege page
+to break
+* \[[VCL-109](
+\] -	     viewing requests from timetable not using continuations
+* \[[VCL-111](
+\] -	     missing default values for vmtype table
+* \[[VCL-119](
+\] -	     Reservations insert log.ending = EOR when they shouldn't
+* \[[VCL-126](
+\] -	     get_new_dbh() doesn't return correct value if different
+database is specified
+* \[[VCL-129](
+\] -	     LockerWrtUser doesn't work with usernames containing
+* \[[VCL-131](
+\] -	     utils getdynamicaddress routine - bad regex
+* \[[VCL-136](
+\] -	     missing perlpackage for id 6 in module table
+* \[[VCL-143](
+\] -	     need to drop allowing new reservations to take priority over
+reload reservations
+* \[[VCL-151](
+\] -	     apostrophe in last name can cause an error when adding user to
+* \[[VCL-166](
+\] -	     Windows firewall subs not catching "Object already exists" in
+netsh.exe output
+* \[[VCL-167](
+\] -	     run_ssh_command not catching host key differs warning messages
+* \[[VCL-172](
+\] - - xcat database is locked at dbdimp.c error
+* \[[VCL-186](
+\] -	     Windows images losing default gateway
+* \[[VCL-187](
+\] - - not  completed
+* \[[VCL-191](
+\] -	     path changes in vshpere SDK vmware perl toolkit
+* \[[VCL-207](
+\] -	     Predictive reload modules not accounting for machines in block
+computers table
+* \[[VCL-213](
+\] -	     Bug in retrieve_image sub in and calls next
+instead of return
+* \[[VCL-218](
+\] - may delete image being captured by cleanup process
+* \[[VCL-226](
+\] -	     Windows reboot fails - processing another action error
+* \[[VCL-238](
+\] -  pre-capture routine not shuting down OS
+* \[[VCL-240](
+\] - - insert_reload_request
+* \[[VCL-246](
+\] -	     READY flag check for VMware and xCAT is being thrown off by
+other processes running on machines
+* \[[VCL-247](
+\] -	     computer with shortname  only in database not being reloaded
+after being used
+* \[[VCL-263](
+\] - - add default vcl user group
+<a name="VCL2.1-Improvement"></a>
+#### Improvement
+* \[[VCL-3](
+\] -	     clean up database
+* \[[VCL-6](
+\] -	     update to use modularized code
+* \[[VCL-15](
+\] -	     modify blockrequest module to use frontend API for scheduling
+* \[[VCL-20](
+\] -	     Configuration of sshd port for image retrieval
+* \[[VCL-23](
+\] -	     Modularize Windows OS code
+* \[[VCL-63](
+\] -	     Remove critical notification if image is configured with a
+user group containing 0 members
+* \[[VCL-65](
+\] -	     Remove pagefile from all drives during image capture
+* \[[VCL-72](
+\] -	     die and warning signals are not handled by the backend code
+* \[[VCL-84](
+\] -	     Prevent users from starting create image until computer is in
+inuse state
+* \[[VCL-105](
+\] -	     an image cannot have itself as a subimage
+* \[[VCL-106](
+\] -	     mail notifications notify routine
+* \[[VCL-107](
+\] -	     User email notifications
+* \[[VCL-110](
+\] -	     2 second deley in vcld may cause problems with imaging
+* \[[VCL-112](
+\] -	     Provide access to image affiliation data via
+* \[[VCL-115](
+\] -	     allow user groups with the same name but different
+* \[[VCL-118](
+\] -	     Add delay to run_ssh_command() & run_scp_command() retry
+* \[[VCL-120](
+\] -	     Add subroutine to set IE's runonce registry keys so user isn't
+presented with it
+* \[[VCL-124](
+\] -	     locally affiliated users need a way to change their password
+* \[[VCL-128](
+\] -	     Update
+* \[[VCL-132](
+\] -	     vcld check_time
+* \[[VCL-156](
+\] -	     insert current_image.txt file on kickstart based nodes
+* \[[VCL-157](
+\] -	     Add support for xCAT 2.1 partimage format
+* \[[VCL-173](
+\] -	     add power_off,power_on,power_reset,power_status routines to
+xCAT21 module
+* \[[VCL-175](
+\] -	     Set virtual switch 0 from database value for VMware GSX
+* \[[VCL-176](
+\] -	     Prevent from looping 15 times before checking ssh
+during load
+* \[[VCL-177](
+\] -	     Remove Windows OS post-load configuration tasks from
+* \[[VCL-183](
+\] - contains duplicate subroutines:
+get_computer_private_ip and get_computer_private_ip_address
+* \[[VCL-184](
+\] -	     Update database schema for 2.1 release
+* \[[VCL-185](
+\] -	     Modularize Linux OS Code
+* \[[VCL-188](
+\] -	     Document Windows tools dependencies
+* \[[VCL-190](
+\] -	     Add time configuration and synchronization commands to Windows
+* \[[VCL-205](
+\] -	     allow esx provisioing module to set MAC addresses
+* \[[VCL-212](
+\] -	     Add code to set SysprepStatus registry keys for Windows 6
+* \[[VCL-217](
+\] -	     xcat modules - Throttle control
+* \[[VCL-228](
+\] -	     Windows image capture fails to delete user profiles because
+file is open
+<a name="VCL2.1-NewFeature"></a>
+#### New Feature
+* \[[VCL-1](
+\] -	     xCAT 2.0 module
+* \[[VCL-4](
+\] -	     add support for Shibboleth authentication
+* \[[VCL-7](
+\] -	     modify to monitor vms
+* \[[VCL-18](
+\] -	     allow dynamic change of predictive loading module
+* \[[VCL-19](
+\] -	     add configuration of v2 fields for management nodes
+* \[[VCL-21](
+\] -	     add check for existance of image libraries
+* \[[VCL-29](
+\] -	     author an ESX and ESX 3i provisioning module (using netboot)
+* \[[VCL-33](
+\] -	     add user group management to XML RPC API
+* \[[VCL-78](
+\] -	     API for backend to allocate computers for block reservations
+via the frontend
+* \[[VCL-123](
+\] -	     add Ubuntu Support using the new OS Module framework
+* \[[VCL-209](
+\] -	     create a page that will test for required php modules and
+correct configuration
+<a name="VCL2.1-Task"></a>
+#### Task
+* \[[VCL-70](
+\] -	     Create a basic provisioning module
+* \[[VCL-95](
+\] -	     Set Subversion properties for files in repository
+* \[[VCL-135](
+\] -	     remove all references to ncsu
+* \[[VCL-198](
+\] -	     Release tasks
+* \[[VCL-264](
+\] -	     VCL 2.1 RC2 todo items

Added: vcl/site/trunk/content/confluence_export/vcl-2.2-installation.mdtext
--- 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
--- 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:
+service httpd restart
+* You can verify that the certificate is properly installed using this
+openssl s_client \-showcerts \-CAfile /etc/pki/tls/certs/ca-bundle.crt
+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.
+mysql vcl
+INSERT INTO affiliation (name) VALUES ('EXAMPLE');
+SELECT id FROM affiliation WHERE name = 'EXAMPLE';
+* 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, 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:
+*** 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
+** *help* \- this is some text that will show up on the page where users
+select the authentication method explaining why they would select this
+* 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
+* 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
+* Save the file

Added: vcl/site/trunk/content/confluence_export/vcl-2.2.1---further-steps-if-using-vmware.mdtext
--- 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
+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. * *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 for
+start and for end)
+1. * *State* \- vmhostinuse
+{note}Double-check this because you will not be able to change it
+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. * *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 for
+start and 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}
+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
+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
--- 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
+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. * 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 for
+start and 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
--- 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:
+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}
+TABLES privileges on the database you just created:
+'*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 &
+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
--- 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)
+{include:VCL 2.2.1 Database Installation}
+{include:VCL 2.2.1 Web Code Installation}
+{include:VCL 2.2.1 Management Node Installation}

Added: vcl/site/trunk/content/confluence_export/vcl-2.2.1-management-node-installation.mdtext
--- 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
+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
+* *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
+* *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
+* *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 ](
+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 script:*
+{tip}perl /usr/local/vcl/bin/{tip}
+The last line of the 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
+    \\
+    \\
+    _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
+'' script.
+    (i.e. cpan -i XML::LibXML )
+    \\
+    \\
+    The 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|]
+. The script attempts to download and install the
+required Perl modules by using the 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 script
+    # 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:
+cp /usr/local/vcl/bin/S99vcld.linux /etc/init.d/vcld
+1. # Add the vcld service using chkconfig:
+/sbin/chkconfig \--add vcld
+1. # Configure the vcld service to automatically run at runtime levels 3-5:
+/sbin/chkconfig \--level 345 vcld on
+1. # Start the vcld service:
+/sbin/service vcld start
+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/
+    daemon mode:   1
+    setup mode:    0
+    verbose mode:  1
+    ============================================================================
+    Created VCL daemon process: 8465
+                                                               [  OK  ]
+    {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
+    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:
+yum install dhcp \-y
+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:
+vi /etc/sysconfig/dhcpd
+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:
+/sbin/chkconfig \--level 345 dhcpd on
+1. # Configure the dhcpd.conf file.
+vi /etc/dhcpd.conf
+{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
+    ddns-update-style none;
+    	 shared-network eth0 {
+    	subnet netmask {
+    		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](
+1. ## Extract the Windows XP Sysprep Files
+1. ## Copy the extracted Windows XP Sysprep files to the following directory
+the management node:
+1. # Windows Server 2003
+1. ## Download Sysprep for Windows Server 2003: [System Preparation tool for Windows Server 2003 Service Pack 2 Deployment](
+1. ## Extract the Windows Server 2003 Sysprep Files
+1. ## Copy the extracted Windows Server 2003 Sysprep files to the following
+directory the management node:
+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.
+If a chipset driver works for all versions of Windows it should be saved
+If Windows XP and Windows Server 2003 both use the same network driver it
+can be saved in:
+If a storage driver only works for Windows XP it should be saved in:
+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:
+The following list shows which driver files should be saved in the driver
+*/var/lib/vcl/tools/Windows/Drivers* \- drivers common to all versions of
+*/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:
+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: [](
+1. # VMware
+1. ## See the VMware website for installation & configuration information: [](
+1. ## See the following pages for additional VCL VMware configuration
+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)

View raw message