New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Have docker register its machine with systemd #13526
Conversation
Crickets? @jfrazelle @crosbymichael @tianon |
@rhatdan What kind of interactions will this enable? I'm assuming |
Yes I would like to see as much machinectl support, as possible. We would probably need to work with systemd guys on clarifying which commands will not work with docker containers. machinectl status, show, list, terminate, kill Might be interesting getting copy-to and copy-from to work. machinectl login, poweroff, reboot might work if the --init=systemd patch was accepted. |
My biggest goal with this is just to get journalctl -M CONTAINERID To work in the situation where journald is running within the container. |
Just making sure here: the rest of |
return err | ||
} | ||
|
||
obj := conn.Object("org.freedesktop.machine1", "/org/freedesktop/machine1") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should machine1 be hardcoded like that
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That is the API. There is no machine2...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@cgwalters Do you agree?
Right now we have a race condition with this. If a container exits before RegisterMachine gets called, it will log a message. I can add a patch to search for the Container PID on error and just ignore the error. In a perfect world we could prevent the container PID from disappearing until after the RegisterMachine completes. Also should we move this code to runc rather then having it in the docker daemon at all. |
I'd like to see |
@cpuguy83 Added a machine interface, with linux and non linux. If someone adds another machine/container registration, then we could look at adding a buildtag for selinux |
@rhatdan I was pretty upset when |
@LK4D4 It is a feature. You needed to get a way from the keyboard for a few minutes. |
hahahahahaha On Thu, Jul 23, 2015 at 1:55 PM, Daniel J Walsh notifications@github.com
|
Signed-off-by: Sally O'Malley <somalley@redhat.com> Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
So, this stuff is working somehow. But I think this is malicious code because of systemd bugs(killing not what it supposing to kill). So if include it at all in current design, then only in experimental branch. |
We are looking at moving this code into runc pre/post scripts rather then docker. |
@rhatdan As I see current PR makes no sense, because it only extends go systemd API. Maybe you should propose this changes to coreos/go-systemd first and then when we'll have pre/post scripts you will open PR with real implementation. Maybe systemd will be more generous to my X servers that time. |
@LK4D4 Actually the calls have been lost from the patch. I sent patches for RegisterMachine/TerminateMachine to coreos a while ago, The current patch does not need some of the hire level stuff coreos version of systemd did. I am going to close this and rework it for runc hooks, if and when this gets merged. |
This patch will register the container with machinectl. This will allow tools
on the container like machinectl and eventually journalctl to interact with the
container.
Docker-DCO-1.1-Signed-off-by: Dan Walsh dwalsh@redhat.com (github: rhatdan)