problem
When checking job status of just created VM (creation should be already done) then it returns inconsistent jobstatus.
Here is example of response (irrelevant fields are omitted)
{
"queryasyncjobresultresponse": {
"jobresult": {
"virtualmachine": {
"id": "eaa91396-811a-4db2-8ee8-91bb7c7b5d84",
"name": "x4ae6133a-908a-4ce5-8233-63dd93cc44d2",
"jobid": "35e2eb4c-7753-4d53-88ab-494ee1a8f296",
"jobstatus": 0
}
},
"jobid": "35e2eb4c-7753-4d53-88ab-494ee1a8f296",
"jobstatus": 1
}
}
So inside virtualmachine "jobstatus": 0 (which means "in progress" and it is incorrect)
Outsite it is "jobstatus": 1 which means "done" and it is correct.
These should be the same statuses - they have the same jobid
versions
Cloudstack version 4.22
Hypervisor KVM
The steps to reproduce the bug
- Create vm using api
deployVM
- After VM is fully created use
queryAsyncJobResult api call with jobid from deployVM
- verify that
jobstatus in both fields is the same
What to do about it?
I think there are two solutions
- Make
jobstatus inside virtualmachine the same as outside. (I would prefer this option)
- Remove
jobstatus from inside virtualmachine when job is done. This way listVirtualMachines api is working, although it is confusing