<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
<div>
<div>
<div>I wonder if we should just refactor the Neutron provider to support either format?  That way we stay independent from whatever the particular installation’s cliff/tablib situation is.</div>
<div><br>
</div>
<div>We can probably safely assume that none of the Neutron objects will have attributes called ‘Field’ or ‘Value’, so it would be fairly easy to detect which format is there.</div>
<div><br>
</div>
<div>Mike</div>
<div><br>
</div>
<div>
<div id="MAC_OUTLOOK_SIGNATURE"></div>
</div>
</div>
</div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<div style="font-family:Calibri; font-size:12pt; text-align:left; color:black; BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<span style="font-weight:bold">From: </span>Denis Egorenko <<a href="mailto:degorenko@mirantis.com">degorenko@mirantis.com</a>><br>
<span style="font-weight:bold">Reply-To: </span>"OpenStack Development Mailing List (not for usage questions)" <<a href="mailto:openstack-dev@lists.openstack.org">openstack-dev@lists.openstack.org</a>><br>
<span style="font-weight:bold">Date: </span>Thursday, December 31, 2015 at 5:59 AM<br>
<span style="font-weight:bold">To: </span>"OpenStack Development Mailing List (not for usage questions)" <<a href="mailto:openstack-dev@lists.openstack.org">openstack-dev@lists.openstack.org</a>><br>
<span style="font-weight:bold">Subject: </span>Re: [openstack-dev] [puppet] [neutron] Serious bug in puppet neutron cli json output parsing.<br>
</div>
<div><br>
</div>
<div>
<div>
<div dir="ltr">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<span style="color:rgb(0,0,0);font-size:12.8000001907349px">Last I checked, which was quite a while ago, openstackclient didn't support everything we were using from the neutron client.</span></blockquote>
<div><br>
</div>
<div>That's true. Openstack client doesn't support all features of neutron client [1].</div>
<div><br>
</div>
<div>I would prefer use 3) option, but, unfortunately, i also don't see way, how to detect stevedore and cliff.</div>
<div><br>
</div>
<div>[1] <a href="https://github.com/openstack/python-openstackclient/blob/master/setup.cfg#L329-L339">https://github.com/openstack/python-openstackclient/blob/master/setup.cfg#L329-L339</a></div>
<div class="gmail_extra"><br>
<div class="gmail_quote">2015-12-30 19:53 GMT+03:00 Colleen Murphy <span dir="ltr">
<<a href="mailto:colleen@gazlene.net" target="_blank">colleen@gazlene.net</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="ltr"><br>
<div class="gmail_extra"><br>
<div class="gmail_quote"><span class="">On Wed, Dec 30, 2015 at 8:37 AM, Sofer Athlan-Guyot
<span dir="ltr"><<a href="mailto:sathlang@redhat.com" target="_blank">sathlang@redhat.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Hi,<br>
<br>
I have added neutron people as they may help to find a solution.<br>
<br>
After banging my head against the wall for a whole afternoon I<br>
discovered a serious bug in puppet neutron module.<br>
<br>
I not going to repeat here the detail of the bug report[1].  Basically:<br>
 - neutron_port<br>
 - neutron_subnet<br>
 - neutron_router<br>
 - neutron_network<br>
<br>
may break idempotency randomly and won't work at all when clifftablib is<br>
removed from the package dependency of python-openstackclient<br>
(Mitaka[2])<br>
<br>
So the problem is that neutron cli json output on liberty (at least, and<br>
maybe before) is not consistent and may come from cliff or clifftablib.<br>
I didn't test it but the same may apply to openstack cli. As we don't<br>
use the openstack cli json output it's not a issue (for puppet modules)<br>
<br>
The available solution I can see are:<br>
 1. go back to parsing csv, shell output (revert [3])<br>
 2. find a way to leverage openstacklib parsing for neutron as well<br>
 3. keep json and parse the right output (cliff) and find a way to make<br>
    sure that it is always used by stevedore<br>
 4. ?<br>
<br>
</blockquote>
</span>
<div>Last I checked, which was quite a while ago, openstackclient didn't support everything we were using from the neutron client. I would like to reevaluate that and go with option 2 if we can. Otherwise option 1 seems reasonable.</div>
<span class="">
<div> </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
From my point of view 3) is not a option, but other may disagree.<br>
<br>
The problem is tricky and the fact that the CI cannot detect this is<br>
trickier[4].<br>
<br>
So before Mitaka, the json parsing should go.  I would love to see an<br>
interface that all puppet modules would use (solution 2).  The current<br>
openstacklib parses openstack client well enough.  The neutron command<br>
is not that different and I think there is space for code reuse.  This<br>
would be a long term solution.  It would bring the advantage of having<br>
only one interface to change if it was decided to use the API directly<br>
for instance[5]<br>
<br>
In the meantime, a quick solution to this bug must be found.<br>
<br>
Looking forward to your comments.<br>
<br>
Regards,<br>
<br>
[1] <a href="https://bugs.launchpad.net/puppet-neutron/+bug/1530163" rel="noreferrer" target="_blank">
https://bugs.launchpad.net/puppet-neutron/+bug/1530163</a><br>
[2] <a href="https://bugs.launchpad.net/python-neutronclient/+bug/1529914" rel="noreferrer" target="_blank">
https://bugs.launchpad.net/python-neutronclient/+bug/1529914</a><br>
[3] <a href="https://review.openstack.org/#/c/238156/" rel="noreferrer" target="_blank">
https://review.openstack.org/#/c/238156/</a><br>
[4] <a href="https://review.openstack.org/#/c/262223/" rel="noreferrer" target="_blank">
https://review.openstack.org/#/c/262223/</a><br>
[5] <a href="http://lists.openstack.org/pipermail/openstack-dev/2015-October/076439.html" rel="noreferrer" target="_blank">
http://lists.openstack.org/pipermail/openstack-dev/2015-October/076439.html</a><br>
<span><font color="#888888">--<br>
Sofer Athlan-Guyot<br>
<br>
</font></span></blockquote>
</span><span class=""><font color="#888888">
<div>Colleen </div>
</font></span></div>
</div>
</div>
<br>
__________________________________________________________________________<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>
<br>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
<div class="gmail_signature">
<div dir="ltr">
<div>
<div dir="ltr">
<div style="color:rgb(136,136,136)"><span style="font-family:arial;font-size:small">Best Regards,</span><br>
</div>
<span style="color:rgb(136,136,136)">Egorenko Denis</span>,</div>
<div><span style="color:rgb(136,136,136)">Deployment Engineer</span><br style="color:rgb(136,136,136)">
<span style="color:rgb(136,136,136)">Mirantis</span><br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</span>
</body>
</html>