VM Management Tools
The wide (and incompatible) variety of virtualization-enabled grids and cloud services call for a set of management tools to provide a single and consistent interface. These tools, part of the ExTENCI
project, aim to automate some of the more-tiresome aspects of using multiple clouds and VEGgies. Intended for a single user, the core of these tools is a common catalog of information about the services that user can access (including image storage services), the corresponding identification or authorization information, and the user's virtual machines.
These tools support the EC2 and S3 cloud protocols, as implemented by Amazon Web Services, Nimbus. OpenStack, and Eucalyptus. They're intended to simplify the staging of VM images to different cloud services, but also support basic control functionality, appropriate for testing those images once staged. The tool
automates the stage-instantiate-shutdown-destage cycle, pausing in the middle to allow you to test the new instance. Everything that it does can be duplicated by calling one of
, which manipulates the common catalog;
, which uploads images; or
, which uses Condor to start and stop instances of an image. This functionality can also be accessed through the tools' library API.
- The euca2ools must be in your PATH in order to run these tools.
- In order to use
extenci-control, the Condor tools
condor_rm must be in your PATH and configured to use a Condor with the EC2 Grid Universe, which implies version 7.7.0 or later; the tools will work the "personal" Condor you can install as an unprivileged user.
- The tools need certain files in the
~/.extenci directory; the download includes an example which you'll have to customize in order to use, and instructions on how to do so. Note that no security information is stored in the catalog itself; instead, everything is stored in files on disk. (This is conventional for your private and public keys, but not for your Amazon user ID, access key ID, or secret access key.)
- The tool is oblivious to image file format, except to recognize and preserve the '.gz' suffix for gzip-compressed files when staging them; this permits Nimbus to recognize and decompress such images.
$> extenci-test-vm vmImageFileName Amazon m1.large
This will stage (bundle, upload, and register) the virtual machine image
to Amazon, run it as an m1.large instance, tell you its IP, and then wait for you to confirm if it's working properly. It will terminate the instance when you answer, unstaging the image if you said it wasn't.
- 14 June 2012
Contact Todd L Miller (tellmiller) at gmail (.com) if you have questions about these tools.