<div dir="ltr">Hi lfat,<div><br></div><div>Thank you for the answers, please see my reply inline.<br><br><div class="gmail_quote"><div dir="ltr">On Tue, Aug 9, 2016 at 6:51 PM Afek, Ifat (Nokia - IL) <<a href="mailto:ifat.afek@nokia.com">ifat.afek@nokia.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div style="word-wrap:break-word;color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
<div>
<div>Hi Yujun,</div>
<div>
<div></div>
</div>
</div>
<div><br>
</div>
<div>Please see my answers below.</div>
<div><br>
</div>
<div>
<div>
<div>Best Regards,</div>
<div>Ifat.</div>
</div>
</div>
<div><br>
</div>
<div>
<div style="font-family:Calibri;font-size:12pt;border-width:1pt medium medium;border-style:solid none none;padding:3pt 0in 0in;border-top-color:rgb(181,196,223)">
<span style="font-weight:bold">From: </span>Yujun Zhang<br>
<span style="font-weight:bold">Date: </span>Tuesday, 9 August 2016 at 12:06<br>
</div></div></div><div style="word-wrap:break-word;color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif"><div>
<blockquote style="border-left-color:rgb(181,196,223);border-left-width:5px;border-left-style:solid;padding:0px 0px 0px 5px;margin:0px 0px 0px 5px">
<div dir="ltr">
<div>
<div><br>
</div>
<div>For proprietary datasource, I'm considering to adapt the api to common protocol/interface, e.g. RESTful, SNMP and etc and I wish to know how to add support for these interface.</div>
</div>
</div>
</blockquote>
</div></div><div style="word-wrap:break-word;color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif"><div><div>[Ifat]: Do you mean that you want to write a datasource that gets its information from SNMP/REST API? Note that for alarm datasources, we have in our roadmap to support OPNFV Doctor SB REST API[1]. Will it be relevant for your use cases?</div></div></div></blockquote><div>[yujunz] Great, this could also be a good start point for us</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
<span>
<blockquote style="BORDER-LEFT:#b5c4df 5 solid;PADDING:0 0 0 5;MARGIN:0 0 0 5">
<div>
<div>
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Some documents are found in <a href="https://github.com/openstack/vitrage-specs" rel="noreferrer" target="_blank">
https://github.com/openstack/vitrage-specs</a> and datasource seems to be related to synchronizer but I didn't find a dedicated spec.<br>
</blockquote>
</div>
</div>
</div>
</blockquote>
</span>
</div><div style="word-wrap:break-word;color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif"><div>[Ifat]: We started documenting the process of adding a new datasource, but the document is not final. We will try to finish it shortly. BTW, there are many other documents in Vitrage wiki page[2].</div></div></blockquote><div>[yujunz] Thanks. </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
<span>
<blockquote style="BORDER-LEFT:#b5c4df 5 solid;PADDING:0 0 0 5;MARGIN:0 0 0 5">
<div>
<div>
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
1. How do I register a new datasource in an existing system?<br></blockquote></div></div></div></blockquote></span></div></blockquote><div>[yujunz] It seems to be in <a href="https://github.com/openstack/vitrage/blob/master/vitrage/datasources/__init__.py">https://github.com/openstack/vitrage/blob/master/vitrage/datasources/__init__.py</a><span style="line-height:1.5">  </span></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif"><span><blockquote style="BORDER-LEFT:#b5c4df 5 solid;PADDING:0 0 0 5;MARGIN:0 0 0 5"><div><div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
2. Is the type of datasource (ALARM/RESOURCE) configured in `/etc/vitrage/datasource_values/<datasource>.yaml` ?<br>
</blockquote>
</div>
</div>
</div>
</blockquote>
</span>
</div><div style="word-wrap:break-word;color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif"><div>[Ifat]: No, it is configured in the datasource code. For information about datasource_values please see [3]</div></div></blockquote><div>[yujunz] which code file? I found `category: RESOURCE` in the datasource configuration file as <a href="https://github.com/openstack/vitrage/blob/master/doc/source/resource-state-config.rst#format">https://github.com/openstack/vitrage/blob/master/doc/source/resource-state-config.rst#format</a></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
<span>
<blockquote style="BORDER-LEFT:#b5c4df 5 solid;PADDING:0 0 0 5;MARGIN:0 0 0 5">
<div>
<div>
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
3. Is there any other datasource type besides ALARM/RESOURCE?</blockquote>
</div>
</div>
</div>
</blockquote>
</span>
</div><div style="word-wrap:break-word;color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif"><div>[Ifat]: No, and at the moment we don’t see a need for that. Vitrage can hold resources of any type in a topology graph, and manage alarms that are raised on these resources. If you see a use case for other datasource types, let us know.  </div></div></blockquote><div>[yujunz]  I agree. Just ask to confirm my guess :-)</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
<span>
<blockquote style="BORDER-LEFT:#b5c4df 5 solid;PADDING:0 0 0 5;MARGIN:0 0 0 5">
<div>
<div>
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
4. What does `aggregated values` and `priority` mean<br>
</blockquote>
</div>
</div>
</div>
</blockquote>
</span>
</div><div style="word-wrap:break-word;color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif"><div>[Ifat]: Detailed in [3]</div></div></blockquote><div>[yujunz]: Clear now. </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
<span>
<blockquote style="BORDER-LEFT:#b5c4df 5 solid;PADDING:0 0 0 5;MARGIN:0 0 0 5">
<div>
<div>
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
5. What is the required data format for the datasource driver api? The inline comments give some brief description but didn't specify the api signature.<br>
Many thanks.<br>
</blockquote>
</div>
</div>
</div>
</blockquote>
</span>
</div><div style="word-wrap:break-word;color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif"><div>[Ifat]: This should be part of the datasource documentation that we need to add. But basically, the driver should return a dictionary with few predefined fields (like datasource type, timestamp), and add whatever data is needed for the datasource. Then,
 the datasource transformer will transform this data into a vertex and decide where to connect it to the graph.</div></div></blockquote><div>[yujunz] So if I understand it correctly, driver and transformer works as a pair and the intermediate data format is not exposed to vitrage. It consumes data from the sources and convert them into graph </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
<div>[1] <a href="https://gerrit.opnfv.org/gerrit/12179" target="_blank">https://gerrit.opnfv.org/gerrit/12179</a> </div>
<div>[2] <a href="https://wiki.openstack.org/wiki/Vitrage" target="_blank">https://wiki.openstack.org/wiki/Vitrage</a></div>
<div><u>[3] </u><a href="https://github.com/openstack/vitrage/blob/master/doc/source/resource-state-config.rst" target="_blank">https://github.com/openstack/vitrage/blob/master/doc/source/resource-state-config.rst</a></div></div>
</blockquote></div></div></div>