<div dir="ltr">Hrm, well, this is a<span style="font-size:13.1999998092651px;line-height:19.7999992370605px"> discussion I was hoping to have in Vancouver, but we never got around to it.</span><div><br></div><div>I feel we actually want three projects. One, which permits a standalone Ironic Dashboard. One, which integrates Ironic with Horizon. One, which contains as much common code as possible. <span style="font-size:13.1999998092651px;line-height:1.5">And, potentially, one that contains as much common code between, say, an ironic shared library and a glance shared library. Because Ironic isn't the only project out there that may.... and I know this is CRAZY... but there are other projects that MAY not want to be dependent on other projects.</span></div><div><span style="font-size:13.1999998092651px;line-height:1.5"><br></span></div><div><span style="font-size:13.1999998092651px;line-height:1.5">So while I do not have a problem with an ironic dashboard inside horizon's angular dashboard, and I do not have a problem working on that, I'm rather concerned about the feasibility of that right now. And the reason's really, really simple: The plumbing's not there yet.</span></div><div><span style="font-size:13.1999998092651px;line-height:1.5"><br></span></div><div>What I mean by that is that the dependency mechanism by which all these projects could chain off of each other isn't there. And the mechanism by which these projects are published from infra isn't there. And we haven't quite agreed on even common style rules yet. And a long list of other necessary things that come from having to catch up with K-#-of-releases-in-years of Infra having a full team of engineers working on building up a testing infrastructure.</div><div><br></div><div>And, while I understand that "Hey why don't we just start one project and split it apart when need arises" is a valid approach, or "What's wrong with horizon" is a likely question, I personally feel that they're all hacks, and as engineers of enterprise software we have to be more meticulous than that.</div><div><span style="font-size:13.1999998092651px;line-height:1.5"><br></span></div><div>But: Do I want to stand in the way of an ironic-dashboard because all of these plumbing requirements? No. But please understand that until that plumbing is in place, and until we reach consensus on how we do javascript in openstack, any decisions you make on technology choice, architecture, project structure, and implementation is about 75% likely to have to be redone, and I will very happily -1 every patch of yours and tell you so.<br></div><div><br></div><div>And I'm working on that plumbing. So if you want to help, here's my current list of TODO Items that I have to complete before I become a new dad in early september.</div><div><br></div><div>- Land CORS support in our API's.</div><div><div style="font-size:13.1999998092651px;line-height:19.7999992370605px">- Fix all the linting errors in Horizon. This will permit horizon to gate on javascript style guidelines, and finally use the javascript-jobs template in the gate.</div><div style="font-size:13.1999998092651px;line-height:19.7999992370605px">- This will permit merlin to adopt the javascript style guidelines, and run them in the gate.</div><div style="font-size:13.1999998092651px;line-height:19.7999992370605px">- This will also permit angular-ironic-dashboard-rainbows-and-unicorns to adopt those guidelines, and run them in the gate.</div><div style="font-size:13.1999998092651px;line-height:19.7999992370605px">- We need to figure out how to gate a javascript API library integration test against devstack. And then we need to standardize that build across all projects that use the javascript builds.</div><div style="font-size:13.1999998092651px;line-height:19.7999992370605px">- We need to figure out how we make sure library dependencies are shared between projects, so our versions don't get out of sync (i.e. I can import things from the ironic shared lib into both horizon and ironic-webclient).</div><div style="font-size:13.1999998092651px;line-height:19.7999992370605px">- We need to talk to the infra team about publishing released javascript library tarballs to an authoritative, stable "Repository". The reason for this is that Infra doesn't like skynet, and therefore doesn't let zuul or any of our other tools push code back to our git repositories in an automated fashion. So the javascript-world's use of Git-As-The-Authoritative-Source-Of-Everything is unlikely to work for us, so we have to publish tarballs (alternative solutions to this are appreciated).</div><div style="font-size:13.1999998092651px;line-height:19.7999992370605px">- We need to teach both bower and npm to consume our tarballs. This isn't strictly a need, as we can just express our dependencies as absolute URI's _to_ those tarballs, but if the world at large is interested in starting to build their own Apps On OpenStack using the javascript API's, that's something we want to do.</div><div style="font-size:13.1999998092651px;line-height:19.7999992370605px">- We need to have a serious discussion about ACL's in gerrit, as well as what it means to be a core on Horizon, vs a core on an oslo-like library that is consumed by horizon and other projects.</div><div style="font-size:13.1999998092651px;line-height:19.7999992370605px"><br></div><div style="font-size:13.1999998092651px;line-height:19.7999992370605px"><span style="font-size:13.1999998092651px;line-height:19.7999992370605px">Michael</span><br></div></div></div><br><div class="gmail_quote"><div dir="ltr">On Thu, Jun 18, 2015 at 5:48 PM niuzhenguo <<a href="mailto:niuzhenguo@huawei.com">niuzhenguo@huawei.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="ZH-CN" link="blue" vlink="purple">
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d">Hi Thai Q Tran,<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d">Thanks for the links about the Angular Dashboard, I agree with starting with the new angular horizon, will begin to draft a init repo of the new
 ironic-dashboard.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d">And maybe can work with Krotscheck together.
<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d">And as Andreas Jaeger comments here [1], he suggested to push ironic-dashboard in the openstack namespace instead of stackforge, and have a separate
 core team,<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d">needs Ironicers chime in here.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d">[1] <a href="https://review.openstack.org/#/c/191131/" target="_blank">https://review.openstack.org/#/c/191131/</a></span><b><span lang="EN-US" style="font-family:"Arial","sans-serif";color:black"><u></u><u></u></span></b></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d">Regards<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d">-zhenguo<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<div style="border:none;border-top:solid #b5c4df 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Thai Q Tran [mailto:<a href="mailto:tqtran@us.ibm.com" target="_blank">tqtran@us.ibm.com</a>]
<br>
<b>Sent:</b> Friday, June 19, 2015 6:36 AM</span></p></div></div></div><div lang="ZH-CN" link="blue" vlink="purple"><div><div style="border:none;border-top:solid #b5c4df 1.0pt;padding:3.0pt 0cm 0cm 0cm"><p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif""><br>
<b>To:</b> OpenStack Development Mailing List (not for usage questions)<br>
<b>Subject:</b> Re: [openstack-dev] [Ironic][Horizon][Tuskar-ui] Making a dashboard for Ironic<u></u><u></u></span></p></div></div></div><div lang="ZH-CN" link="blue" vlink="purple"><div>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana","sans-serif"">Hi Zhengou,<u></u><u></u></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana","sans-serif""><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana","sans-serif"">I think it make sense to start with the angular version. It's true that we don't have an angular dashboard yet,<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana","sans-serif"">but we have a pretty good idea of what needs to go into it. I'll link a few patches that will give you an idea<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana","sans-serif"">of where we are headed. I think this will also save you some work in the long run.<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana","sans-serif""><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana","sans-serif"">For creating a new dashboard: <a href="https://review.openstack.org/#/c/190852/" target="_blank">https://review.openstack.org/#/c/190852/</a><u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana","sans-serif"">For creating a new panel: <a href="https://review.openstack.org/#/c/190865/" target="_blank">https://review.openstack.org/#/c/190865/</a><u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana","sans-serif"">For demo patch: <a href="https://review.openstack.org/#/c/181253/" target="_blank">https://review.openstack.org/#/c/181253/</a><u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana","sans-serif""><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana","sans-serif"">The file and code structure I would say is pretty stable.<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana","sans-serif"">There are still some infra stuff that needs to happen to make this easier to do.<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana","sans-serif"">Things like translation in static HTML, auto discovery of static files, start dash for angular, etc...<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana","sans-serif""><br>
<span style="color:#990099">-----niuzhenguo <<a href="mailto:niuzhenguo@huawei.com" target="_blank">niuzhenguo@huawei.com</a>> wrote: -----</span><u></u><u></u></span></p>
<div>
<div style="border:none;border-left:solid black 1.5pt;padding:0cm 0cm 0cm 4.0pt">
<p class="MsoNormal" style="margin-bottom:12.0pt"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana","sans-serif"">To: "OpenStack Development Mailing List (not for usage questions)" <<a href="mailto:openstack-dev@lists.openstack.org" target="_blank">openstack-dev@lists.openstack.org</a>><br>
From: niuzhenguo <<a href="mailto:niuzhenguo@huawei.com" target="_blank">niuzhenguo@huawei.com</a>><br>
Date: 06/17/2015 06:38PM<br>
Subject: Re: [openstack-dev] [Ironic][Horizon][Tuskar-ui] Making a dashboard for Ironic</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif""></span><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana","sans-serif""><u></u><u></u></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d">Hi Krotscheck,</span><span lang="EN-US"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><span lang="EN-US"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d">Sorry for not attending the last meeting due to TZ.</span><span lang="EN-US"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><span lang="EN-US"><u></u><u></u></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d">Yes, Horizon is moving towards an Angular application, but for now there’s no any Angular Dashboard landed. I think it’s high time that we should
 make a standard for other projects which want to horizon compatible on whether they should based on Angular Dashboard or the current Horizon framework. This is important for the new Magnum and Ironic UI, personally, I’d prefer to use the current framework
 and  move to Angular Dashboard when it’s mature.</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana","sans-serif""><u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana","sans-serif""><u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d">And after a quick look at your JS project, I think it’s totally a standalone UI not based on Horizon Angular Dashboard (correct me if I missed
 something), and seems there’s no any update over a month, are you planning to push you repo to stackforge or openstack?</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana","sans-serif""><u></u><u></u></span></p>
</div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><span lang="EN-US"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d">Anyway, it’s clear that we should make an Ironic dashboard, it’s a good start.
</span><span lang="EN-US"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><span lang="EN-US"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><span lang="EN-US"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d">Regards</span><span lang="EN-US"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d">-zhenguo</span><span lang="EN-US"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><span lang="EN-US"><u></u><u></u></span></p>
<div style="border:none;border-top:solid #b5c4df 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Michael
 Krotscheck [<a href="mailto:krotscheck@gmail.com" target="_blank">mailto:krotscheck@gmail.com</a>]
<br>
<b>Sent:</b> Wednesday, June 17, 2015 11:56 PM<br>
<b>To:</b> OpenStack Development Mailing List (not for usage questions)<br>
<b>Subject:</b> Re: [openstack-dev] [Ironic][Horizon][Tuskar-ui] Making a dashboard for Ironic</span><span lang="EN-US"><u></u><u></u></span></p>
</div>
<p class="MsoNormal"><span lang="EN-US"> <u></u><u></u></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US">Hey there!<br>
<br>
Yes, we are duplicating effort</span><span lang="EN-US" style="font-size:10.0pt">. I've spent quite a bit of effort over the past few months landing features inside openstack that will make it possible for a JavaScript client to be imported to horizon as a
 dependency. This includes CORS, configuration, caching, infra tooling, etc, with the end goal being a maximum amount of code reusability between the standalone UI and Horizon. While it may not appear that way, I _am_ actively working on this project, though
 I'm currently focused on javascript infrastructure tooling and oslo middleware than the ironic webclient itself.</span><span lang="EN-US"><u></u><u></u></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US"> <u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt">With Horizon also moving towards an angular application, I feel it makes far more sense to build components for the "new" Horizon than
 the old one.</span><span lang="EN-US"><u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"> <u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt">Michael</span><span lang="EN-US"><u></u><u></u></span></p>
</div>
</div>
<p class="MsoNormal"><span lang="EN-US"> <u></u><u></u></span></p>
<div>
<div>
<p class="MsoNormal"><span lang="EN-US">On Tue, Jun 16, 2015 at 9:02 PM NiuZhenguo <<a href="mailto:niuzhenguoing@hotmail.com" target="_blank">niuzhenguoing@hotmail.com</a>> wrote:<u></u><u></u></span></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span lang="EN-US">hi folks,<u></u><u></u></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US"> <u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">I'm planning to propose a new horizon plugin ironic-dashboard to fill the gap that ironic doesn't have horizon support. I know there's a nodes panel on "infrastructure"
 dashboard handled by tuskar-ui, but it's specifically geared towards TripleO. Ironic needs a separate dashboard to present an interface for querying and managing ironic's resources (Drivers, Nodes, and Ports).<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"> <u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">After discussion with the ironic community, I pushed an ironic-dashboard project to stackforge [1].<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"> <u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">Also there's an existing JS UI for ironic in developing now [2], we may try to resolve the same goals, but as an integrated openstack project, there's clear needs
 to have horizon support.<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"> <u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">I'd like to get what's your suggestion, thanks in advance.<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"> <u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"> <u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">[1] <a href="https://review.openstack.org/#/c/191131/" target="_blank"><span style="color:#0068cf">https://review.openstack.org/#/c/191131/</span></a><u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">[2] <a href="https://github.com/krotscheck/ironic-webclient" target="_blank"><span style="color:#0068cf">https://github.com/krotscheck/ironic-webclient</span></a><u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"> <u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"> <u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">Regards<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">-zhenguo<u></u><u></u></span></p>
</div>
</div>
</div>
<p class="MsoNormal"><span lang="EN-US">__________________________________________________________________________<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.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><u></u><u></u></span></p>
</blockquote>
</div>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Courier New"">__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="mailto:OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">
OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a></span><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana","sans-serif""><u></u><u></u></span></p>
</div>
</div>
</div>
</div>
</div></div>

__________________________________________________________________________<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.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</blockquote></div>