<div dir="ltr"><div><span style="font-size:12.8px">Ilya, </span></div><div><span style="font-size:12.8px"><br></span></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="font-size:12.8px">Continuous tracing is a cool story, but before proceeding it would be good to estimate the overhead. There will be an additional delay introduced by OSProfiler library itself and delay caused by events transfer to consumer. OSProfiler overhead is critical to minimize. E.g. VM creation produces >1k events, which gives almost 2 times performance penalty in DevStack. Would be definitely nice to have the same test run on real environment -- something that Performance Team could help with. </span></blockquote><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">As far as I understand the idea of continuous tracing is to collect as few as possible metrics to get insights of the request (not all tracepoints). </span></div><div><span style="font-size:12.8px">If you keep only API, RPC and Driver calls it is going to drastically reduce amount of metrics collected. </span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">As well, one of the things that should be done is sending the metrics in bulk after the request in async way, that way we won't slow down UX and won't add too much load on underlaying infrastructure.  </span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Rajul,</span></div><div><span class="gmail-im" style="font-size:12.8px"><span style="color:rgb(31,73,125);font-size:14.6667px"><br class="gmail-Apple-interchange-newline"></span><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><span style="color:rgb(31,73,125);font-size:14.6667px">ICYMI, Boris is father of OSprofiler in OpenStack [1]</span><font color="#1f497d"><span style="font-size:14.6667px"><br></span></font><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">This is why I was excited to get the first response from him and curious on his stand. Really looking forward to get more on this from him. Also, Josh's response on other Tracing thread peeked my curiosity further.</blockquote></blockquote><div><br></div><div>I'll try to elaborate my points. For monitoring perspective it's going to be super beneficial to have continuous tracing and I fully support the effort. However, it won't help community too much to fix the real problems in architecture (in my opinion it's too late), for example creating VM performs ~400 DB requests... and yep this is going to be slow, and now what? how can you fix that?..</div><div><br></div><div>Best regards,</div><div>Boris Pavlovic </div><div><br></div></span></div><div><span style="font-size:12.8px"><br></span></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Aug 4, 2017 at 1:12 PM, Rajul Kumar <span dir="ltr"><<a href="mailto:kumar.raju@husky.neu.edu" target="_blank">kumar.raju@husky.neu.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Vinh<div><br></div><div><span class=""><p class="MsoNormal"><span style="font-size:11pt;color:rgb(31,73,125)">For the `agent idea`, I think it is very good.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;color:rgb(31,73,125)">However, in OpenStack, that idea may be really hard for us.</span></p><p class="MsoNormal"><span style="color:rgb(31,73,125);font-size:14.6667px">The reason is the same with what Boris think.</span><span style="font-size:11pt;color:rgb(31,73,125)"><br></span></p><p class="MsoNormal"><span style="font-size:11pt;color:rgb(31,73,125)"><br></span></p></span>Thanks. We did a poc and working to integrate it with OSProfiler without affecting any of the services. </div><div>I understand this will be difficult.</div><span class=""><div><br></div><div><span style="color:rgb(31,73,125);font-size:14.6667px">For tail-based and adaptive sampling, it is another story.</span></div><div><font color="#1f497d"><span style="font-size:14.6667px"><br></span></font></div></span><div>Exactly. This needs some major changes. We will need this if we look to have an effective tracing and any kind of automated analysis of the system.</div><div><br></div><div><span class=""><p class="MsoNormal"><span style="font-size:11pt;color:rgb(31,73,125)">However, in naïve way, we can use sampling abilities from other OpenTracing compatible tracers<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;color:rgb(31,73,125)">such as Uber Jaeger, Appdash, Zipkin (has an open pull request), LighStep … by making OSprofiler<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;color:rgb(31,73,125)">compatible with OpenTracing API.<u></u><u></u></span></p><div><span style="font-size:11pt;color:rgb(31,73,125)"><br></span></div></span>I agree. Initially, this can be done.<br>However, the limitations of traces they generate is another story and working to come up with another blueprint on that.</div><span class=""><div><br></div><div><span style="color:rgb(31,73,125);font-size:14.6667px">ICYMI, Boris is father of OSprofiler in OpenStack [1]</span></div><div><font color="#1f497d"><span style="font-size:14.6667px"><br></span></font></div></span><div>This is why I was excited to get the first response from him and curious on his stand. Really looking forward to get more on this from him. Also, Josh's response on other Tracing thread peeked my curiosity further.</div><div><br></div><div>Thanks</div><div><span class="HOEnZb"><font color="#888888">Rajul</font></span><div><div class="h5"><br><div><font color="#1f497d"><span style="font-size:11pt"><br></span></font></div><div><font color="#1f497d"><span style="font-size:11pt"><br></span></font></div><p class="MsoNormal"><br></p><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Aug 3, 2017 at 10:04 PM, <a href="mailto:vinhnt@vn.fujitsu.com" target="_blank">vinhnt@vn.fujitsu.com</a> <span dir="ltr"><<a href="mailto:vinhnt@vn.fujitsu.com" target="_blank">vinhnt@vn.fujitsu.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">





<div lang="EN-US">
<div class="m_-8871751070049199087gmail-m_-4228606689556528466WordSection1">
<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31,73,125)">Hi Rajul,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31,73,125)">For the `agent idea`, I think it is very good.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31,73,125)">However, in OpenStack, that idea may be really hard for us.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31,73,125)">The reason is the same with what Boris think.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31,73,125)">For the sampling part, head-based sampling can be implemented in OSprofiler.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31,73,125)">For tail-based and adaptive sampling, it is another story.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31,73,125)">However, in naïve way, we can use sampling abilities from other OpenTracing compatible tracers<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31,73,125)">such as Uber Jaeger, Appdash, Zipkin (has an open pull request), LighStep … by making OSprofiler<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31,73,125)">compatible with OpenTracing API.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31,73,125)">ICYMI, Boris is father of OSprofiler in OpenStack [1]<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31,73,125)">[1] <a href="https://specs.openstack.org/openstack/oslo-specs/specs/mitaka/osprofiler-cross-service-project-profiling.html" target="_blank">https://specs.openstack.org/op<wbr>enstack/oslo-specs/specs/mitak<wbr>a/osprofiler-cross-service-<wbr>project-profiling.html</a><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31,73,125)">Best regards,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31,73,125)">Vinh Nguyen Trong<i><u></u><u></u></i></span></p>
<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31,73,125)">PODC – Fujitsu Vietnam Ltd.</span><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">
<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<div style="border-top:none;border-right:none;border-bottom:none;border-left:1.5pt solid blue;padding:0in 0in 0in 4pt">
<div>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0in 0in">
<p class="MsoNormal"><b><span style="font-size:11pt;font-family:Calibri,sans-serif">From:</span></b><span style="font-size:11pt;font-family:Calibri,sans-serif"> Rajul Kumar [mailto:<a href="mailto:kumar.raju@husky.neu.edu" target="_blank">kumar.raju@husky.neu.e<wbr>du</a>]
<br>
<b>Sent:</b> Friday, 04 August, 2017 03:49<br>
<b>To:</b> OpenStack Development Mailing List (not for usage questions) <<a href="mailto:openstack-dev@lists.openstack.org" target="_blank">openstack-dev@lists.openstack<wbr>.org</a>><br>
<b>Subject:</b> Re: [openstack-dev] [oslo][performance] Proposing tail-based sampling in OSProfiler<u></u><u></u></span></p>
</div>
</div><div><div class="m_-8871751070049199087gmail-h5">
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">Hi Boris<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">That is a point of concern. <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Can you please direct to any of those?<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Anyways, we don't have anything in place for OpenStack yet.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Now, either we pick another tracing solution like Zipkin, Jaeger etc. which have their own limitations OR enhance OSProfiler.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">We pick the later as it's most native and better coupled with OpenStack as of now. <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">I understand that we may be blocked by these issues. However, I feel it'll be better to fight with OSProfiler than anything else till we come up with something better :)<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Thanks<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Rajul<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">On Thu, Aug 3, 2017 at 4:01 PM, Boris Pavlovic <<a href="mailto:boris@pavlovic.me" target="_blank">boris@pavlovic.me</a>> wrote:<u></u><u></u></p>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in">
<div>
<p class="MsoNormal">Rajul, <u></u><u></u></p>
<div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal">May I ask why you think so? <u></u><u></u></p>
</blockquote>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Exposed by OSprofiler issues are going to be really hard to fix in current OpenStack architecture. <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Best regards,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Boris Pavlovic <u></u><u></u></p>
</div>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">On Thu, Aug 3, 2017 at 12:56 PM, Rajul Kumar <<a href="mailto:kumar.raju@husky.neu.edu" target="_blank">kumar.raju@husky.neu.edu</a>> wrote:<u></u><u></u></p>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in">
<div>
<p class="MsoNormal">Hi Boris<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Good to hear from you.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">May I ask why you think so? <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">We do see some potential with OSProfiler for this and further objectives.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Thanks<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><span style="color:rgb(136,136,136)">Rajul<u></u><u></u></span></p>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">On Thu, Aug 3, 2017 at 3:48 PM, Boris Pavlovic <<a href="mailto:boris@pavlovic.me" target="_blank">boris@pavlovic.me</a>> wrote:<u></u><u></u></p>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in">
<div>
<p class="MsoNormal">Rajul, <u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">It makes sense! However, maybe it's a bit too late... ;) <u></u><u></u></p>
</div>
<div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Best regards,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Boris Pavlovic <u></u><u></u></p>
</div>
</div>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<div>
<p class="MsoNormal">On Thu, Aug 3, 2017 at 12:16 PM, Rajul Kumar <<a href="mailto:kumar.raju@husky.neu.edu" target="_blank">kumar.raju@husky.neu.edu</a>> wrote:<u></u><u></u></p>
</div>
</div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<div>
<div>
<p class="MsoNormal">Hello everyone<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I have added a blueprint on having tail-based sampling as a sampling option for continuous tracing in OSProfiler. It would be really helpful to have some thoughts, ideas, comments on this from the community.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Continuous tracing provides a good insight on how various transactions behave across in a distributed system. Currently, OpenStack doesn't have a defined solution for continuous tracing. Though, it has OSProfiler that does generates selective
 traces, it may not capture the occurrence. Even if we have OSProfiler running continuously [1], we need to sample the traces so as to cut down the data generated and still keep the useful info.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Head based sampling can be applied that decides initially whether a trace should be saved or not. However, it may miss out on some useful traces. I propose to have tail-based sampling [2] mechanism that makes the decision at the end of
 the transaction and tends to keep all the useful traces. This may require a lot of changes depending on what all type of info is required and the solution that we pick to implement it [2]. This may not affect the current working of any of the services on OpenStack
 as it will be off the critical path [3]. <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Please share your thoughts on this and what solution should be preferred in a broader OpenStack's perspective.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">This is a step in the process of having an automated diagnostic solution for OpenStack cluster.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">[1] <a href="https://blueprints.launchpad.net/osprofiler/+spec/osprofiler-overhead-control" target="_blank">https://blueprints.launchp<wbr>ad.net/osprofiler/+spec/<wbr>osprofiler-overhead-control</a><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">[2] <a href="https://blueprints.launchpad.net/osprofiler/+spec/tail-based-coherent-sampling" target="_blank">https://blueprints.launchp<wbr>ad.net/osprofiler/+spec/tail-<wbr>based-coherent-sampling</a><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">[3] <a href="https://blueprints.launchpad.net/osprofiler/+spec/asynchronous-trace-collection" target="_blank">https://blueprints.launchp<wbr>ad.net/osprofiler/+spec/<wbr>asynchronous-trace-collection</a><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Thanks<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><span style="color:rgb(136,136,136)">Rajul Kumar<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:rgb(136,136,136)"><u></u> <u></u></span></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>
<p class="MsoNormal" style="margin-bottom:12pt">______________________________<wbr>______________________________<wbr>______________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">
OpenStack-dev-request@lists.op<wbr>enstack.org?subject:unsubscrib<wbr>e</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi<wbr>-bin/mailman/listinfo/openstac<wbr>k-dev</a><u></u><u></u></p>
</blockquote>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<p class="MsoNormal" style="margin-bottom:12pt"><br>
______________________________<wbr>______________________________<wbr>______________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">
OpenStack-dev-request@lists.op<wbr>enstack.org?subject:unsubscrib<wbr>e</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi<wbr>-bin/mailman/listinfo/openstac<wbr>k-dev</a><u></u><u></u></p>
</blockquote>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>
</div>
<p class="MsoNormal" style="margin-bottom:12pt"><br>
______________________________<wbr>______________________________<wbr>______________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">
OpenStack-dev-request@lists.op<wbr>enstack.org?subject:unsubscrib<wbr>e</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi<wbr>-bin/mailman/listinfo/openstac<wbr>k-dev</a><u></u><u></u></p>
</blockquote>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>
</div>
<p class="MsoNormal" style="margin-bottom:12pt"><br>
______________________________<wbr>______________________________<wbr>______________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">
OpenStack-dev-request@lists.op<wbr>enstack.org?subject:unsubscrib<wbr>e</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi<wbr>-bin/mailman/listinfo/openstac<wbr>k-dev</a><u></u><u></u></p>
</blockquote>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div></div></div>
</div>
</div>

<br>______________________________<wbr>______________________________<wbr>______________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.op<wbr>enstack.org?subject:unsubscrib<wbr>e</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi<wbr>-bin/mailman/listinfo/openstac<wbr>k-dev</a><br>
<br></blockquote></div><br></div></div></div></div></div>
<br>______________________________<wbr>______________________________<wbr>______________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.<wbr>openstack.org?subject:<wbr>unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/<wbr>cgi-bin/mailman/listinfo/<wbr>openstack-dev</a><br>
<br></blockquote></div><br></div>