提交 89c5ce4d 编写于 作者: D Daniel P. Berrange

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
上级 788c3151
......@@ -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
......
......@@ -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
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册