Bug #31883
closed"HTTP response code is 404. The response body is empty." when trying to view an oVirt Compute Resource
Description
Ohai,
when you create an oVirt CR, and then add a Compute Profile to it, that points to a non-existing cluster, you cannot view the CR via the API anymore and only get a HTTP response code is 404. The response body is empty.
- Create an oVirt CR (UI, API, whatever)
- Create a Compute Profile (API POST
{"compute_profile"=>{"name"=>"lol-nope"}}
to/api/compute_profiles
) - Set Compute Attributes for that Profile to have an invalid Cluster (API POST
{"compute_attribute"=>{"vm_attrs"=>{"cluster"=>"lol-nope"}}, "compute_profile_id"=>"4", "compute_resource_id"=>"1"}
to/api/compute_profiles/4/compute_resources/1/compute_attributes
) - Try to fetch
/api/compute_resources/1
Actual Result:
{ "error": {"message":"HTTP response code is 404. The response body is empty."} }
Expected Result:
The actual API respinse
Additional Info:
This ought to be fixed in #25281, but seems it wasn't completely?
Updated by Evgeni Golov almost 4 years ago
- Related to Bug #25281: Unable to provision a host, if RHV resource created through CLI added
Updated by Evgeni Golov almost 4 years ago
- Related to Tracker #27680: API bugs that need workarounds in foreman-ansible-modules added
Updated by Evgeni Golov almost 4 years ago
The same error also happens if you want to pull the Compute Profile directly via the API: GET /api/compute_profiles/6
Updated by yifat makias almost 4 years ago
When I try to reproduce this error I received the error you got in the third step:
Set Compute Attributes for that Profile to have an invalid Cluster (API POST {"compute_attribute"=>{"vm_attrs"=>{"cluster"=>"lol-nope"}}, "compute_profile_id"=>"4", "compute_resource_id"=>"1"} to /api/compute_profiles/4/compute_resources/1/compute_attributes)
which I think is ok because it shouldn't create the compute attributes with a cluster that does not exist.
is there something missing in the steps or can I close this issue?
Updated by Evgeni Golov almost 4 years ago
Hah, my reproducer steps weren't exact enough. Sorry!
So yeah, when I POST the last step, I do get an error, indeed:
# curl -u admin:changeme -XPOST -H 'Content-Type: application/json' -H 'Accept: application/json' -d'{"compute_attribute":{"vm_attrs":{"cluster":"lol-nope"}},"compute_profile_id":"4","compute_resource_id":"1"}' -k https://localhost/api/compute_profiles/4/compute_resources/1/compute_attributes { "error": {"message":"HTTP response code is 404. The response body is empty."} }
But! The CR is now broken and can't be accessed:
# curl -u admin:changeme -H 'Accept: application/json' -k https://localhost/api/compute_resources/1/ { "error": {"message":"HTTP response code is 404. The response body is empty."} }
Updated by The Foreman Bot almost 4 years ago
- Status changed from New to Ready For Testing
- Assignee set to yifat makias
- Pull request https://github.com/theforeman/foreman/pull/8339 added
Updated by yifat makias over 3 years ago
- Status changed from Ready For Testing to Closed
Applied in changeset foreman|9d44364ccf7cbb3d83c2c855ed8be9a08a692f88.