)]}'
{"doc/source/add-new-datasource.rst":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"97533eb07239407fd7a3dd8959dd13d5e0d77314","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"In order to add a new datasource to Vitrage do the following steps:"},{"line_number":9,"context_line":" 1. Have your datasource enclosed in a package with the datasources\u0027 name and"},{"line_number":10,"context_line":"    put it under \u0027vitrage.datasources\u0027."},{"line_number":11,"context_line":" 2. Under your datasource package, have both your datasources\u0027 driver class"},{"line_number":12,"context_line":"    your datasources\u0027 transformer class. See below for details on those"},{"line_number":13,"context_line":"    classes."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a89bdaa_e54585b3","line":10,"range":{"start_line":10,"start_character":37,"end_line":10,"end_character":39},"updated":"2016-09-06 07:39:07.000000000","message":"maybe add (not sure you have to):\nFor example, vitrage.datasources.aodh","commit_id":"16c675db6a69675ad345203fa9cc4d929cc68bcf"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"97533eb07239407fd7a3dd8959dd13d5e0d77314","unresolved":false,"context_lines":[{"line_number":22,"context_line":"     c. In addition to those three, you may add any other configuration options"},{"line_number":23,"context_line":"        you may need for your datasource."},{"line_number":24,"context_line":" 4. Add your datasource name under the types list found in"},{"line_number":25,"context_line":"    vitrage.datasources.__init__.py."},{"line_number":26,"context_line":" 5. In case you want your datasource to get registered under other names i.e."},{"line_number":27,"context_line":"    for other sub-entities, add a list option named \u0027entities\u0027 under which"},{"line_number":28,"context_line":"    list all of your sub-entities names."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a89bdaa_655ed577","line":25,"range":{"start_line":25,"start_character":35,"end_line":25,"end_character":36},"updated":"2016-09-06 07:39:07.000000000","message":"why? you just modified this list to hold only the basic types","commit_id":"16c675db6a69675ad345203fa9cc4d929cc68bcf"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"97533eb07239407fd7a3dd8959dd13d5e0d77314","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    vitrage.datasources.__init__.py."},{"line_number":26,"context_line":" 5. In case you want your datasource to get registered under other names i.e."},{"line_number":27,"context_line":"    for other sub-entities, add a list option named \u0027entities\u0027 under which"},{"line_number":28,"context_line":"    list all of your sub-entities names."},{"line_number":29,"context_line":" 6. In case you want your datasource to be in \u0027types\u0027 property in the"},{"line_number":30,"context_line":"    datasources section in the configuration upon devstack instalation, do"},{"line_number":31,"context_line":"    the following:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a89bdaa_c54fa1bb","line":28,"range":{"start_line":28,"start_character":39,"end_line":28,"end_character":40},"updated":"2016-09-06 07:39:07.000000000","message":"please add an example","commit_id":"16c675db6a69675ad345203fa9cc4d929cc68bcf"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"97533eb07239407fd7a3dd8959dd13d5e0d77314","unresolved":false,"context_lines":[{"line_number":26,"context_line":" 5. In case you want your datasource to get registered under other names i.e."},{"line_number":27,"context_line":"    for other sub-entities, add a list option named \u0027entities\u0027 under which"},{"line_number":28,"context_line":"    list all of your sub-entities names."},{"line_number":29,"context_line":" 6. In case you want your datasource to be in \u0027types\u0027 property in the"},{"line_number":30,"context_line":"    datasources section in the configuration upon devstack instalation, do"},{"line_number":31,"context_line":"    the following:"},{"line_number":32,"context_line":"    a. add the datasource name to the types property in the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a89bdaa_a5ac5d36","line":29,"range":{"start_line":29,"start_character":37,"end_line":29,"end_character":62},"updated":"2016-09-06 07:39:07.000000000","message":"I would write:\nIn case you want your datasource to be automatically configured when devstack is installed, you need to add it to the \u0027types\u0027 property in the datasources section in the configuration. Do the following:\n\nI think it is more clear this way - the user wants the datasource to be used. And the means to do it is by adding it to \u0027types\u0027.","commit_id":"16c675db6a69675ad345203fa9cc4d929cc68bcf"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"97533eb07239407fd7a3dd8959dd13d5e0d77314","unresolved":false,"context_lines":[{"line_number":44,"context_line":"__________________"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Responsible for importing information regarding entities in the cloud."},{"line_number":47,"context_line":"Entities in this context refer both to resources (physical \u0026 virtual \u0026"},{"line_number":48,"context_line":"applicative) and alarms (Aodh, Nagios, Zabbix, Monasca, etc.)"},{"line_number":49,"context_line":"The datasource has two modes of action:"},{"line_number":50,"context_line":" 1. get_all (snapshot): Query all entities and send events to the queue."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a89bdaa_65489588","line":47,"range":{"start_line":47,"start_character":59,"end_line":47,"end_character":60},"updated":"2016-09-06 07:39:07.000000000","message":"change to a comma","commit_id":"16c675db6a69675ad345203fa9cc4d929cc68bcf"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"97533eb07239407fd7a3dd8959dd13d5e0d77314","unresolved":false,"context_lines":[{"line_number":47,"context_line":"Entities in this context refer both to resources (physical \u0026 virtual \u0026"},{"line_number":48,"context_line":"applicative) and alarms (Aodh, Nagios, Zabbix, Monasca, etc.)"},{"line_number":49,"context_line":"The datasource has two modes of action:"},{"line_number":50,"context_line":" 1. get_all (snapshot): Query all entities and send events to the queue."},{"line_number":51,"context_line":"    When done for the first time, send an \"end\" event to inform it has finished"},{"line_number":52,"context_line":"    the get_all for the datasource (because it is done asynchronously)."},{"line_number":53,"context_line":" 2. notify: Send an event to the queue upon any change."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a89bdaa_a521bdb6","line":50,"range":{"start_line":50,"start_character":59,"end_line":50,"end_character":71},"updated":"2016-09-06 07:39:07.000000000","message":"to vitrage entity queue","commit_id":"16c675db6a69675ad345203fa9cc4d929cc68bcf"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"97533eb07239407fd7a3dd8959dd13d5e0d77314","unresolved":false,"context_lines":[{"line_number":50,"context_line":" 1. get_all (snapshot): Query all entities and send events to the queue."},{"line_number":51,"context_line":"    When done for the first time, send an \"end\" event to inform it has finished"},{"line_number":52,"context_line":"    the get_all for the datasource (because it is done asynchronously)."},{"line_number":53,"context_line":" 2. notify: Send an event to the queue upon any change."},{"line_number":54,"context_line":"    This can be done in two ways:"},{"line_number":55,"context_line":"    a. Built in polling mechanism called get_changes."},{"line_number":56,"context_line":"    b. Built in pushing mechanism using the oslo bus."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a89bdaa_45139166","line":53,"range":{"start_line":53,"start_character":26,"end_line":53,"end_character":38},"updated":"2016-09-06 07:39:07.000000000","message":"to vitrage entity queue","commit_id":"16c675db6a69675ad345203fa9cc4d929cc68bcf"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"97533eb07239407fd7a3dd8959dd13d5e0d77314","unresolved":false,"context_lines":[{"line_number":53,"context_line":" 2. notify: Send an event to the queue upon any change."},{"line_number":54,"context_line":"    This can be done in two ways:"},{"line_number":55,"context_line":"    a. Built in polling mechanism called get_changes."},{"line_number":56,"context_line":"    b. Built in pushing mechanism using the oslo bus."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"A driver should inherit from \u0027vitrage.datasources.driver_base.DriverBase\u0027 class"},{"line_number":59,"context_line":"and must implement the following methods:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a89bdaa_e909df2d","line":56,"range":{"start_line":56,"start_character":16,"end_line":56,"end_character":23},"updated":"2016-09-06 07:39:07.000000000","message":"what about other types of push notifications, like zabbix?","commit_id":"16c675db6a69675ad345203fa9cc4d929cc68bcf"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"97533eb07239407fd7a3dd8959dd13d5e0d77314","unresolved":false,"context_lines":[{"line_number":67,"context_line":"+----------------------+------------------------------------+--------------------------------+--------------------------------+"},{"line_number":68,"context_line":"| get_event_types      | conf                               | void                           | for update pushing mechanism   |"},{"line_number":69,"context_line":"+----------------------+------------------------------------+--------------------------------+--------------------------------+"},{"line_number":70,"context_line":"| enrich_event         | event, event_type                  | void                           | for update pushing mechanism   |"},{"line_number":71,"context_line":"+----------------------+------------------------------------+--------------------------------+--------------------------------+"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a89bdaa_6935cfd8","line":70,"range":{"start_line":70,"start_character":106,"end_line":70,"end_character":113},"updated":"2016-09-06 07:39:07.000000000","message":"this is not needed for polling?","commit_id":"16c675db6a69675ad345203fa9cc4d929cc68bcf"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"97533eb07239407fd7a3dd8959dd13d5e0d77314","unresolved":false,"context_lines":[{"line_number":81,"context_line":"    a. Neighbor vertex with it\u0027s partial data so vitrage will know to where"},{"line_number":82,"context_line":"       to connect the edge."},{"line_number":83,"context_line":"    b. Edge that connects the vertex to its\u0027 neighbor."},{"line_number":84,"context_line":"Note that for every driver there should be a matching Transformer."},{"line_number":85,"context_line":"A transformer should inherit from"},{"line_number":86,"context_line":"\u0027vitrage.datasoures.transformer_base.TransformerBase\u0027 class and"},{"line_number":87,"context_line":"must implement the following methods:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a89bdaa_49ababd6","line":84,"range":{"start_line":84,"start_character":43,"end_line":84,"end_character":65},"updated":"2016-09-06 07:39:07.000000000","message":"Is it still correct? I think that emalin is using few transformers for the same driver","commit_id":"16c675db6a69675ad345203fa9cc4d929cc68bcf"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"97533eb07239407fd7a3dd8959dd13d5e0d77314","unresolved":false,"context_lines":[{"line_number":97,"context_line":"+----------------------------------+------------------------------------+----------------------------------------+"},{"line_number":98,"context_line":"| _create_update_neighbors         | entity event                       | neighbor tuple                         |"},{"line_number":99,"context_line":"+----------------------------------+------------------------------------+----------------------------------------+"},{"line_number":100,"context_line":"| _create_entity_key               | entity event                       | the unique key of this entity          |"},{"line_number":101,"context_line":"+----------------------------------+------------------------------------+----------------------------------------+"},{"line_number":102,"context_line":"| get_type                         |                                    | datasources\u0027 type                      |"},{"line_number":103,"context_line":"+----------------------------------+------------------------------------+----------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a89bdaa_e9cabfa0","line":100,"range":{"start_line":100,"start_character":78,"end_line":100,"end_character":88},"updated":"2016-09-06 07:39:07.000000000","message":"I would add a short explanation about the key, with examples of how it is generated","commit_id":"16c675db6a69675ad345203fa9cc4d929cc68bcf"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"97533eb07239407fd7a3dd8959dd13d5e0d77314","unresolved":false,"context_lines":[{"line_number":117,"context_line":"+----------------------------+------------------------------------+-------------------------------------------------------------+"},{"line_number":118,"context_line":"| update_method              | string - Required!                 | need to be one of: pull, push or none values                |"},{"line_number":119,"context_line":"+----------------------------+------------------------------------+-------------------------------------------------------------+"},{"line_number":120,"context_line":"| changes_interval           | integer - Optional                 | Interval between checking for changes in polling mechanism  |"},{"line_number":121,"context_line":"+----------------------------+------------------------------------+-------------------------------------------------------------+"},{"line_number":122,"context_line":"| entities                   | string list - Optional             | Sub-entities of the datasource                              |"},{"line_number":123,"context_line":"+----------------------------+------------------------------------+-------------------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a89bdaa_a95ef7e6","line":120,"range":{"start_line":120,"start_character":117,"end_line":120,"end_character":126},"updated":"2016-09-06 07:39:07.000000000","message":"Need to say what the default is","commit_id":"16c675db6a69675ad345203fa9cc4d929cc68bcf"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"97533eb07239407fd7a3dd8959dd13d5e0d77314","unresolved":false,"context_lines":[{"line_number":151,"context_line":"    ]"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"What Happens Next"},{"line_number":155,"context_line":"-----------------"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"Now, when loading Vitrage, vitrage.datasources.launcher.Launcher"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a89bdaa_e9dd5f43","line":154,"range":{"start_line":154,"start_character":0,"end_line":154,"end_character":17},"updated":"2016-09-06 07:39:07.000000000","message":"maybe change to \"instantiation flow\"","commit_id":"16c675db6a69675ad345203fa9cc4d929cc68bcf"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"97533eb07239407fd7a3dd8959dd13d5e0d77314","unresolved":false,"context_lines":[{"line_number":170,"context_line":"--------------------------------"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"Any option your datasource defined can be accessed using oslo_config.cfg"},{"line_number":173,"context_line":"or by configuring vitrage.conf."},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"**Example**"},{"line_number":176,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a89bdaa_49cacb6f","line":173,"range":{"start_line":173,"start_character":18,"end_line":173,"end_character":30},"updated":"2016-09-06 07:39:07.000000000","message":"please add an example for vitrage.conf","commit_id":"16c675db6a69675ad345203fa9cc4d929cc68bcf"}]}
