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.
- Overview for VCL Users (those doing daily management of a VCL installation)
- Documentation for VCL Administrators (those doing a VCL installation)
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.
- Help with the documentation, both end-user and installation.
- Help improve the website.
- 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
Documentation (work in progress: Diagrams, Install guide)
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.
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
See the VCL Installation documentation for more information
- Apache HTTP Server 1.3 or 2.x with SSL enabled (Apache License)
- PHP 5.0 or later (PHP License)
- PHP modules (PHP License):
- Dojo Toolkit and 1.6.2 (modified BSD license or the Academic Free License version 2.1)
Management Node Backend
- Operating system - tested on CentOS 5 (GPL), RedHat Advanced Server 4 and 5 (Red Hat), and RedHat Fedora Core 7 and 9 (GPL)
- perl-DBD-MySQL (Artistic and GPL)
- MySQL 5 client (GPL)
- Nmap security scanner (Nmap and GPL)
- OpenSSH client (BSD)
- Perl 5.8.x (Artistic and GPL)
- Perl modules available from CPAN
- Class-Data-Inheritable (Artistic and GPL)
- Compress-Raw-Zlib(Artistic and GPL)
- Crypt-SSLeay (Artistic and GPL)
- DBI (Artistic and GPL)
- Devel-StackTrace (Artistic and GPL)
- Exception-Class (Artistic and GPL)
- HTML-Parser (Artistic and GPL)
- IO-Compress (Artistic and GPL)
- libwww-perl (Artistic and GPL)
- MailTools (Artistic and GPL)
- Object-InsideOut (Artistic and GPL)
- RPC-XML (Artistic and LGPL)
- XML-Parser (Artistic and GPL)
- YAML (Artistic and GPL)