doc: PUT /ports/{port_id} updates selectively
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Fix Released
|
Low
|
Triveni Gurram |
Bug Description
Based on noted usage in Nova [1], it appears as though PUT /v2/ports/{port_id} [2] with a payload like
{ "port":
"foo": ...,
}
will update only port.foo on the server, leaving all the other contents of the port untouched.
That is, you can GET-extract-PUT rather than GET-modify-PUT.
I assume (but am not certain) this is restricted to the top-level keys listed in the table in the API reference. So for example, if the port previously looked like
{ "port":
...,
"fqdn": "myport.
},
...,
}
and I PUT /v2/ports/{port_id} with
{ "port":
},
}
I will wind up with no "hostname" or "fqdn" in my port.dns_
I'm also not certain what happens if I send a `null`
{ "port":
}
Do I wind up with port.binding:
===================
This bug is to request that the API reference documentation be enhanced to include this information for PUT /v2/ports/
(It's possible that similar principles apply to PUTting other resources as well -- I didn't check -- in which case it may make sense to write a section in the front matter explaining the principle and linking to it from the various operations.)
[1] http://
[2] https:/
tags: | added: api |
tags: | added: api-ref |
tags: | added: low-hanging-fruit |
Changed in neutron: | |
status: | New → Confirmed |
Changed in neutron: | |
assignee: | nobody → Triveni Gurram (triveni12) |
Changed in neutron: | |
assignee: | Triveni Gurram (triveni12) → Slawek Kaplonski (slaweq) |
Changed in neutron: | |
assignee: | Slawek Kaplonski (slaweq) → Triveni Gurram (triveni12) |
It's probably not worth noting that this violates the definition of PUT.