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 (those doing daily management of a VCL installation) Making a Reservation Creating a New Image from a Base Image Granting Access to a New Image Example - Granting Two Sets of Users Access to Two Different Sets of Images managegroups.py - Remotely managing user groups The VCL XMLRPC API
- Documentation for VCL Administrators (those doing a VCL installation) VCL Architecture Administrator's FAQ VCL Installation (Current Release) VCL 2.3 Database Installation VCL 2.3 Web Code Installation VCL 2.3 Management Node Installation Adding support for partimage and partimage-ng to xCAT 2.x (unofficial) Creating a Base Image Troubleshooting * Terms
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 Help with the documentation, both end-user and installation. Help improve the website.
Mailing lists User mailing list mailto:user-subscribe@vcl.apache.org Development List dev-subscribe@vcl.apache.org
Archives Search: http://markmail.org/set/jlmr2rdvup4w2 User (old): http://mail-archives.apache.org/mod_mbox/incubator-vcl-user User (current): http://mail-archives.apache.org/mod_mbox/vcl-user Development (old): http://mail-archives.apache.org/mod_mbox/incubator-vcl-dev * Development (current): 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.gif | align=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 ) 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 , manage resource schedules
- Set available/unavailable schedules for nodes
- Multiple Management Nodes 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
System Requirements¶
See the VCL Installation documentation for more information
Web Frontend¶
- Apache HTTP Server 1.3 or 2.x with SSL enabled ([Apache License|http://www.apache.org/licenses/LICENSE-2.0])
- PHP 5.0 or later ([PHP License|http://www.php.net/license/3_01.txt])
- PHP modules (PHP License ): php-gd php-json php-mcrypt php-mysql php-openssl php-sysvsem php-xml php-xmlrpc
- libmcrypt and mcrypt libraries installed for php-mcrypt ([GPL|http://www.opensource.org/licenses/gpl-license.php])
- Dojo Toolkit 0.4.0 and 1.1.0 ([modified BSD license or the Academic Free License version 2.1|http://dojotoolkit.org/license])
Database¶
- MySQL 5.0 or later ([GPL|http://www.opensource.org/licenses/gpl-license.php])
Management Node Backend¶
- Operating system - tested on CentOS 5 (GPL ), 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 and [GPL|http://www.opensource.org/licenses/gpl-license.php] )
- MySQL 5 client (GPL )
- Nmap security scanner ([Nmap|http://nmap.org/svn/COPYING] and [GPL|http://www.opensource.org/licenses/gpl-license.php] )
- OpenSSH client (BSD)
- Perl 5.8.x (Artistic and [GPL|http://www.opensource.org/licenses/gpl-license.php] )
- Perl modules available from CPAN Class-Data-Inheritable ([Artistic|http://dev.perl.org/licenses/artistic.html] and [GPL|http://www.opensource.org/licenses/gpl-license.php] ) Compress-Raw-Zlib ([Artistic|http://dev.perl.org/licenses/artistic.html] and [GPL|http://www.opensource.org/licenses/gpl-license.php] ) Crypt-SSLeay ([Artistic|http://dev.perl.org/licenses/artistic.html] and [GPL|http://www.opensource.org/licenses/gpl-license.php] ) DBI ([Artistic|http://dev.perl.org/licenses/artistic.html] and [GPL|http://www.opensource.org/licenses/gpl-license.php] ) Devel-StackTrace ([Artistic|http://dev.perl.org/licenses/artistic.html] and [GPL|http://www.opensource.org/licenses/gpl-license.php] ) Exception-Class ([Artistic|http://dev.perl.org/licenses/artistic.html] and [GPL|http://www.opensource.org/licenses/gpl-license.php] ) HTML-Parser ([Artistic|http://dev.perl.org/licenses/artistic.html] and [GPL|http://www.opensource.org/licenses/gpl-license.php] ) IO-Compress ([Artistic|http://dev.perl.org/licenses/artistic.html] and [GPL|http://www.opensource.org/licenses/gpl-license.php] ) libwww-perl ([Artistic|http://dev.perl.org/licenses/artistic.html] and [GPL|http://www.opensource.org/licenses/gpl-license.php] ) MailTools ([Artistic|http://dev.perl.org/licenses/artistic.html] and [GPL|http://www.opensource.org/licenses/gpl-license.php] ) Object-InsideOut ([Artistic|http://dev.perl.org/licenses/artistic.html] and [GPL|http://www.opensource.org/licenses/gpl-license.php] ) RPC-XML ([Artistic|http://dev.perl.org/licenses/artistic.html] and [LGPL|http://www.opensource.org/licenses/lgpl-2.1.php] ) XML-Parser ([Artistic|http://dev.perl.org/licenses/artistic.html] and [GPL|http://www.opensource.org/licenses/gpl-license.php] ) YAML ([Artistic|http://dev.perl.org/licenses/artistic.html] and [GPL|http://www.opensource.org/licenses/gpl-license.php] )