[libvirt] [PATCH] Require at least one console for LXC domain
Martin Kletzander
mkletzan at redhat.com
Wed Nov 5 08:09:48 UTC 2014
On Tue, Nov 04, 2014 at 03:21:53PM +0100, Ján Tomko wrote:
>On 10/31/2014 11:53 AM, Martin Kletzander wrote:
>> On Fri, Oct 31, 2014 at 10:22:25AM +0100, Ján Tomko wrote:
>>> A domain without a console quietly dies soon after start,
>>> because we try to set /dev/null as a controlling TTY
>>> 2014-10-30 15:10:59.705+0000: 1: error : lxcContainerSetupFDs:283 :
>>> ioctl(TIOCSTTY) failed: Inappropriate ioctl for device
>>>
>>
>> s/TIOCSTTY/TIOCSCTTY/ would make it more greppable (is that even a
>> word?) and it's now true since you pushed your trivial fix for that ;)
>>
>
>I have amended the commit message.
>
>>> Report an error early instead of trying to start it.
>>>
>>> https://bugzilla.redhat.com/show_bug.cgi?id=1155410
>>> ---
>>> src/lxc/lxc_container.c | 6 ++++--
>>> src/lxc/lxc_process.c | 6 ++++++
>>> 2 files changed, 10 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/src/lxc/lxc_container.c b/src/lxc/lxc_container.c
>>> index f02b959..8aba3ba 100644
>>> --- a/src/lxc/lxc_container.c
>>> +++ b/src/lxc/lxc_container.c
>>> @@ -2093,8 +2093,10 @@ static int lxcContainerChild(void *data)
>>> if (virAsprintf(&ttyPath, "%s/%s.devpts/%s",
>>> LXC_STATE_DIR, vmDef->name, tty) < 0)
>>> goto cleanup;
>>> - } else if (VIR_STRDUP(ttyPath, "/dev/null") < 0) {
>>> - goto cleanup;
>>> + } else {
>>> + virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
>>> + _("At least one tty is required"));
>>> + goto cleanup;
>>> }
>>
>> How about we don't attach any tty and use the ioctl(TIOCSTTY) to steal
>> controlling terminal (or call open() with O_NOCTTY, or just don't call
>> ioctl() at all, I don't know what we normally use)? Then there would
>> be no controlling terminal, but there would still be a session leader,
>> wouldn't it?
>>
>
>I don't know if we want to run a container without a controlling terminal.
>Looking at git history, back when we only supported one console and none was
>specified, it seems we quietly opened one anyway and didn't report it in the XML.
>
>Alternatively, we could auto-add a console in the XML.
>
>> Anyway, this version looks OK too since it doesn't break any use case
>> (there is nothing to break now). ACK after release if you argue why
>> not to use the idea above.
>
>It's been broken long enough to make me think nobody cares about this
>functionality, but I could make it work if you think it's worthwhile.
>
Not worth while, I agree with you. It can be done later on if someone
really wants it.
ACK,
Martin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20141105/a3a6b479/attachment-0001.sig>
More information about the libvir-list
mailing list