[openstack-dev] [neutron] [API]Make API errors conform to the common error message without microversion
Xie, Xianshan
xiexs at cn.fujitsu.com
Tue Apr 12 12:30:39 UTC 2016
Hi, Duncan & michael,
Thanks a lot for your replies.
Definitely I agree with you that the microversion is the best approach to solve the backwards compat,
and the neutron is also going to adopt it [1]. But it will take a long time to totally introduce it into neutron I think.
So IMO, we can continue this discussion and then implement this feature in parallel with the microversion.
Actually, according to the design [2], only a slight change will be done once the microversion landed, i.e.
replace the ' new header ' with the microversion to control the final format about the error message in the wsgi interface.
[1] https://review.openstack.org/#/c/136760/
[2] https://review.openstack.org/#/c/298704
Best regards,
xiexs
-----Original Message-----
From: michael mccune [mailto:msm at redhat.com]
Sent: Monday, April 11, 2016 11:11 PM
To: openstack-dev at lists.openstack.org
Subject: Re: [openstack-dev] [neutron] [API]Make API errors conform to the common error message without microversion
please forgive my lack of direct knowledge about the neutron process and how this fits in. i'm just commenting from the perspective of someone looking at this from the api-wg.
On 04/11/2016 09:52 AM, Duncan Thomas wrote:
> So by adding the handling of a header to change the behaviour of the
> API, you're basically implementing a subset of microversions, with a
> non-standard header (See the API WG spec on non-proliferation of
> headers). You'll find it takes much of the work that implementing
> microversions does, and explodes your API test matrix some more.
>
> Sounds like something that should go on hold until microversions is
> done, assuming that microversions are desired anyway. Standard error
> messages are not such a big win that they're worth non-standard
> headers and yet more API weirdness that needs to sit around
> potentially for a very long time (see the API WG rules on removing
> APIs, which is basically never)
>
i think this advice sounds reasonable. adding a side-channel around microversions sounds like work that would itself need a microversion bump when it is finally removed ;)
i also agree with the reasoning about the benefit from the standardized error messages. it is nice to get a standard error message produced, but i think adding microversions is probably a bigger win in the near term because it will make these other transitions smoother.
> On 8 April 2016 at 11:23, Xie, Xianshan <xiexs at cn.fujitsu.com
> <mailto:xiexs at cn.fujitsu.com>> wrote:
>
> Hi, all,
>
> We are attempting to make the neutron API conform to the common
> error message format recommended by API-WG [1]. As this change will
> introduce a new error format into neutron which is different from
> existing format [2], we should think of some solutions to preserve
> the backward compat.
>
> The easiest way to do that is microversion, just like the cinder
> does [3] although which is still in progress. But unfortunately,
> there are many projects in which the microversion haven't been
> landed yet, e.g. neutron, glance, keystone etc. Thus during the
> interim period we have to find other approaches to keep the backward
> compat.
>
> According to the discussion, a new header would be a good idea to
> resolve this issue [4], we think.
> For instance:
> curl -X DELETE "http://xxx:9696/v2.0/networks/xxx" -H
> "Neutron-Common-Error-Format: True"
>
> But we haven't decided which header name will be used yet.
> So how do you think which is the best appropriate one?
> A: Neutron-Common-Error-Format
> B: OpenStack-Neutron-Common-Error-Format
> C: other (Could you please specify it? Thanks in advance)
>
> Any comments would be appreciated.
>
> [1] http://specs.openstack.org/openstack/api-wg/guidelines/errors.html
> [2] https://review.openstack.org/#/c/113570/
> [3] https://review.openstack.org/#/c/293306/
> [4] https://bugs.launchpad.net/neutron/+bug/1554869
>
> Best regards,
> xiexs
>
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe:
> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> <http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe>
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
>
>
> --
> --
> Duncan Thomas
>
>
> ______________________________________________________________________
> ____ 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
>
__________________________________________________________________________
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
More information about the OpenStack-dev
mailing list