Apache VCL
The Apache VCL incubator 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.
...
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)
...
- 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.
Mailing lists
Archives
...
Project Resources
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.
...
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: Bare-metal = a physical server (such as a blade server) as opposed to a virtual machineNode = a computerResource = a compute node, an image, a management node, or a schedule Anchor |
---|
| managementnode |
---|
| 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
Database
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