[openstack-dev] [vitrage] Synchronizer - explanation and name refactoring

Har-Tal, Liat (Nokia - IL) liat.har-tal at nokia.com
Mon Apr 11 06:44:18 UTC 2016

Hi All, 

In the last days I noticed that we have a big confusion with the main goal of the Synchronizer. This is in part due to mixed usage of the term Synchronizer in the project. Also, most of us don’t really understand the difference between synchronizer and transformer.

After much discussion, it was decided to change and clarify the terms and the package structure – see more below.

So let’s make order in this mess:

Synchronizer – Responsible for importing data into Vitrage. It is not supposed to make any change in the data. 
Transformer – Responsible for transforming the data retrieved by the synchronizer into a Vitrage entity (vertex) and its neighbors. Each neighbor is just a placeholder vertex and edge.

Recently, we realized that the terminology we use is incorrect: we use synchronizer name for both: 
 - General name of the whole process (connect to data source -> import the data into Vitrage -> push it to event queue -> and transform it to graph entities)
 - For the actual connection to the data source (i.e., connection to Nova)

So we decided to have some name changes:
1. Datasource – describes the data source 2. Driver – describes the component which connect to data source itself 3. MessageFormat/ FormatType / EventFormat - (not closed yet) instead of SyncMode. Any suggestion is welcome… 4. Name – instead of SyncType 5. No more using the word “plugins”

This change causes a change the packages structure in the project. 
Before the structure was:

- Synchronizer
  - Plugins
    - Data source name           
      - Transformer
      - synchronizer

The new structure is:

- Datasources
  - Data source name
    - Transformer
    - driver
Most of the refactoring has already done and pushed.

Action items:
1. To decide about new name for SyncMode and change it in the code 
2. SyncType refactoring 
3. Documentation


More information about the OpenStack-dev mailing list