Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

system-upgrade download provides confusing output and stuck at some point #1667

Open
j-mracek opened this issue Sep 2, 2024 · 3 comments · Fixed by #1672 · May be fixed by #2087
Open

system-upgrade download provides confusing output and stuck at some point #1667

j-mracek opened this issue Sep 2, 2024 · 3 comments · Fixed by #1672 · May be fixed by #2087
Assignees
Labels
Priority: HIGH Triaged Someone on the DNF 5 team has read the issue and determined the next steps to take
Milestone

Comments

@j-mracek
Copy link
Contributor

j-mracek commented Sep 2, 2024

dnf5 system-upgrade download --releasever 40 ended with following outputs

[2687/2687] Total                                                                                                                                     100% |  20.2 MiB/s |   3.2 GiB |  02m40s
Testing offline transaction
Warning: skipped PGP checks for 2687 packages from repository: @stored_transaction
Transaction stored to be performed offline. Run `dnf5 offline reboot` to reboot and run the transaction. To cancel the transaction and delete the downloaded files, use `dnf5 offline clean`.
Complete!

After line [2687/2687] Total it requires 3m 40s probably to generate file with description of transaction. Then it reports Testing offline transaction. We could discuss whether 10 or 20 seconds is a limit for user where to start to think what is going on, but after nearly 4 minute many user will interrupt. I recommend to improve performance and create a bar with progress.

The next line is problematic: Warning: skipped PGP checks for 2687 packages from repository: @stored_transaction
How I can trust the transaction? It mentions repository that is not in transaction and it anyway does not check PGP keys. It scares me a lot.

@jan-kolarik
Copy link
Member

Hi Jarda, thanks for the info!

We could discuss whether 10 or 20 seconds is a limit for user where to start to think what is going on, but nearly 4 minute many user will interrupt. I recommend to improve performance and create a bar with progress.

I completely agree. We should regularly update users on the progress to ensure they know that something is happening.

The next line is problematic: Warning: skipped PGP checks for 2687 packages from repository: @stored_transaction
How I can trust the transaction? It mentions repository that is not in transaction and it anyway does not check PGP keys. It scares me a lot.

We've already received a similar report and created an issue for it: #1668. Let's focus just on the progress report in this issue.

@jan-kolarik jan-kolarik added the Triaged Someone on the DNF 5 team has read the issue and determined the next steps to take label Sep 2, 2024
@github-project-automation github-project-automation bot moved this to Backlog in DNF team Sep 2, 2024
@jan-kolarik jan-kolarik added this to the Fedora 41 milestone Sep 2, 2024
@m-blaha m-blaha self-assigned this Sep 3, 2024
@j-mracek j-mracek changed the title system-upgrade download provides confusing output and stuck ad some point system-upgrade download provides confusing output and stuck at some point Sep 5, 2024
@github-project-automation github-project-automation bot moved this from Backlog to Done in DNF team Sep 17, 2024
@jan-kolarik jan-kolarik reopened this Nov 18, 2024
@jan-kolarik
Copy link
Member

jan-kolarik commented Nov 18, 2024

We should regularly update users on the progress to ensure they know that something is happening.

The key issue raised in this ticket remains unresolved, even after the changes in #1672. I tested upgrading from Fedora 40 to Fedora 41 using dnf5 system-upgrade and encountered insufficient feedback at two different times:

  • Post-reboot, before the transaction starts: A spinning wheel is displayed for over a minute with no output for the user.

  • End of the transaction: There’s still a long delay with no updates provided, even if the duration may have slightly improved after the PR.

These gaps make the upgrade process unclear and might be frustrating for users.

@m-blaha
Copy link
Member

m-blaha commented Feb 26, 2025

Today, I spent time experimenting with system upgrades and Plymouth.

First, let me identify the sources of insufficient feedback during the upgrade process:

  1. Before the transaction starts – This occurs when DNF loads RPM files into the sack and resolves the transaction.
  2. After the transaction – This delay is caused by post-transaction scriptlets, which can take a significant amount of time.

The first issue can be addressed by displaying a message such as: "Starting offline transaction. This will take a while."

The second issue can be mitigated by informing the user when pre/post-transaction scriptlets are being executed.
Everything seems great, right?

However, I also wanted to set the Plymouth mode to "system-upgrade", which looks much better and prominently displays a "Upgrading system, do not turn off your computer" warning. It also displays a progress bar. Unfortunately, in the default "bgrt" theme, this mode has "SuppressMessages=true" enabled. See the /usr/share/plymouth/themes/bgrt/bgrt.plymouth file.

And what does that mean? It means that all messages produced by dnf5 during the upgrade are suppressed - messages like:
"Upgrading ...", "Running post-transaction scriptlet: ..."

For the user, this makes the transaction appear stuck, with the progress bar seemingly frozen at 0% before the transaction begin, and at 99% while post-transaction scriptlets are executed.

Ideally, I’d like to have the best of both worlds: a clear warning message, a progress bar, and detailed DNF5 messages about the upgrade progress. I can file an issue with the plymouth component.

I'm adding some screenshots to illustrate the issue.

Version without system-upgrade mode, with dnf5 messages dispayed:
Image

And this is how it looks in "system-upgrade" mode:
Image

m-blaha added a commit that referenced this issue Feb 28, 2025
Scriptlet execution can take a significant amount of time. Inform the
user when it starts.

Fixes: #1667
m-blaha added a commit that referenced this issue Feb 28, 2025
Scriptlet execution can take a significant amount of time. Inform the
user when it starts.

Fixes: #1667
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Priority: HIGH Triaged Someone on the DNF 5 team has read the issue and determined the next steps to take
Projects
Archived in project
3 participants