On 2013-11-14 14:17 , Gao feng wrote:
On 11/14/2013 01:52 PM, hzguanqi...@corp.netease.com wrote:
> On 2013-11-14 13:41 , Gao feng <mailto:gaof...@cn.fujitsu.com> wrote:
> 
>     On 11/14/2013 01:24 PM, Gao feng wrote:
>     > On 11/14/2013 10:59 AM, hzguanqi...@corp.netease.com wrote:
>     >> Hi experts,
>     >> 
>     >> When I test lxc-enter-namespace interface, it turned out such an error:
>     >> 
>     >> hzguanqiang@debian:~$ <mailto:hzguanqiang@debian:~$> vir version
>     >> Compiled against library: libvirt 1.1.4
>     >> Using library: libvirt 1.1.4
>     >> Using API: LXC 1.1.4
>     >> Running hypervisor: LXC 3.9.6
>     >> 
>     >> hzguanqiang@debian:~$ <mailto:hzguanqiang@debian:~$> vir list
>     >> Id    Name                           State
>     >> ----------------------------------------------------
>     >> 1544  instance-00000015              running
>     >> 
>     >> hzguanqiang@debian:~$ <mailto:hzguanqiang@debian:~$> vir 
> lxc-enter-namespace 1544 --noseclabel /bin/df -hl
>     >> error: Cannot get namespaces for 1545: Function not implemented
>     >> 
>     >> hzguanqiang@debian:~$ <mailto:hzguanqiang@debian:~$> ls /proc/self/ns
>     >> ipc  mnt  net  pid  user  uts
>     >> 
>     >> What's the problem?
>     >> 
>     >
>     > Does your system have system call setns?
>      
>     grep setns /proc/kallsyms
>     and
>     grep setns the config.log of libvirt.
>      
> 
> Hi, Gaofeng, thanks for your help. The info you want are:
>  

Hi,

> hzguanqiang@debian:~/github/libvirt$ 
> <mailto:hzguanqiang@debian:~/github/libvirt$> sudo grep setns 
> /var/log/libvirt/libvirtd.log

config.log not libvirtd.log, or you can exec "./configure | grep setns" under 
libvirt source directory.

> hzguanqiang@debian:~/github/libvirt$ 
> <mailto:hzguanqiang@debian:~/github/libvirt$> grep setns /proc/kallsyms
> ffffffff8105b993 T sys_setns
>  
> What I found really strange is that the error info returned by the command.
>     hzguanqiang@debian:~$ <mailto:hzguanqiang@debian:~$> vir 
> lxc-enter-namespace 1544 --noseclabel /bin/df -hl
>     error: Cannot get namespaces for 1545: Function not implemented
> The instance id is 1544, but the error info hint cannot get ns for 1545.
>  

we have two libvirt lxc related process at the first start,
one is controller process on host(pid 1544), the other is the container's init 
task(pid 1545).
since lxc-enter-namespace wants to exec cmd in container environment. so
libvirt will try to get the namespaces of container's init task.

The problem is libvirt/autoconf thinks your system doesn't support setns system 
call...

> The libvirt code of mine is of version 1.1.4 from github (git checkout v1.1.4 
> -b stable1.1.4 )
>  

I don't know if the libvirt git repo on github is the right thing, but As I know
this repo git://libvirt.org/libvirt.git is official.

Please have a try.


Thanks


Sorry, I made a mistake about the libvirt repo, the code I used is just from 
the official repo.
Maybe it's problem of my kernel. I've tried to build libvirt from code of 
master branch. The
mistake is just the same.

------------------     
Best regards!
GuanQiang
14:52:30
_______________________________________________
libvirt-users mailing list
libvirt-users@redhat.com
https://www.redhat.com/mailman/listinfo/libvirt-users

Reply via email to