]> xenbits.xensource.com Git - libvirt.git/commitdiff
Revert "daemon: use socket activation with systemd"
authorCole Robinson <crobinso@redhat.com>
Mon, 11 Apr 2016 22:36:20 +0000 (18:36 -0400)
committerCole Robinson <crobinso@redhat.com>
Wed, 20 Apr 2016 12:53:38 +0000 (08:53 -0400)
This reverts commit 1e9808d3a1e00a7121bae8b163d9c42d441d2ca8.

We shouldn't advertise libvirtd.socket activation, since currently
it means VM/network/... autostart won't work as expected.

We tried to find a middle ground by installing the config file without
an [Install] section, since systemd won't allow .socket to be enabled
without one... or at least it did do that; presently on f24 it allows
activating the socket quite happily. This also caused user confusion[1]

Just remove the socket file. I've filed a new RFE to track coming up
with a solution to the autostart problem[2], we can point users at that
if there's more confusion:

[1]: https://bugzilla.redhat.com/show_bug.cgi?id=1279348
[2]: https://bugzilla.redhat.com/show_bug.cgi?id=1326136

.gitignore
daemon/Makefile.am
daemon/libvirtd.conf
daemon/libvirtd.service.in
daemon/libvirtd.socket.in [deleted file]
libvirt.spec.in

index 0d12c5c156dfc62f8156c1fe6ae7e124e3d0a07c..381db69b9f943d1053cf8beda98035f22a622a0f 100644 (file)
@@ -63,7 +63,6 @@
 /daemon/libvirtd.pod
 /daemon/libvirtd.policy
 /daemon/libvirtd.service
-/daemon/libvirtd.socket
 /daemon/test_libvirtd.aug
 /docs/aclperms.htmlinc
 /docs/apibuild.py.stamp
index 78d7d215c6490d4080a1e651dae70d5ae7141d08..b3bcb9611e6f3129cb5381d709422d7bbcc8aade 100644 (file)
@@ -59,7 +59,6 @@ EXTRA_DIST =                                          \
        libvirt.rules                                   \
        libvirtd.sasl                                   \
        libvirtd.service.in                             \
-       libvirtd.socket.in                              \
        libvirtd.sysconf                                \
        libvirtd.sysctl                                 \
        libvirtd.aug                                    \
@@ -450,18 +449,15 @@ endif ! LIBVIRT_INIT_SCRIPT_UPSTART
 if LIBVIRT_INIT_SCRIPT_SYSTEMD
 
 SYSTEMD_UNIT_DIR = $(prefix)/lib/systemd/system
-BUILT_SOURCES += libvirtd.service libvirtd.socket
+BUILT_SOURCES += libvirtd.service
 
-install-init-systemd: install-sysconfig libvirtd.service libvirtd.socket
+install-init-systemd: install-sysconfig libvirtd.service
        $(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR)
        $(INSTALL_DATA) libvirtd.service \
          $(DESTDIR)$(SYSTEMD_UNIT_DIR)/libvirtd.service
-       $(INSTALL_DATA) libvirtd.socket \
-         $(DESTDIR)$(SYSTEMD_UNIT_DIR)/libvirtd.socket
 
 uninstall-init-systemd: uninstall-sysconfig
        rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/libvirtd.service
-       rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/libvirtd.socket
        rmdir $(DESTDIR)$(SYSTEMD_UNIT_DIR) || :
 else ! LIBVIRT_INIT_SCRIPT_SYSTEMD
 install-init-systemd:
@@ -485,12 +481,6 @@ libvirtd.service: libvirtd.service.in $(top_builddir)/config.status
            < $< > $@-t &&                                      \
            mv $@-t $@
 
-libvirtd.socket: libvirtd.socket.in $(top_builddir)/config.status
-       $(AM_V_GEN)sed                                          \
-           -e 's|[@]runstatedir[@]|$(runstatedir)|g'           \
-           < $< > $@-t &&                                      \
-           mv $@-t $@
-
 
 check-local: check-augeas
 
index 5485f98539fffe6bae0efc4c68f84943818340b1..d2c439c72256973d2190cc4bddabc3a660efe034 100644 (file)
 # UNIX socket access controls
 #
 
-# Beware that if you are changing *any* of these options, and you use
-# socket activation with systemd, you need to adjust the settings in
-# the libvirtd.socket file as well since it could impose a security
-# risk if you rely on file permission checking only.
-
 # Set the UNIX domain socket group ownership. This can be used to
 # allow a 'trusted' set of users access to management capabilities
 # without becoming root.
index 608221c1524aaf70dad94556fde21cca5da5b0dc..1616e7a2d0f253db13ff567292c4df2367596625 100644 (file)
@@ -1,3 +1,8 @@
+# NB we don't use socket activation. When libvirtd starts it will
+# spawn any virtual machines registered for autostart. We want this
+# to occur on every boot, regardless of whether any client connects
+# to a socket. Thus socket activation doesn't have any benefit
+
 [Unit]
 Description=Virtualization daemon
 Before=libvirt-guests.service
diff --git a/daemon/libvirtd.socket.in b/daemon/libvirtd.socket.in
deleted file mode 100644 (file)
index 0915bb3..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-[Socket]
-ListenStream=@runstatedir@/libvirt/libvirt-sock
-ListenStream=@runstatedir@/libvirt/libvirt-sock-ro
-
-; The following settings must match libvirtd.conf file in order to
-; work as expected because libvirtd can't change them later.
-; SocketMode=0777 is safe only if authentication on the socket is set
-; up.  For further information, please see the libvirtd.conf file.
-SocketMode=0777
-SocketUser=root
-SocketGroup=root
index 2e7ee15928c756669e7e18852fe6314273e608ae..35212dab747f8062f9366261e5f56183aa46e252 100644 (file)
@@ -1709,7 +1709,7 @@ exit 0
 
     %if %{with_systemd}
         %if %{with_systemd_macros}
-            %systemd_post virtlockd.socket virtlogd.socket libvirtd.service libvirtd.socket
+            %systemd_post virtlockd.socket virtlogd.socket libvirtd.service
         %else
 if [ $1 -eq 1 ] ; then
     # Initial installation
@@ -1738,19 +1738,17 @@ fi
 %preun daemon
     %if %{with_systemd}
         %if %{with_systemd_macros}
-            %systemd_preun libvirtd.socket libvirtd.service virtlogd.socket virtlogd.service virtlockd.socket virtlockd.service
+            %systemd_preun libvirtd.service virtlogd.socket virtlogd.service virtlockd.socket virtlockd.service
         %else
 if [ $1 -eq 0 ] ; then
     # Package removal, not upgrade
     /bin/systemctl --no-reload disable \
-        libvirtd.socket \
         libvirtd.service \
         virtlogd.socket \
         virtlogd.service \
         virtlockd.socket \
         virtlockd.service > /dev/null 2>&1 || :
     /bin/systemctl stop \
-        libvirtd.socket \
         libvirtd.service \
         virtlogd.socket \
         virtlogd.service \
@@ -1977,7 +1975,6 @@ exit 0
 
     %if %{with_systemd}
 %{_unitdir}/libvirtd.service
-%{_unitdir}/libvirtd.socket
 %{_unitdir}/virtlogd.service
 %{_unitdir}/virtlogd.socket
 %{_unitdir}/virtlockd.service