[Bug 1916715] Re: fails on install due to systemd-service/sysv-service mismatch and lack of mkdir

Utkarsh Gupta 1916715 at bugs.launchpad.net
Fri Mar 12 09:15:00 UTC 2021


Hi Sergio,

> As you can read there, I did check if the package installed/uninstalled
> correctly. Bryce also double-checked it. I don't know if the problem
> is that we forgot to check if the systemd service file was up or not,
> or something else. But then again, the error you posted happens right
> at the installation step, so we would have caught that. I'm puzzled [..]

If you do a fresh install of this package in a fresh LXC container,
you'll not be able to reproduce this. It needs the configfs kernel
module, which is provided by linux-modules-extra-5.8.0-44-generic (in
groovy; versions differ and so would the package name in other
releases).

Once you install that and then try to install python3-rtslib-fb, you'd
then be able to reproduce this error. So I believe you were missing the
configfs module and hence the install appeared to be fine.

I am just letting you know so maybe you can check these things the next time or so! \o/
(but very likely I'd have missed this myself; only this bug report made me look deeper)

-- 
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to python-rtslib-fb in Ubuntu.
https://bugs.launchpad.net/bugs/1916715

Title:
  fails on install due to systemd-service/sysv-service mismatch and lack
  of mkdir

Status in python-rtslib-fb package in Ubuntu:
  Fix Released
Status in python-rtslib-fb source package in Groovy:
  New

Bug description:
  On install:

  Setting up python3-rtslib-fb (2.1.74-0ubuntu1) ...
  Job for rtslib-fb-targetctl.service failed because the control process exited with error code.
  See "systemctl status rtslib-fb-targetctl.service" and "journalctl -xe" for details.
  invoke-rc.d: initscript rtslib-fb-targetctl, action "start" failed.
  ● rtslib-fb-targetctl.service - LSB: Start LIO targets
       Loaded: loaded (]8;;file://autopkgtest/etc/init.d/rtslib-fb-targetctl/etc/init.d/rtslib-fb-targetctl]8;;; generated)
       Active: failed (Result: exit-code) since Tue 2021-02-23 18:03:16 UTC; 10ms ago
         Docs: ]8;;man:systemd-sysv-generator(8)man:systemd-sysv-generator(8)]8;;
      Process: 3296 ExecStart=/etc/init.d/rtslib-fb-targetctl start (code=exited, status=1/FAILURE)

  Feb 23 18:03:16 autopkgtest rtslib-fb-targetctl[3308]:     errors = RTSRoot().restore_from_file(restore_file=from_file)
  Feb 23 18:03:16 autopkgtest rtslib-fb-targetctl[3308]:   File "/usr/lib/python3/dist-packages/rtslib_fb/root.py", line 88, in __init__
  Feb 23 18:03:16 autopkgtest rtslib-fb-targetctl[3308]:     self._set_dbroot()
  Feb 23 18:03:16 autopkgtest rtslib-fb-targetctl[3308]:   File "/usr/lib/python3/dist-packages/rtslib_fb/root.py", line 182, in _set_dbroot
  Feb 23 18:03:16 autopkgtest rtslib-fb-targetctl[3308]:     raise RTSLibError("Cannot set dbroot to {}. Please check if this directory exists."
  Feb 23 18:03:16 autopkgtest rtslib-fb-targetctl[3308]: rtslib_fb.utils.RTSLibError: Cannot set dbroot to /etc/rtslib-fb-target. Please check if this directory exists.
  Feb 23 18:03:16 autopkgtest rtslib-fb-targetctl[3296]:    ...fail!
  Feb 23 18:03:16 autopkgtest systemd[1]: rtslib-fb-targetctl.service: Control process exited, code=exited, status=1/FAILURE
  Feb 23 18:03:16 autopkgtest systemd[1]: rtslib-fb-targetctl.service: Failed with result 'exit-code'.
  Feb 23 18:03:16 autopkgtest systemd[1]: Failed to start LSB: Start LIO targets.
  dpkg: error processing package python3-rtslib-fb (--configure):
   installed python3-rtslib-fb package post-installation script subprocess returned error exit status 1





  ^^ this affects Groovy and Focal ^^

  The reason is this:
  $ dpkg -L python3-rtslib-fb
  /etc/init.d/rtslib-fb-targetctl
  /lib/systemd/system/target.service

  
  This used to be (Focal and Debian)
  /etc/init.d/rtslib-fb-targetctl
  /lib/systemd/system/rtslib-fb-targetctl.service

  
  That has two issues
  1) since the name of service and sysv-init mismatches the sysV generator creates an extra service from the sysV script
  2) the service does no more contain the mkdir that is required (and was in Focal/Debian)
    ExecStart=mkdir -p /etc/rtslib-fb-target

  We can merge back what we had, and thereby fix Hirsute.
  I'm not sure on a groovy SRU - if someone has manually fixed the old service (manual mkdir, enable it, ...) or any such then the fix will remove target.service and things will behave differently.
  But fixing in Hirsute be better in any case and also help 20.04 -> 22.04 upgrades to have no hiccup.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python-rtslib-fb/+bug/1916715/+subscriptions



More information about the Ubuntu-openstack-bugs mailing list