apache / apache/cloudstack

Inconsistent jobstatus in queryAsyncJobResult API response

Aperta
#12,538 1 commento 1 reazione 1 assegnatario Rivendicata da @sureshanaparti Vedi su GitHub
type:technical-debt
Lingua principale
Java
Stelle
3.1k
Fork
1.4k
Merge medio
6g 19h
PR unite (30g)
32

Descrizione

### 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)

```json
{
"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

1. Create vm using api `deployVM`
2. After VM is fully created use `queryAsyncJobResult` api call with `jobid` from `deployVM`
3. verify that `jobstatus` in both fields is the same

### What to do about it?

I think there are two solutions
1. Make `jobstatus` inside `virtualmachine` the same as outside. (I would prefer this option)
2. Remove `jobstatus` from inside `virtualmachine` when job is done. This way `listVirtualMachines` api is working, although it is confusing

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.