remote: conditionalize daemon name in libvirtd daemon

Prepare for reusing libvirtd source to create other daemons by making
the daemon name conditionally defined by the make rules.

Reviewed-by: Christophe de Dinechin <dinechin@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
Daniel P. Berrangé 2019-06-21 17:19:11 +01:00
parent d5f0c1b6dd
commit 74d76d6478
3 changed files with 31 additions and 25 deletions

View File

@ -147,6 +147,7 @@ libvirtd_CFLAGS = \
-I$(srcdir)/conf \
-I$(srcdir)/rpc \
-DSOCK_PREFIX="\"libvirt\"" \
-DDAEMON_NAME="\"libvirtd\"" \
$(NULL)
libvirtd_LDFLAGS = \

View File

@ -64,7 +64,11 @@
#include "virdbus.h"
VIR_LOG_INIT("daemon.libvirtd");
VIR_LOG_INIT("daemon." DAEMON_NAME);
#ifndef SOCK_PREFIX
# define SOCK_PREFIX DAEMON_NAME
#endif
#if WITH_SASL
virNetSASLContextPtr saslCtxt = NULL;
@ -383,11 +387,11 @@ daemonSetupNetworking(virNetServerPtr srv,
int ret = -1;
VIR_AUTOPTR(virSystemdActivation) act = NULL;
virSystemdActivationMap actmap[] = {
{ .name = "libvirtd.socket", .family = AF_UNIX, .path = sock_path },
{ .name = "libvirtd-ro.socket", .family = AF_UNIX, .path = sock_path_ro },
{ .name = "libvirtd-admin.socket", .family = AF_UNIX, .path = sock_path_adm },
{ .name = "libvirtd-tcp.socket", .family = AF_INET },
{ .name = "libvirtd-tls.socket", .family = AF_INET },
{ .name = DAEMON_NAME ".socket", .family = AF_UNIX, .path = sock_path },
{ .name = DAEMON_NAME "-ro.socket", .family = AF_UNIX, .path = sock_path_ro },
{ .name = DAEMON_NAME "-admin.socket", .family = AF_UNIX, .path = sock_path_adm },
{ .name = DAEMON_NAME "-tcp.socket", .family = AF_INET },
{ .name = DAEMON_NAME "-tls.socket", .family = AF_INET },
};
if ((actmap[3].port = virSocketAddrResolveService(config->tcp_port)) < 0)
@ -421,7 +425,7 @@ daemonSetupNetworking(virNetServerPtr srv,
if (virNetServerAddServiceUNIX(srv,
act,
"libvirtd.socket",
DAEMON_NAME ".socket",
sock_path,
unix_sock_rw_mask,
unix_sock_gid,
@ -434,7 +438,7 @@ daemonSetupNetworking(virNetServerPtr srv,
if (sock_path_ro &&
virNetServerAddServiceUNIX(srv,
act,
"libvirtd-ro.socket",
DAEMON_NAME "-ro.socket",
sock_path_ro,
unix_sock_ro_mask,
unix_sock_gid,
@ -448,7 +452,7 @@ daemonSetupNetworking(virNetServerPtr srv,
if (sock_path_adm &&
virNetServerAddServiceUNIX(srvAdm,
act,
"libvirtd-admin.socket",
DAEMON_NAME "-admin.socket",
sock_path_adm,
unix_sock_adm_mask,
unix_sock_gid,
@ -462,7 +466,7 @@ daemonSetupNetworking(virNetServerPtr srv,
if (((ipsock && config->listen_tcp) || act) &&
virNetServerAddServiceTCP(srv,
act,
"libvirtd-tcp.socket",
DAEMON_NAME "-tcp.socket",
config->listen_addr,
config->tcp_port,
AF_UNSPEC,
@ -519,7 +523,7 @@ daemonSetupNetworking(virNetServerPtr srv,
config->listen_addr, config->tls_port);
if (virNetServerAddServiceTCP(srv,
act,
"libvirtd-tls.socket",
DAEMON_NAME "-tls.socket",
config->listen_addr,
config->tls_port,
AF_UNSPEC,
@ -564,7 +568,7 @@ daemonSetupNetDevOpenvswitch(struct daemonConfig *config)
/*
* Set up the logging environment
* By default if daemonized all errors go to the logfile libvirtd.log,
* By default if daemonized all errors go to journald/a logfile
* but if verbose or error debugging is asked for then also output
* informational and debug messages. Default size if 64 kB.
*/
@ -577,7 +581,7 @@ daemonSetupLogging(struct daemonConfig *config,
virLogReset();
/*
* Libvirtd's order of precedence is:
* Logging setup order of precedence is:
* cmdline > environment > config
*
* Given the precedence, we must process the variables in the opposite
@ -605,7 +609,7 @@ daemonSetupLogging(struct daemonConfig *config,
/* Define the default output. This is only applied if there was no setting
* from either the config or the environment.
*/
if (virLogSetDefaultOutput("libvirtd", godaemon, privileged) < 0)
if (virLogSetDefaultOutput(DAEMON_NAME, godaemon, privileged) < 0)
return -1;
if (virLogGetNbOutputs() == 0)
@ -717,7 +721,7 @@ static void daemonStopWorker(void *opaque)
VIR_DEBUG("Completed stop dmn=%p", dmn);
/* Exit libvirtd cleanly */
/* Exit daemon cleanly */
virNetDaemonQuit(dmn);
}
@ -796,7 +800,7 @@ static void daemonRunStateInit(void *opaque)
driversInitialized = true;
#ifdef WITH_DBUS
/* Tie the non-privileged libvirtd to the session/shutdown lifecycle */
/* Tie the non-privileged daemons to the session/shutdown lifecycle */
if (!virNetDaemonIsPrivileged(dmn)) {
sessionBus = virDBusGetSessionBus();
@ -906,8 +910,8 @@ daemonUsage(const char *argv0, bool privileged)
fprintf(stderr, "\n");
fprintf(stderr, " %s\n", _("Configuration file (unless overridden by -f):"));
fprintf(stderr, " %s/libvirt/libvirtd.conf\n",
privileged ? SYSCONFDIR : "$XDG_CONFIG_HOME");
fprintf(stderr, " %s/libvirt/%s.conf\n",
privileged ? SYSCONFDIR : "$XDG_CONFIG_HOME", DAEMON_NAME);
fprintf(stderr, "\n");
fprintf(stderr, " %s\n", _("Sockets:"));
@ -933,9 +937,9 @@ daemonUsage(const char *argv0, bool privileged)
fprintf(stderr, " %s\n",
_("PID file (unless overridden by -p):"));
fprintf(stderr, " %s\n",
privileged ? LOCALSTATEDIR "/run/libvirtd.pid":
"$XDG_RUNTIME_DIR/libvirt/libvirtd.pid");
fprintf(stderr, " %s/%s.pid\n",
privileged ? LOCALSTATEDIR "/run" : "$XDG_RUNTIME_DIR/libvirt",
DAEMON_NAME);
fprintf(stderr, "\n");
}
@ -1099,7 +1103,7 @@ int main(int argc, char **argv) {
if (!pid_file &&
virPidFileConstructPath(privileged,
LOCALSTATEDIR,
"libvirtd",
DAEMON_NAME,
&pid_file) < 0) {
VIR_ERROR(_("Can't determine pid file path."));
exit(EXIT_FAILURE);
@ -1179,7 +1183,7 @@ int main(int argc, char **argv) {
goto cleanup;
}
if (!(srv = virNetServerNew("libvirtd", 1,
if (!(srv = virNetServerNew(DAEMON_NAME, 1,
config->min_workers,
config->max_workers,
config->prio_workers,

View File

@ -77,7 +77,8 @@ int
daemonConfigFilePath(bool privileged, char **configfile)
{
if (privileged) {
if (VIR_STRDUP(*configfile, SYSCONFDIR "/libvirt/libvirtd.conf") < 0)
if (VIR_STRDUP(*configfile,
SYSCONFDIR "/libvirt/" DAEMON_NAME ".conf") < 0)
goto error;
} else {
char *configdir = NULL;
@ -85,7 +86,7 @@ daemonConfigFilePath(bool privileged, char **configfile)
if (!(configdir = virGetUserConfigDirectory()))
goto error;
if (virAsprintf(configfile, "%s/libvirtd.conf", configdir) < 0) {
if (virAsprintf(configfile, "%s/%s.conf", configdir, DAEMON_NAME) < 0) {
VIR_FREE(configdir);
goto error;
}