Re: [libvirt] [PATCH] Explicitly pass uml_dir argument to user-mode-linux
On 25-08-2010 11:03, Soren Hansen wrote: uml_dir overrides user-mode-linux's default of ~/.uml. This is needed for a couple of different reasons: Any comments on this patch? It seems perfectly reasonable to me to get this in regardless of the outcome of this discussion: https://www.redhat.com/archives/libvir-list/2010-August/msg00672.html -- Soren Hansen Ubuntu Developer http://www.ubuntu.com/ -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH] Explicitly pass uml_dir argument to user-mode-linux
On Wed, Aug 25, 2010 at 11:03:42AM +0200, Soren Hansen wrote: uml_dir overrides user-mode-linux's default of ~/.uml. This is needed for a couple of different reasons: libvirt expects this to default to virGetUserDirectory(geteuid()) + '/.uml'. However, user-mode-linux actually uses the HOME environment variable to determine where to look for the uml sockets, but if running libvirtd under sudo (which I routinely do during development), $HOME is pointing at my user's homedir, while my euid is 0, so libvirt looks in /root. Also (and this was my actual motivation for this patch), if HOME isn't set at all, user-mode-linux utterly fails. Looking at the code, it seems it's meant to emit a warning, but alas, it doesn't for some reason. If running libvirtd from upstart, HOME is not set, so any system using upstart will need this change. Signed-off-by: Soren Hansen so...@linux2go.dk --- src/uml/uml_conf.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/uml/uml_conf.c b/src/uml/uml_conf.c index 65b06c5..4906192 100644 --- a/src/uml/uml_conf.c +++ b/src/uml/uml_conf.c @@ -409,7 +409,7 @@ static char *umlNextArg(char *args) * for a given virtual machine. */ int umlBuildCommandLine(virConnectPtr conn, -struct uml_driver *driver ATTRIBUTE_UNUSED, +struct uml_driver *driver, virDomainObjPtr vm, fd_set *keepfd, const char ***retargv, @@ -499,7 +499,6 @@ int umlBuildCommandLine(virConnectPtr conn, ADD_ENV_COPY(LD_PRELOAD); ADD_ENV_COPY(LD_LIBRARY_PATH); ADD_ENV_COPY(PATH); -ADD_ENV_COPY(HOME); ADD_ENV_COPY(USER); ADD_ENV_COPY(LOGNAME); ADD_ENV_COPY(TMPDIR); @@ -508,6 +507,7 @@ int umlBuildCommandLine(virConnectPtr conn, //ADD_ARG_PAIR(con0, fd:0,fd:1); ADD_ARG_PAIR(mem, memory); ADD_ARG_PAIR(umid, vm-def-name); +ADD_ARG_PAIR(uml_dir, driver-monitorDir); if (vm-def-os.root) ADD_ARG_PAIR(root, vm-def-os.root); ACK Regards, Daniel -- |: Red Hat, Engineering, London-o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://deltacloud.org :| |: http://autobuild.org-o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :| -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH] Explicitly pass uml_dir argument to user-mode-linux
On 08/31/2010 04:37 AM, Daniel P. Berrange wrote: On Wed, Aug 25, 2010 at 11:03:42AM +0200, Soren Hansen wrote: uml_dir overrides user-mode-linux's default of ~/.uml. This is needed for a couple of different reasons: @@ -508,6 +507,7 @@ int umlBuildCommandLine(virConnectPtr conn, //ADD_ARG_PAIR(con0, fd:0,fd:1); ADD_ARG_PAIR(mem, memory); ADD_ARG_PAIR(umid, vm-def-name); +ADD_ARG_PAIR(uml_dir, driver-monitorDir); if (vm-def-os.root) ADD_ARG_PAIR(root, vm-def-os.root); ACK Pushed. -- Eric Blake ebl...@redhat.com+1-801-349-2682 Libvirt virtualization library http://libvirt.org -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
[libvirt] [PATCH] Explicitly pass uml_dir argument to user-mode-linux
uml_dir overrides user-mode-linux's default of ~/.uml. This is needed for a couple of different reasons: libvirt expects this to default to virGetUserDirectory(geteuid()) + '/.uml'. However, user-mode-linux actually uses the HOME environment variable to determine where to look for the uml sockets, but if running libvirtd under sudo (which I routinely do during development), $HOME is pointing at my user's homedir, while my euid is 0, so libvirt looks in /root. Also (and this was my actual motivation for this patch), if HOME isn't set at all, user-mode-linux utterly fails. Looking at the code, it seems it's meant to emit a warning, but alas, it doesn't for some reason. If running libvirtd from upstart, HOME is not set, so any system using upstart will need this change. Signed-off-by: Soren Hansen so...@linux2go.dk --- src/uml/uml_conf.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/uml/uml_conf.c b/src/uml/uml_conf.c index 65b06c5..4906192 100644 --- a/src/uml/uml_conf.c +++ b/src/uml/uml_conf.c @@ -409,7 +409,7 @@ static char *umlNextArg(char *args) * for a given virtual machine. */ int umlBuildCommandLine(virConnectPtr conn, -struct uml_driver *driver ATTRIBUTE_UNUSED, +struct uml_driver *driver, virDomainObjPtr vm, fd_set *keepfd, const char ***retargv, @@ -499,7 +499,6 @@ int umlBuildCommandLine(virConnectPtr conn, ADD_ENV_COPY(LD_PRELOAD); ADD_ENV_COPY(LD_LIBRARY_PATH); ADD_ENV_COPY(PATH); -ADD_ENV_COPY(HOME); ADD_ENV_COPY(USER); ADD_ENV_COPY(LOGNAME); ADD_ENV_COPY(TMPDIR); @@ -508,6 +507,7 @@ int umlBuildCommandLine(virConnectPtr conn, //ADD_ARG_PAIR(con0, fd:0,fd:1); ADD_ARG_PAIR(mem, memory); ADD_ARG_PAIR(umid, vm-def-name); +ADD_ARG_PAIR(uml_dir, driver-monitorDir); if (vm-def-os.root) ADD_ARG_PAIR(root, vm-def-os.root); -- 1.7.0.4 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH] Explicitly pass uml_dir argument to user-mode-linux
On 08/25/2010 05:03 AM, Soren Hansen wrote: uml_dir overrides user-mode-linux's default of ~/.uml. This is needed for a couple of different reasons: libvirt expects this to default to virGetUserDirectory(geteuid()) + '/.uml'. However, user-mode-linux actually uses the HOME environment variable to determine where to look for the uml sockets, but if running libvirtd under sudo (which I routinely do during development), $HOME is pointing at my user's homedir, while my euid is 0, so libvirt looks in /root. Also (and this was my actual motivation for this patch), if HOME isn't set at all, user-mode-linux utterly fails. Looking at the code, it seems it's meant to emit a warning, but alas, it doesn't for some reason. If running libvirtd from upstart, HOME is not set, so any system using upstart will need this change. Signed-off-by: Soren Hansen so...@linux2go.dk --- src/uml/uml_conf.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/uml/uml_conf.c b/src/uml/uml_conf.c index 65b06c5..4906192 100644 --- a/src/uml/uml_conf.c +++ b/src/uml/uml_conf.c @@ -409,7 +409,7 @@ static char *umlNextArg(char *args) * for a given virtual machine. */ int umlBuildCommandLine(virConnectPtr conn, -struct uml_driver *driver ATTRIBUTE_UNUSED, +struct uml_driver *driver, virDomainObjPtr vm, fd_set *keepfd, const char ***retargv, @@ -499,7 +499,6 @@ int umlBuildCommandLine(virConnectPtr conn, ADD_ENV_COPY(LD_PRELOAD); ADD_ENV_COPY(LD_LIBRARY_PATH); ADD_ENV_COPY(PATH); -ADD_ENV_COPY(HOME); ADD_ENV_COPY(USER); ADD_ENV_COPY(LOGNAME); ADD_ENV_COPY(TMPDIR); @@ -508,6 +507,7 @@ int umlBuildCommandLine(virConnectPtr conn, //ADD_ARG_PAIR(con0, fd:0,fd:1); ADD_ARG_PAIR(mem, memory); ADD_ARG_PAIR(umid, vm-def-name); +ADD_ARG_PAIR(uml_dir, driver-monitorDir); if (vm-def-os.root) ADD_ARG_PAIR(root, vm-def-os.root); I think this should also solve this long standing fedora/selinux bug: https://bugzilla.redhat.com/show_bug.cgi?id=499536 - Cole -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH] Explicitly pass uml_dir argument to user-mode-linux
On Wed, Aug 25, 2010 at 10:07:45AM -0400, Cole Robinson wrote: On 08/25/2010 05:03 AM, Soren Hansen wrote: uml_dir overrides user-mode-linux's default of ~/.uml. This is needed for a couple of different reasons: libvirt expects this to default to virGetUserDirectory(geteuid()) + '/.uml'. However, user-mode-linux actually uses the HOME environment variable to determine where to look for the uml sockets, but if running libvirtd under sudo (which I routinely do during development), $HOME is pointing at my user's homedir, while my euid is 0, so libvirt looks in /root. Also (and this was my actual motivation for this patch), if HOME isn't set at all, user-mode-linux utterly fails. Looking at the code, it seems it's meant to emit a warning, but alas, it doesn't for some reason. If running libvirtd from upstart, HOME is not set, so any system using upstart will need this change. Signed-off-by: Soren Hansen so...@linux2go.dk --- src/uml/uml_conf.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/uml/uml_conf.c b/src/uml/uml_conf.c index 65b06c5..4906192 100644 --- a/src/uml/uml_conf.c +++ b/src/uml/uml_conf.c @@ -409,7 +409,7 @@ static char *umlNextArg(char *args) * for a given virtual machine. */ int umlBuildCommandLine(virConnectPtr conn, -struct uml_driver *driver ATTRIBUTE_UNUSED, +struct uml_driver *driver, virDomainObjPtr vm, fd_set *keepfd, const char ***retargv, @@ -499,7 +499,6 @@ int umlBuildCommandLine(virConnectPtr conn, ADD_ENV_COPY(LD_PRELOAD); ADD_ENV_COPY(LD_LIBRARY_PATH); ADD_ENV_COPY(PATH); -ADD_ENV_COPY(HOME); ADD_ENV_COPY(USER); ADD_ENV_COPY(LOGNAME); ADD_ENV_COPY(TMPDIR); @@ -508,6 +507,7 @@ int umlBuildCommandLine(virConnectPtr conn, //ADD_ARG_PAIR(con0, fd:0,fd:1); ADD_ARG_PAIR(mem, memory); ADD_ARG_PAIR(umid, vm-def-name); +ADD_ARG_PAIR(uml_dir, driver-monitorDir); if (vm-def-os.root) ADD_ARG_PAIR(root, vm-def-os.root); I think this should also solve this long standing fedora/selinux bug: Almost. We still need to change 'driver-monitorDir' so that it gets initialized to '$LOCAL_STATE_DIR/lib/libvirt/uml' like we do with QEMU (or $HOME/.libvirt/uml/lib for session mode) Regards, Daniel -- |: Red Hat, Engineering, London-o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://deltacloud.org :| |: http://autobuild.org-o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :| -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH] Explicitly pass uml_dir argument to user-mode-linux
On 25-08-2010 16:07, Cole Robinson wrote: On 08/25/2010 05:03 AM, Soren Hansen wrote: uml_dir overrides user-mode-linux's default of ~/.uml. This is needed for a couple of different reasons: I think this should also solve this long standing fedora/selinux bug: https://bugzilla.redhat.com/show_bug.cgi?id=499536 Well, halfway. The other half should be easy, though. Gimme a few minutes. -- Soren Hansen Ubuntu Developer http://www.ubuntu.com/ -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH] Explicitly pass uml_dir argument to user-mode-linux
On 25-08-2010 16:18, Daniel P. Berrange wrote: Almost. We still need to change 'driver-monitorDir' so that it gets initialized to '$LOCAL_STATE_DIR/lib/libvirt/uml' like we do with QEMU (or $HOME/.libvirt/uml/lib for session mode) I think leaving it as $HOME/.uml is preferable for uml:///session. It integrates well with the existing, well-known uml-utilities (e.g. uml_mconsole domain name Just Works[tm]). -- Soren Hansen Ubuntu Developer http://www.ubuntu.com/ -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH] Explicitly pass uml_dir argument to user-mode-linux
On Wed, Aug 25, 2010 at 05:56:22PM +0200, Soren Hansen wrote: On 25-08-2010 16:18, Daniel P. Berrange wrote: Almost. We still need to change 'driver-monitorDir' so that it gets initialized to '$LOCAL_STATE_DIR/lib/libvirt/uml' like we do with QEMU (or $HOME/.libvirt/uml/lib for session mode) I think leaving it as $HOME/.uml is preferable for uml:///session. It integrates well with the existing, well-known uml-utilities (e.g. uml_mconsole domain name Just Works[tm]). Oh, i guess so then. Daniel -- |: Red Hat, Engineering, London-o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://deltacloud.org :| |: http://autobuild.org-o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :| -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list