[openstack-dev] [nova] Should PUT /os-services be idempotent?
blair.bethwaite at gmail.com
Wed Jul 12 14:43:55 UTC 2017
Please don't make these 400s - it should not be a client error to be
unaware of the service status ahead of time.
On 12 July 2017 at 11:18, Matt Riedemann <mriedemos at gmail.com> wrote:
> I'm looking for some broader input on something being discussed in this
> This is collapsing the following APIs into a single API:
> * PUT /os-services/enable
> * PUT /os-services/disable
> * PUT /os-services/disable-log-reason
> * PUT /os-services/force-down
> * PUT /os-services
> With the old APIs, if you tried to enable and already enabled service, it
> was not an error. The same is you tried to disable an already disabled
> service. It doesn't change anything, but it's not an error.
> The question is coming up in the new API if trying to enable an enabled
> service should be a 400, or trying to disable a disabled service. The way I
> wrote the new API, those are no 400 conditions. They don't do anything, like
> before, but they aren't errors.
> Looking at  it seems this should not be an error condition if you're
> trying to update the state of a resource and it's already at that state.
> I don't have a PhD in REST though so would like broader discussion on this.
>  http://www.restapitutorial.com/lessons/idempotency.html
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
More information about the OpenStack-dev