Linux Container Development
 help / color / mirror / Atom feed
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

  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