Re: [libvirt] [PATCH] Explicitly pass uml_dir argument to user-mode-linux

2010-08-31 Thread Soren Hansen
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

2010-08-31 Thread Daniel P. Berrange
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

2010-08-31 Thread Eric Blake

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

2010-08-25 Thread Soren Hansen
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

2010-08-25 Thread Cole Robinson
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

2010-08-25 Thread Daniel P. Berrange
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

2010-08-25 Thread Soren Hansen
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

2010-08-25 Thread Soren Hansen
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

2010-08-25 Thread Daniel P. Berrange
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