]> xenbits.xensource.com Git - libvirt.git/commitdiff
vz: introduce virtvzd daemon
authorDaniel P. Berrangé <berrange@redhat.com>
Fri, 16 Mar 2018 17:05:24 +0000 (17:05 +0000)
committerDaniel P. Berrangé <berrange@redhat.com>
Fri, 9 Aug 2019 13:06:31 +0000 (14:06 +0100)
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.

Reviewed-by: Andrea Bolognani <abologna@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
.gitignore
src/vz/Makefile.inc.am
src/vz/virtvzd.service.in [new file with mode: 0644]

index 5a7ca221e8e6f43dd4d3c77728ef0c8cad721e2f..dd5d35c762163c914a7fd8d7be704560cff3b836 100644 (file)
 /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
index a3a146c627a45491aaac02c62137fc4b62ab66ec..f56fceb8f73c4952e29cb22b6d12f7d0e617da40 100644 (file)
@@ -37,4 +37,67 @@ 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 (file)
index 0000000..cd0f558
--- /dev/null
@@ -0,0 +1,25 @@
+[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
+After=remote-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