← Back to team overview

openstack team mailing list archive

Integrating Nova with a network provisioning service.

 

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 Nova 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, 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 realised. (the latter part may have some association with Nova's Network controller, however I have not looked into Nova implementation details yet).

To interface with Nova to receive the request, the idea is that I need a single point during its execution when all VMs that belong to a network are assigned to hosts, but before the VMs are actually launched. The host-vm info is to be sent to NRS, which will respond with whether Nova can proceed with launching VMs. However I do not know how Nova's Scheduler assigns hosts and if it allows for such a concept, or it has to be modifed.

My question is:

Is there such a point during Nova execution where I can easily insert the NRS functionality, or are things more complicated? Also if you have any comments/criticism on the project and how it fits with OpenStack I would be happy to hear them.

Dimitris




Follow ups