[2.2, RSD] RSDPodDriver doesn't use the 201 location to determine the result of the allocated machine
Bug #1675432 reported by
Blake Rouse
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MAAS |
Fix Released
|
High
|
Newell Jensen | ||
MAAS RSD |
Fix Released
|
High
|
Newell Jensen |
Bug Description
In the compose method of the RSDPodDriver the API call to compose a machine should check for a 201 HTTP code and use the Location header to find the created machine.
At the moment the code finds the new node in the composed nodes list. This has a race condition where if two requests to compose come in the same time, then either could identify the same node or a different node than requested as the result for that compose API call.
Related branches
lp://staging/~newell-jensen/maas/fix-1675432
- Blake Rouse (community): Approve
-
Diff: 658 lines (+193/-151)2 files modifiedsrc/provisioningserver/drivers/pod/rsd.py (+91/-84)
src/provisioningserver/drivers/pod/tests/test_rsd.py (+102/-67)
Changed in maasrsd: | |
status: | New → Triaged |
importance: | Undecided → High |
milestone: | none → beta |
summary: |
- [2.2, RSD] RSDPodDriver should use the 201 location to determine the + [2.2, RSD] RSDPodDriver doesn't use the 201 location to determine the result of the allocated machine |
tags: | added: rsd |
Changed in maas: | |
assignee: | nobody → Newell Jensen (newell-jensen) |
Changed in maasrsd: | |
assignee: | nobody → Newell Jensen (newell-jensen) |
Changed in maas: | |
status: | Triaged → In Progress |
Changed in maasrsd: | |
status: | Triaged → In Progress |
Changed in maas: | |
status: | In Progress → Fix Committed |
Changed in maasrsd: | |
status: | In Progress → Fix Committed |
Changed in maas: | |
milestone: | 2.2.0 → 2.2.0rc1 |
Changed in maas: | |
status: | Fix Committed → Fix Released |
Changed in maasrsd: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.