diff options
authorClint Byrum <>2016-12-15 14:46:58 -0800
committerClint Byrum <>2016-12-15 14:46:58 -0800
commit7086083711b0c1ecdb66d62429aa986220dd2602 (patch)
parentd2e35099da6098f648d7ed7fc040e48f6cb5fd06 (diff)
Add proposal for nova-compute-api
Notes (review): Code-Review+2: Thierry Carrez <> Code-Review+1: Ed Leafe <> Code-Review+1: Jay Pipes <> Code-Review+1: Chris Dent <> Code-Review+1: Ligong Duan <> Code-Review+2: Dean Troyer <> Workflow+1: Dean Troyer <> Verified+2: Jenkins Submitted-by: Jenkins Submitted-at: Wed, 11 Jan 2017 08:36:11 +0000 Reviewed-on: Project: openstack/arch-wg Branch: refs/heads/master
1 files changed, 33 insertions, 0 deletions
diff --git a/proposals/nova-compute-api.rst b/proposals/nova-compute-api.rst
new file mode 100644
index 0000000..7ef4b30
--- /dev/null
+++ b/proposals/nova-compute-api.rst
@@ -0,0 +1,33 @@
4In the beginning there was Nova. It included volumes, networking,
5hypervisors, and scheduling. Since then, Nova components have either
6been replaced (nova-network with Neutron) or forklifted out and enhanced
7(Cinder). In so doing, interfaces were defined for how Nova would
8continue to make use of these now-external services, but nova-compute,
9the place where the proverbial rubber meets the road, was left inside
10Nova. This meant that agents for Cinder and Neutron had to interact with
11nova-compute through the high level message bus, despite being right
12on the same physical machine in many (but not all) cases. Likewise,
13some cases take advantage of that, and require operator cooperation in
14configuring for certain drivers.
16This has led to implementation details leaking all over the API's that
17these services use to interact. Neutron and Nova do a sort of haphazard
18dance to plug ports in, and Cinder has drivers which require locking files
19on the local filesystem a certain way. These implementation details are
20leaking into public API's because it turns out nova-compute is actually
21a shared service that should not belong to any of the three services,
22and which should define a more clear API which Nova, Cinder, and Neutron,
23should be able to use to access the physical resources of machines from
24an equal footing.
26proposed next steps
29 * Produce an accurate analysis on the current state of nova-compute's
30 interaction with other OpenStack services.
32 * Produce a cross-project spec for moving nova-compute out of Nova
33 and defining an API for it that meets the needs of all other projects.