[openstack-dev] [oepnstack-dev][Neutron] Neutron API behavior

Sukhdev Kapur sukhdev at aristanetworks.com
Thu Jan 23 02:10:04 UTC 2014


Hi All,

During tempest sprint in Montreal, as we were writing API tests, we noticed
a behavior which we believed is an issue with the Neutron API (or perhaps
documentation or both)

Let me start with a question:

If one executes an api to create/delete/update a neutron resource, what is
the API's contract with the user? In other words, if a user gets a response
code 204 for a delete operation or 201 for create operation - should they
assume that the operation is successfully completed?

Based upon the API document, the answer seems to be YES.
Based upon the behavior answer seems to be MAYBE - what does this mean?
It simply means that Neutron DB has been updated, but, the back-ends may
not have completed the operation.

This means, as an example, if a create operation is performed on a same
resource immediately after it has been successfully deleted (i.e. 204
returned), there is a possibility that create operation may fail.

If the tests (or real life applications) are not written carefully, there
is a possibility of intermittent failures, and they will become very
apparent in a stress type situations.

We discussed this with some of Neutron core developers who were present in
the room and they shared their wisdom on the subject. We decided that we
put this out on the mailing list for the benefit of wider audience - and,
hence the motivation of this email.

Are there any plans to address or document this?

-Sukhdev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20140122/b89b9f50/attachment.html>


More information about the OpenStack-dev mailing list