During the last months we have been working on a new internal project to enable disaggregated private clouds. Our aim is to provide the tools and methods needed to grow your private cloud infrastructure with physical resources, initially individual hosts but eventually complete clusters, running on a  remote bare-metal cloud providers.

Two of the use cases that will be supported by this new disaggregated cloud approach will be:

  • Distributed Cloud Computing. This approach will allow the transition from centralized clouds to distributed edge-like cloud environments. You will be able to grow your private cloud with resources at edge data center locations to meet latency and bandwidth needs of your workload.
  • Hybrid Cloud Computing. This approach works as an alternative to the existing hybrid cloud drivers. So there is a peak of demand and need for extra computing power you will be able to dynamically grow your underlying physical infrastructure. Compared with the use of hybrid drivers, this approach can be more efficient because it involves a single management layer. Also it is a simpler approach because you can continue using the existing OpenNebula images and templates. Moreover you always keep complete control over the infrastructure and avoid vendor lock-in.


There are several benefits of this approach over the traditional, more decoupled hybrid solution that involves using the provider cloud API. However, one of them stands tall among the rest and it is the ability to move offline workload between your local and rented resources. A tool to automatically move images and VM Templates from local clusters to remote provisioned ones will be included in the disaggregated private cloud support.

In this post, we show a preview of a prototype version of “oneprovision”, a tool to deploy and add to your private cloud instances new remote hosts from a bare-metal cloud provider. In particular, we are working with Packet to build this first prototype.

Automatic Provision of Remote Resources

A simple tool oneprovision will be provided to deal with all aspects of the physical host lifecycle. The tool should be installed on the OpenNebula frontend, as it shares parts with the frontend components. It’s a standalone tool intended to be run locally on the frontend, it’s not a service (for now). The use is similar to what you may know from the other OpenNebula CLI tools.

Let’s look at a demo how to deploy an independent KVM host on Packet, the bare metal provider.


Listing the provisions is a very same as listing of any other OpenNebula hosts.

$ onehost list
 0 localhost   default   0    0 / 400 (0%)  0K / 7.5G (0%) on

$ oneprovision list

Based on the listings above, we don’t have any provisions and our resources are limited just on the localhost.


Adding a new host is as simple as running a command. Unfortunately, the number of parameters required to specify the provision would be too much for the command line. That’s why most of the details are provided in a separate provision description file, a YAML formatted document.

Example (packet_kvm.yaml):


# Provision and configuration defaults
    driver: "packet"
    packet_token: "********************************"
    packet_project: "************************************"
    facility: "ams1"
    plan: "baremetal_0"
    billing_cycle: "hourly"

    opennebula_node_kvm_param_nested: true


# List of devices to deploy with
# provision and configuration overrides:
    - provision:
          hostname: "kvm-host001.priv.ams1"
          os: "centos_7"

Now we use this description file with the oneprovision tool to allocate new host on the Packet, seamlessly configure the new host to work as the KVM hypervisor, and finally add into the OpenNebula.

$ oneprovision create -v kvm -i kvm packet_kvm.yaml
ID: 63

Now, the listings show our new provision.

$ oneprovision list
63   default   0 packet   on

$ onehost list
 0 localhost       default   0  0 / 400 (0%)     0K / 7.5G (0%) on
63   default   0  0 / 400 (0%)     0K / 7.8G (0%) on

You can also check your Packet dashboard to see the new host.

Host Management

The tool provides a few physical host management commands. Although you can still use your favorite UI, or provider specific CLI tools to meet the same goal, the oneprovision also deal with the management of the host objects in the OpenNebula.

E.g., if you power off the physical machine via oneprovision, the related OpenNebula host is also switched into the offline state, so that the OpenNebula doesn’t waste time with monitoring the unreachable host.

You will be able to reset the host.

$ oneprovision reset 63

Or, completely power off and resume any time later.

$ oneprovision poweroff 63

$ oneprovision list
63   default 0   packet   off

$ oneprovision resume 63

$ oneprovision list
63   default 0   packet   on 


When the provision isn’t needed anymore, it can be deleted. The physical host is both released on the side of the bare metal provider and the OpenNebula.

$ oneprovision delete 63

$ oneprovision list

$ onehost list
 0 localhost       default     0   0 / 400 (0%)   0K / 7.5G (0%)   on

Stay tuned for the release of this first feature of our new cloud disaggregation project, and as always we will be looking forward to your feedback!

Dear community,

OpenNebula 5.6 is just around the corner and we are now launching a Call for Translations for our renewed graphical user interface: Sunstone.

Any of you wanting to collaborate will be able to do so in a really easy way.

The existing translations can be updated and new translations submitted through our project site at Transifex:


Translations reaching a good level of completion will be included in the official final release of OpenNebula.

Of course most active translators will have special mention in our community environment ;)

Thanks for your collaboration!

Interested in knowing more about OpenNebula on VMware?

In a few weeks, we are organizing out first Cloud TechDay focused on using OpenNebula on VMware environments. Join our technical experts from OpenNebula by OpenNebula Systems for a hands-on workshop on cloud installation and operation on VMware. You’ll get a comprehensive overview of OpenNebula and will be equipped with the skills to take this back to your company and implement right away.

OpenNebula is intended for companies willing to create a self-service cloud environment on top of their VMware infrastructure without having to abandon their investment in VMware and retool the entire stack. OpenNebula exposes a multi-tenant, cloud-like provisioning layer on top of vCenter, including features like virtual data centers, data center federation or hybrid cloud computing to connect in-house vCenter infrastructures with public clouds.

OpenNebula seamlessly integrates with existing vCenter infrastructures to leverage advanced features -such as vMotion, HA or DRS scheduling- provided by the VMware vSphere product family. OpenNebula does not interfere in existing VMware procedures and workflows. Resources like VM, VM templates, datastores and networks can be easily imported from vCenter infrastructures to OpenNebula.

For more information and registration, please visit the TECHDAY CAMBRIDGE, MA web page.

We look forward to your participation!



Why Pyone?

After years running my own private cloud home and at my startup company, I decided to start privazio. Privazio is a data-center class private cloud targeting residential users and small companies with a special focus on privacy. Privazio is currently under development.

OpenNebula is a fantastic cloud management platform that incorporates the one key feature that Privazio requires most: simplicity. OpenNebula has also a pretty reasonable entry-level hardware requirements. OpenNebula is then the ideal foundation for Privazio.

It would be great to take simplicity further by providing an Ansible module to manage OpenNebula. Any other functionality provided by Privazio will also be managed through Ansible making everything fit together nicely.

In order to develop an Ansible module we need a robust Python API for OpenNebula. This is not an easy task considering that OpenNebula is constantly being improved and its interfaces are likely to evolve.

Introducing Pyone

Pyone is a Python API for OpenNebula developed with two key goals in mind: Maintainability and Completeness.

OpenNebula provides a robust XML-RPC API for which XML Schema Definition (XSD) files are distributed.

Pyone uses the Schema Definition files to auto-generate the Python Bydings with PyXB.

On the other hand, OpenNebula’s XML-RPC API is consistent in the way in which calls are made, data is returned and errors are triggered. This allows for Pyone to subclass Python’s xmlrpc.ServerProxy class implementing all OpenNebula peculiarities in one go: authentication, error conditions, special data types, etc.

By auto-generating the bindings and subclassing the proxy object maintainability and completeness should be achieved. In theory future OpenNebula releases would only require updating the XSD files and regenerating the bindings.

Furthermore, making client calls and navigating the results match 100% the provided Open Nebula XML-RPC documentation.

Client code created with Pyone looks like this:

import pyone

one = pyone.OneServer("http://one/RPC2", session="oneadmin:onepass" )
hostpool = one.hostpool.info()
host = hostpool.HOST[0]
id = host.ID

  'NAME': 'abc',
  'MEMORY': '1024',
  'ATT1': 'value1'
}, 1)

What is next?

PyOne will completed and matured while developing an OpenNebula module for Ansible.

If you feel like contributing, please checkout Pyone in Github!


FeldHost™ Delivers new addon “Image Backup” – Tool for backuping your cloud qcow2 images

FeldHost™ is pleased to introduce a new OpenNebula addon Image Backup, which allows you to backup qcow2 images in your cloud. Script is written in NodeJS and has the following options:

  • Backup all qcow2 images
  • Backup only specific image
  • Dry run for testing purposes
  • Option to backup deployments


  • Live snapshots with FS freeze if guest agent is enabled
  • Automatically backups new images
  • Backups also image snapshots
  • Backups deployment files
  • Easy restore – Creates backup directory tree identical with datastores

How it works?

Read the documentation to get started.

Usage example

Install dependecies, clone git repo and copy sample config:

yum install epel-release
yum install nodejs npm


apt-get install nodejs
git clone https://github.com/OpenNebula/addon-image-backup.git ~/one-image-backup
cd ~/one-image-backup 
npm install
cp config.sample.js config.js

Configure by following the manual.

vi config.js

Test and verify using dry run and verbose options.
List of options.

./one-image-backup.js -dvD

Setup cron:

vi /etc/cron.d/one-image-backup

# Run every Saturday on 01:00
00 1 * * Sat user /path/to/one-image-backup/backup.sh

What Next & Contributions

Image Backup is a new project, and there are some things to improve. Contributors are welcome, we apply the Github Pull Request model for contributions in code and documentation. Stay tuned.

We are happy to let you know that the slides and talks of the Ede Techday 2017 are available!

We want to thank BIT.nl for their continued support and looking forward to next year’s event! And of course to our community: attendees and speakers.


More info about the event.

Alongside the release of OpenNebula 5.4 we have made the repository with package scripts and specs public.


It comes with documentation on how you can create your own packages in case you want to add patches to them or build non stable versions. This is the repository used to generate official packages so feel free to send pull requests in case you find problems.


This year our friends at BestBuy Canada have organized a TechDay in Vancouver. As usual there will be a 4-hour OpenNebula tutorial and in the evening we will learn about the new release and whatever question you may have. Hurry up and join us!




The OpenNebula Project is proud to announce the agenda and line-up of speakers for the sixth OpenNebula Conference to be held in Madrid from the 23 to the 24 of October 2017.

OpenNebulaConf is your chance to get an up-close look at OpenNebula’s latest product updates, hear the project’s vision and strategy, get hands-on tutorials and workshops, and get lots of opportunities to network and share ideas with your peers. You’ll also get to attend all the parties and after-parties to keep the networking and the good times going long after the show floor closes for the day.


The agenda includes four keynote speakers:

Educational Sessions 

This year we will have two pre-conference tutorials:

Community Sessions

We had a big response to the call for presentations. Thanks for submitting a talk proposal!.

Like in previous editions, we will have a single track with 10-minute talks, to keep all the audience focused and interested. We have given our very best to get the perfect balance of topics. We will have talks by StorPoolLINBITNetWays, LRZ…

We will also have a Meet the Experts sessions providing an informal atmosphere where delegates can interact with experts who will give their undivided attention for knowledge, insight and networking; and a session for 5-minute lightning talksIf you would like to talk in these sessions, please contact us!

Besides its amazing talks, there are multiple goodies packed with the OpenNebulaConf registration. You have until September 20th to get your OpenNebulaConf tickets for the deeply discounted price of just €300 (plus taxes) apiece. However, please consider, space is limited, register asap.

We are looking forward to welcoming you personally in Madrid!


Centralized clouds are not appropriate for applications that require moving large amounts of distributed data or with interactive users that require low latency and real time processing, like Internet of Things (IoT), video streaming, gaming and many mobile applications. These applications require pushing data and processing away from centralized data centers to the extreme of the network closer to users where possible, this is called edge or fog computing.

Telecommunications companies are in a unique position to solve this problem because central offices (COs) are usually located close to their customers’ premises and thus close to IoT devices. In addition, COs can be transformed into clouds. Similar to the cloudlet concept, in which small-scale cloud datacenters at the edge of the Internet are used to support resource-intensive and interactive mobile applications, this can extend IoT service providers’ computing facilities to the network edge.

There are several initiatives to achieve this goal, mainly built around mobile-edge computing (MEC)—a network architecture concept that enables cloud-computing capabilities and an IT service environment at the edge of the cellular network. Among these, the Central Office Re-architected as a Datacenter (CORD) initiative seems to be better suited for convergent telecoms, as it integrates network function virtualization (NFV) and software-defined networking (SDN).

Telefónica is utilizing open-source OpenNebula and ON.Lab’s ONOS to prototype a new generation of CORD-based Central Offices that are fully IPv6 compliant and allow for the deployment of programmable services rather than the traditional black box solutions provided by proprietary solutions. Telefónica’s OnLife project aims to virtualize the access network and give third-party Internet of Things application developers and content providers cloud-computing capabilities at the network edge.


If you want further details about how Telefonica is using OpenNebula to build its Edge Computing platform you can download the paper “Extending the Cloud to the Network Edge” or attend the Telefonica keynote “Fast Prototyping of a C.O. into a purpose built Data Center for Multi-access Edge Computing” in the upcoming 5th edition of the OpenNebula Conference in Cambridge, MA, 19-20 June.