[PATCH 31/41] vz: introduce virtvzd daemon

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The virtvzd daemon will be responsible for providing the vz API
driver functionality. The vz driver is still loaded by the main
libvirtd daemon at this stage, so virtvzd must not be running at
the same time.

Signed-off-by: Daniel P. Berrangé <berrange@xxxxxxxxxx>
---
 .gitignore                |  4 +++
 src/vz/Makefile.inc.am    | 62 +++++++++++++++++++++++++++++++++++++++
 src/vz/virtvzd.service.in | 24 +++++++++++++++
 3 files changed, 90 insertions(+)
 create mode 100644 src/vz/virtvzd.service.in

diff --git a/.gitignore b/.gitignore
index 4e46adaa55..e35a3409f2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -216,7 +216,11 @@
 /src/virtsecretd
 /src/virtstoraged
 /src/virtvboxd
+/src/virtvzd
 /src/virt-guest-shutdown.target
+/src/vz/test_virtvzd.aug
+/src/vz/virtvzd.aug
+/src/vz/virtvzd.conf
 /tests/*.log
 /tests/*.pid
 /tests/*.trs
diff --git a/src/vz/Makefile.inc.am b/src/vz/Makefile.inc.am
index a3a146c627..72280614da 100644
--- a/src/vz/Makefile.inc.am
+++ b/src/vz/Makefile.inc.am
@@ -37,4 +37,66 @@ libvirt_driver_vz_impl_la_LIBADD = \
 	$(PARALLELS_SDK_LIBS) \
 	$(LIBNL_LIBS) \
 	$(NULL)
+
+sbin_PROGRAMS += virtvzd
+
+nodist_conf_DATA += vz/virtvzd.conf
+augeas_DATA += vz/virtvzd.aug
+augeastest_DATA += vz/test_virtvzd.aug
+CLEANFILES += vz/virtvzd.aug
+
+virtvzd_SOURCES = $(REMOTE_DAEMON_SOURCES)
+virtvzd_CFLAGS = \
+       $(REMOTE_DAEMON_CFLAGS) \
+       -DDAEMON_NAME="\"virtvzd\"" \
+       -DMODULE_NAME="\"vz\"" \
+       $(NULL)
+virtvzd_LDFLAGS = $(REMOTE_DAEMON_LD_FLAGS)
+virtvzd_LDADD = $(REMOTE_DAEMON_LD_ADD)
+
+SYSTEMD_UNIT_FILES += \
+	virtvzd.service \
+	virtvzd.socket \
+	virtvzd-ro.socket \
+	virtvzd-admin.socket \
+	$(NULL)
+SYSTEMD_UNIT_FILES_IN += \
+	vz/virtvzd.service.in \
+	$(NULL)
+
+VIRTVZD_UNIT_VARS = \
+	$(VIRTD_UNIT_VARS) \
+	-e 's|[@]name[@]|Libvirt vz|g' \
+	-e 's|[@]service[@]|virtvzd|g' \
+	-e 's|[@]sockprefix[@]|virtvzd|g' \
+	$(NULL)
+
+virtvzd.service: vz/virtvzd.service.in $(top_builddir)/config.status
+	$(AM_V_GEN)sed $(VIRTVZD_UNIT_VARS) < $< > $@-t && mv $@-t $@
+
+virtvz%.socket: remote/libvirt%.socket.in $(top_builddir)/config.status
+	$(AM_V_GEN)sed $(VIRTVZD_UNIT_VARS) < $< > $@-t && mv $@-t $@
+
+vz/virtvzd.conf: remote/libvirtd.conf.in
+	$(AM_V_GEN)sed \
+		-e '/:: CUT ENABLE_IP ::/,/:: END ::/d' \
+		-e 's/:: DAEMON_NAME ::/virtvzd/' \
+		< $^ > $@
+
+vz/virtvzd.aug: remote/libvirtd.aug.in
+	$(AM_V_GEN)$(SED) \
+		-e '/:: CUT ENABLE_IP ::/,/:: END ::/d' \
+		-e 's/:: DAEMON_NAME ::/virtvzd/' \
+		-e 's/:: DAEMON_NAME_UC ::/Virtvzd/' \
+		$< > $@
+
+vz/test_virtvzd.aug: remote/test_libvirtd.aug.in \
+		vz/virtvzd.conf $(AUG_GENTEST)
+	$(AM_V_GEN)$(AUG_GENTEST) vz/virtvzd.conf \
+		$(srcdir)/remote/test_libvirtd.aug.in | \
+		$(SED) -e '/:: CUT ENABLE_IP ::/,/:: END ::/d' \
+		-e 's/:: DAEMON_NAME ::/virtvzd/' \
+		-e 's/:: DAEMON_NAME_UC ::/Virtvzd/' \
+		> $@ || rm -f $@
+
 endif WITH_VZ
diff --git a/src/vz/virtvzd.service.in b/src/vz/virtvzd.service.in
new file mode 100644
index 0000000000..a591791df0
--- /dev/null
+++ b/src/vz/virtvzd.service.in
@@ -0,0 +1,24 @@
+[Unit]
+Description=Virtualization vz daemon
+Conflicts=libvirtd.service
+Requires=virtvzd.socket
+Requires=virtvzd-ro.socket
+Requires=virtvzd-admin.socket
+After=network.target
+After=dbus.service
+After=apparmor.service
+After=local-fs.target
+Documentation=man:libvirtd(8)
+Documentation=https://libvirt.org
+
+[Service]
+Type=notify
+ExecStart=@sbindir@/virtvzd --timeout 120
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=on-failure
+
+[Install]
+WantedBy=multi-user.target
+Also=virtvzd.socket
+Also=virtvzd-ro.socket
+Also=virtvzd-admin.socket
-- 
2.21.0

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux