The HTTP spec makes no assertions that a successful PUT operation MUST return a response body, and our specification takes advantage of that (see quotations below).
From our OS-KSADM API specification:
2.1.1.6. Add Global roles to a user:
"This operation does not require a request body and does not return a response body."
2.1.2.7. Add roles to a user on a tenant:
"This operation does not require a request body and does not return a response body."
In this specific case, the presence of a response body would be more likely attributed with a failure condition (error message).
This behavior is by design.
The HTTP spec makes no assertions that a successful PUT operation MUST return a response body, and our specification takes advantage of that (see quotations below).
From our OS-KSADM API specification:
2.1.1.6. Add Global roles to a user:
"This operation does not require a request body and does not return a response body."
2.1.2.7. Add roles to a user on a tenant:
"This operation does not require a request body and does not return a response body."
In this specific case, the presence of a response body would be more likely attributed with a failure condition (error message).
Clients should NOT expect a response body; additionally, this behavior has recently changed in python- keystoneclient (see https:/ /github. com/openstack/ python- keystoneclient/ commit/ 2914c2b1d1e36aa 12ba5bd9b4c2ee9 b594f1a79c ).