This bug was fixed in the package open-iscsi - 2.0.874-5ubuntu2.2 --------------- open-iscsi (2.0.874-5ubuntu2.2) bionic; urgency=medium
* make iscsid socket activated to only activate it as-needed (LP: #1755858) - debian/iscsid.socket: systemd socket file for iscsid - debian/open-iscsi.service: do not start or check iscsid.service - debian/rules: install and enable iscsid.socket - debian/patches/iscid-conf-use-systemd.socket-patch: default to the socket - debian/open-iscsi.postinst: + run restart logic only if service is running on upgrade + drop no more reachable upgrade path that affects iscsid + disable iscsid.service on upgrade + handle iscsid.socket to be started if the service is not running yet - debian/tests/install: fix tests to work with socket activation -- Scott Moser <smo...@ubuntu.com> Fri, 07 Sep 2018 09:24:22 -0400 ** Changed in: open-iscsi (Ubuntu Bionic) Status: Fix Committed => Fix Released -- You received this bug notification because you are a member of नेपाली भाषा समायोजकहरुको समूह, which is subscribed to Xenial. Matching subscriptions: Ubuntu 16.04 Bugs https://bugs.launchpad.net/bugs/1755858 Title: iscsid autostarts on all servers when it has nothing to do Status in open-iscsi package in Ubuntu: Fix Released Status in open-iscsi source package in Xenial: New Status in open-iscsi source package in Bionic: Fix Released Status in open-iscsi package in Debian: New Bug description: [Impact] * Service is running uselessly which is consuming a few cycles/memory as well as raising general concerns e.g. on minimizing attack surface of a system. * This is also the only service in a default server install which pulls in the network-online.target, which has implications for boot ordering and speed in various configurations. * Fix by switching to socket activation [Test Case] * After installing open-iscsi (which is default installed) the service iscsid is running which is mostly useless - this is a bit critical, as we don't want to stop a running service. - so you have two cases 1. uninstall the package before upgrade; then install the new version. should be service off, socket on 2. upgrade install, should have service (still) on, socket enabled. 3. after 2. reboot should be service off, socket on * Also ensure that iscsid.service should come up as needed # should be off $ systemctl status iscsid.service iscsid.socket $ iscsiadm -m discovery -t sendtargets -p 127.0.0.1 # should be enabled now $ systemctl status iscsid.service iscsid.socket [Regression Potential] * We were discussing if we shall SRU this. First of all the change should work as in the new version, abstract sockets are not super new. * We were concerned that one would have e.g. scripts and other upper level code that does like: if service-is-not-running; then break; else do what you should do This would give up before socket-triggering it which might be too much to SRU. On a Upgrade to a newer release such minor adaptions are usual, but for SRUs? But in any config using it it will run, and as slangasek outlined " I think anyone checking for the running status of an open-iscsi service, on a system that does not have any iscsi targets configured, is writing buggy code and that should not be catered to in the face of the significant impact this bug has on all other users of Ubuntu Server." * But also we don't stop the service on upgrade (for safety of the data), so you'd have four different Bionics a) old iscsid.service runnign by default b) upgraded, but not rebooted iscsid.service still running c) upgraded, rebooted iscid.service disabled, iscsid.socket running d) new deploy after this (e.g. new cloud image) iscid.service disabled, iscsid.socket running a+b are similar as well as c+d. * If anyone strictly needs the old behavior it is a config, so one can "systemctl enable iscsid.service" and is done. * OTOH in our discussion it was agreed that the upgrade regression we fix outweighs the potential regression. [Other Info] * n/a --- In bionic, the open-iscsi systemd unit has the following guards to keep it from running on systems with no iscsi targets configured: # Must have some pre-defined targets to login to ConditionDirectoryNotEmpty=|/etc/iscsi/nodes # or have a session to use via iscsid ConditionDirectoryNotEmpty=|/sys/class/iscsi_session However, iscsid starts from a separate unit and does not include this check. Thus, iscsid starts on every Ubuntu Server install, whether or not it has anything to do. We should replicate these unit conditionals to the iscsid unit, to ensure the daemon doesn't run (consuming memory, and slowing boot) when not needed. Related bugs: * bug 1630946: ubuntu-server depends on open-iscsi and runs iscsid To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/open-iscsi/+bug/1755858/+subscriptions _______________________________________________ Mailing list: https://launchpad.net/~group.of.nepali.translators Post to : group.of.nepali.translators@lists.launchpad.net Unsubscribe : https://launchpad.net/~group.of.nepali.translators More help : https://help.launchpad.net/ListHelp