<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=utf-8" http-equiv=Content-Type>
<STYLE>
BLOCKQUOTE {
MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; MARGIN-LEFT: 2em
}
OL {
MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
UL {
MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
P {
MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
BODY {
LINE-HEIGHT: 1.5; FONT-FAMILY: 微软雅黑; COLOR: #000000; FONT-SIZE: 10.5pt; 36719: ; 38597: ; 40657:
}
</STYLE>
<META name=GENERATOR content="MSHTML 8.00.7601.17514"></HEAD>
<BODY style="MARGIN: 10px; FONT-FAMILY: verdana; FONT-SIZE: 10pt">
<DIV>On 2013-11-14 15:03 , <A href="mailto:gaofeng@cn.fujitsu.com">Gao
feng</A> wrote:</DIV>
<DIV>
<TABLE width="100%">
<TBODY>
<TR>
<TD width="100%">
<BLOCKQUOTE
style="BORDER-LEFT: #000000 2px solid; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px">
<DIV>On 11/14/2013 02:57 PM, hzguanqiang@corp.netease.com wrote:</DIV>
<DIV>> On 2013-11-14 14:17 , Gao feng
<mailto:gaofeng@cn.fujitsu.com> wrote:</DIV>
<DIV>> </DIV>
<DIV>> On 11/14/2013 01:52 PM,
hzguanqiang@corp.netease.com wrote:</DIV>
<DIV>> > On 2013-11-14 13:41 , Gao feng
<mailto:gaofeng@cn.fujitsu.com> wrote:</DIV>
<DIV>> ></DIV>
<DIV>> > On
11/14/2013 01:24 PM, Gao feng wrote:</DIV>
<DIV>> > > On
11/14/2013 10:59 AM, hzguanqiang@corp.netease.com wrote:</DIV>
<DIV>> > >>
Hi experts,</DIV>
<DIV>> >
>></DIV>
<DIV>> > >>
When I test lxc-enter-namespace interface, it turned out such an
error:</DIV>
<DIV>> >
>></DIV>
<DIV>> > >>
hzguanqiang@debian:~$ <mailto:hzguanqiang@debian:~$> vir
version</DIV>
<DIV>> > >>
Compiled against library: libvirt 1.1.4</DIV>
<DIV>> > >>
Using library: libvirt 1.1.4</DIV>
<DIV>> > >>
Using API: LXC 1.1.4</DIV>
<DIV>> > >>
Running hypervisor: LXC 3.9.6</DIV>
<DIV>> >
>></DIV>
<DIV>> > >>
hzguanqiang@debian:~$ <mailto:hzguanqiang@debian:~$> vir
list</DIV>
<DIV>> > >>
Id
Name
State</DIV>
<DIV>> > >>
----------------------------------------------------</DIV>
<DIV>> > >>
1544
instance-00000015
running</DIV>
<DIV>> >
>></DIV>
<DIV>> > >>
hzguanqiang@debian:~$ <mailto:hzguanqiang@debian:~$> vir
lxc-enter-namespace 1544 --noseclabel /bin/df -hl</DIV>
<DIV>> > >>
error: Cannot get namespaces for 1545: Function not implemented</DIV>
<DIV>> >
>></DIV>
<DIV>> > >>
hzguanqiang@debian:~$ <mailto:hzguanqiang@debian:~$> ls
/proc/self/ns</DIV>
<DIV>> > >>
ipc mnt net pid user uts</DIV>
<DIV>> >
>></DIV>
<DIV>> > >>
What's the problem?</DIV>
<DIV>> >
>></DIV>
<DIV>> >
></DIV>
<DIV>> > > Does
your system have system call setns?</DIV>
<DIV>> > </DIV>
<DIV>> > grep
setns /proc/kallsyms</DIV>
<DIV>> > and</DIV>
<DIV>> > grep
setns the config.log of libvirt.</DIV>
<DIV>> > </DIV>
<DIV>> ></DIV>
<DIV>> > Hi, Gaofeng, thanks for your
help. The info you want are:</DIV>
<DIV>> > </DIV>
<DIV>> </DIV>
<DIV>> Hi,</DIV>
<DIV>> </DIV>
<DIV>> >
hzguanqiang@debian:~/github/libvirt$
<mailto:hzguanqiang@debian:~/github/libvirt$> sudo grep setns
/var/log/libvirt/libvirtd.log</DIV>
<DIV>> </DIV>
<DIV>> config.log not libvirtd.log, or you
can exec "./configure | grep setns" under libvirt source
directory.</DIV>
<DIV>> </DIV>
<DIV>> >
hzguanqiang@debian:~/github/libvirt$
<mailto:hzguanqiang@debian:~/github/libvirt$> grep setns
/proc/kallsyms</DIV>
<DIV>> > ffffffff8105b993 T
sys_setns</DIV>
<DIV>> > </DIV>
<DIV>> > What I found really strange is
that the error info returned by the command.</DIV>
<DIV>> >
hzguanqiang@debian:~$ <mailto:hzguanqiang@debian:~$> vir
lxc-enter-namespace 1544 --noseclabel /bin/df -hl</DIV>
<DIV>> > error:
Cannot get namespaces for 1545: Function not implemented</DIV>
<DIV>> > The instance id is 1544, but the
error info hint cannot get ns for 1545.</DIV>
<DIV>> > </DIV>
<DIV>> </DIV>
<DIV>> we have two libvirt lxc related
process at the first start,</DIV>
<DIV>> one is controller process on host(pid
1544), the other is the container's init task(pid 1545).</DIV>
<DIV>> since lxc-enter-namespace wants to
exec cmd in container environment. so</DIV>
<DIV>> libvirt will try to get the namespaces
of container's init task.</DIV>
<DIV>> </DIV>
<DIV>> The problem is libvirt/autoconf thinks
your system doesn't support setns system call...</DIV>
<DIV>> </DIV>
<DIV>> > The libvirt code of mine is of
version 1.1.4 from github (git checkout v1.1.4 -b stable1.1.4 )</DIV>
<DIV>> > </DIV>
<DIV>> </DIV>
<DIV>> I don't know if the libvirt git repo
on github is the right thing, but As I know</DIV>
<DIV>> this repo
git://libvirt.org/libvirt.git is official.</DIV>
<DIV>> </DIV>
<DIV>> Please have a try.</DIV>
<DIV>> </DIV>
<DIV>> </DIV>
<DIV>> Thanks</DIV>
<DIV>> </DIV>
<DIV>> </DIV>
<DIV>> Sorry, I made a mistake about the libvirt repo, the code I
used is just from the official repo.</DIV>
<DIV>> Maybe it's problem of my kernel. I've tried to build libvirt
from code of master branch. The</DIV>
<DIV>> mistake is just the same.</DIV>
<DIV>> </DIV>
<DIV> </DIV>
<DIV>what's result of "./configure | grep setns"</DIV>
<DIV> </DIV></BLOCKQUOTE>
<DIV> </DIV></TD></TR></TBODY></TABLE></DIV>
<DIV>The result is:</DIV>
<DIV> <A
href="mailto:hzguanqiang@debian:~/github/libvirt$">hzguanqiang@debian:~/github/libvirt$</A>
./configure | grep setns</DIV>
<DIV> checking for setns... no</DIV>
<DIV> </DIV>
<DIV>Is there something need to configure for setns system call? Or something is
wrong with my kernel?</DIV>
<DIV> </DIV>
<DIV><SPAN>
<DIV style="FONT-FAMILY: verdana; FONT-SIZE: 10pt">
<DIV>------------------ <BR>Best
regards!<BR>GuanQiang</DIV></DIV></SPAN></DIV>
<DIV>15:07:30</DIV></BODY></HTML>