OpenNebula 3 Service Pack 1 (3.8.4) Released

The OpenNebula Project announces the general availability of the first Service Pack for the OpenNebula 3 Series (3.8.4). After its first year, and for two additional years, the Project distributes a Service Pack (SP) for each major release that combines all the patches to easily install or deploy its last update. Service Packs allow users to maintain their current OpenNebula version as long as possible, preserving the stability and security of their data centers, as they transition from one OpenNebula Series to the next.

This is a maintenance release that fixes bugs reported by the community after 3.8.3 was released. This release only includes bug fixes and is a recommended update for everyone running any OpenNebula 3.x, whom for any particular reason do not want to upgrade their cloud manager to the latest available OpenNebula version.

Relevant Links

Final Keynote Line-up for OpenNebula Conference 2013

The OpenNebula Project is proud to announce the final line-up of keynote speakers for the first OpenNebula Conference.

In few days we will publish the Agenda of the event that will also include the talk proposals received, a hands-on tutorial, and several community sessions.

We are looking forward to welcoming you personally in Berlin!. Please register as soon as possible since the number of places is limited. There is still time to take advantage of our early registration offer, which expires at the end of June.

OpenNebula Conference 2013 CFP Deadline Approaching: June 15th

As user of OpenNebula and member of its community you should be speaking at the first edition of the OpenNebula Conference in September in Berlin. The deadline for receiving talk proposals is Saturday, June 15th. We recommend submitting your proposal as early as possible at http://opennebulaconf.com/proposals/.

We are looking for technical presentations about design, development, and deployment of OpenNebula-based Clouds, and its integration with other related technologies in the data center:

  • Latest developments in OpenNebula
  • Research using OpenNebula
  • User experiences and case studies using OpenNebula
  • Best practices and tools
  • Integration with other cloud, virtualization and data center components
  • Any other topics that you feel are relevant to developers, users, researchers and other members of the community

Keynote Line-up

Confirmed keynote speakers are from world’s leading corporate and research institutions.

The conference site will be updated to reflect new keynote speakers as they are confirmed.

Important Dates

  • Deadline Call for Proposals: June 15th, 2013
  • Final Agenda: June 30th, 2013
  • End of Early Bird Registration: June 30th, 2013
  • Conference: September 24th-26th, 2013

We are Looking Forward to Welcoming you Personally in Berlin!

The Conference will serve as a meeting point for OpenNebula cloud users, developers, administrators, builders, integrators and researchers and a great opportunity to share experiences and network .

Please register as soon as possible at http://opennebulaconf.com/registration/ since the number of places is limited. There is still time to take advantage of our early registration offer, which expires at the end of June.

Sponsorship

Sponsoring OpenNebulaConf is a great chance to present your company with the leading open source datacenter virtualization solution on the market. Find out more about our sponsoring opportunities at http://opennebulaconf.com/sponsors/.

Questions?

If you have any questions, please do not hesitate to contact us via contact(at)opennebulaconf.com or use the form at http://opennebulaconf.com/contact/.

OpenNebula and the Beauty of Simplicity: Space Shuttle vs. Soyuz

This isn’t a technical article like the one I wrote two years ago about High Availability in OpenNebula with LVM. This is a personal opinion article about simplicity versus complexity in cloud computing management.

I started with OpenNebula about 3 years ago. At that time, I worked for a customer and I made this choice mostly because in that moment OpenNebula was the only mature solution, simple, but at the sane time, equipped with all the features needed to build an infrastructure cloud.

Now, at the beginning of this year, I had to compare the existing cloud automation systems one more time, and I confirmed my preference for OpenNebula… and this time I feel even more confident about my choice. This second time I chose simplicity over complexity. I tell you why with an example.

All of you know the Space Shuttle. It was a very powerful spacecraft, designed for different types of space missions, a credit to the American space industry: it was big, comfortable, powerful… simply wonderful. But the Space Shuttle also had a downside: it was expensive, complex, and very difficult to maintain and repair. After 30 years, 135 missions (and 2 disasters), the Shuttle was decommissioned and now NASA doesn’t have a spacecraft to transport its astronauts to and from the ISS.

All of you also know the Soyuz, the Russian spacecraft. it’s the opposite of Space Shuttle. In relative terms, it’s simple, small, not expensive… and very solid. It was designed specifically to carry cosmonauts to and from space stations, it works from the 1968 (the time of Apollo missions), it has made about 450 launches (with 2 disasters like Space Shuttle), but now it’s the only way to reach the ISS, also for the American NASA astronauts. There is a lesson to be learned here that has to do with simplicity.

In my opinion OpenNebula is like Soyuz, it represents simplicity in the specific niche of enterprise cloud computing and data center virtualization. It isn’t based on sophisticated, complex protocols and architectures, but it is solid, reliable, complete, simple and inexpensive. In 3 years I had no problems, 3 years of uptime. The latest version (4.0) has also a very nice web interface (for me) and adds some functionalities like Ceph integration that are much appreciated. Other cloud management platforms are, in my view, like the Space Shuttle: very impressive trying to be all things for all people, but not rock solid, stable, scalable and effective like OpenNebula.

CentOS and OpenNebula Installation-Testing-and-Documentation Day

We would like to invite you to join us next Wednesday 19th, from 15:00 to 18:00 CEST to the #opennebula channel at Freenode to work all together in a common objective:

  • Install OpenNebula in CentOS
  • Improve and test the packages (SELinux policies, etc…)
  • Review and Contribute to documentation (migration from older versions)

The goal is to get as soon as possible the new OpenNebula 4.0.1 to dev.centos.org.

Your help would be very valuable!

See you soon in #opennebula

OpenNebula Cloud API: Amazon, OGF OCCI, OpenStack, Google Cloud, DMTF CIMI or vCloud?

Last week we launched a survey to collect feedback from our community regarding what is their preferred interface for cloud consumers and how we should invest our resources in cloud API enhancement and development. The survey was open for two days receiving feedback from almost 200 OpenNebula clouds.

Targeted to OpenNebula cloud administrators, our aim was firstly to have information about the level of use of the two cloud APIs offered now by OpenNebula, namely AWS and OGF OCCI. The results show that:

  • 38% do not expose cloud APIs, their users only interface through the Sunstone GUI
  • 36% mostly use the AWS API
  • 26% mostly use the OpenNebula’s OCCI API or the OCCI API offered by rOCCI

Then we asked how they would like us to invest our resources to enhance the Cloud APIs. The results show that:

  • 47% to enhance the existing AWS API implementation
  • 21% to enhance the existing OGF OCCI implementation
  • 10% to implement the OpenStack API
  • 10% to implement the vCloud API
  • 6% to implement the Google Cloud API
  • 6% to implement the DMTF CIMI API

We also received many valuable additional comments mostly stating that “AWS is the de-facto standard and an executive-friendly selling point”, “OGF’s OCCI is the only independent community-driven standard”“OpenStack API is still not stable and fully documented”, and “Google Cloud API represents a big opportunity in the medium term”.

Guided by these results, our plans for the near future are to enhance and extend our implementation of the AWS API and to offer OCCI compatibility through the rOCCI component. Of course, if your organization is interested in implementing one the less demanded Cloud APIs, we can provide you with the needed support.

Thanks a lot for your feedback!

Expanded Keynote Line-up for OpenNebula Conference 2013

The OpenNebula Project is proud to announce an expanded line-up of keynote speakers for the first OpenNebula Conference. The Conference, taking place from 24th-26th September 2013 in Berlin, will serve as a meeting point for OpenNebula cloud users, developers, administrators, builders, integrators and researchers and a great opportunity to share experiences and network with other projects.

Confirmed keynote speakers are from world’s leading corporate and research institutions.

The conference site will be updated to reflect new keynote speakers as they are confirmed.

This first ever edition of the OpenNebula Conference will be hosted by open source specialist NETWAYS, which has long experience in the organization of events in the open source environment. OpenNebulaConf2013 offers a multi-day conference that includes hands-on tutorials, keynote speakers and several thematic tracks.

Please fill in the proposal form to register your interest in presenting at OpenNebula Conference 2013. Deadline for talk proposals is the 15th of June.

We are looking forward to welcoming you personally in Berlin!. Please register as soon as possible since the number of places is limited. There is still time to take advantage of our early registration offer, which expires at the end of June.

OpenNebula Newsletter – June 2013

Here’s our monthly newsletter, with the main news from the last month, including what you can expect in the coming months.

Technology

The OpenNebulaApps have catched up with OpenNebula 4.0. This new version comes with a new appearance, tailored to match the new Sunstone, and multiple bug fixes. The development department is working full steam on new OpenNebulaApp features, so stay tuned for useful and awesome new features for the 4.2 release of the Apps. There is also a huge amount of work devoted to the upcoming 4.2 release. We held a public IRC meeting to define the 4.2 roadmap, to discuss the requests for new features and for extending existing features.

Multiple changes are being carried out in the VMware drivers, aimed to give more control over VMware resources, and a more fine grained management of VMware virtual machines. Special attention is being paid to the storage backend option for VMware, polishing existing combinations and dropping some of the less used ones. Also, synergies and potential integrations are being explored between OpenNebula, Foreman and Puppet. Moreover, new drivers to interact with Xen 4.2 are being developed. These will enable the use of new Xen features like VHD images and a more tight HVM integration. A new virtual router is available in the marketplace, featuring a smaller image size and providing routing, port forwarding, dhcp, radvd and dns server functionality.

Community

The OpenNebula community is as vibrant as ever! Check out this amazing post where an community extension is explained (including a very nice video), which enables Infiniband interfaces in KVM virtual machines. Thanks David, fine indeed. Former ONEr Hector San Juan updated the VirtualBox drivers for OpenNebula, very useful for sandboxing and development environments.

Outreach

We want to remind you about the First OpenNebula Conference!. The Conference, based in Berlin between the 24 and 26 of september, will serve as a meeting point for OpenNebula cloud users, developers, administrators, builders, integrators and researchers and a unique opportunity for discussion and collaboration with other projects. This month several very interesting speakers were confirmed:

If you are interested in giving a talk or attending the conference, now is the perfect time!

Besides, this month marked the creation of multiple OpenNebula user groups. The following is a lits of the already formed ones:

Besides, the following are in the process of becoming OpenNebula user group:

  • United States of America
  • Spain
  • Hungary
  • Cuba
  • Egypt

This past month a number of events were participated by OpenNebula members:

During the following months, members of the OpenNebula team will be speaking in the following events:

Remember that you can see slides and resources from past events in our Events page. We have also created a Slideshare account where you can see the slides from some of our recent presentations.

OpenNebula and Foreman integration

Our team is in the process of rearchitecting the test and develop infrastructure and we needed a way to easily install new OSs. This installation will be done in both physical nodes and Virtual Machines. To do this we selected The Foreman as the installation server.

For physical nodes we use the standard foreman workflow where we add a new host, select its OS and install the OS. For virtual machines we wanted it to be a bit more flexible and control it from OpenNebula itself. The idea is to configure the different operating systems in foreman and let our developers select the OS that was going to be installed in the machine.

To do this we have a hook that is able to communicate with foreman and register new hosts in foreman when a VM with certain parameters is created. The parameters that we can add in the template are these ones:

  • FOREMAN_OS_ID: Operating System identifier in foreman
  • FOREMAN_SUBNET: Network where the VM is going to start

The subnet is provided as we have two networks in our infrastructure. The hook will only run when FOREMAN_OS_ID is found in the template.

This is the hook we have added to OpenNebula. Bear in mind that this is a work in progress and we want to make it more straight forward for the user, like selecting the OS by its name and not a number.

#!/usr/bin/env ruby

# Add OpenNebula ruby library path. Alternatively you can install OpenNebula
# ruby gem
$: << '/usr/lib/one/ruby'

require 'rubygems'
require 'foreman_api'
require 'opennebula'
require 'base64'
require 'rexml/document'

# Parameters received by the hook from OpenNebula
ID=ARGV[0]
TEMPLATE_ENCODED=ARGV[1]

# Log file for script debugging
LOG=File.open('/tmp/hook.log', 'w+')

# Change your credentials and endpoint here
CREDENTIALS={
    :base_url => 'http://foreman',
    :username => 'admin',
    :password => 'amazingly_strong_password'
}

# In our infrastructure we have two network, here are the IDs of these networks
# in foreman
SUBNETS={
    'building'  => 1,
    'internal'  => 2
}

# There are some values hardcoded for the VMs as we don't use many different
# parameters but these can also be changed
def create_foreman_host(params ={})
    host = ForemanApi::Resources::Host.new(CREDENTIALS)

    description={
        "host" => {
            :name               => params[:name],
            :mac                => params[:mac],
            :ip                 => params[:ip],
            :architecture_id    => 1,   # x86_64
            :environment_id     => 1,   # production
            :domain_id          => 1,   # local
            :subnet_id          => params[:subnet_id],
            :operatingsystem_id => params[:os_id].to_i,
            :puppet_proxy_id    => 1,   # Only one proxy
            :hostgroup_id       => 1,   # We only have one hostgroup
            :build              => 1,   # Enable VM building
            :ptable_id          => params[:ptable_id],
            :medium_id          => params[:medium_id]
        }
    }

    host.create(description)
end

def get_foreman_os(id)
    os = ForemanApi::Resources::OperatingSystem.new(CREDENTIALS)
    res =  os.index

    res[0].select {|o| o["operatingsystem"]["id"]==id }[0]["operatingsystem"]
end

@client=OpenNebula::Client.new

template_decoded=Base64.decode64(TEMPLATE_ENCODED)
xml=Nokogiri::XML(template_decoded)

vm=OpenNebula::VirtualMachine.new(xml, @client)

LOG.puts vm.inspect

os_id=vm['VM/USER_TEMPLATE/FOREMAN_OS_ID']
subnet_name=vm['VM/USER_TEMPLATE/FOREMAN_SUBNET']

# We only execute the hook when FOREMAN_OS_ID is set in the VM template
exit(0) if !os_id

os=get_foreman_os(os_id.to_i)

# We need to fill medium and ptable values from OS parameters as Foreman uses
# the values from the hostgroup
medium=os['media'][0]['medium']['id']
ptable=os['ptables'][0]['ptable']['id']

subnet=1

subnet=SUBNETS[subnet_name] if SUBNETS[subnet_name]

# Fill VM parameters
info={
    :name   => vm['VM/NAME'],
    :ip     => vm['VM/TEMPLATE/NIC/IP'],
    :mac    => vm['VM/TEMPLATE/NIC/MAC'],
    :subnet_id  => subnet,
    :os_id  => os_id,
    :medium_id => medium,
    :ptable_id => ptable
}

LOG.puts create_foreman_host(info).inspect

# Chill out a bit an let foreman do its job
sleep 5

vm=OpenNebula::VirtualMachine.new(
    OpenNebula::VirtualMachine.build_xml(ID), @client)

# Release the VM hold so it can start
LOG.puts vm.release.inspect

This hook requires foreman_api gem. Now we add this hook to OpenNebula configuration with this stanza:

VM_HOOK = [
   name      = "foreman-create",
   on        = "CREATE",
   command   = "/var/lib/one/foreman_create_hook.rb",
   arguments = "$ID $TEMPLATE" ]

Now to create new VMs we have created an empty qcow2 image that will be used as the disk for new VMs. Making them qcow2 will let us clone them very fast and will be much smaller. We also have a template for all the VMs, something like this:

OS=[
  ARCH="x86_64",
  BOOT="network" ]

CPU="1"
MEMORY="768"

DISK=[
  IMAGE="empty_10gb_disk" ]
NIC=[
  NETWORK="building" ]

GRAPHICS=[
  LISTEN="0.0.0.0",
  TYPE="vnc" ]

FOREMAN_OS_ID="2"           # in our case this is a Ubuntu 12.10
FOREMAN_SUBNET="building"

The VM should be launched on hold so we have time to add the host to foreman and configuring DHCP and TFTP servers. At this time we can only do this using the CLI:

$ onetemplate instantiate foreman-base --hold

We can also change the OS to be installed without changing the template

$ onetemplate instantiate foreman-base --hold --raw FOREMAN_OS_ID=1

After the VM is created the hook kicks in, adds the new host to foreman and releases the VM from hold so it can start and be installed. When the installation procedure is finished we can start using the VM or capture it so we can use as a base for other VMs. To do this we can use a disk snapshot (not hot) and shutdown the machine to save the new image.

Things to take into account:

  • Add installation of OpenNebula contextualization packages in the Foreman templates so the images are ready to be used in OpenNebula
  • Configure puppet, chef or other CMS so the images can serve as basis for your app deployments

Features we want to add to the integration:

  • Select OS by name, not id
  • Select the subnet from the OpenNebula network so it does not need to be specified
  • Automatically hold the VM on startup so Sunstone can be used to install new VMs
  • New hook to delete the host from foreman after it is deleted in OpenNebula

You can find the code from this post in this gist.

OpenNebula User Group France

Le Projet OpenNebula a annoncé récemment un plan pour soutenir et promouvoir la création de groupe d’utilisateurs d’OpenNebula locaux dans différents pays. Le but de chaque communauté sera d’organiser régulièrement des réunions et des ateliers où les utilisateurs d’OpenNebula (développeurs, administrateurs, chercheurs et responsables IT) pourront se retrouver pour partager leurs expériences (aspects techniques, best pratices, cas d’utilisation) et développer leur réseau.

Pour ne pas rater cet appel qui est une opportunité unique pour développer l’échange entre les utilisateurs OpenNebula en France, j’ai pris l’initiative de travailler à mettre en place cette communauté. Pour rassembler les utilisateurs autour de ce projet, un groupe de discussion Google et une page WIKI ont été mis en place pour faciliter la diffusion des informations.

L’accès au groupe est ouverte à tous. Une fois qu’on aura atteint un nombre raisonnable d’inscrits, nous organiserons la première réunion qui marquera le démarrage effectif du groupe. Nous souhaitons à terme organiser des évènements bi-mensuels à travers différentes villes de France. En collaboration avec SysFera, nous nous proposons de mettre à disposition des locaux pour des évènements organisés sur Lyon. Si vous êtes intéressés à assurer le relais dans votre ville, merci de rejoindre le groupe de discussion pour nous en informer.

A bientôt!