Bug 1340035

Summary: lxc: bash prints stderr: cannot set terminal process group (-1): Inappropriate ioctl for device
Product: [Community] Virtualization Tools Reporter: Petr Sklenar <psklenar>
Component: libvirtAssignee: Libvirt Maintainers <libvirt-maint>
Status: NEW --- QA Contact: Virtualization Bugs <virt-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: crobinso, jsuchane, marcos.souza.org
Target Milestone: ---Keywords: Regression
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Petr Sklenar 2016-05-26 10:53:30 UTC
Description of problem:
rhel73 + lxc containers: I can see error:
   sh: cannot set terminal process group (-1): Inappropriate ioctl for device

There were no such an error in rhel72

Version-Release number of selected component (if applicable):
libvirt-client-1.3.4-1.el7.x86_64

How reproducible:
always

Steps to Reproduce:
1.virsh --connect lxc:/// define petr.xml
2.virsh --connect lxc:/// start bash"
3.virsh --connect lxc:/// console bash

Actual results:

Connected to domain bash
Escape character is ^]
sh: cannot set terminal process group (-1): Inappropriate ioctl for device
sh: no job control in this shell
sh-4.2# 


Expected results:
no error about Inappropriate ioctl...


Additional info:
there were no such an error in rhel72, so adding regression

Comment 4 Jaroslav Suchanek 2016-05-30 14:29:38 UTC
Thanks for reporting this. Please note that libvirt-lxc driver has been deprecated since rhel-7.1. See https://access.redhat.com/articles/1365153.

Moving to the upstream product.

Comment 5 Cole Robinson 2016-05-31 19:16:35 UTC
FWIW I see this on f24, but not on f23, even with libvirt git.

The referenced XML is:

<domain type='lxc'>
  <name>bash</name>
  <uuid>f1a972fc-eefd-4ca2-cc4b-b769cd25cadc</uuid>
  <memory unit='KiB'>65536</memory>
  <currentMemory unit='KiB'>61440</currentMemory>
  <vcpu placement='static'>1</vcpu>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64'>exe</type>
    <init>/bin/sh</init>
  </os>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/libexec/libvirt_lxc</emulator>
    <interface type='network'>
      <mac address='00:16:3e:ab:9a:cd'/>
      <source network='default'/>
    </interface>
    <console type='pty'>
      <target type='lxc' port='0'/>
    </console>
<serial type='pty'>
 <target port='0'/>
</serial>
  </devices>
</domain>

Comment 6 Marcos Paulo 2018-07-08 11:34:12 UTC
By using Cole's XML and libvirt master (8ed874b39b3c330bbcdff434e08995dbb4467285), the message is not there anymore:

./tools/virsh --connect lxc:/// console bash              
Connected to domain bash
Escape character is ^]
sh-4.4# exit

./tools/virsh --connect lxc:/// version     
Compiled against library: libvirt 4.6.0
Using library: libvirt 4.6.0
Using API: LXC 4.6.0
Running hypervisor: LXC 4.17.3

So Cole, do you think this bug can be closed?

(In reply to Cole Robinson from comment #5)
> FWIW I see this on f24, but not on f23, even with libvirt git.
> 
> The referenced XML is:
> 
> <domain type='lxc'>
>   <name>bash</name>
>   <uuid>f1a972fc-eefd-4ca2-cc4b-b769cd25cadc</uuid>
>   <memory unit='KiB'>65536</memory>
>   <currentMemory unit='KiB'>61440</currentMemory>
>   <vcpu placement='static'>1</vcpu>
>   <resource>
>     <partition>/machine</partition>
>   </resource>
>   <os>
>     <type arch='x86_64'>exe</type>
>     <init>/bin/sh</init>
>   </os>
>   <clock offset='utc'/>
>   <on_poweroff>destroy</on_poweroff>
>   <on_reboot>restart</on_reboot>
>   <on_crash>restart</on_crash>
>   <devices>
>     <emulator>/usr/libexec/libvirt_lxc</emulator>
>     <interface type='network'>
>       <mac address='00:16:3e:ab:9a:cd'/>
>       <source network='default'/>
>     </interface>
>     <console type='pty'>
>       <target type='lxc' port='0'/>
>     </console>
> <serial type='pty'>
>  <target port='0'/>
> </serial>
>   </devices>
> </domain>