Bug 1182838

Summary: [Build 90.1] openQA test fails in yast2_firstboot - yast2 registration failed on root password screen
Product: [openSUSE] openSUSE Distribution Reporter: Lubos Kocman <lubos.kocman>
Component: YaST2Assignee: Lubos Kocman <lubos.kocman>
Status: NEW --- QA Contact: Jiri Srain <jsrain>
Severity: Normal    
Priority: P2 - High CC: mlin
Version: Leap 15.3   
Target Milestone: ---   
Hardware: Other   
OS: Other   
URL: https://openqa.opensuse.org/tests/1649214/modules/yast2_firstboot/steps/14
Whiteboard:
Found By: openQA Services Priority:
Business Priority: Blocker: Yes
Marketing QA Status: --- IT Deployment: ---

Description Lubos Kocman 2021-03-01 05:07:48 UTC
## Observation

openQA test in scenario opensuse-15.3-DVD-x86_64-yast2_firstboot@64bit fails in
[yast2_firstboot](https://openqa.opensuse.org/tests/1649214/modules/yast2_firstboot/steps/14)

## Test suite description
Smoke test for YaST2 Firstboot module, boot an existing image, enable YaST2 Firstboot after successful login to the SUT and reboot again. SUT should boot to YaST2 Firstboot wizard, go through all Firstboot tabs, configure root and user accounts. SUT should end up in GDM screen after exiting YaST2 Firstboot.


## Reproducible

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


## Expected result

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


## Further details

Always latest result in this scenario: [latest](https://openqa.opensuse.org/tests/latest?arch=x86_64&distri=opensuse&flavor=DVD&machine=64bit&test=yast2_firstboot&version=15.3)
Comment 1 Lubos Kocman 2021-03-02 09:13:19 UTC
<jreidinger> mentioned that this could be related to the following block:
https://github.com/yast/yast-firstboot/blob/master/package/yast2-firstboot.spec#L70

Leap 15.3 takes yast2-registration rpms from SLE 15 SP3 GA without rebuild. Perhaps we need to re-think the block and try to handle this in %install or after
Comment 2 Stefan Hundhammer 2021-03-02 15:02:52 UTC
I don't see package yast2-registration in the rpm-qa file of that y2logs tarball. That's where registration.rb lives, and that's what the y2logs report missing.
Comment 3 Stefan Hundhammer 2021-03-02 15:04:15 UTC
So, if we need registration in firstboot, we should make sure that the corresponding package is installed.
Comment 4 Stefan Hundhammer 2021-03-02 15:16:00 UTC
We just discussed this in IRC. 

jreidinger wrote that the "if" in the yast2-firstboot.spec file does not have any effect here since the package is built against SLE and just taken as it is, i.e. in the SLE version which does call the registration.

So possible solutions are:

- Rebuild the package for Leap so the "if" takes effect.

- Check at runtime if yast2-registration is installed and skip the registration step; however, that might not be so simple since we are using a very generic mechanism for the worflow which uses information from constrol.xml / installation.xml, so we'd have to do this differently.


IMHO the more robust approach would be to simply rebuild the yast2-firstboot package for Leap.
Comment 5 Stefan Hundhammer 2021-03-02 15:17:51 UTC
In that case I guess it's up to the Leap release manager to take care of this. Reassigning.
Comment 6 Ladislav Slezák 2021-03-02 15:34:00 UTC
This is related to bug 1180954, YaST should not crash when when a requested client is missing. I think it should just print a error and allow to continue.

BTW the firstboot.xml control file is rather a template, the vendor should adjust it according to their needs. I.e. enable/disable the registration step (and ensure the yast2-registration is installed).

We should remove that %{is_opensuse} macro from the spec file. IIRC that was already requested in the past. If Leap inherits the same packages from SLES then it does not work anyway.
Comment 7 Josef Reidinger 2021-03-03 07:36:27 UTC
(In reply to Lubos Kocman from comment #1)
> <jreidinger> mentioned that this could be related to the following block:
> https://github.com/yast/yast-firstboot/blob/master/package/yast2-firstboot.
> spec#L70
> 
> Leap 15.3 takes yast2-registration rpms from SLE 15 SP3 GA without rebuild.
> Perhaps we need to re-think the block and try to handle this in %install or
> after

in %install it does not help. Only option for dynamic behavior can be post install which is a bit over kill for me. Options to solve it is
1. rebuild in opensuse so is_opensuse takes effect
2. edit openqa test so it for opensuse do basically same sed as we do in rpm build
3. add yast2-registration to openqa image, but still I am not sure what it will do for TW? For leap it can register for migration to SLES which is probably also not something you want do in that test.

So my preferred solution is 2.
Comment 8 Max Lin 2021-03-04 12:19:23 UTC
(In reply to Josef Reidinger from comment #7)
> (In reply to Lubos Kocman from comment #1)
> > <jreidinger> mentioned that this could be related to the following block:
> > https://github.com/yast/yast-firstboot/blob/master/package/yast2-firstboot.
> > spec#L70
> > 
> > Leap 15.3 takes yast2-registration rpms from SLE 15 SP3 GA without rebuild.
> > Perhaps we need to re-think the block and try to handle this in %install or
> > after
> 
> in %install it does not help. Only option for dynamic behavior can be post
> install which is a bit over kill for me. Options to solve it is
> 1. rebuild in opensuse so is_opensuse takes effect
> 2. edit openqa test so it for opensuse do basically same sed as we do in rpm
> build
> 3. add yast2-registration to openqa image, but still I am not sure what it
> will do for TW? For leap it can register for migration to SLES which is
> probably also not something you want do in that test.
> 
> So my preferred solution is 2.

FYI I did rebuild yast2-firstboot in Leap for the time being, I'm fine with 2) if someone open a poo ticket on progress.opensuse.org to ask openqa developer involving.
Comment 9 Oliver Kurz 2021-04-18 05:02:40 UTC
This is an autogenerated message for openQA integration by the openqa_review script:

This bug is still referenced in a failing openQA test: autoyast_y2_firstboot
https://openqa.opensuse.org/tests/1703042

To prevent further reminder comments one of the following options should be followed:
1. The test scenario is fixed by applying the bug fix to the tested product or the test is adjusted
2. The openQA job group is moved to "Released"
3. The label in the openQA scenario is removed