]> xenbits.xensource.com Git - libvirt.git/commitdiff
Allow autostart of libvirtd to be disabled with LIBVIRT_AUTOSTART=0
authorDaniel P. Berrange <berrange@redhat.com>
Mon, 6 Jul 2009 17:43:21 +0000 (18:43 +0100)
committerDaniel P. Berrange <berrange@redhat.com>
Thu, 16 Jul 2009 09:53:16 +0000 (10:53 +0100)
* src/remote_internal.c: Disable libvirtd autostart if the
  LIBVIRT_AUTOSTART=0 env variable is set
* src/libvirt.c: Document environment variables can impact
  the virConnectOpen API

src/libvirt.c
src/remote_internal.c

index 72221e9048536f56b9b7b7d91e8461edc5ab26b0..cb39636e8f978715e6d03b0954b901626178c0d7 100644 (file)
@@ -1118,6 +1118,17 @@ failed:
  *
  * Returns a pointer to the hypervisor connection or NULL in case of error
  *
+ * If @name is NULL then probing will be done to determine a suitable
+ * default driver to activate. This involves trying each hypervisor
+ * in turn until one successfully opens. If the LIBVIRT_DEFAULT_URI
+ * environment variable is set, then it will be used in preference
+ * to probing for a driver.
+ *
+ * If connecting to an unprivileged hypervisor driver which requires
+ * the libvirtd daemon to be active, it will automatically be launched
+ * if not already running. This can be prevented by setting the
+ * environment variable LIBVIRT_AUTOSTART=0
+ *
  * URIs are documented at http://libvirt.org/uri.html
  */
 virConnectPtr
@@ -1139,6 +1150,9 @@ virConnectOpen (const char *name)
  * library functionalities. The set of APIs usable are then restricted
  * on the available methods to control the domains.
  *
+ * See virConnectOpen for notes about environment variables which can
+ * have an effect on opening drivers
+ *
  * Returns a pointer to the hypervisor connection or NULL in case of error
  *
  * URIs are documented at http://libvirt.org/uri.html
@@ -1164,6 +1178,9 @@ virConnectOpenReadOnly(const char *name)
  * Hypervisor. If necessary, authentication will be performed fetching
  * credentials via the callback
  *
+ * See virConnectOpen for notes about environment variables which can
+ * have an effect on opening drivers
+ *
  * Returns a pointer to the hypervisor connection or NULL in case of error
  *
  * URIs are documented at http://libvirt.org/uri.html
index 72a14c0ae1821f63b4470d3fca88d4ca1a0e6456..423958942db5f64ecae5b8e1a5fd4997ae234492 100644 (file)
@@ -972,6 +972,7 @@ remoteOpen (virConnectPtr conn,
 {
     struct private_data *priv;
     int ret, rflags = 0;
+    const char *autostart = getenv("LIBVIRT_AUTOSTART");
 
     if (inside_daemon)
         return VIR_DRV_OPEN_DECLINED;
@@ -999,7 +1000,9 @@ remoteOpen (virConnectPtr conn,
         getuid() > 0) {
         DEBUG0("Auto-spawn user daemon instance");
         rflags |= VIR_DRV_OPEN_REMOTE_USER;
-        rflags |= VIR_DRV_OPEN_REMOTE_AUTOSTART;
+        if (!autostart ||
+            STRNEQ(autostart, "0"))
+            rflags |= VIR_DRV_OPEN_REMOTE_AUTOSTART;
     }
 
     /*
@@ -1014,7 +1017,9 @@ remoteOpen (virConnectPtr conn,
         if (getuid() > 0) {
             DEBUG0("Auto-spawn user daemon instance");
             rflags |= VIR_DRV_OPEN_REMOTE_USER;
-            rflags |= VIR_DRV_OPEN_REMOTE_AUTOSTART;
+            if (!autostart ||
+                STRNEQ(autostart, "0"))
+                rflags |= VIR_DRV_OPEN_REMOTE_AUTOSTART;
         }
 #endif
     }