[one-ecosystem] Integrating with a network provisioning service.

Dimitris Theodorou dtheodor at nikhef.nl
Thu Mar 15 04:50:22 PDT 2012


Hi,

I am working on a cloud network resource provisioning service, which  
will accomodate networking among virtual machines by configuring the  
network hardware(switches) that lies between the hosts. The goal of  
the service is 1) to undo the "vlan clean" requirement that you have  
in OpenNebula and other cloud stacks, 2) to be able to provide  
bandwidth requests and 3) to take decisions on how the network will be  
allocated based on the current switching and network infrastructure of  
the cluster that hosts the cloud service. The service should also  
easily support any switch model.

The simplest functionality of the system (let's call it NRS) is that  
it receives a request containing a network id, as well as the VM hosts  
that should be connected to it. It then chooses a suitable vlan (if  
not given), and configures host bridges and switches involved so that  
the network is realized.

I am using OpenNebula to build a prototype of the system. To interface  
with it, the idea is that I need a single point during OpenNebula  
execution after VMs are assigned to hosts but before the VMs are  
launched. The Vm-host info is to be sent to NRS, which will respond  
whether OpenNebula can proceed with launching VMs.

Currently, the opennebula scheduler assigns a limited amount of VMs  
per host in each cycle, and the decision process is restarted for  
every cycle. This creates a problem (for NRS) because there is no  
single point during execution where you have all VM-to-host  
assignments before VMs are launched. In order to work around this, I  
modified the scheduler to assign all hosts to VMs at once, and defer  
the actual deployment to following scheduler cycles.

Now my question is:

Is the above solution the proper way to go, or is there is a better  
way to address this that I am missing? Also if you have any  
comments/criticism on the project and how it fits with OpenNebula I  
would be happy to hear them.

Dimitris




More information about the Ecosystem mailing list