systemctl - alias service reports inactive while aliased is active

Bug #1828892 reported by Ioanna Alifieraki on 2019-05-13
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
systemd (Ubuntu)
Medium
Ioanna Alifieraki
Xenial
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) on 2019-05-14
tags: added: ddstreet-next
Dan Streetman (ddstreet) on 2019-05-15
tags: removed: ddstreet-next
Changed in systemd (Ubuntu):
status: Confirmed → In Progress
Changed in systemd (Ubuntu Xenial):
status: Confirmed → In Progress
Ioanna Alifieraki (joalif) wrote :

Debdiff for Xenial.

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) on 2019-05-16
tags: added: ddstreet-next
tags: added: rls-x-notfixing
Dan Streetman (ddstreet) wrote :
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.

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) on 2019-05-31
Changed in systemd (Ubuntu Xenial):
status: Triaged → In Progress
Dan Streetman (ddstreet) on 2019-06-10
tags: added: systemd

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

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

Dan Streetman (ddstreet) wrote :

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

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
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

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  Edit
Everyone can see this information.

Other bug subscribers