Bug 1681584

Summary: RFE: Use "plymouth change-mode --system-upgrade" on systems upgrades
Product: [Fedora] Fedora Reporter: Hans de Goede <hdegoede>
Component: dnf-plugins-extrasAssignee: Marek Blaha <mblaha>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: dmach, jkadlcik, jmracek, mblaha, pkratoch, rpm-software-management, vmukhame
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: dnf-plugins-extras-4.0.7-2.fc30 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-10-25 17:01:54 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Hans de Goede 2019-02-25 17:05:08 UTC
As part of my Flicker Free Boot work: https://fedoraproject.org/wiki/Changes/FlickerFreeBoot I've been working a new theme for offline-updates following: https://wiki.gnome.org/Design/OS/BootProgress

I've just prepared a plymouth merge-request adding a separate mode to plymouth for offline system-upgrades, such as done by dnf-plugin-system-upgrade, to be able to differentiate these from the normal installing of (security) updates through offline-updates:
https://gitlab.freedesktop.org/plymouth/plymouth/merge_requests/29

Currently python3-dnf-plugin-system-upgrade makes the following plymouth call to switch to plymouth to offline-updates mode:

plymouth change-mode --updates

This will make plymouth look like this:

https://fedorapeople.org/~jwrdegoede/flickerfree-videos/installing.png

This purpose of this bug is to change that call to:

plymouth change-mode --system-upgrade

But only in F30 and newer, where plymouth will actually understand --system-upgrade. This will make plymouth look like this when doing the system upgrade:

https://fedorapeople.org/~jwrdegoede/flickerfree-videos/system-upgrade.png

So that users can clearly see the difference between the 2 modes. Note plymouth
in F30 currently does not yet support change-mode --system-upgrade I plan to land support for this soon (no later then March 4th).

Beware that currently "plymouth change-mode --<mode>" will hang when called with a <mode> which it does not understand. This is fixed by the above merge-request, but that does not help for older plymouth versions.

This will not be an issue for F30 since that will have a plymouth without that bug and which understands "plymouth change-mode --system-upgrade", but it is important that the change to use --system-upgrade is NOT made for F29.

Note I can and probably will push a plymouth update to F29 to fix this, but there is no guarantee everyone will have that.

Comment 1 Hans de Goede 2019-02-26 16:09:54 UTC
Note the plymouth changes for this have landed in upstream plymouth now.

Comment 2 Hans de Goede 2019-03-04 12:20:39 UTC
I've just build: plymouth-0.9.4-4.fc30, this is the first plymouth build to support "plymouth change-mode --system-upgrade".

Comment 3 Marek Blaha 2019-03-07 13:04:23 UTC
It is of course possible. But at first glance it is not obvious to me how to find out whether the version of the plymouth running on the system is capable to use --system-upgrade option. Or is a version of Fedora the only hint? I would like to rely on the plymouth version or something. (is there a command which returns plymouth version?)

Comment 4 Hans de Goede 2019-03-07 13:14:50 UTC
(In reply to Marek Blaha from comment #3)
> It is of course possible. But at first glance it is not obvious to me how to
> find out whether the version of the plymouth running on the system is
> capable to use --system-upgrade option. Or is a version of Fedora the only
> hint? I would like to rely on the plymouth version or something. (is there a
> command which returns plymouth version?)

Unfortunately neither the plymouth daemon not the commandline utility has a --version.

It seems the best way to detect support for the --system-upgrade option is using --help:

[hans@shalem ~]$ plymouth --help | grep -- --system-upgrade
  --system-upgrade    Upgrading the OS to a new version

If you add -q to the grep command and pass the entirety to sh:

sh -c "plymouth --help | grep -q -- --system-upgrade"

Then you can simply check the return value of that command, if it
is 0 then --system-upgrade is supported.

Comment 6 Fedora Update System 2019-10-14 13:18:17 UTC
FEDORA-2019-daa0986c6d has been submitted as an update to Fedora 30. https://bodhi.fedoraproject.org/updates/FEDORA-2019-daa0986c6d

Comment 7 Fedora Update System 2019-10-15 10:27:56 UTC
FEDORA-2019-daa0986c6d has been submitted as an update to Fedora 30. https://bodhi.fedoraproject.org/updates/FEDORA-2019-daa0986c6d

Comment 8 Fedora Update System 2019-10-15 22:57:59 UTC
dnf-plugins-extras-4.0.7-1.fc30 has been pushed to the Fedora 30 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-daa0986c6d

Comment 9 Fedora Update System 2019-10-18 10:34:19 UTC
FEDORA-2019-e8db3bef68 has been submitted as an update to Fedora 30. https://bodhi.fedoraproject.org/updates/FEDORA-2019-e8db3bef68

Comment 10 Fedora Update System 2019-10-18 21:00:26 UTC
dnf-plugins-extras-4.0.7-2.fc30 has been pushed to the Fedora 30 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-e8db3bef68

Comment 11 Fedora Update System 2019-10-25 17:01:54 UTC
dnf-plugins-extras-4.0.7-2.fc30 has been pushed to the Fedora 30 stable repository. If problems still persist, please make note of it in this bug report.