Bug 1272228

Summary: [RFE][nova]: multiple back-ends for nova-compute
Product: Red Hat OpenStack Reporter: Stephen Gordon <sgordon>
Component: openstack-novaAssignee: Eoghan Glynn <eglynn>
Status: CLOSED DUPLICATE QA Contact: nlevinki <nlevinki>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.0 (Kilo)CC: berrange, dasmith, eglynn, kchamart, ndipanov, pbrady, sbauza, sferdjao, sgordon, vromanso, yeylon
Target Milestone: ---Keywords: FutureFeature
Target Release: 8.0 (Liberty)   
Hardware: Unspecified   
OS: Unspecified   
URL: https://blueprints.launchpad.net/nova/+spec/multi-back-ends-for-nova-compute
Whiteboard: upstream_milestone_none upstream_definition_new upstream_status_unknown
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-10-15 19:54:39 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Stephen Gordon 2015-10-15 19:47:04 UTC
Cloned from launchpad blueprint https://blueprints.launchpad.net/nova/+spec/multi-back-ends-for-nova-compute.

Description:

#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.

Specification URL (additional information):

None

Comment 2 Stephen Gordon 2015-10-15 19:53:49 UTC
*** Bug 1272231 has been marked as a duplicate of this bug. ***

Comment 3 Stephen Gordon 2015-10-15 19:54:39 UTC

*** This bug has been marked as a duplicate of bug 1207199 ***