Bugzilla – Bug 1183641
systemd warnings during upgrades
Last modified: 2021-04-29 14:13:21 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)
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.
(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 ?
(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.
(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?
(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.
Please reassign this to the relevant packages.
Why was this assigned to me?
> 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.