Bug 1125718 - pop up with 'Software changed' message after grub update
pop up with 'Software changed' message after grub update
Status: RESOLVED FIXED
Classification: openSUSE
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Installation
Current
aarch64 Other
: P3 - Medium : Normal (vote)
: ---
Assigned To: YaST Team
Jiri Srain
https://trello.com/c/gQVaju5w
https://openqa.opensuse.org/tests/856...
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2019-02-18 07:42 UTC by Guillaume GARDET
Modified: 2021-02-18 14:33 UTC (History)
8 users (show)

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


Attachments
Yast2 logs (1.07 MB, application/x-bzip)
2019-03-07 15:30 UTC, David Diaz
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Guillaume GARDET 2019-02-18 07:42:16 UTC
In openQA, after setting the grub timeout to '-1' in installer, _sometimes_ a pop-up appear with 'The software selection has been changed externally. Software proposal will be called again.' message: https://openqa.opensuse.org/tests/856524#step/disable_grub_timeout/13

If the test is restarted, this pop-up may re-appear or disappear, it depends.
But the occurrence rate is quite high.
Comment 1 David Diaz 2019-02-18 09:41:17 UTC
Hi, 

There are not logs attached under the "Logs & Assets" option in openQA. Anyway, I tried to reproduce it locally but I never get the software warning changing the Bootloader options.


Is there the possibility to have the logs?

BTW, just curiosity, why not check the "Hide Menu on Boot" instead of set the timeout to "-1"?

Thank you!
Comment 2 Guillaume GARDET 2019-03-05 14:52:29 UTC
(In reply to David Diaz from comment #1)
> Is there the possibility to have the logs?

You now have logs available: https://openqa.opensuse.org/tests/869420#downloads

> BTW, just curiosity, why not check the "Hide Menu on Boot" instead of set
> the timeout to "-1"?

I guess openQA guys just want to disable timeout, not boot a default entry.
Comment 3 Stefan Schubert 2019-03-06 09:48:17 UTC
The bootloader makes changes in the package selection. So the proposal will be called again for the software selection. I have not found why it happens only sometimes. I have noticed that the booloader proposal will be called before software proposal in TW:
https://openqa.opensuse.org/tests/856524#step/disable_grub_timeout/13
This is different to SLES. The software proposal will be called before bootloader proposal.
Josef, do you know why ? Or perhaps you can see more than I am ? :-)
Comment 4 Josef Reidinger 2019-03-06 10:05:02 UTC
(In reply to Stefan Schubert from comment #3)
> The bootloader makes changes in the package selection. So the proposal will
> be called again for the software selection. I have not found why it happens
> only sometimes. I have noticed that the booloader proposal will be called
> before software proposal in TW:
> https://openqa.opensuse.org/tests/856524#step/disable_grub_timeout/13
> This is different to SLES. The software proposal will be called before
> bootloader proposal.
> Josef, do you know why ? Or perhaps you can see more than I am ? :-)

I have to be called before. But why you think that it is called after software proposal? I see it at https://github.com/yast/skelcd-control-leanos/blob/master/control/control.leanos.xml#L218 Do not confuse presentation order and real order in which it is evaluated.
Comment 5 David Diaz 2019-03-07 15:29:54 UTC
(In reply to Guillaume GARDET from comment #2)
> (In reply to David Diaz from comment #1)
> > Is there the possibility to have the logs?
> 
> You now have logs available:
> https://openqa.opensuse.org/tests/869420#downloads
> 

Thank you so much, Guillaume.

Please, note that it is better to attach them to the bug report itself. As far as I know, they stay in openQA for a limited time.

I'll attach the YaST2 logs.
Comment 6 David Diaz 2019-03-07 15:30:25 UTC
Created attachment 799279 [details]
Yast2 logs
Comment 7 David Diaz 2019-03-07 15:34:16 UTC
(In reply to Josef Reidinger from comment #4)
> (In reply to Stefan Schubert from comment #3)
> > The bootloader makes changes in the package selection. So the proposal will
> > be called again for the software selection. I have not found why it happens
> > only sometimes. I have noticed that the booloader proposal will be called
> > before software proposal in TW:
> > https://openqa.opensuse.org/tests/856524#step/disable_grub_timeout/13
> > This is different to SLES. The software proposal will be called before
> > bootloader proposal.
> > Josef, do you know why ? Or perhaps you can see more than I am ? :-)
> 
> I have to be called before. But why you think that it is called after
> software proposal? I see it at
> https://github.com/yast/skelcd-control-leanos/blob/master/control/control.
> leanos.xml#L218 Do not confuse presentation order and real order in which it
> is evaluated.

Thank you for the clarification Josef.

As it is confirmed, I am going to track it in our internal Trello board.
Comment 9 Lukas Ocilka 2019-03-07 16:21:01 UTC
Josef, could you PLS check logs? It seems that Bootloader was called and then
the software selection needed to be re-proposed. That IMO looks like a wanted
behavior.

On the other hand

- Did bootloader change anything? It doesn't seem that openQA changed anything
  there
- Why do we need to inform user about it? It doesn't seem that openQA entered
  the software proposal before and thus there were no manual changes before

Please, correct me `where` I'm wrong ;)
Comment 10 Josef Reidinger 2019-03-08 12:35:46 UTC
I do not see any change of bootloader. It is maybe some problem with software proposal. It is reported there:

https://github.com/yast/yast-packager/blob/master/src/modules/Packages.rb#L2078

and maybe with some later changes it stop working correctly. Maybe that hardware supplement change can cause it?

Lada: I check logs and I see only once be called that PackagesProposal change and it is initial one from nil to list of required packages. Do you see something? I do not see any reason in logs.
Comment 11 Ladislav Slezák 2019-03-19 11:11:52 UTC
I did not find anything suspicious in the log and I could not reproduce in a x86_64 VBox VM.

However, I found out that the code compares the old and the current package selection in the order dependent way:

E.g. [ package1, package2 ] != [ package2, package1 ] and YaST complains.

Maybe for whatever reason libzypp changed the order (it's not guaranteed).


We could implement some order independent comparison and let's see if that helps...
Comment 12 Lukas Ocilka 2019-03-19 11:21:00 UTC
Such as A.sort != B.sort :)

Let's give it a try, please.
Comment 13 Stefan Schubert 2019-03-27 14:27:14 UTC
Fixed in:
https://github.com/yast/yast-packager/pull/416/files