Allow autostart of libvirtd to be disabled with LIBVIRT_AUTOSTART=0

* 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
This commit is contained in:
Daniel P. Berrange 2009-07-06 18:43:21 +01:00
parent 788c315165
commit 89c5ce4dcd
2 changed files with 24 additions and 2 deletions

View 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

View 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,6 +1000,8 @@ remoteOpen (virConnectPtr conn,
getuid() > 0) {
DEBUG0("Auto-spawn user daemon instance");
rflags |= VIR_DRV_OPEN_REMOTE_USER;
if (!autostart ||
STRNEQ(autostart, "0"))
rflags |= VIR_DRV_OPEN_REMOTE_AUTOSTART;
}
@ -1014,6 +1017,8 @@ remoteOpen (virConnectPtr conn,
if (getuid() > 0) {
DEBUG0("Auto-spawn user daemon instance");
rflags |= VIR_DRV_OPEN_REMOTE_USER;
if (!autostart ||
STRNEQ(autostart, "0"))
rflags |= VIR_DRV_OPEN_REMOTE_AUTOSTART;
}
#endif