Bug 1183641 - systemd warnings during upgrades
Summary: systemd warnings during upgrades
Status: NEW
Alias: None
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Basesystem (show other bugs)
Version: Current
Hardware: Other Other
: P5 - None : Normal (vote)
Target Milestone: ---
Assignee: Ignaz Forster
QA Contact: E-mail List
URL: https://openqa.opensuse.org/tests/166...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-03-17 09:49 UTC by Fabian Vogt
Modified: 2021-04-29 14:13 UTC (History)
4 users (show)

See Also:
Found By: openQA
Services Priority:
Business Priority:
Blocker: Yes
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Fabian Vogt 2021-03-17 09:49:03 UTC
When upgrading from an older Tumbleweed (and probably Leap as well) to latest Tumbleweed, dozens of errors like this appear:

systemd service health-checker.service.service does not exist

I believe this is caused by %post of the new package not being compatible with the systemd-sysv-convert from the old systemd.

## Observation

openQA test in scenario microos-Tumbleweed-MicroOS-Image-x86_64-microos-old2microosnext@64bit fails in
[tdup](https://openqa.opensuse.org/tests/1669991/modules/tdup/steps/11)

## Test suite description
Boot from existing, static MicroOS image and transactional-update dup to snapshot under test


## Reproducible

Fails since (at least) Build [20210219](https://openqa.opensuse.org/tests/1636750)


## Expected result

Last good: [20210218](https://openqa.opensuse.org/tests/1635223) (or more recent)


## Further details

Always latest result in this scenario: [latest](https://openqa.opensuse.org/tests/latest?arch=x86_64&distri=microos&flavor=MicroOS-Image&machine=64bit&test=microos-old2microosnext&version=Tumbleweed)
Comment 1 Jan Engelhardt 2021-03-17 11:12:16 UTC
For the record, the old state from which the upgrade is initiated is, for example, a Tumbleweed prior to openSUSE:Factory/systemd@319. There, the SUSE-specific "systemd-sysv-convert" script in line 107 emits said message.

106  if [ ! -f "/lib/systemd/system/$service.service" -a…
107   echo systemd service $service.service does not exist. >/dev/stderr

This script had a bug which assumes that all services are service units, which was subsequently fixed by the looks of it.


Old broken systems generally can't be fixed: Even if an update was published, someone out there might not have that update yet and would again run into the issue.
Comment 2 Franck Bui 2021-04-01 15:58:05 UTC
(In reply to Fabian Vogt from comment #0)
> I believe this is caused by %post of the new package not being compatible
> with the systemd-sysv-convert from the old systemd.

That basically means that systemd should be updated before the "new package" is, right ?

If so wouldn't that suggest that an ordering dep against systemd is missing in the package ?
Comment 3 Franck Bui 2021-04-06 14:59:38 UTC
(In reply to Fabian Vogt from comment #0)
> When upgrading from an older Tumbleweed (and probably Leap as well) to
> latest Tumbleweed, dozens of errors like this appear:
> 
> systemd service health-checker.service.service does not exist

Can you please re-assign this bug to the package that ships this service ?

In my understanding an ordering dep against systemd is missing in this package.
Comment 4 Fabian Vogt 2021-04-07 11:32:28 UTC
(In reply to Franck Bui from comment #3)
> (In reply to Fabian Vogt from comment #0)
> > When upgrading from an older Tumbleweed (and probably Leap as well) to
> > latest Tumbleweed, dozens of errors like this appear:
> > 
> > systemd service health-checker.service.service does not exist
> 
> Can you please re-assign this bug to the package that ships this service ?
> 
> In my understanding an ordering dep against systemd is missing in this
> package.

Yeah, that would explain it.

It looks like quite a few packages use systemd/service macros in scriptlets, but don't use %systemd_ordering. So just assigning this to health-checker (and the other 20 or more packages) probably won't be effective enough, so what about contributing an rpmlint check?
Comment 5 Franck Bui 2021-04-07 11:38:58 UTC
(In reply to Fabian Vogt from comment #4)
> It looks like quite a few packages use systemd/service macros in scriptlets,
> but don't use %systemd_ordering. So just assigning this to health-checker
> (and the other 20 or more packages) probably won't be effective enough, so
> what about contributing an rpmlint check?

That would be a better approach indeed. But I don't have time to do that, sorry.
Comment 6 Franck Bui 2021-04-26 09:33:24 UTC
Please reassign this to the relevant packages.
Comment 7 Richard Brown 2021-04-29 14:00:43 UTC
Why was this assigned to me?
Comment 8 Chenzi Cao 2021-04-29 14:13:21 UTC
> systemd service health-checker.service.service does not exist

Assign to health-checker maintainer. @Ignaz, if you are not the right assignee, please feel free to reassign, thanks.