jujud does not restart after upgrade-juju on systemd hosts
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
juju-core |
Fix Released
|
Critical
|
Eric Snow | ||
1.23 |
Fix Released
|
Critical
|
Eric Snow | ||
1.24 |
Fix Released
|
Critical
|
Eric Snow |
Bug Description
When "juju upgrade-juju" is issued, agents will download and install the new version and then exit in order to restart into the new tools version. Unfortunately, something about juju's systemd configuration means that jujud is never restarted.
Example (with current juju 1.23):
$ juju bootstrap
...
$ juju upgrade-juju --upload-tools
available tools:
1.23.
best version:
1.23.3.2
# wait for the agent to exit...
$ sudo systemctl list-units 'juju-agent*'
UNIT LOAD ACTIVE SUB DESCRIPTION
juju-agent-
...
# note that the service is marked as "exited". It never comes back.
# pgrep and "juju status" confirm that jujud is not running.
$ sudo systemctl start 'juju-agent*'
$ sudo systemctl list-units 'juju-agent*'
UNIT LOAD ACTIVE SUB DESCRIPTION
juju-agent-
...
# "systemctl start" doesn't help either
$ sudo systemctl restart 'juju-agent*'
$ sudo systemctl list-units 'juju-agent*'
UNIT LOAD ACTIVE SUB DESCRIPTION
juju-agent-
# "systemctl restart" does the trick
$ juju status
environment: local
machines:
"0":
agent-state: started
agent-version: 1.23.3.2
dns-name: localhost
instance-id: localhost
series: vivid
state-
services: {}
I'm not sure what the problem is but I would start with the "RemainAfterExi
Changed in juju-core: | |
status: | New → Triaged |
Changed in juju-core: | |
status: | Triaged → In Progress |
assignee: | nobody → Eric Snow (ericsnowcurrently) |
Changed in juju-core: | |
status: | In Progress → Fix Committed |
Changed in juju-core: | |
status: | Fix Committed → Fix Released |
Note that a similar problem happens if I just kill the agent using the kill command. systemd fails to restart the agent in this case. Under upstart the agent would get restarted if this happened.