synchronizer alternative flow + typo fixes

Change-Id: Id96b9962f88734eebf046bd654768e9d47341141
This commit is contained in:
Inbar Stolberg 2015-11-26 07:27:57 +00:00
parent 5a71558baa
commit 25b89d2a9c

View File

@ -59,13 +59,39 @@ of these synchronizers for scaling purposes.
+-----------------------+
Alternative diagram
::
+-------------+
+----------+ +--------------+ get all response | |
| entity | | +------------------------------------------------> |
+------+ type x <---------------+ <-----------------------------------------------+ Vitrage |
| | | polling via | | get all request +----------+ | graph |
+-----------------------------+ | +----------+ api or via | | | queue | | |
| Openstack services: | | message | Synchronizer | | | +-------------+
| Keystone, Nova, <----+ +----------+ queue | <------------------------------+ ^ |
| Neutron, Glance, | | entity | | | register for change +----------+
| Cinder, Heat <-----------+ type y <---------------+ | notifications over |
| | | | | | entities of a specific |
| other polling mechanisms: | +----------+ | | type |
| Nagios <----+ | | |
| Ceilometer | | +----------+ | | entity changes |
| | | | entity | | +------------------------------------+
| | +------+ type z <---------------+ |
| | | | +--------------+
+-----------------------------+ +----------+
Problem description
===================
Enable vitrage and to maintain the most up-to-date view of OS services it samples.
Enable Vitrage and to maintain the most up-to-date view of OS services it samples.
Proposed change
===============
@ -97,8 +123,8 @@ change notifications
- openstack message bus (if installed on openstack)
- or to a queue (which would be installed as part of the synchronizer deployment)
southband interface
^^^^^^^^^^^^^^^^^^^
southbound interface
^^^^^^^^^^^^^^^^^^^^
::
@ -155,10 +181,10 @@ southband interface
- method of collection:
- retrieve OS service elements list. For the purposes of:
- 'get all' - as a response for a 'get all' northbound interface call
- run on its own subprocess, separated from the collecting subprocesses (cont.)
- run on its own subprocess, separated from the collecting sub processes (cont.)
- change notifications - as part of the periodic collection of the latest snapshot
- we'd use this method of collection against OS services which doesn't propagates change notification.
- run on its own collection subprocesses (**one/more? - TBD**)
- run on its own collection sub processes (**one/more? - TBD**)
- how to discover a change
- once a snapshot is collected, we'd like to know which entity was changed from the latest time a snapshot was taken
- in order to enable this, we'd keep a baseline - a data structure which contains for each OS service entity (such as a vm instance), its ID + it latest collection timestamp or a hash which represents its latests state.
@ -167,7 +193,7 @@ southband interface
- for the purposes of change notifications
- this is the easy case, where change notifications are simply passed on to whoever registered for them
- type of collection:
- against each OS service we'd like to sample, a plugin library would enable BOTH the collection subprocesses and the 'get all' method to retrieve BOTH a complete snapshot of the OS service (all the VM instances / all of the ports / etc.) AND to sample for change notifications, as described above.
- against each OS service we'd like to sample, a plugin library would enable BOTH the collection sub processes and the 'get all' method to retrieve BOTH a complete snapshot of the OS service (all the VM instances / all of the ports / etc.) AND to sample for change notifications, as described above.
- deployment - as a library
consumer flow
@ -244,8 +270,8 @@ Dependencies
Testing
=======
**TBD**
Unit Tests - Tox
Integration Tests - Tempest
Documentation Impact