This project will focus on Infrastructure as a Service tier through the IaaS Management Service (IMS). IMS is responsible for interfacing with virtualization providers (such as Oracle VM, libvirt/KVM, VirtualBox, etc) to handle the lifecycle management of virtual machines. These machines are then used by other layers of GlassFish 3.2, such as the Orchestrator, to provision Java EE services.
IMS itself has no knowledge of the software running in a virtual machine. That is left up to the template from which VM's are created from, and the higher level layers (such as the Orchestrator) to manage.
The IaaS API in GlassFish 3.2 needs to provide the following capabilities:
- Create and delete virtual machines in private and public clouds
- Start, stop, suspend and resume virtual machines
- Create and delete GlassFish server instances on the vm's above
- Start and stop server instances
GlassFish IaaS API needs to provide APIs that the layers above (CLI, Elasticity etc) can use to create a virtual instance in either the public cloud or in the private cloud using OVM / libvirt and provide ability to start, stop, suspend, resume and terminate these instances. The instances would be provisioned from templates that will be pre-populated with the necessary software like GlassFish and come with configuration such as the ip address of the DAS, the ssh keys of the DAS provisioned thus making it easy to be add to the cluster seamlessly. In addition the API will also need to provide an interface to run shell scripts that administrators can then use to create and launch instances in environment not directly supported via the API.
Virtualization Functional Requirements (internal link for now, will be moving external).
- Link to Test Plan
- Link to Documentation Plan
- To be filled in as demos come up each milestone or as appropriate.
- Please contact us at firstname.lastname@example.org