** Description changed: + [impact] + + ldirectord's systemd service script contains commands to touch and + remove a file in the /var/lock/subsys directory; however, locks there + are a SysV service serialization thing, and are unneeded with systemd. + It's unclear why the ldirectord systemd service script contains the + lines, but they come from upstream so we should get it fixed there and + then correct debian and ubuntu. + + this impacts users because if no /var/lock/subsys directory exists, the + systemd service will fail to start, which can impact installing or + upgrading the resource-agents package. + + [test case] + + remove the /var/lock/subsys directory and try to install or upgrade + ldirectord + + [regression potential] + + if something internal to resource-agents actually uses the old SysV- + style /var/lock/subsys lock, removing it could cause a regression. + However, it shouldn't, because the lock was for use only by SysV service + scripts. Also, as we should fix this upstream first, they should know + if it is used for any other purpose, so if they accept the change it + should be safe. + + [other info] + + this is causing autopkgtest failures, especially on arm; but the failure + could happen on any arch. + + original description: + + -- + In autopkgtest like https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-disco-ci-train-ppa-service-3717/disco/armhf/r/resource-agents/20190508_124516_2b20c@/log.gz https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-disco-ci-train-ppa-service-3717/disco/armhf/r/resource-agents/20190507_202519_be056@/log.gz https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-disco-ci-train-ppa-service-3717/disco/armhf/r/resource-agents/20190508_083654_2b20c@/log.gz This fails to install: Setting up ldirectord (1:4.2.0-1ubuntu1) ... Job for ldirectord.service failed because the control process exited with error code. See "systemctl status ldirectord.service" and "journalctl -xe" for details. invoke-rc.d: initscript ldirectord, action "start" failed. ● ldirectord.service - Monitor and administer real servers in a LVS cluster of load balanced virtual servers - Loaded: loaded (/lib/systemd/system/ldirectord.service; disabled; vendor preset: enabled) - Active: failed (Result: exit-code) since Wed 2019-05-08 12:20:10 UTC; 42ms ago - Docs: man:ldirectord(8) - Process: 779 ExecStart=/usr/sbin/ldirectord start (code=exited, status=0/SUCCESS) - Process: 783 ExecStartPost=/usr/bin/touch /var/lock/subsys/ldirectord (code=exited, status=1/FAILURE) - Process: 785 ExecStopPost=/bin/rm -f /var/lock/subsys/ldirectord (code=exited, status=0/SUCCESS) - Main PID: 781 - Tasks: 1 (limit: 4915) - Memory: 14.1M - CGroup: /system.slice/ldirectord.service - └─781 /usr/bin/perl -w /usr/sbin/ldirectord start + Loaded: loaded (/lib/systemd/system/ldirectord.service; disabled; vendor preset: enabled) + Active: failed (Result: exit-code) since Wed 2019-05-08 12:20:10 UTC; 42ms ago + Docs: man:ldirectord(8) + Process: 779 ExecStart=/usr/sbin/ldirectord start (code=exited, status=0/SUCCESS) + Process: 783 ExecStartPost=/usr/bin/touch /var/lock/subsys/ldirectord (code=exited, status=1/FAILURE) + Process: 785 ExecStopPost=/bin/rm -f /var/lock/subsys/ldirectord (code=exited, status=0/SUCCESS) + Main PID: 781 + Tasks: 1 (limit: 4915) + Memory: 14.1M + CGroup: /system.slice/ldirectord.service + └─781 /usr/bin/perl -w /usr/sbin/ldirectord start May 08 12:18:39 autopkgtest-lxd-einqza systemd[1]: Starting Monitor and administer real servers in a LVS cluster of load balanced virtual servers... May 08 12:18:39 autopkgtest-lxd-einqza systemd[1]: ldirectord.service: Supervising process 781 which is not our child. We'll most likely not notice when it exits. May 08 12:18:40 autopkgtest-lxd-einqza touch[783]: /usr/bin/touch: cannot touch '/var/lock/subsys/ldirectord': No such file or directory May 08 12:18:40 autopkgtest-lxd-einqza systemd[1]: ldirectord.service: Control process exited, code=exited, status=1/FAILURE May 08 12:20:10 autopkgtest-lxd-einqza systemd[1]: ldirectord.service: State 'stop-post' timed out. Terminating. May 08 12:20:10 autopkgtest-lxd-einqza systemd[1]: ldirectord.service: Failed with result 'exit-code'. May 08 12:20:10 autopkgtest-lxd-einqza systemd[1]: Failed to start Monitor and administer real servers in a LVS cluster of load balanced virtual servers. - Of particular interest might be this line: - touch[783]: /usr/bin/touch: cannot touch '/var/lock/subsys/ldirectord': No such file or directory - + touch[783]: /usr/bin/touch: cannot touch '/var/lock/subsys/ldirectord': No such file or directory This runs in LXD, maybe a pathing or apparmor issue? I tried the same on a real armhf device and it works right away. (Thanks waveform to provide armhf raspi)
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1828258 Title: ldirectord systemd service fails if no /var/lock/subsys dir To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/resource-agents/+bug/1828258/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
