← Back to team overview

group.of.nepali.translators team mailing list archive

[Bug 1755858] Re: iscsid autostarts on all servers when it has nothing to do

 

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 <smoser@xxxxxxxxxx>  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