On 11/14/2013 02:57 PM, hzguanqiang@corp.netease.com wrote:
> On 2013-11-14 14:17 , Gao feng
<mailto:gaofeng@cn.fujitsu.com> wrote:
>
> On 11/14/2013 01:52 PM,
hzguanqiang@corp.netease.com wrote:
> > On 2013-11-14 13:41 , Gao feng
<mailto:gaofeng@cn.fujitsu.com> wrote:
> >
> > On
11/14/2013 01:24 PM, Gao feng wrote:
> > > On
11/14/2013 10:59 AM, hzguanqiang@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.
>
what's result of "./configure | grep setns"