Python OCA bindings

I am happy to announce first release of the Python OCA bindings. These bindings wrap OpenNebula’s XML-RPC methods in the Python objects, which allows developers to interact with OpenNebula in a more pythonic way.

The package is available on pypi so if you want to try it just run:

$ easy_install oca

Or download the code from github and install it by running:

$ python setup.py install

Here is an example that shows how you can add new host using Python bindings:

[python]
#!/usr/bin/env python

client = oca.Client(‘user:password’, ‘http:12.12.12.12:2633/RPC2’)
new_host_id = oca.Host.allocate(client, ‘host_name’, ‘im_xen’, ‘vmm_xen’, ‘tm_nfs’)
hostpool = oca.HostPool(client)
hostpool.info()
for i in hostpool:
if i.id == new_host_id:
host = i
break
print host.name, host.str_state
[/python]

For more details how to use Python OCA read the documentation

Try it and share your thoughts, any feedback is welcome.

Using qcow Images with OpenNebula

C12G has created a new howto to explain the way to use OpenNebula with qcow images. Using them has the benefit of occupying less space, faster cloning time and solving problems related with sparse images. It is also a nice example on how OpenNebula behavior can be changed to suit the system administrator or infrastructure needs, in these case the storage model. There are still unexplored qcow feature besides the ones described in the text but it serves as the basis to implement them.

White Paper about OpenNebula APIs

OpenNebula has been designed to be easily adapted to any infrastructure and easily extended with new components.  The result is a modular system that can implement a variety of Cloud architectures and can interface with multiple datacenter services. In the new white paper OpenNebula APIs, C12G reviews the main interfaces of OpenNebula, their use and gives pointers to additional documentation for each one. Interfaces are classified in two categories: end-user cloud and system interfaces. Cloud interfaces are primary used to develop tools targeted to the end-user, and they provide a high level abstraction of the functionality provided by the Cloud. On the other hand, the system interfaces expose the full functionality of OpenNebula and are mainly used to adapt and tune the behavior of OpenNebula to the target infrastructure.

OpenNebula package in Debian

Here at OpenNebula we’re really happy with the efforts of our community contributor Damien Raude-Morvan, who is responsible for the new ‘opennebula’ package in the Debian Sid release. This package features the recent OpenNebula 2.0.1 plus some cool features contributed by Damien:

  • OpenNebula Java API package.
  • A modified oned.conf to work out of the box with Debian.
  • A tuned up onehost command which displays useful information for new OpenNebula users.
  • A README file with an example session with OpenNebula, very useful for new users.
  • Tested following the Debian policy. Thanks to Łukasz Oleś for testing it under Xen!

We have a strong commitment with this initiative and we plan to offer our support to keep this package up to date, especially with the upcoming OpenNebula releases.

You can follow this packaging effort at the Alioth OpenNebula Project’s page, you can also clone the git repo or subscribe to the mailing list.

So go ahead and try OpenNebula on Debian Sid! It’s now as easy as running:

apt-get install opennebula

New OCA rubygem Available

An OpenNebula user, John Dewey, has just contributed a new oca rubygem that allows developers to make calls to OpenNebula’s Cloud API (OCA) from their Ruby projects without having to install OpenNebula. The Ruby OCA API has been designed as a wrapper for the XML-RPC methods to interact with the OpenNebula Core, with some basic helpers. This gem was built against OpenNebula 2.0 and will be updated in each release.

If you want to use it in your Ruby projects, you can install it by running the following:

$ sudo gem install oca

Here is a short example that shows how you can use this new oca gem from Ruby. More specifically, this program queries all the running VMs and shuts them down.

[ruby]
#!/usr/bin/env ruby

###################################################################
# Required libraries
###################################################################
require ‘rubygems’
require ‘oca’

include OpenNebula

# OpenNebula credentials
CREDENTIALS = "oneuser:onepass"
# XML_RPC endpoint where OpenNebula is listening
ENDPOINT = "http://localhost:2633/RPC2"

client = Client.new(CREDENTIALS, ENDPOINT)

vm_pool = VirtualMachinePool.new(client, -1)

rc = vm_pool.info
if OpenNebula.is_error?(rc)
puts rc.message
exit -1
end

vm_pool.each do |vm|
rc = vm.shutdown
if OpenNebula.is_error?(rc)
puts "Virtual Machine #{vm.id}: #{rc.message}"
else
puts "Virtual Machine #{vm.id}: Shutting down"
end
end

exit 0
[/ruby]

We would like to thank John Dewey for this very useful contribution!

OpenNebula Included in First StratusLab Release

The StratusLab project has just released the first version of its cloud computing distribution, which aims to provide a full cloud solution for grid and cluster computing. The StratusLab distribution, which includes OpenNebula as the core virtual machine manager and cloud management tool, is being tested on research grid infrastructures, which are composed of dozens of sites and comprises tens of thousands of physical hosts. The first version of the StratusLab distribution is a technology preview, and not yet production-ready, but it will give system administrators and users a chance to try out the new features of what will become an integrated solution for cloud management, running grid services within the cloud, and accessing cloud resources and services from the Grid.

Funded through the European Union Seventh Framework Programme (FP7), the two-year StratusLab project aims to integrate ‘cloud computing’ technologies into ‘grid’ infrastructures. Grids link computers and data that are scattered across the globe to work together for common goals, whilst cloud computing makes software platforms or virtual servers available as a service over the Internet, usually on a commercial basis, and provides a way for organisations to access computing capacity without investing directly in new infrastructure. Linking grid and cloud technologies will result in major benefits for European academic research and is part of the European Commission strategy to develop European computing infrastructures.

Visit http://www.stratuslab.eu/doku.php?id=release:v0.1 for more information or to download the StratusLab distribution.

Cfengine and OpenNebula for automated clouds

If you’re a system administrator, you’ve probably already heard of Cfengine, a cross-platform datacenter automation framework used by more than 5,000 companies on millions of machines worldwide. With Cfengine, the sysadmin describes the desired system state and Cfengine takes care of the rest: it will install packages, maintain configuration files, keep permissions and ensure the right processes are running according to your policy.

The Cfengine team has been investigating how Cfengine may be used on both the physical and virtual sides of an OpenNebula-based cloud. More specifically, we have been looking into how Cfengine can be used to install and configure the physical infrastructure in an OpenNebula cloud, followed by the launch and configuration of generic virtual machine images that will run on top of that OpenNebula infrastructure.

This week, at the Large Installation System Administration (LISA) conference in San Jose, we will give a brief overview of the possibilities of a Cfengine-managed OpenNebula setup. If you can’t make it to our talk, during the Cfengine BoF (Tuesday, November 9th, 7pm-8pm), you can check out the slides from our presentation here.

Cfengine team

Thanks to everyone who made OpenNebula 2.0 possible!

As you know, OpenNebula 2.0 is out the door, and we’re delighted with the response from our community. Besides the huge spike in downloads, we have received many congratulations over email and Twitter from many of our users, specially those who are deploying OpenNebula in very large infrastructures. However, we would like to take a moment to acknowledge that, if OpenNebula 2.0 has gotten so far, it is in no small measure due to the many users and organizations in our community who have actively contributed to OpenNebula.

So, besides our major and regular contributors, we want to thank the following people and organizations:

Community Contributors

We would like to acknowledge the work of many community members who contributed to the development of OpenNebula by actively participating on our mailing list or our IRC channel, answering user questions, or providing patches for bugfixes, features and documentation:

Sander Klous, Sebastien Goasguen, Ulrich Schwickerath, Jeroen Nijhof, Tiago Batista, Nils Dijk, Marlon Nerling, Alexandre Joseph, Ariel Garcia, Carsten Friedrich, Charles Loomis, Chris Usher, Claude Noshpitz, Damien Raude-Morvan, Enrique Alvarez, Florian Kruse, Frank Stutz, Gyula Csom, Jason Heiss, Johan Tordsson, John Dewey, Lakshan Perera, Marc-Elian Begin, Martin Kopta, Matt Lavin, Michael Coram, Neil M, Nuno Cardoso, Patrick Naubert, Petri Lammi, Rahul Chandra, Rangababu Chakravarthula, Shi Jin, Stefan Freitag, Tres Wong-Godfrey, Waheed Iqbal, and others who might have slipped through the cracks. An latest list can always be found in the OpenNebula development site.

The OpenNebula Ecosystem

The extensible and open architecture of OpenNebula has enabled various contributors to develop substantial pieces of software that, while not strictly a part of OpenNebula, can be used in combination with OpenNebula to provide additional functionality. This thriving ecosystem includes projects such as schedulers, additional drivers, and tools that enhance the OpenNebula user experience.

The following organizations have contributed to our ecosystem: CloudScaling, Telefonica I+D, C12G Labs, SARA Supercomputing Center, University of Chicago, Clemson University, and CRS4 Computing Center.

Cloud Computing R&D Projects

OpenNebula is the result of many years of research and the interaction with world leading industrial and academic organizations in cloud computing. OpenNebula is being enhanced in the context of several flagship international projects in cloud computing to address the requirements of business and research use cases from leading IT organizations across multiple industries. We would like to especially acknowledge these pioneering projects and their partners for their invaluable contributions.

  • RESERVOIR, main contributor with significant impact on OpenNebula’s design and innovative features, coordinated by IBM and with the participation of Telefonica I+D, University College of London, Umeå University, SAP AG, Thales Services SAS, Sun Microsystems Germany, ElsagDatamat S.p.A, DSA-Reasearch at UCM, CETIC, Universita Della Svizzera italiana, Universita degli Studio di Messina and the European Chapter of the Open Grid Forum.
  • StratusLab, coordinated by Centre National de la Recherche Scientifique and with the participation of DSA-Reasearch at UCM, Greek Research and Technology Network S.A., SixSq Sárl, Telefonica I+D and Trinity College Dublin.
  • BonFIRE coordinated by Atos Origin and with the participation of University of Edinburgh, SAP AG, Universitaet Stuttgart, FRAUNHOFER, Interdisciplinary Institute for Broadband Technology, DSA-Reasearch at UCM, Fundacio Privada I2CAT, Hewlett-Packard Limited, The 451 Group Limited, Technische Universitaet Berlin, IT-Innovation, and Institut National de Recherche en Informatique et en Automatique.
  • 4CaaSt coordinated by Telefónica I+D and with the participation of UPM, 2nd Quadrant Limited, BonitaSoft, Bull SAS, Ericsson GMBH, FlexiScale, France Telecom, Universitat St Gallen, ICCS/NTUA, Nokia Siemens Networks, SAP AG, Telecom Italia, DSA-Reasearch at UCM, Universitaet Stuutgart, UvT-EISS, and ZIB.

From all of us at OpenNebula: Thank you!

OpenNebula Technology Days – Wrap Up

The first edition of the OpenNebula Technology Days, kindly hosted by C12G Labs, took place this week in Madrid. It featured an extensive tutorial on how to install, configure and use OpenNebula to build Private, Hybrid and Public clouds. It included a last session covering advanced topics such as how to extend OpenNebula easily due to its flexible architecture, isolating your virtual networks using ebtables, etc.

The event was attended by several partners that actively use OpenNebula as their core toolkit to build clouds. Attendees included people from the following organizations: ATOS, Stuttgart University, IBBT, I2CAT, CNRS, TCD, GRNET, SIXSQ, Telefonica I+D, SURFNET, ESA, Franunhofer FOKUS, NICE, EPCC and IT Innovation. All in all, it turned out to be a successful and very formative event.

More information on the agenda and links to the slides used in the OpenNebula Technology Days can be found here.

Tino Vázquez

OpenNebula Technology Days – Summer 2010

The first edition of the OpenNebula Technology Days will take place in C12G Labs Headquarters in Madrid on the 20th and 21th of July. This first community event includes a tutorial on building clouds with OpenNebula and a technical workshop to present the new features and integration capabilities in the upcoming version. Attendance to the event is by invitation only. A representation of advanced users of the technology, featured projects in the community and C12G partners have been invited, trying to limit the number of participants to 25 in order to ensure an effective event.
Due to the very high demand, new similar events will be organized in the next months. Please send us an email to events@opennebula.org if you want to participate.