From: Daniel Lezcano <dlezcano-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org>
To: "Serge E. Hallyn" <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
Cc: Linux Containers <containers-qjLDD68F18O7TbgM5vRIOg@public.gmane.org>
Subject: Re: lxc and consoles and unix98 ptys (and c/r)
Date: Wed, 28 Apr 2010 16:19:34 +0200 [thread overview]
Message-ID: <4BD843F6.9040304@fr.ibm.com> (raw)
In-Reply-To: <20100427224855.GA7746-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
Serge E. Hallyn wrote:
> Hi Daniel,
Hi Serge,
> I know you've thought the whole console situation through
> a great deal - and I haven't - so plz set me straight as
> needed.
>
> liblxc supports 'lxc.pts', which tells it to mount a fresh
> /dev/pts. However, it does this very late in the container
> startup, and does not appear to support either lxc.tty consoles
> or the 'main' console being in that ptsns.
maybe I am misunderstanding but I think you should look at the
'lxc_create_console' and the 'setup_console' functions, that will show
why new pts instance and console / tty are not correlated.
> When I want to checkpoint and restart something which writes
> to a container in a hand-built container, what I generally do
> is start sshd and screen -dm in the container, ssh in,
> screen -r, start my job, detach and logout, then do my
> freeze/checkpoint/restart, and then i can ssh back in and
> screen -r.
>
> That's obviously less than ideal :) I'd like to be able to
> checkpoint lightweight containers by doing
>
> lxc-execute -n serge -- myscript
> or maybe
> lxc-start -d -n serge -- myscript
>
> and have the container init's fd 0-2 be /dev/pts/0 in the
> container's devpts mount.
>
> For that to work, lxc-execute would have to mount its new
> devpts instance, then open /dev/pts/0, and start up a proxy
> to ferry the console info back and forth. I thought in the
> past you'd talked about that, but I can't recall whether you
> said you wanted to do it, or that you thought it was too
> heavyweight :)
lxc-start which runs system container does that if it is specified in
the configuration.
> Have you had any such thing in mind?
lxc-execute is for running application containers and the *stdio* are
inherited in the container.
I suppose it may be possible to generalize the console, the ttys and the
stdio.
> The related feature of course woudl be for lxc-start with
> lxc.tty=4 to first mount a new devpts instance, then run
> getty on /dev/pts/[0-4] and let lxc-console attach to
> those.
I am a bit lost, what do you want to do ? Do you plan to make tty,
console and stdio using the same mechanism and get rid of the actual
bind mount of <rootfs>/dev/console|tty ?
Can you elaborate a bit and send a draft-patch to illustrate your idea ?
Thanks
-- Daniel
next prev parent reply other threads:[~2010-04-28 14:19 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-27 22:48 lxc and consoles and unix98 ptys (and c/r) Serge E. Hallyn
[not found] ` <20100427224855.GA7746-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2010-04-28 14:19 ` Daniel Lezcano [this message]
[not found] ` <4BD843F6.9040304-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org>
2010-04-28 15:36 ` Serge E. Hallyn
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4BD843F6.9040304@fr.ibm.com \
--to=dlezcano-nmtc/0zbporqt0dzr+alfa@public.gmane.org \
--cc=containers-qjLDD68F18O7TbgM5vRIOg@public.gmane.org \
--cc=serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox