juju 1.17.5 tries to execute non-existant hooks
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
juju-core |
Fix Released
|
High
|
Andrew Wilkins |
Bug Description
Simple case, deploying cs:precise/ubuntu failed
u0:
charm: cs:precise/ubuntu-4
exposed: false
units:
u0/0:
machine: "1"
Log
ubuntu@
2014-03-17 02:54:31 INFO juju.worker.uniter modes.go:421 ModeConfigChanged starting
2014-03-17 02:54:31 DEBUG juju.worker.
2014-03-17 02:54:32 INFO juju.worker.uniter uniter.go:474 running "config-changed" hook
2014-03-17 02:54:32 ERROR juju.worker.uniter uniter.go:480 hook failed: fork/exec /var/lib/
2014-03-17 02:54:32 DEBUG juju.worker.uniter modes.go:423 ModeConfigChanged exiting
2014-03-17 02:54:32 INFO juju.worker.uniter modes.go:421 ModeHookError starting
ubuntu@
stat: cannot stat `/var/lib/
Related branches
- Juju Engineering: Pending requested
-
Diff: 34 lines (+10/-8)1 file modifiedworker/uniter/context.go (+10/-8)
Changed in juju-core: | |
milestone: | 1.18.0 → 1.17.6 |
Changed in juju-core: | |
assignee: | nobody → Andrew Wilkins (axwalk) |
status: | Confirmed → In Progress |
Changed in juju-core: | |
status: | In Progress → Fix Committed |
Changed in juju-core: | |
status: | Fix Committed → Fix Released |
In Dave's case, this is caused by the tools being built with a version of Go > 1.2, where the behaviour of os/exec.Command has changed. Our code is relying on implementation details of Command, which until 1.3 will use LookPath uncondtionally. LookPath returns the error that we check for. In 1.3, LookPath is used conditionally (not at all in our usage).
I'm told that others have come across this before with released tools. I can't speak to that.