HTTP Error 409 (Conflict) when Subiquity receives two successive POST queries to /refresh
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
subiquity |
Triaged
|
Low
|
Unassigned | ||
ubuntu-desktop-provision |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
In multiple private reports, we are seeing an issue when attempting a refresh of the installer. It looks to be happening on 24.04 as well as on 23.10 so not specific to a given release.
2024-04-05 13:39:10,842 DEBUG root:30 start: subiquity/
2024-04-05 13:39:10,843 DEBUG root:30 finish: subiquity/
2024-04-05 13:39:12,190 DEBUG root:30 start: subiquity/
2024-04-05 13:39:12,191 DEBUG root:30 start: subiquity/
2024-04-05 13:39:13,546 DEBUG root:30 start: subiquity/
2024-04-05 13:39:13,546 DEBUG root:30 start: subiquity/
2024-04-05 13:39:13,579 DEBUG urllib3.
2024-04-05 13:39:13,581 DEBUG root:30 finish: subiquity/
2024-04-05 13:39:13,582 DEBUG root:30 finish: subiquity/
2024-04-05 13:39:13,586 DEBUG root:30 start: subiquity/
2024-04-05 13:39:13,615 DEBUG urllib3.
2024-04-05 13:39:13,621 DEBUG root:30 finish: subiquity/
2024-04-05 13:39:14,263 DEBUG urllib3.
2024-04-05 13:39:14,264 ERROR root:30 finish: subiquity/
2024-04-05 13:39:14,266 DEBUG root:30 finish: subiquity/
File "/snap/
2024-04-05 13:39:14,266 DEBUG subiquity.
Traceback (most recent call last):
File "/snap/
result = await implementation(
File "/snap/
return await self.start_
File "/snap/
return await meth(self, **kw)
File "/snap/
change_id = await self.app.
File "/snap/
async with make_request(
File "/snap/
return await anext(self.gen)
File "/snap/
content = await async_snapd.
File "/snap/
response.
File "/snap/
raise HTTPError(
requests.
2024-04-05 13:39:14,266 DEBUG subiquity.
2024-04-05 13:39:14,271 INFO subiquity.
description: | updated |
summary: |
- HTTP Error 409 (Conflict) when attempting to refresh + HTTP Error 409 (Conflict) when two successive POST queries to /refresh |
summary: |
- HTTP Error 409 (Conflict) when two successive POST queries to /refresh + HTTP Error 409 (Conflict) when Subiquity receives two successive POST + queries to /refresh |
Changed in ubuntu-desktop-provision: | |
status: | Fix Committed → Fix Released |
In all the reports, there is a duplicate call to POST /refresh, which is likely what causes the second snapd call to return 409:
2024-03-17 13:38:50,609 DEBUG urllib3. connectionpool: 452 http:// localhost:None "POST /v2/snaps/ ubuntu- desktop- installer HTTP/1.1" 202 81 Refresh/ POST/start_ update: SUCCESS: change id: 4 Refresh/ POST: SUCCESS: 200 "4" Refresh/ progress_ GET: connectionpool: 452 http:// localhost:None "GET /v2/changes/4 HTTP/1.1" 200 None Refresh/ progress_ GET: SUCCESS: 200 {"id": "4", "kind": "refresh-snap", "summary": "Refresh \"ubuntu- desktop- inst... Refresh/ progress_ GET: connectionpool: 452 http:// localhost:None "POST /v2/snaps/ ubuntu- desktop- installer HTTP/1.1" 409 259 Refresh/ POST/start_ update: FAIL: 409 Client Error: Conflict for url: http+unix: //%2Frun% 2Fsnapd. socket/ v2/snaps/ ubuntu- desktop- installer
2024-03-17 13:38:50,612 DEBUG root:30 finish: subiquity/
2024-03-17 13:38:50,613 DEBUG root:30 finish: subiquity/
2024-03-17 13:38:50,619 DEBUG root:30 start: subiquity/
2024-03-17 13:38:50,737 DEBUG urllib3.
2024-03-17 13:38:50,759 DEBUG root:30 finish: subiquity/
2024-03-17 13:38:51,766 DEBUG root:30 start: subiquity/
2024-03-17 13:38:51,782 DEBUG urllib3.
2024-03-17 13:38:51,785 ERROR root:30 finish: subiquity/