Skip to content
This repository has been archived by the owner on Feb 24, 2020. It is now read-only.

stage1: add dbus and host systemd integration #1463

Open
5 tasks
jonboulle opened this issue Sep 23, 2015 · 12 comments
Open
5 tasks

stage1: add dbus and host systemd integration #1463

jonboulle opened this issue Sep 23, 2015 · 12 comments

Comments

@jonboulle
Copy link
Contributor

jonboulle commented Sep 23, 2015

This is a new tracker ticket to follow up #438 and #764:

  • add dbus and other necessary dependencies to default (nspawn-based) stage1
  • machinectl login integration
    • update documentation here
  • systemd-run -M integration
    • update documentation here
@rlpowell
Copy link

Is there a version I can test this on yet?

@jonboulle
Copy link
Contributor Author

I don't believe any work has been done on this yet

@jonboulle
Copy link
Contributor Author

Can we access /run/systemd/private in the container instead of using dbus?

@jonboulle
Copy link
Contributor Author

I'd like to find an owner for this for 1.7.0 as it's going to be a prerequisite for #2375

@alban
Copy link
Member

alban commented May 23, 2016

Unfortunately the work has not been started for 1.7.0. Moving milestone.

@alban alban modified the milestones: v1.8.0, v1.7.0 May 23, 2016
@lucab lucab modified the milestones: v1+, v1.8.0 Jun 8, 2016
@lucab
Copy link
Member

lucab commented Jun 8, 2016

#2375 has been de-prioritized and I'm not sure it will be followed further. I'm de-milestoning but I think I'm missing some background on the topic, @jonboulle can you please re-assess this later?

@alban
Copy link
Member

alban commented Jun 8, 2016

@jonboulle jonboulle modified the milestones: v1.10.0, v1+ Jun 16, 2016
@jonboulle
Copy link
Contributor Author

@tmrts is going to explore feasibility of this and make a go/no-go decision

@alban
Copy link
Member

alban commented Jun 23, 2016

Can we access /run/systemd/private in the container instead of using dbus?

I would prefer to use that "private" socket if possible instead of adding dbus-daemon in stage1. It would be more lightweight. I did the following tests:

/run/systemd/private is not created in stage1 if we use the "coreos" flavor. But with the "src" flavor, it is created. systemd could be compiled with different ./configure options...

Then, I tried systemctl -M rkt-xxxx status ... but it connects to /var/run/dbus/system_bus_socket inside the container, which does not exist because stage1 does not have dbus-daemon. For testing, I added the following symlinks in stage1:

  • /var/run -> ../run
  • /var/run/dbus/system_bus_socket -> ../systemd/private

So with the previous symlinks, systemctl -M can connect to systemd's /run/systemd/private socket. It does not work though: strace reveals that systemctl calls the D-Bus Hello and strace on systemd reveals that it replies "Unknown object '/org/freedesktop/DBus'". The D-Bus Hello method should only be called when a client is connecting to a bus, not when it is connecting via p2p D-Bus. I don't know if systemd's private socket is supposed to handle a full D-Bus bus or only p2p D-Bus connections.

I am told on IRC that it should work, so we should report a bug on systemd.

@tmrts
Copy link
Contributor

tmrts commented Jun 27, 2016

Bug report on systemd/systemd#3610

@iaguis
Copy link
Member

iaguis commented Jul 6, 2016

This won't be ready for this release.

@iaguis iaguis modified the milestones: v1.11.0, v1.10.0 Jul 6, 2016
@tmrts
Copy link
Contributor

tmrts commented Jul 6, 2016

We don't plan on adding the DBUS daemon either

@iaguis iaguis modified the milestones: vfuture, v1.11.0 Jul 6, 2016
@lucab lucab unassigned tmrts Apr 5, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

6 participants