[Bug 1903724] [NEW] [SRU] Package fails to build with missing 'systemctl'

Chris MacNaughton 1903724 at bugs.launchpad.net
Tue Nov 10 15:14:25 UTC 2020


Public bug reported:

[Impact]

Artful (OpenStack Train) through Focal (OpenStack Ussuri), the Nova
package now fails to build with unit tests failing because they're
missing the `systemctl` binary. An example traceback from the tests is
included in the Other Info at the end.

This affects the ability to backport fixes or upstream point releases to
the Nova package in Ubuntu.

[Test Case]

Reproducing this error is doable by building the package:

git clone lp:~ubuntu-openstack-dev/ubuntu/+source/nova
cd nova
git checkout stable/ussuri
gbp buildpackage -S -sa
pbuilder-dist focal build ../build-area/nova_*dsc

[Where problems could occur]

This upload doesn't change anything in the deployed software, merely in
the build environment. With that caveat, building on an environment that
cannot install systemctl could continue to leave this package
unbuildable.

[Other Info]

Below is an example of one of the unit test failures that is resolved by
adding systemctl as a build dependency.

nova.tests.unit.virt.libvirt.volume.test_quobyte.LibvirtQuobyteVolumeDriverTestCase.test_libvirt_quobyte_driver_already_mounted
-------------------------------------------------------------------------------------------------------------------------------
Captured traceback:
~~~~~~~~~~~~~~~~~~~
    Traceback (most recent call last):
      File "/usr/lib/python3/dist-packages/mock/mock.py", line 1330, in patched
    return func(*args, **keywargs)
      File "/build/nova-21.1.0/nova/tests/unit/virt/libvirt/volume/test_quobyte.py", line 419, in test_libvirt_quobyte_driver_already_mounted
    libvirt_driver.connect_volume(connection_info, mock.sentinel.instance)
      File "/usr/lib/python3/dist-packages/oslo_concurrency/lockutils.py", line 359, in inner
    return f(*args, **kwargs)
      File "/build/nova-21.1.0/nova/virt/libvirt/volume/quobyte.py", line 161, in connect_volume
    if is_systemd():
      File "/build/nova-21.1.0/nova/virt/libvirt/volume/quobyte.py", line 60, in is_systemd
    sysdout, sysderr = processutils.execute("systemctl",
      File "/usr/lib/python3/dist-packages/oslo_concurrency/processutils.py", line 383, in execute
    obj = subprocess.Popen(cmd,
      File "/usr/lib/python3/dist-packages/eventlet/green/subprocess.py", line 58, in __init__
    subprocess_orig.Popen.__init__(self, args, 0, *argss, **kwds)
      File "/usr/lib/python3.8/subprocess.py", line 854, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
      File "/usr/lib/python3.8/subprocess.py", line 1702, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
    FileNotFoundError: [Errno 2] No such file or directory: 'systemctl'

** Affects: cloud-archive
     Importance: Undecided
         Status: Invalid

** Affects: cloud-archive/train
     Importance: Undecided
         Status: New

** Affects: nova (Ubuntu)
     Importance: Undecided
         Status: Invalid

** Affects: nova (Ubuntu Focal)
     Importance: Undecided
         Status: New

** Also affects: nova (Ubuntu Focal)
   Importance: Undecided
       Status: New

** Also affects: cloud-archive
   Importance: Undecided
       Status: New

** Also affects: cloud-archive/train
   Importance: Undecided
       Status: New

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

Title:
  [SRU] Package fails to build with missing 'systemctl'

Status in Ubuntu Cloud Archive:
  Invalid
Status in Ubuntu Cloud Archive train series:
  New
Status in nova package in Ubuntu:
  Invalid
Status in nova source package in Focal:
  New

Bug description:
  [Impact]

  Artful (OpenStack Train) through Focal (OpenStack Ussuri), the Nova
  package now fails to build with unit tests failing because they're
  missing the `systemctl` binary. An example traceback from the tests is
  included in the Other Info at the end.

  This affects the ability to backport fixes or upstream point releases
  to the Nova package in Ubuntu.

  [Test Case]

  Reproducing this error is doable by building the package:

  git clone lp:~ubuntu-openstack-dev/ubuntu/+source/nova
  cd nova
  git checkout stable/ussuri
  gbp buildpackage -S -sa
  pbuilder-dist focal build ../build-area/nova_*dsc

  [Where problems could occur]

  This upload doesn't change anything in the deployed software, merely
  in the build environment. With that caveat, building on an environment
  that cannot install systemctl could continue to leave this package
  unbuildable.

  [Other Info]

  Below is an example of one of the unit test failures that is resolved
  by adding systemctl as a build dependency.

  nova.tests.unit.virt.libvirt.volume.test_quobyte.LibvirtQuobyteVolumeDriverTestCase.test_libvirt_quobyte_driver_already_mounted
  -------------------------------------------------------------------------------------------------------------------------------
  Captured traceback:
  ~~~~~~~~~~~~~~~~~~~
      Traceback (most recent call last):
        File "/usr/lib/python3/dist-packages/mock/mock.py", line 1330, in patched
      return func(*args, **keywargs)
        File "/build/nova-21.1.0/nova/tests/unit/virt/libvirt/volume/test_quobyte.py", line 419, in test_libvirt_quobyte_driver_already_mounted
      libvirt_driver.connect_volume(connection_info, mock.sentinel.instance)
        File "/usr/lib/python3/dist-packages/oslo_concurrency/lockutils.py", line 359, in inner
      return f(*args, **kwargs)
        File "/build/nova-21.1.0/nova/virt/libvirt/volume/quobyte.py", line 161, in connect_volume
      if is_systemd():
        File "/build/nova-21.1.0/nova/virt/libvirt/volume/quobyte.py", line 60, in is_systemd
      sysdout, sysderr = processutils.execute("systemctl",
        File "/usr/lib/python3/dist-packages/oslo_concurrency/processutils.py", line 383, in execute
      obj = subprocess.Popen(cmd,
        File "/usr/lib/python3/dist-packages/eventlet/green/subprocess.py", line 58, in __init__
      subprocess_orig.Popen.__init__(self, args, 0, *argss, **kwds)
        File "/usr/lib/python3.8/subprocess.py", line 854, in __init__
      self._execute_child(args, executable, preexec_fn, close_fds,
        File "/usr/lib/python3.8/subprocess.py", line 1702, in _execute_child
      raise child_exception_type(errno_num, err_msg, err_filename)
      FileNotFoundError: [Errno 2] No such file or directory: 'systemctl'

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/1903724/+subscriptions



More information about the Ubuntu-openstack-bugs mailing list