swift backend aborts if container create fails due to access controls
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Duplicity |
Fix Released
|
Medium
|
Unassigned | ||
0.6 |
Fix Released
|
Medium
|
Unassigned | ||
0.7 |
Fix Released
|
Medium
|
Unassigned |
Bug Description
the swift backend attempts creation of the container every time that it is run - the call normally appears to be idempotent, so looks to have succeeded if it already exists, but if the swift user doesn't have admin permissions to the account, the call fails with a 403 (even if the container exists). This causes duplicity to abort.
If I comment out the put call, then duplicity runs fine (if the container already exists of course, which is must do in order for access controls to have been set up!)
So ideally, duplicity should do a stat call on the container first, to check it exists. If it exists, it shouldn't attempt to create it.
One might argue this is a bug in swift - it is inconsistent behaviour indeed, but duplicity is easier to fix :)
Related branches
- duplicity-team: Pending requested
-
Diff: 34 lines (+17/-5)1 file modifiedduplicity/backends/swiftbackend.py (+17/-5)
Changed in duplicity: | |
status: | Confirmed → Fix Committed |
milestone: | none → 0.6.25 |
Changed in duplicity: | |
importance: | Undecided → Medium |
Nudge? Duplicity currently forces swift users to lower their container security controls. It'd be great to see this merged and a new release made :)