Title: Apache VCL # Apache VCL The Apache VCL project. VCL, Virtual Computing Lab. The VCL can be many things, first and foremost it is a 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. # User Documentation * [Overview for VCL Users](for-vcl-users.html) (those doing daily management of a VCL installation) ** [Making a Reservation](making-a-reservation.html) ** [Creating a New Image from a Base Image](creating-a-new-image-from-a-base-image.html) ** [Granting Access to a New Image](granting-access-to-a-new-image.html) ** [Example - Granting Two Sets of Users Access to Two Different Sets of Images](example---granting-two-sets-of-users-access-to-two-different-sets-of-images.html) ** [managegroups.py - Remotely managing user groups](managegroups.py---remotely-managing-user-groups.html) ** The VCL [XMLRPC API](http://people.apache.org/~jfthomps/vcl_xmlrpc_api.html) * Documentation for VCL Administrators (those doing a VCL installation) ** [VCL Architecture](https://cwiki.apache.org/confluence/display/VCL/VCL+Architecture) ** [Administrator's FAQ](administrator's-faq.html) ** [VCL Installation (Current Release)](vcl-2.3-installation.html) *** [VCL 2.3 Database Installation](vcl-2.3-database-installation.html) *** [VCL 2.3 Web Code Installation](vcl-2.3-web-code-installation.html) *** [VCL 2.3 Management Node Installation](vcl-2.3-management-node-installation.html) *** [Adding support for partimage and partimage-ng to xCAT 2.x (unofficial)](adding-support-for-partimage-and-partimage-ng-to-xcat-2.x-(unofficial).html) *** [Creating a Base Image](base-image-creation.html) *** [Troubleshooting](troubleshooting.html) *** [Terms](terms.html) # Community Interested in joining the community or giving back to open source? There are several ways to assist: * Join the mailing lists below and discuss ideas. * Contribute bug-fixes or get involved in development. ** [How to Become a committer](vcl:becoming-a-committer.html) * Help with the documentation, both end-user and installation. * Help improve the website. Mailing lists * User mailing list  [mailto:user-subscribe@vcl.apache.org](mailto:user-subscribe@vcl.apache.org.html) * Development List [dev-subscribe@vcl.apache.org](mailto:dev-subscribe@vcl.apache.org.html) Archives * Search: [http://markmail.org/set/jlmr2rdvup4w2](http://markmail.org/set/jlmr2rdvup4w2) * User (old): [http://mail-archives.apache.org/mod_mbox/incubator-vcl-user](http://mail-archives.apache.org/mod_mbox/incubator-vcl-user) * User (current): [http://mail-archives.apache.org/mod_mbox/vcl-user](http://mail-archives.apache.org/mod_mbox/vcl-user) * Development (old): [http://mail-archives.apache.org/mod_mbox/incubator-vcl-dev](http://mail-archives.apache.org/mod_mbox/incubator-vcl-dev) * Development (current): [http://mail-archives.apache.org/mod_mbox/vcl-dev](http://mail-archives.apache.org/mod_mbox/vcl-dev) # Project Resources
Confluence [http://cwiki.apache.org/confluence/display/VCL](http://cwiki.apache.org/confluence/display/VCL)
Subversion Repository [https://svn.apache.org/repos/asf/vcl](https://svn.apache.org/repos/asf/vcl)
JIRA [http://issues.apache.org/jira/browse/VCL](http://issues.apache.org/jira/browse/VCL)
Current version [VCL 2.2.1](vcl-2.2.1.html)
Release Roadmap [ASF VCL JIRA Roadmap](https://issues.apache.org/jira/browse/VCL?report=com.atlassian.jira.plugin.system.project:roadmap-panel)
IRC [\#asfvcl on Freenode](irc://irc.freenode.net/asfvcl.html)
# Conceptual Overview The conceptual overview below shows that remote users connect to the VCL Scheduling Application (the web VCL portal) and request access to a desired application environment. The application environment consists of an operating system and a suite of applications. The computer types are machine room blade servers, vmware virtual machines, and standalone machines.
!VCLconceptoverview.gifalign=left!
# VCL Feature List * Automated provisioning, on-demand or future based * Brokers user sessions * Block allocations - provisioning larger number of compute environments for a specific event ** For the class room ** For a conference workshop * Physical ([bare-metal](#baremetal.html) ) provisioning using xCAT * Virtual machine provisioning on VMware ESXi, VMware ESX Standard server, VMware Free Server * Image creation - allow end-users to create custom environments * Image revision control - create multiple revisions of an image * Statistics of environment usage * Privilege control - grant varying levels of control to end-users through web interface ** Image checkout, image creation, manage users, manage [resources](#resource.html) , manage resource schedules * Set available/unavailable schedules for [nodes](#node.html) * Multiple [Management Nodes](#managementnode.html) for scalability * API support for making requests and provisioning resources {panel} *Terminology*:{anchor:baremetal}Bare-metal = a physical server (such as a blade server) as opposed to a virtual machine{anchor:node}Node = a computer{anchor:resource}Resource = a compute node, an image, a management node, or a schedule{anchor:managementnode}Management Node = a process server or the machine where vcld is running; processes user requests assigned by the scheduler; does the provisioning {panel} # System Requirements See the [VCL Installation](http://cwiki.apache.org/confluence/display/VCL/VCL+Installation) documentation for more information #### Web Frontend * [Apache HTTP Server](http://httpd.apache.org/) 1.3 or 2.x with SSL enabled ([Apache License|http://www.apache.org/licenses/LICENSE-2.0]) * [PHP](http://www.php.net/)  5.0 or later ([PHP License|http://www.php.net/license/3_01.txt]) * PHP modules ([PHP License](http://www.php.net/license/3_01.txt) ): ** php-gd ** php-json ** php-mcrypt ** php-mysql ** php-openssl ** php-sysvsem ** php-xml ** php-xmlrpc * [libmcrypt and mcrypt](http://sourceforge.net/projects/mcrypt/) libraries installed for php-mcrypt ([GPL|http://www.opensource.org/licenses/gpl-license.php]) * [Dojo Toolkit](http://dojotoolkit.org/) 0.4.0 and 1.1.0 ([modified BSD license or the Academic Free License version 2.1|http://dojotoolkit.org/license]) #### Database * [MySQL](http://dev.mysql.com) 5.0 or later ([GPL|http://www.opensource.org/licenses/gpl-license.php]) #### Management Node Backend * Operating system - tested on CentOS 5 ([GPL](http://www.opensource.org/licenses/gpl-license.php) ), RedHat Advanced Server 4 and 5 ([Red Hat|http://www.redhat.com/licenses/advancedservereula.html]), and RedHat Fedora Core 7 and 9 ([GPL|http://www.opensource.org/licenses/gpl-license.php]) * perl-DBD-MySQL ([Artistic](http://dev.perl.org/licenses/artistic.html) and [GPL|http://www.opensource.org/licenses/gpl-license.php] ) * MySQL 5 client ([GPL](http://www.opensource.org/licenses/gpl-license.php) ) * [Nmap](http://nmap.org/) security scanner ([Nmap|http://nmap.org/svn/COPYING] and [GPL|http://www.opensource.org/licenses/gpl-license.php] ) * [OpenSSH](http://www.openssh.org/index.html) client (BSD) * Perl 5.8.x ([Artistic](http://dev.perl.org/licenses/artistic.html) and [GPL|http://www.opensource.org/licenses/gpl-license.php] ) * Perl modules available from CPAN ** [Class-Data-Inheritable](http://search.cpan.org/dist/Class-Data-Inheritable/) ([Artistic|http://dev.perl.org/licenses/artistic.html] and [GPL|http://www.opensource.org/licenses/gpl-license.php] ) ** [Compress-Raw-Zlib](http://search.cpan.org/dist/Compress-Raw-Zlib/) ([Artistic|http://dev.perl.org/licenses/artistic.html] and [GPL|http://www.opensource.org/licenses/gpl-license.php] ) ** [Crypt-SSLeay](http://search.cpan.org/dist/Crypt-SSLeay/) ([Artistic|http://dev.perl.org/licenses/artistic.html] and [GPL|http://www.opensource.org/licenses/gpl-license.php] ) ** [DBI](http://search.cpan.org/dist/DBI/) ([Artistic|http://dev.perl.org/licenses/artistic.html] and [GPL|http://www.opensource.org/licenses/gpl-license.php] ) ** [Devel-StackTrace](http://search.cpan.org/dist/Devel-StackTrace/) ([Artistic|http://dev.perl.org/licenses/artistic.html] and [GPL|http://www.opensource.org/licenses/gpl-license.php] ) ** [Exception-Class](http://search.cpan.org/dist/Exception-Class/) ([Artistic|http://dev.perl.org/licenses/artistic.html] and [GPL|http://www.opensource.org/licenses/gpl-license.php] ) ** [HTML-Parser](http://search.cpan.org/dist/HTML-Parser/) ([Artistic|http://dev.perl.org/licenses/artistic.html] and [GPL|http://www.opensource.org/licenses/gpl-license.php] ) ** [IO-Compress](http://search.cpan.org/dist/IO-Compress/) ([Artistic|http://dev.perl.org/licenses/artistic.html] and [GPL|http://www.opensource.org/licenses/gpl-license.php] ) ** [libwww-perl](http://search.cpan.org/dist/libwww-perl/) ([Artistic|http://dev.perl.org/licenses/artistic.html] and [GPL|http://www.opensource.org/licenses/gpl-license.php] ) ** [MailTools](http://search.cpan.org/dist/MailTools/) ([Artistic|http://dev.perl.org/licenses/artistic.html] and [GPL|http://www.opensource.org/licenses/gpl-license.php] ) ** [Object-InsideOut](http://search.cpan.org/dist/Object-InsideOut/) ([Artistic|http://dev.perl.org/licenses/artistic.html] and [GPL|http://www.opensource.org/licenses/gpl-license.php] ) ** [RPC-XML](http://search.cpan.org/dist/RPC-XML/) ([Artistic|http://dev.perl.org/licenses/artistic.html] and [LGPL|http://www.opensource.org/licenses/lgpl-2.1.php] ) ** [XML-Parser](http://search.cpan.org/dist/XML-Parser/) ([Artistic|http://dev.perl.org/licenses/artistic.html] and [GPL|http://www.opensource.org/licenses/gpl-license.php] ) ** [YAML](http://search.cpan.org/dist/YAML/) ([Artistic|http://dev.perl.org/licenses/artistic.html] and [GPL|http://www.opensource.org/licenses/gpl-license.php] )