summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorliyingjun <yingjun.li@kylin-cloud.com>2016-10-09 11:16:11 +0800
committerliyingjun <yingjun.li@kylin-cloud.com>2017-03-13 09:53:32 +0800
commit343f5f8f11a7426eb23ce521507283ea93acb066 (patch)
tree73637adf772f9ba90eb3a6517eca9638e6e4d300
parent7c0bf43318ad3d2cda34d9cc033099ea35b8dead (diff)
Spec for nova service plugin
Notes
Notes (review): Code-Review+2: Travis Tripp <travis.tripp@hpe.com> Code-Review+2: Zhenyu Zheng <zhengzhenyu@huawei.com> Workflow+1: Zhenyu Zheng <zhengzhenyu@huawei.com> Verified+2: Jenkins Submitted-by: Jenkins Submitted-at: Sat, 25 Mar 2017 02:17:15 +0000 Reviewed-on: https://review.openstack.org/331917 Project: openstack/searchlight-specs Branch: refs/heads/master
-rw-r--r--doc/source/index.rst9
-rw-r--r--specs/pike/nova-service-plugin.rst51
2 files changed, 60 insertions, 0 deletions
diff --git a/doc/source/index.rst b/doc/source/index.rst
index 6d05a08..6d30e71 100644
--- a/doc/source/index.rst
+++ b/doc/source/index.rst
@@ -52,6 +52,15 @@ Ocata
52 52
53 specs/ocata/** 53 specs/ocata/**
54 54
55Pike
56====
57
58.. toctree::
59 :glob:
60 :maxdepth: 1
61
62 specs/pike/**
63
55================== 64==================
56Indices and tables 65Indices and tables
57================== 66==================
diff --git a/specs/pike/nova-service-plugin.rst b/specs/pike/nova-service-plugin.rst
new file mode 100644
index 0000000..9f494c8
--- /dev/null
+++ b/specs/pike/nova-service-plugin.rst
@@ -0,0 +1,51 @@
1..
2 This work is licensed under a Creative Commons Attribution 3.0 Unported
3 License.
4
5 http://creativecommons.org/licenses/by/3.0/legalcode
6
7===================
8Nova service plugin
9===================
10
11https://blueprints.launchpad.net/searchlight/+spec/nova-service-plugin
12
13This spec is proposed to support nova service plugin (OS::Nova::Service,
14note that OS::Nova::Service doesn't exist in heat resource type same as the
15hypervisor plugin, and it is an admin-only resource type), and versioned
16notifications are supported for services in nova [0], it would be a nice
17additional plugin for Searchlight.
18
19Problem Description
20===================
21
22A service[1] takes a manager and enables rpc by listening to queues based on
23topic. It also periodically runs tasks on the manager and reports its state
24to the database services table. So in cloud with large amount of compute
25nodes, there will be a pretty large number of services (typically one service
26each compute node, and four services each controller node). The list or search
27services (you can use command `nova service-list` to get the whole list or
28filter the result by host or binary) may get slow using the native nova API.
29And the versioned notifications for hypervisor [2] refers to the service id.
30In future implementation for notification in hypervisor plugin [3] we may want
31to fetch the service details for hypervisor create or update action by the
32service id.
33
34Proposed Change
35===============
36
371. Support index services through nova API.
382. Support versioned notifications.
39
40Alternatives
41------------
42
43None
44
45References
46==========
47
48[0] https://github.com/openstack/nova/blob/master/nova/objects/service.py#L309-L315
49[1] http://docs.openstack.org/developer/nova/services.html#the-nova-service-module
50[2] https://review.openstack.org/#/c/315312/11/nova/notifications/objects/compute_node.py
51[3] https://github.com/openstack/searchlight/blob/master/searchlight/elasticsearch/plugins/nova/notification_handler.py#L107