Bug 1340160
Summary: | vdagent doesn't work after switching between systemd targets | ||||||
---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Andrei Stepanov <astepano> | ||||
Component: | spice-vdagent | Assignee: | Jonathon Jongsma <jjongsma> | ||||
Status: | CLOSED ERRATA | QA Contact: | SPICE QE bug list <spice-qe-bugs> | ||||
Severity: | unspecified | Docs Contact: | |||||
Priority: | unspecified | ||||||
Version: | 7.3 | CC: | dblechte, jjongsma, marcandre.lureau, rbalakri, rduda, tpelka, victortoso | ||||
Target Milestone: | rc | ||||||
Target Release: | --- | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Whiteboard: | |||||||
Fixed In Version: | spice-vdagent-0.14.0-15 | Doc Type: | If docs needed, set a value | ||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2018-04-10 18:51:58 UTC | Type: | Bug | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Bug Depends On: | 1518411 | ||||||
Bug Blocks: | |||||||
Attachments: |
|
Description
Andrei Stepanov
2016-05-26 14:43:18 UTC
Created attachment 1162404 [details]
spice-vdagent log
Not urgent, let's move to 7.4 No fix yet So, when using systemd as the init system, the system vdagent daemon is a hardware-activated service. In other words, it is only started when the appropriate virtio port device is added. At boot, the device is added, which causes a udev rule to add spice-vdagentd.target to the list of targets wanted by systemd. When you issue the command "systemctl isolate multi-user.target", it starts the multi-user.target unit (and all of its dependencies) and stops all others. Since spice-vdagent.target is not a dependency of multi-user.target, it will get stopped. Now you issue the command "systemctl isolate graphical.target", and it starts the graphical.target unit and stops all others. This still does not start the vdagent service because it is not a dependency of graphical.target either. The only thing that starts the spice-vdagentd service is the udev "add" event for the appropriate virtio device. At this point, you can fix this issue by manually starting the vdagent daemon before logging back into GNOME: systemctl start spice-vdagentd.service I think we could also patch the vdagent daemon so that it supported systemd socket activation. Then when the user session agent was started, it would attempt to connect to the system daemon socket, which would cause the system daemon to get restarted. I have a proof of concept that does this and it seems to work. potential fix sent to mailing list: https://lists.freedesktop.org/archives/spice-devel/2017-July/038658.html pushed upstream: 183e2fec3518d36aeaabffff4892a7ec6af61363 Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2018:1017 |