juju needs to support systemd for >= vivid

Bug #1409639 reported by James Page on 2015-01-12
52
This bug affects 9 people
Affects Status Importance Assigned to Milestone
juju-core
High
Eric Snow
juju-core (Ubuntu)
High
Unassigned
Vivid
High
Unassigned

Bug Description

[Status]

The status of Juju and systemd need to be considered in three separate scenarios:

A: A system administrator running the Juju client. For example, managing a deployment somewhere else from your laptop.

B: Running within a deployment itself (the bootstrap node and all other deployed nodes). This is the Juju that runs a production workload.

C: Developing charms using the local provider. This is really a special case combining A and B.

The status of systemd and Juju in these scenarios is as follows:

A: Not affected. The client does not integrate with any init system, so works fine under both upstart and systemd.

B: Affected (when deploying private Vivid charms). Juju will support systemd from version 1.23 (yet to be released). Existing deployments are not affected, since all existing Ubuntu releases run upstart. Deploying onto Vivid is affected, since it will now run systemd, and will continue to be affected after Vivid's release without further action. Workaround for developers: arrange for deployed Vivid nodes to run upstart.

C: Affected (on Vivid only), until scenario B is fixed.

Schedule:

The first beta of 1.23 is expected 2015-03-18 and will provide full systemd support. It will be available from a devel PPA. 1.23 is expected to be released the week of 2015-03-30. It will be available from the standard Juju stable PPA and will be uploaded to Vivid. In time, Trusty will be updated too, although this has not yet been scheduled.

Archive status:

Currently no plans to upload 1.23 betas to Vivid. 1.23 will be uploaded once it is released.

Until this time, dep8 tests are failing against juju-core as they test scenario C, now in a systemd environment.

[Original Description]

Ubuntu is currently working on switching its default init system from upstart to systemd; this has a direct impact on juju-core, which generates upstart configurations for the daemons that it runs across a deployment.

The current target for switchover is the end of Jan/start of Feb, so it would be nice if we had a juju that supported this by then (at least in development).

Martin Pitt (pitti) on 2015-01-12
tags: added: systemd-boot
Changed in juju-core (Ubuntu):
milestone: none → ubuntu-15.01
status: New → Triaged
importance: Undecided → High
Andrew Wilkins (axwalk) wrote :

Systemd support is currently under development, primarily to support CentOS: http://reviews.vapour.ws/r/671/

Andrew Wilkins (axwalk) wrote :

(I should have added: but will support Ubuntu, with a couple of minor adjustments)

Curtis Hovey (sinzui) wrote :

We have frozen juju 1.22. We expect it to ship with vivid. This feature will need to be back-ported. How does Ubuntu feel about adding a feature to 1.22.1? If this is bad, then we will wait for 1.23 to be backported to w, v and t.

Changed in juju-core:
milestone: none → 1.23
status: New → Triaged
importance: Undecided → High
Martin Pitt (pitti) wrote :

Feature freeze isn't until Mid-February, so any new feature can be put into the vivid package without problems by then. Even after that this will certainly get a freeze exception as this is a release goal. But as this apparently blocks OpenStack deployment/testing (said James Page), we'd probably backport this before feature freeze once it lands in trunk.

Dimitri John Ledkov (xnox) wrote :

Looking at http://reviews.vapour.ws/r/671/ it looks very bad.

Please use DBus api to talk to systemd.

Or use golang-go-systemd-dev to operate against systemd.

Eric Snow (ericsnowcurrently) wrote :

Right now we (juju core) are scoping out the effort to add systemd support to juju in time for the feature freeze. We'll update here as we move forward.

Note that, as Andrew said, we have some of the work done already (though not merged yet). It's likely the trickiest part, so the remainder of the work should be of the add-systemd-support-wherever-we-support-upstart variety. Also note that our upstart configs are dynamically generated.

Eric Snow (ericsnowcurrently) wrote :

We've landed a patch for systemd support in juju. We are currently working through a couple of minor bugs before calling it good.

Changed in juju-core:
status: Triaged → In Progress
Antonio Rosales (arosales) wrote :

@Eric,

Thanks for the comment. To confirm is this still on track for 1.23 and the Ubuntu 15.04 (Vivid) release?

-thanks,
Antonio

Eric Snow (ericsnowcurrently) wrote :

the last of the patches to add systemd support in juju (including on vivid) has landed. There are a couple of caveats we need to look into though:

* vivid LXC containers on non-vivid hosts don't work correctly out of the box. This has an impact on local provider (I've been testing in a vivid KVM). See https://bugs.launchpad.net/ubuntu/+source/lxc/+bug/1347020
* vivid (and later) may be configured to boot with upstart (e.g. after an upgrade?). We are looking at adding a feature flag to support that use case (which I expect will be an uncommon one).

Changed in juju-core:
status: In Progress → Fix Committed
assignee: nobody → Eric Snow (ericsnowcurrently)
Eric Snow (ericsnowcurrently) wrote :

It will also be worth looking into the impact of systemd on existing charms that get published for vivid.

Changed in juju-core:
milestone: 1.23 → 1.23-beta1
Robie Basak (racb) wrote :

We have 1.20.14 in Vivid at the moment, and dep8 tests are now failing. I believe this is because the systemd switch has happened, and it cannot find upstart.

Which upstream release are you expecting us to pull in to Vivid to fix this please?

Martin Pitt (pitti) wrote :

> Which upstream release are you expecting us to pull in to Vivid to fix this please?

As Juju has a "newer versions allowed" exception even for stables, that should equally apply to the current development series. So while I'm not officially in ~ubuntu-release, I'd say "whichever one works" is an acceptable answer? (Not sure whether I misunderstood the question)

Robie Basak (racb) on 2015-03-12
description: updated
Martin Pitt (pitti) wrote :

Thanks Robie for the summary. For the record, if you want to continue running the DEP-8 tests in an upstart environment under vivid, you can do that at the top of your test:

if [ -d /run/systemd/system ]; then
    if [ ! -x /tmp/autopkgtest-reboot ]; then
        echo "SKIP: testbed does not support reboot"
        exit 0
    fi
    if [ -n "${ADT_REBOOT_MARK:-}" ]; then
        echo "SKIP: Reboot with upstart still runs systemd; using init= ?"
        exit 0
    fi
    echo "Installing upstart..."
    apt-get install -y upstart
    echo "Rebooting into upstart..."
    /tmp/autopkgtest-reboot b1
fi

(That's what I put into systemd-shim's tests, which also only run under upstart)

Sean Feole (sfeole) on 2015-03-17
tags: added: hs-arm64
Curtis Hovey (sinzui) on 2015-03-20
Changed in juju-core:
status: Fix Committed → Fix Released
Martin Pitt (pitti) on 2015-03-30
Changed in juju-core (Ubuntu Vivid):
milestone: ubuntu-15.01 → ubuntu-15.04
status: Triaged → Fix Committed
Dimitri John Ledkov (xnox) wrote :

I also don't understand why this is marked Fix Released, upstream I only see systemd/centos support and no systemd/ubuntu support. I see code that assumes ubuntu == upstart.

Martin Pitt (pitti) wrote :

https://github.com/juju/juju/commit/2ae93fe45df4b95bedf493adc07ee7049859fb2d also has some serious deficiencies, see Dimitri's comments.

Changed in juju-core (Ubuntu Vivid):
status: Fix Committed → In Progress
Martin Pitt (pitti) on 2015-04-20
Changed in juju-core (Ubuntu Vivid):
milestone: ubuntu-15.04 → vivid-updates
tags: added: systemd vivid
Curtis Hovey (sinzui) on 2015-10-07
Changed in juju-core (Ubuntu Vivid):
status: In Progress → Fix Committed
Changed in juju-core (Ubuntu):
status: In Progress → Fix Committed
Curtis Hovey (sinzui) on 2015-10-15
Changed in juju-core (Ubuntu Vivid):
status: Fix Committed → Fix Released
Changed in juju-core (Ubuntu):
status: Fix Committed → Fix Released
Changed in juju-core (Ubuntu):
milestone: vivid-updates → none
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers