Bug #31883
closed
"HTTP response code is 404. The response body is empty." when trying to view an oVirt Compute Resource
Added by Evgeni Golov almost 4 years ago.
Updated over 3 years ago.
Category:
Compute resources - oVirt
|
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.
Steps to reproduce:
- 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?
- Related to Bug #25281: Unable to provision a host, if RHV resource created through CLI added
- Related to Tracker #27680: API bugs that need workarounds in foreman-ansible-modules added
The same error also happens if you want to pull the Compute Profile directly via the API: GET /api/compute_profiles/6
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?
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."}
}
- Status changed from New to Ready For Testing
- Assignee set to yifat makias
- Pull request https://github.com/theforeman/foreman/pull/8339 added
- Fixed in Releases 2.5.0 added
- Status changed from Ready For Testing to Closed
Also available in: Atom
PDF