[2.2] MAAS API returns 500 internal server error instead of raising actual error
Bug #1704444 reported by
Jason Hobbs
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MAAS |
Fix Released
|
Medium
|
Newell Jensen | ||
2.2 |
Fix Released
|
Medium
|
Newell Jensen |
Bug Description
I have some code that creates a VM via pods, aborts commissioning, edits the VM's settings via virsh, then restarts commissioning.
It failed to restart commissioning in one case, giving a 500 error:
http://
From regiond.log:
http://
The API should at least give me a useful error message (and http status code?) if it can't handle this internally via queuing or blocking.
This is with 2.2.1.
Related branches
~newell-jensen/maas:2.2-lp1704444
- Newell Jensen (community): Approve
-
Diff: 200 lines (+70/-6)4 files modifiedsrc/maasserver/clusterrpc/power.py (+19/-3)
src/maasserver/clusterrpc/tests/test_power.py (+26/-1)
src/maasserver/utils/tests/test_views.py (+21/-1)
src/maasserver/utils/views.py (+4/-1)
~newell-jensen/maas:lp1704444
Merged
into
maas:master
- Blake Rouse (community): Approve
-
Diff: 200 lines (+70/-6)4 files modifiedsrc/maasserver/clusterrpc/power.py (+19/-3)
src/maasserver/clusterrpc/tests/test_power.py (+26/-1)
src/maasserver/utils/tests/test_views.py (+21/-1)
src/maasserver/utils/views.py (+4/-1)
summary: |
- maas return 500 internal server error when attempting to commission node + maas returned 500 internal server error when attempting to commission + node |
summary: |
- maas returned 500 internal server error when attempting to commission - node + [2.2] maas returned 500 internal server error when attempting to + commission node |
Changed in maas: | |
milestone: | none → 2.3.0 |
importance: | Undecided → High |
status: | New → Triaged |
summary: |
- [2.2] maas returned 500 internal server error when attempting to - commission node + [2.2] MAAS returns 500 internal server instead of raising actual error |
Changed in maas: | |
importance: | High → Medium |
summary: |
- [2.2] MAAS returns 500 internal server instead of raising actual error + [2.2] MAAS API returns 500 internal server error instead of raising + actual error |
Changed in maas: | |
assignee: | nobody → Newell Jensen (newell-jensen) |
Changed in maas: | |
status: | Triaged → In Progress |
Changed in maas: | |
status: | In Progress → Fix Committed |
tags: | added: foundation-engine |
tags: |
added: foundations-engine removed: foundation-engine |
Changed in maas: | |
milestone: | 2.3.0 → 2.3.0alpha2 |
Changed in maas: | |
status: | Fix Committed → Fix Released |
tags: | removed: foundations-engine |
To post a comment you must log in.
FWIW, MAAS performs a power action (e.g. on) and then it checks for the machine to power on, or power off in an specific interval. If you attempt to do another power action at the time, MAAS will surface the error you see in the regiond.log.
While a queue is desirable, it could also be catastrophic and we prove this to be the case when we used celery and rabbitmq. As such, MAAS will prevent you doing that while another power action is running for the time being.