Vcycle: VM lifecycle management
Vcycle is a VM lifecycle manager that implements the vacuum model on IaaS Cloud services such as OpenStack. Vcycle is a subproject of Vac, which applied the vacuum model to a group of autonomous worker node class machines.
The Vacuum Model
The vacuum model is an alternative to conventional Grid job submission and to centrally managed use of Infrastructure-as-a-Service clouds. Following the 2014 Vac paper:
The Vacuum model can be defined as a scenario in which virtual machines are created and contextualized for experiments by the resource provider. The contextualization procedures are supplied in advance by the experiments and launch clients within the virtual machines to obtain work from the experiments' central queue of tasks.
For the experiments, VMs appear by "spontaneous production in the vacuum". Like virtual particles in the physical vacuum: they appear, potentially interact, and then disappear. There is no centrally-submitted pilot job, but instead the VM architecture includes some form of job agent fetching work from a central task queue as with pilot jobs.
For resource providers, this model gives them direct control over the shares allocated to each experiment. With an IaaS system such as OpenStack, the role of the Vcycle resource provider is occupied by the entity which controls the tenancy being used. This may be an entity at the site operating the resources, a local or regional entity which has been allocated the resources of the tenancy to manage, or the central operations team of the experiment itself. In all cases, the details of the experiment's pilot job framework and services are completely decoupled from the operation of the Vcycle instance, which merely has the role of managing a collection of "black box" VMs using their observed behaviour.
It is the role of the VM lifecycle manager to create the types of VMs specified by the experiments; to monitor their recent VM outcomes to discover which experiments have more or less work available; and to create new VMs in response to this and the resource provider's target shares.
Pilot VMsThe simplest way to use Vcycle is with the "Pilot VM" architecture, in which the agent deployed in grid pilot jobs is reused and run directly within the VM as a result of the contexualization procedure. Pilot VMs based on CernVM have been in production at Vcycle sites for LHCb, GridPP DIRAC, and ATLAS since the summer of 2014, for CMS from November 2014. Details of each experiment's VMs are available in the sidebar on the left. The same Pilot VMs can also be used at sites managed by Vac.
Vac RPMs are available in the downloads area either by direct download or by using each minor version's YUM repo.
The source can be viewed at vacproject on GitHub.com.
The support page has details of the firstname.lastname@example.org and email@example.com mailing lists, and the GitHub and GGUS issue trackers for Vac and Vcycle.