synchronizer alternative flow + typo fixes
Change-Id: Id96b9962f88734eebf046bd654768e9d47341141
This commit is contained in:
parent
5a71558baa
commit
25b89d2a9c
@ -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
|
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
|
Proposed change
|
||||||
===============
|
===============
|
||||||
@ -97,8 +123,8 @@ change notifications
|
|||||||
- openstack message bus (if installed on openstack)
|
- openstack message bus (if installed on openstack)
|
||||||
- or to a queue (which would be installed as part of the synchronizer deployment)
|
- 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:
|
- method of collection:
|
||||||
- retrieve OS service elements list. For the purposes of:
|
- retrieve OS service elements list. For the purposes of:
|
||||||
- 'get all' - as a response for a 'get all' northbound interface call
|
- '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
|
- 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.
|
- 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
|
- 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
|
- 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.
|
- 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
|
- for the purposes of change notifications
|
||||||
- this is the easy case, where change notifications are simply passed on to whoever registered for them
|
- this is the easy case, where change notifications are simply passed on to whoever registered for them
|
||||||
- type of collection:
|
- 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
|
- deployment - as a library
|
||||||
|
|
||||||
consumer flow
|
consumer flow
|
||||||
@ -244,8 +270,8 @@ Dependencies
|
|||||||
|
|
||||||
Testing
|
Testing
|
||||||
=======
|
=======
|
||||||
|
Unit Tests - Tox
|
||||||
**TBD**
|
Integration Tests - Tempest
|
||||||
|
|
||||||
|
|
||||||
Documentation Impact
|
Documentation Impact
|
||||||
|
Loading…
x
Reference in New Issue
Block a user