[openstack-dev] [puppet] [neutron] Serious bug in puppet neutron cli json output parsing.
Sofer Athlan-Guyot
sathlang at redhat.com
Thu Dec 31 16:00:45 UTC 2015
Denis Egorenko <degorenko at mirantis.com> writes:
> Last I checked, which was quite a while ago, openstackclient didn't
> support everything we were using from the neutron client.
>
> That's true. Openstack client doesn't support all features of neutron
> client [1].
What I had in mind was more like using the same parsing for both
"neutron" and "openstack" cli. This would require quite a lot of
refactoring though. But if we had a common "parsing backend", this
would be great IMHO.
>
> I would prefer use 3) option, but, unfortunately, i also don't see
> way, how to detect stevedore and cliff.
For 3) it really looks like a impossible mission to me.
To give flesh to option 1), I submitted this patch[1]. I
put it in WIP as
- more people may have other view when the Christmas holiday are off;
- https://bugs.launchpad.net/puppet-neutron/+bug/1508511 should be
fixed in this patch as well.
[1]: https://review.openstack.org/#/c/262809/1
>
> [1]
> https://github.com/openstack/python-openstackclient/blob/master/setup.cfg#L329-
> L339
>
> 2015-12-30 19:53 GMT+03:00 Colleen Murphy <colleen at gazlene.net>:
>
>
>
>
>
> On Wed, Dec 30, 2015 at 8:37 AM, Sofer Athlan-Guyot
> <sathlang at redhat.com> wrote:
>
> Hi,
>
> I have added neutron people as they may help to find a
> solution.
>
> After banging my head against the wall for a whole afternoon I
> discovered a serious bug in puppet neutron module.
>
> I not going to repeat here the detail of the bug report[1].
> Basically:
> - neutron_port
> - neutron_subnet
> - neutron_router
> - neutron_network
>
> may break idempotency randomly and won't work at all when
> clifftablib is
> removed from the package dependency of python-openstackclient
> (Mitaka[2])
>
> So the problem is that neutron cli json output on liberty (at
> least, and
> maybe before) is not consistent and may come from cliff or
> clifftablib.
> I didn't test it but the same may apply to openstack cli. As
> we don't
> use the openstack cli json output it's not a issue (for puppet
> modules)
>
> The available solution I can see are:
> 1. go back to parsing csv, shell output (revert [3])
> 2. find a way to leverage openstacklib parsing for neutron as
> well
> 3. keep json and parse the right output (cliff) and find a way
> to make
> sure that it is always used by stevedore
> 4. ?
>
> 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.
>
> From my point of view 3) is not a option, but other may disagree.
>
> The problem is tricky and the fact that the CI cannot detect
> this is
> trickier[4].
>
> So before Mitaka, the json parsing should go. I would love to
> see an
> interface that all puppet modules would use (solution 2). The
> current
> openstacklib parses openstack client well enough. The neutron
> command
> is not that different and I think there is space for code
> reuse. This
> would be a long term solution. It would bring the advantage of
> having
> only one interface to change if it was decided to use the API
> directly
> for instance[5]
>
> In the meantime, a quick solution to this bug must be found.
>
> Looking forward to your comments.
>
> Regards,
>
> [1] https://bugs.launchpad.net/puppet-neutron/+bug/1530163
> [2]
> https://bugs.launchpad.net/python-neutronclient/+bug/1529914
> [3] https://review.openstack.org/#/c/238156/
> [4] https://review.openstack.org/#/c/262223/
> [5]
> http://lists.openstack.org/pipermail/openstack-dev/2015-October/076439.
> html
> --
> Sofer Athlan-Guyot
>
> Colleen
>
> ___________________________________________________________________
> _______
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe:
> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
--
Sofer Athlan-Guyot
More information about the OpenStack-dev
mailing list