generation of virtproxd socket files
Christian Ehrhardt
christian.ehrhardt at canonical.com
Tue Feb 9 12:32:55 UTC 2021
On Tue, Feb 9, 2021 at 12:09 AM Jim Fehlig <jfehlig at suse.com> wrote:
>
> Hi All,
>
> I received a report [1] and verified that virtproxyd*.socket files have broken
> syntax. E.g. from virtproxyd.socket
>
> [Unit]
> Description=Libvirt proxy local socket
> Before=virtproxyd.service
> libvirtd.socket libvirtd-ro.socket libvirtd-admin.socket libvirtd-tcp.socket
> libvirtd-tls.socket
>
> virtproxyd.socket should 'Conflicts' with the libvirtd sockets. I suspect this
> regressed in the switch to meson. I checked a libvirt 6.0.0 installation and
> indeed it has
>
> Conflicts=libvirtd.socket libvirtd-ro.socket libvirtd-admin.socket
> libvirtd-tcp.socket libvirtd-tls.socket
>
> I blame it on Monday and my mind stuck in the weekend, but I spent too much time
> trying to figure out how those socket files are generated before writing this
> mail. It would be much appreciated if someone can give me a nudge in the right
> direction :-).
*point*
-> src/remote/meson.build
227 virt_daemon_units += {
228 'service': 'virtproxyd',
229 'service_in': files('virtproxyd.service.in'),
230 'name': 'Libvirt proxy',
231 'sockprefix': 'libvirt',
232 'sockets': [ 'main', 'ro', 'admin', 'tcp', 'tls' ],
233 'deps': libvirtd_socket_conflicts,
234 }
-> src/meson.build
195 # virt_daemon_units:
196 # generate libvirt daemon systemd unit files
197 # * service - name of the service (required)
198 # * service_in - service source file (required)
199 # * name - socket description (required)
200 # * sockprefix - socket prefix name (required)
201 # * sockets - array of additional sockets (optional, default [
'main', 'ro', 'admin' ])
202 # * socket_$name_in - additional socket source files (optional,
default remote/libvirtd.socket.in )
203 # * deps - socket dependencies (optional, default '')
204 # * conflicts - if the service conflicts with libvirtd
(optional, true)
205 virt_daemon_units = []
...
792 foreach unit : virt_daemon_units
793 unit_conf = configuration_data()
794 unit_conf.set('runstatedir', runstatedir)
795 unit_conf.set('sbindir', sbindir)
796 unit_conf.set('sysconfdir', sysconfdir)
797 unit_conf.set('name', unit['name'])
798 unit_conf.set('service', unit['service'])
799 unit_conf.set('sockprefix', unit['sockprefix'])
800 unit_conf.set('deps', unit.get('deps', ''))
801 if conf.has('WITH_POLKIT')
802 unit_conf.set('mode', '0666')
803 else
804 unit_conf.set('mode', '0600')
805 endif
...
Also see: https://gitlab.com/libvirt/libvirt/-/commit/dd4f2c73ad7f9fc0eae5325d5bf5786afd3a467e
So if not just an error/mistake somewhere, then setting
socket_$name_in and providing such a file with your needs could be a
start
> Regards,
> Jim
>
> [1] https://bugzilla.opensuse.org/show_bug.cgi?id=1181838
>
--
Christian Ehrhardt
Staff Engineer, Ubuntu Server
Canonical Ltd
More information about the libvir-list
mailing list