systemctl - alias service reports inactive while aliased is active

Bug #1828892 reported by Ioanna Alifieraki
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
systemd (Ubuntu)
Fix Released
Medium
Ioanna Alifieraki
Xenial
Fix Released
Medium
Ioanna Alifieraki

Bug Description

[Impact]

'systemctl is-active' command reports an alias service as inactive even though the aliased service
is active.
Currently the 'systemctl is-active' command does not load units to minimise its effect on the system (i.e. that a monitoring command does not itself alter the state of the system).
However, this behaviour leads to inconsistencies when services are aliased.

[Test case]

- Test case 1 - libvirtd

alias service : libvirtd
aliased service : libvirt-bin

/etc/systemd/system$ ls -la libvirtd.service
lrwxrwxrwx 1 root root 39 May 13 20:49 libvirtd.service -> /lib/systemd/system/libvirt-bin.service

$ systemctl is-active libvirtd
inactive

$ systemctl is-active libvirt-bin
active

- Test case 2 - sshd

alias service : sshd
aliased service : ssh

/ect/systemd/system$ ls -la sshd.service
lrwxrwxrwx 1 root root 31 Mar 19 19:44 sshd.service -> /lib/systemd/system/ssh.service

$ systemctl is-active sshd
inactive

$ systemctl is-active ssh
active

[Regression Potential]

This fix may result into systemctl reporting inconsistent information concerning the status of a service.

[Other]

Upstream issue : https://github.com/systemd/systemd/issues/7875
Upstream fix : https://github.com/systemd/systemd/pull/7997

Xenial is affected, fix exists on Bionic onward.

$ lsb_release -rd
Description: Ubuntu 16.04.6 LTS
Release: 16.04

$ apt-cache policy systemd
systemd:
  Installed: 229-4ubuntu21.21
  Candidate: 229-4ubuntu21.21

Changed in systemd (Ubuntu):
status: New → Confirmed
assignee: nobody → Ioanna Alifieraki (joalif)
importance: Undecided → Medium
Changed in systemd (Ubuntu Xenial):
status: New → Confirmed
importance: Undecided → Medium
assignee: nobody → Ioanna Alifieraki (joalif)
tags: added: sts
Dan Streetman (ddstreet)
tags: added: ddstreet-next
Dan Streetman (ddstreet)
tags: removed: ddstreet-next
Changed in systemd (Ubuntu):
status: Confirmed → In Progress
Changed in systemd (Ubuntu Xenial):
status: Confirmed → In Progress
Revision history for this message
Ioanna Alifieraki (joalif) wrote :

Debdiff for Xenial.

Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "lp1828892_xenial.debdiff" seems to be a debdiff. The ubuntu-sponsors team has been subscribed to the bug report so that they can review and hopefully sponsor the debdiff. If the attachment isn't a patch, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are member of the ~ubuntu-sponsors, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issue please contact him.]

tags: added: patch
Dan Streetman (ddstreet)
tags: added: ddstreet-next
tags: added: rls-x-notfixing
Revision history for this message
Dan Streetman (ddstreet) wrote :
Revision history for this message
Ioanna Alifieraki (joalif) wrote :

@ddstreet There is no need to include the manpage correction (commit 71c9f49d730c8e)
since it reverts commit c7612b2 which does not exist in xenial systemd.

Initially issue #7875 was classified as feature request and not as a bug.
Upstream added modified the manpage (https://github.com/systemd/systemd/commit/c7612b20052d9151f60a96623b8743cbac88390d)
to clarify that 'is-active' command does not load units and therefore explain why an
alias unit is reported inactive while the aliased is reported active.
Later, when they realised it is a bug and fixed it they reverted c7612b2 with 71c9f49d730c8e.

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

Only affects xenial at the moment.

Changed in systemd (Ubuntu Xenial):
status: In Progress → Triaged
Changed in systemd (Ubuntu):
status: In Progress → Fix Released
Dan Streetman (ddstreet)
Changed in systemd (Ubuntu Xenial):
status: Triaged → In Progress
Dan Streetman (ddstreet)
tags: added: systemd
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Please test proposed package

Hello Ioanna, or anyone else affected,

Accepted systemd into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/systemd/229-4ubuntu21.22 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-xenial to verification-done-xenial. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-xenial. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in systemd (Ubuntu Xenial):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-xenial
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Autopkgtest regression report (systemd/229-4ubuntu21.22)

All autopkgtests for the newly accepted systemd (229-4ubuntu21.22) for xenial have finished running.
There have been regressions in tests triggered by the package. Please visit the sru report page and investigate the failures.

https://people.canonical.com/~ubuntu-archive/pending-sru.html#xenial

Revision history for this message
Dan Streetman (ddstreet) wrote :

re: autopkgtests, a few failed, but I re-ran them and they passed on the re-run.

Revision history for this message
Ioanna Alifieraki (joalif) wrote :

Verification on Xenial.

Repeating test case from description.

- Test case 1 - libvirtd

alias service : libvirtd
aliased service : libvirt-bin

# ls -la libvirtd.service
lrwxrwxrwx 1 root root 39 Mar 21 16:27 libvirtd.service -> /lib/systemd/system/libvirt-bin.service

# systemctl is-active libvirtd
active

# systemctl is-active libvirt-bin
active

- Test case 2 - sshd

alias service : sshd
aliased service : ssh

# ls -la sshd.service
lrwxrwxrwx 1 root root 31 Mar 21 14:39 sshd.service -> /lib/systemd/system/ssh.service

# systemctl is-active sshd
active

# systemctl is-active ssh
active

# dpkg -l | grep systemd
ii libpam-systemd:amd64 229-4ubuntu21.22 amd64 system and service manager - PAM module
ii libsystemd0:amd64 229-4ubuntu21.22 amd64 systemd utility library
ii systemd 229-4ubuntu21.22 amd64 system and service manager
ii systemd-sysv 229-4ubuntu21.22 amd64 system and service manager - SysV links

tags: added: verification-done verification-done-xenial
removed: verification-needed verification-needed-xenial
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package systemd - 229-4ubuntu21.22

---------------
systemd (229-4ubuntu21.22) xenial; urgency=medium

  [ Dan Streetman ]
  * d/t/systemd-fsckd, d/t/cmdline-upstart-boot:
    - skip on s390x; requires grub (LP: #1830477)
  * d/p/ask-password-prevent-buffer-overrow-when-reading-fro.patch:
    - prevent buffer overflow when reading keyring (LP: #1814373)

  [ Dimitri John Ledkov ]
  * Specify Ubuntu's Vcs-Git

  [ Balint Reczey ]
  * Append /snap/bin to default PATH.
    Snapd ships snapd-env-generator, but systemd does not not support
    environment generators. Hard-coding /snap/bin is less risky than
    backporting environment generator support and since snaps are considered
    to be first class packages on Ubuntu /snap/bin can safely added to
    the default PATH. (LP: #1771858)

  [ Ioanna Alifieraki ]
  * d/p/systemctl-Replace-check_one_unit-by-get_state_one_un.patch
    - Backport upstream PR#2768 needed for next patch
  * d/p/systemctl-load-unit-if-needed-in-systemctl-is-active.patch
    - Backport upstream PR#7997 to fix alias service reports inactive while
      aliased is active (LP: #1828892)

 -- Dan Streetman <email address hidden> Wed, 24 Apr 2019 17:15:36 -0400

Changed in systemd (Ubuntu Xenial):
status: Fix Committed → Fix Released
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Update Released

The verification of the Stable Release Update for systemd has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.