OpenNebula 4.4: Enhanced Amazon EC2 API Implementation

This is the fourth entry in a blog post series explaining how to make the most out of your OpenNebula 4.4 cloud. In previous posts we explained the new multiple datastore system with storage load balancing, the enhanced cloud bursting to Amazon features and the multiple groups functionality.

In OpenNebula 4.4 we have enhanced the Amazon EC2 API implementation exposed by the econe-server. Note that this functionality is different from the cloud bursting scenario explained in the post released days ago. The econe-server is a component on top of the OpenNebula core that translates Amazon EC2 API calls into OpenNebula actions, therefore a user will be able to interact with an OpenNebula cloud using any of the available EC2 clients or tools.

We have improved the econe-server in several ways. Now instance types are based on OpenNebula templates instead of files. You can create different base templates from Sunstone or the CLI and then make them available as instance types for users interacting with OpenNebula through the EC2 interface. These templates will be merged with the information provided by the user (i.e: AMI, user data, keypairs…) when a new instance is created. This allows us to use restricted attributes inside the templates or set permissions like any other OpenNebula resource. For more information on how to create these base templates see this guide.

$ cat /tmp/m1.small
NAME = "m1.small"
EC2_INSTANCE_TYPE = "m1.small"
CPU = 1
MEMORY = 1700
... 
$ ontemplate create /tmp/m1.small
$ ontemplate chgrp m1.small users
$ ontemplate chmod m1.small 640

The describe functions have also been improved , for example you can query any of the resource pools providing a list of IDs, and now the describe-instances response includes instances that have been terminated recently. Thanks to Mark Gergely from MTA SZTAKI LPDS for this contribution!

The EBS support has been extended adding support for snapshotting. Now volumes can be created from a given snapshot, and snapshots can be created from running instances with an attached volume. We have also included support for resource tagging. Currently tags are supported for instances, amis, volumes and snapshots.

If you want to test any of these new features you can download the OpenNebula 4.4 beta2. The econe client is not maintained anymore, but  you can use any of the available client tools or libraries such as euca2ools, ElasticFox to interact with the econe-server.

Your feedback is more than welcome.

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *