multiple back-ends for nova-compute

Registered by Kanagaraj Manickam

#1. Efficient node usage: Nova-compute is designed to configure with only one type of nova compute driver like kvm, vmware, citrix,etc. Here Hypervisors like kvm, the nova-compute is installed on the hypervisor itself.
So the CPU, memory load will be high as hypervisor is running on the nova-compute. But for the vmware hypervisors, nova-compute is installed on the separate node and its called proxy nova-compute. So the load on the proxy-compute node will be comparatively lesser and it will be more efficient if nova-compute node is allowed to configure multiple compute proxy driver similar to the cinder-volume multi-backend architecture. https://wiki.openstack.org/wiki/Cinder-multi-backend

#2. scalability: By enabling the multiple back-ends, it also helps to improve the scale-ability of the given compute proxy driver such as vmware vc driver.

Implementation Note
===============
It can be implemented by leveraging the cinder implementation where only one instance of cinder-volume is installed, but when the cinder-volume service is started, it spawns one cinder-volume process for every back-end configured in the cinder.conf. In the same approach,
nova.conf will be as follows:

[DEAFULT]
....

#back_ends will have comma separated set of compute drivers section
#Each compute driver could be same or different
back_ends = vcdriver1, vcdriver2, xen1

[vcdriver1]
...

[vcdriver2]
...

[xen1]
...

With these configuration in place, when nova-compute starts, it will spawn 3 nova-compute one for each of the configured driver.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
Kanagaraj Manickam
Direction:
Needs approval
Assignee:
Kanagaraj Manickam
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.