summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClint Byrum <clint@fewbar.com>2016-12-15 14:46:58 -0800
committerClint Byrum <clint@fewbar.com>2016-12-15 14:46:58 -0800
commit7086083711b0c1ecdb66d62429aa986220dd2602 (patch)
tree37094b6d9e52294127952a6efaeb8efdda3bca72
parentd2e35099da6098f648d7ed7fc040e48f6cb5fd06 (diff)
Add proposal for nova-compute-api
Notes
Notes (review): Code-Review+2: Thierry Carrez <thierry@openstack.org> Code-Review+1: Ed Leafe <ed@leafe.com> Code-Review+1: Jay Pipes <jaypipes@gmail.com> Code-Review+1: Chris Dent <cdent@anticdent.org> Code-Review+1: Ligong Duan <duanlg@live.cn> Code-Review+2: Dean Troyer <dtroyer@gmail.com> Workflow+1: Dean Troyer <dtroyer@gmail.com> Verified+2: Jenkins Submitted-by: Jenkins Submitted-at: Wed, 11 Jan 2017 08:36:11 +0000 Reviewed-on: https://review.openstack.org/411527 Project: openstack/arch-wg Branch: refs/heads/master
-rw-r--r--proposals/nova-compute-api.rst33
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 @@
1Introduction
2============
3
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.
15
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.
25
26proposed next steps
27===================
28
29 * Produce an accurate analysis on the current state of nova-compute's
30 interaction with other OpenStack services.
31
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.