Deployment of subordinate charms needs manual locking
Bug #1068624 reported by
Liam Young
This bug affects 4 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
juju-core |
Fix Released
|
High
|
Tim Penhey | ||
pyjuju |
Fix Released
|
High
|
Unassigned |
Bug Description
Subordinate charm hooks need the charmer to write locking code because their hooks can end up firing concurrently with other hooks on a unit. I hit this recently when a hook failed due to it failing to get a lock on /var/lib/dpkg/lock during an apt install.
I think juju should ensure that hooks don't fire simultaneously on the same unit
tags: | added: canonical-webops-juju |
Changed in juju-core: | |
importance: | Undecided → High |
status: | New → Confirmed |
To post a comment you must log in.
Just discussing this with Liam on #juju, I guess there's a balance between parallel deployment and guaranteed safety between charms and subordinates. A middle ground could be allowing charm authors to specify a single metadata string under the name 'Conflicts', which if matched between two deploying charms ensures one runs after the other (otherwise we still get parallel deployment).