Bug 1222432

Summary: Upgrade SLES12SP5 -> SLES15SP5: AutoYaST doesn't add additional addons repos (of the TARGET product which we are migrating) in upgrading
Product: [openSUSE] PUBLIC SUSE Linux Enterprise Server 15 SP5 Reporter: Chenzi Cao <chcao>
Component: YaST2Assignee: E-mail List <yast2-maintainers>
Status: RESOLVED INVALID QA Contact:
Severity: Normal    
Priority: P5 - None CC: chcao, igonzalezsosa, jeriveramoya, lslezak
Version: unspecified   
Target Milestone: ---   
Hardware: Other   
OS: Other   
URL: https://openqa.suse.de/tests/13963147/modules/zypper_lr/steps/3
Whiteboard:
Found By: openQA Services Priority:
Business Priority: Blocker: Yes
Marketing QA Status: --- IT Deployment: ---
Attachments: y2log
The zypper repo history
The active zypp repos
Maintenance repos
add_on_others_y2log
add_on_products_y2log
AutoYaST profile add_on_others

Description Chenzi Cao 2024-04-08 07:32:48 UTC
Created attachment 874121 [details]
y2log

Steps:

- Fresh install SLES12SP5 and receive the latest updates during installation
- Register some modules: WE, SDK, Adevance System Management Module etc.
- Reboot and upgrade to SLES15SP5 by AutoYaST 
- During upgrading, add additional addons repos (of the TARGET product which we are migrating) in upgrading.

Observed:
The additional addons repos of the TARGET product (SLES15SP5 in this case) are not adding in migration, below is the string of adding addons repos in AutoYaST profile:

<add-on>
    <add_on_products config:type="list">
      % for my $repo (@$repos) {
      % my ($repo_id, $addon) = $repo =~ (/(\d+)\/(.*)\//);
      <listentry>
        <media_url><%= $repo %></media_url>
        <name><%= $addon . "_" . $repo_id %></name>
        <alias><%= $addon . "_" . $repo_id %></alias>
      </listentry>
      %}
    </add_on_products>
  </add-on>

This string works well in autoyast installation case, but it doesn't work in migration case.

Please find the attached y2log for this bug report and the openqa test result of this issue as below:
https://openqa.suse.de/tests/13963147#step/zypper_lr/3
AutoYaST profile: 
https://github.com/chcao/os-autoinst-distri-opensuse/blob/08ec12cbed8c0af30c1c595e61e9c4b9f02aaabe/data/yam/autoyast/autoyast_maintenance_update_scc_upgrade.xml.ep#

And I created an interactive migration with additional addons repos added to make it more clear about the testing:
https://openqa.suse.de/tests/13872548#step/add_update_test_repo/118
(It works find with interactive migration, but not work by AutoYaST)

Expected result:

The additional addons repos are added during migration by AutoYaST, the repos could be found in "zypper lr" after migration.

## Observation

openQA test in scenario sle-15-SP5-Server-DVD-Updates-x86_64-migr_sles15sp5_mu_autoupgrade@64bit fails in
[zypper_lr](https://openqa.suse.de/tests/13963147/modules/zypper_lr/steps/3)

## Test suite description
Provide migration from SLES 12 SP5 (with released maintenance updates) to SLES 15 SP5 (with unreleased maintenance updates) by AutoYaST.

## Further details

Always latest result in this scenario: [latest](https://openqa.suse.de/tests/latest?arch=x86_64&distri=sle&flavor=Server-DVD-Updates&machine=64bit&test=migr_sles15sp5_mu_autoupgrade&version=15-SP5)
Comment 1 Lukas Ocilka 2024-04-08 07:41:40 UTC
Could this be somehow related?

https://openqa.suse.de/tests/13963147/logfile?filename=autoinst-log.txt

Use of uninitialized value $name in pattern match (m//) at /usr/lib/os-autoinst/OpenQA/Isotovideo/Utils.pm line 325.
	OpenQA::Isotovideo::Utils::handle_generated_assets(OpenQA::Isotovideo::CommandHandler=HASH(0x55ba696ae4d0), "") called at /usr/bin/isotovideo line 204
	eval {...} called at /usr/bin/isotovideo line 161


Use of uninitialized value $value in substitution iterator at /var/lib/openqa/pool/33/os-autoinst-distri-opensuse/lib/autoyast.pm line 718.
	autoyast::expand_variables("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\x{a}<!DOCTYPE profile>\x{a}<pr"...) called at /var/lib/openqa/pool/33/os-autoinst-distri-opensuse/lib/autoyast.pm line 868
	autoyast::prepare_ay_file("yam/autoyast/autoyast_maintenance_update_scc_upgrade.xml.ep") called at /var/lib/openqa/pool/33/os-autoinst-distri-opensuse/tests/autoyast/prepare_profile.pm line 27
	prepare_profile::run(prepare_profile=HASH(0x55ba6932be90)) called at /usr/lib/os-autoinst/basetest.pm line 352
	eval {...} called at /usr/lib/os-autoinst/basetest.pm line 346
	basetest::runtest(prepare_profile=HASH(0x55ba6932be90)) called at /usr/lib/os-autoinst/autotest.pm line 416
	eval {...} called at /usr/lib/os-autoinst/autotest.pm line 416
	autotest::runalltests() called at /usr/lib/os-autoinst/autotest.pm line 273
	eval {...} called at /usr/lib/os-autoinst/autotest.pm line 273
	autotest::run_all() called at /usr/lib/os-autoinst/autotest.pm line 324
	autotest::__ANON__(Mojo::IOLoop::ReadWriteProcess=HASH(0x55ba6a88a130)) called at /usr/lib/perl5/vendor_perl/5.26.1/Mojo/IOLoop/ReadWriteProcess.pm line 329
	eval {...} called at /usr/lib/perl5/vendor_perl/5.26.1/Mojo/IOLoop/ReadWriteProcess.pm line 329
	Mojo::IOLoop::ReadWriteProcess::_fork(Mojo::IOLoop::ReadWriteProcess=HASH(0x55ba6a88a130), CODE(0x55ba6b506c98)) called at /usr/lib/perl5/vendor_perl/5.26.1/Mojo/IOLoop/ReadWriteProcess.pm line 492
	Mojo::IOLoop::ReadWriteProcess::start(Mojo::IOLoop::ReadWriteProcess=HASH(0x55ba6a88a130)) called at /usr/lib/os-autoinst/autotest.pm line 326
	autotest::start_process() called at /usr/lib/os-autoinst/OpenQA/Isotovideo/Runner.pm line 103
	OpenQA::Isotovideo::Runner::start_autotest(OpenQA::Isotovideo::Runner=HASH(0x55ba62d4d7e8)) called at /usr/bin/isotovideo line 172
	eval {...} called at /usr/bin/isotovideo line 161
Comment 2 Lukas Ocilka 2024-04-08 07:47:14 UTC
> Expected result:
> 
> The additional addons repos are added during migration by AutoYaST, the
> repos could be found in "zypper lr" after migration.

The test is passing. It's a bit hard to tell what is wrong then.

Which repositories are and which aren't, but should be, there after migration? Where does $repos come from?
Comment 3 Chenzi Cao 2024-04-08 10:15:18 UTC
(In reply to Lukas Ocilka from comment #2)
> > Expected result:
> > 
> > The additional addons repos are added during migration by AutoYaST, the
> > repos could be found in "zypper lr" after migration.
> 
> The test is passing. It's a bit hard to tell what is wrong then.

Yes, the test is pass, but the expected additional addon repos are not installed.

> 
> Which repositories are and which aren't, but should be, there after
> migration? Where does $repos come from?

These repos should be added, please check the test setting as below:
https://openqa.suse.de/tests/13963147#settings

Take BASE_TEST_ISSUES as an example, 32649 is one of the repos ID, and http://download.suse.de/ibs/SUSE:/Maintenance:/32649/SUSE_Updates_SLE-Module-Basesystem_15-SP5_x86_64 is one of the repos url.

Here is a same testing but NOT by AutoYaST:
https://openqa.suse.de/tests/13964400#step/add_update_test_repo/396

So is it possible to added these additional addons repos by AutoYaST in migration cases?
Comment 4 Lukas Ocilka 2024-04-08 10:42:34 UTC
What was the resulting AutoYaST profile, can you attach it? What I can see in openQA is actually the template for the profile, but then the template is being processed by openQA and only THEN AutoYaST sees that. I need to have the file that the AutoYaST got.
Comment 5 Lukas Ocilka 2024-04-08 10:44:56 UTC
And please check comment #1. That seems to be something failing in autoyast::prepare_ay_file which to me sounds like perfectly matching, but I don't have that code here.
Comment 6 Stefan Hundhammer 2024-04-08 11:22:39 UTC
In those y2logs, I see 3 YaST calls. The third one is cloning the system to an AutoYaST XML profile:

>> 01:12:43 <1> [Ruby] bin/y2start(<main>):22
>>   y2base called with
>>   ["clone_system", "ncurses", "-name", "YaST2", "-icon", "yast"]


The resulting profile contains those add-on products:

>> SLE-Module-Basesystem15-SP5-Pool
>> SLE-Module-Desktop-Applications15-SP5-Pool
>> SLE-Module-Server-Applications15-SP5-Pool
>> SLE-Module-Python3-15-SP5-Pool
>> SLE-Module-DevTools15-SP5-Pool
>> SLE-Module-Containers15-SP5-Pool
>> SLE-Module-Web-Scripting15-SP5-Pool
>> SLE-Module-Public-Cloud15-SP5-Pool
>> SLE-Module-Legacy15-SP5-Pool
>> SLE-Product-WE15-SP5-Pool
Comment 7 Stefan Hundhammer 2024-04-08 11:38:34 UTC
According to comment #0, the AutoYaST profile is this one:

https://github.com/chcao/os-autoinst-distri-opensuse/blob/08ec12cbed8c0af30c1c595e61e9c4b9f02aaabe/data/yam/autoyast/autoyast_maintenance_update_scc_upgrade.xml.ep

which contains this:

>>  <add-on>
>>    <add_on_products config:type="list">
>>      % for my $repo (@$repos) {
>>      % my ($repo_id, $addon) = $repo =~ (/(\d+)\/(.*)\//);
>>      <listentry>
>>        <media_url><%= $repo %></media_url>
>>        <name><%= $addon . "_" . $repo_id %></name>
>>        <alias><%= $addon . "_" . $repo_id %></alias>
>>      </listentry>
>>      %}
>>    </add_on_products>
>>  </add-on>


But this file does not validate:

% jing /usr/share/YaST2/schema/autoyast/rng/profile.rng autoyast_maintenance_update_scc_upgrade.xml.ep
...upgrade.xml.ep:72:33: error: text not allowed here; expected the element end-tag or element "listentry"
...upgrade.xml.ep:73:60: error: text not allowed here; expected the element end-tag or element "listentry"
...upgrade.xml.ep:75:21: fatal: The content of elements must consist of well-formed character data or markup.


And the lines that are reported as error are:

>>  72  % for my $repo (@$repos) {
>>  73  % my ($repo_id, $addon) = $repo =~ (/(\d+)\/(.*)\//);
>>
>>  75    <media_url><%= $repo %></media_url>
Comment 9 Stefan Hundhammer 2024-04-08 14:06:38 UTC
Created attachment 874132 [details]
The zypper repo history

The complete zypper history: All zypp 'radd' (repository add) and 'rremove' (repository remove) operations from zypp/history of the attached y2log tarballs.

Notice that none of the maintenance repos appears here.
Comment 10 Stefan Hundhammer 2024-04-08 14:09:11 UTC
Created attachment 874133 [details]
The active zypp repos

The active zypp repos, extracted from zypper.log from the attached y2logs tarball.
Comment 11 Stefan Hundhammer 2024-04-08 14:13:40 UTC
Created attachment 874134 [details]
Maintenance repos

Lots of maintenance repos, extracted from the profile in YCP format from the y2log and reformatted to make that pile of garbage human-readable.


>> 18:40:33 <1> [Ruby] modules/Profile.rb(Import):310 Current Profile = {"add-on"=>{"add_on_products"=>[...
>>
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33133/SUSE_Updates_SLE-Module-Web-Scripting_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33195/SUSE_Updates_SLE-Module-Python3_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33199/SUSE_Updates_SLE-Module-Python3_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33206/SUSE_Updates_SLE-Module-Python3_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/32649/SUSE_Updates_SLE-Module-Development-Tools_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/32874/SUSE_Updates_SLE-Module-Development-Tools_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/32906/SUSE_Updates_SLE-Module-Development-Tools_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/32984/SUSE_Updates_SLE-Module-Development-Tools_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/32990/SUSE_Updates_SLE-Module-Development-Tools_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/32998/SUSE_Updates_SLE-Module-Development-Tools_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33035/SUSE_Updates_SLE-Module-Development-Tools_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33041/SUSE_Updates_SLE-Module-Development-Tools_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33122/SUSE_Updates_SLE-Module-Development-Tools_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33128/SUSE_Updates_SLE-Module-Development-Tools_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33133/SUSE_Updates_SLE-Module-Development-Tools_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33140/SUSE_Updates_SLE-Module-Development-Tools_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33167/SUSE_Updates_SLE-Module-Development-Tools_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33177/SUSE_Updates_SLE-Module-Development-Tools_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33181/SUSE_Updates_SLE-Module-Development-Tools_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33195/SUSE_Updates_SLE-Module-Development-Tools_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33199/SUSE_Updates_SLE-Module-Development-Tools_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33214/SUSE_Updates_SLE-Module-Development-Tools_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/32649/SUSE_Updates_SLE-Module-Legacy_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/32878/SUSE_Updates_SLE-Module-Legacy_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/32878/SUSE_Updates_SLE-Module-Server-Applications_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/32906/SUSE_Updates_SLE-Module-Server-Applications_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33019/SUSE_Updates_SLE-Module-Server-Applications_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33134/SUSE_Updates_SLE-Module-Server-Applications_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33154/SUSE_Updates_SLE-Module-Server-Applications_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/32773/SUSE_Updates_SLE-Module-Containers_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/32853/SUSE_Updates_SLE-Module-Containers_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/32854/SUSE_Updates_SLE-Module-Containers_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/32856/SUSE_Updates_SLE-Module-Containers_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/32857/SUSE_Updates_SLE-Module-Containers_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/32913/SUSE_Updates_SLE-Module-Containers_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33011/SUSE_Updates_SLE-Module-Containers_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33199/SUSE_Updates_SLE-Module-Containers_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33205/SUSE_Updates_SLE-Module-Containers_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33208/SUSE_Updates_SLE-Module-Containers_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33020/SUSE_Updates_SLE-Product-WE_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33122/SUSE_Updates_SLE-Product-WE_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33199/SUSE_Updates_SLE-Product-WE_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33212/SUSE_Updates_SLE-Product-WE_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33216/SUSE_Updates_SLE-Product-WE_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/32649/SUSE_Updates_SLE-Module-Basesystem_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/32784/SUSE_Updates_SLE-Module-Basesystem_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/32828/SUSE_Updates_SLE-Module-Basesystem_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/32838/SUSE_Updates_SLE-Module-Basesystem_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/32868/SUSE_Updates_SLE-Module-Basesystem_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/32872/SUSE_Updates_SLE-Module-Basesystem_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/32878/SUSE_Updates_SLE-Module-Basesystem_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/32906/SUSE_Updates_SLE-Module-Basesystem_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/32916/SUSE_Updates_SLE-Module-Basesystem_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/32938/SUSE_Updates_SLE-Module-Basesystem_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/32951/SUSE_Updates_SLE-Module-Basesystem_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/32998/SUSE_Updates_SLE-Module-Basesystem_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33013/SUSE_Updates_SLE-Module-Basesystem_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33044/SUSE_Updates_SLE-Module-Basesystem_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33119/SUSE_Updates_SLE-Module-Basesystem_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33120/SUSE_Updates_SLE-Module-Basesystem_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33122/SUSE_Updates_SLE-Module-Basesystem_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33125/SUSE_Updates_SLE-Module-Basesystem_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33128/SUSE_Updates_SLE-Module-Basesystem_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33135/SUSE_Updates_SLE-Module-Basesystem_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33140/SUSE_Updates_SLE-Module-Basesystem_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33154/SUSE_Updates_SLE-Module-Basesystem_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33160/SUSE_Updates_SLE-Module-Basesystem_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33169/SUSE_Updates_SLE-Module-Basesystem_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33177/SUSE_Updates_SLE-Module-Basesystem_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33194/SUSE_Updates_SLE-Module-Basesystem_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33195/SUSE_Updates_SLE-Module-Basesystem_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33199/SUSE_Updates_SLE-Module-Basesystem_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33209/SUSE_Updates_SLE-Module-Basesystem_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33214/SUSE_Updates_SLE-Module-Basesystem_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33222/SUSE_Updates_SLE-Module-Basesystem_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/32999/SUSE_Updates_SLE-Module-Desktop-Applications_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33018/SUSE_Updates_SLE-Module-Desktop-Applications_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33122/SUSE_Updates_SLE-Module-Desktop-Applications_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33152/SUSE_Updates_SLE-Module-Desktop-Applications_15-SP5_x86_64/
>> http://download.suse.de/ibs/SUSE:/Maintenance:/33222/SUSE_Updates_SLE-Module-Desktop-Applications_15-SP5_x86_64/
Comment 12 Stefan Hundhammer 2024-04-08 14:15:01 UTC
Those maintenance repos might not have survived the registration process.

I am not 100% sure, but I believe they are redundant when the corresponding update repos are also active.
Comment 13 Stefan Hundhammer 2024-04-08 14:34:42 UTC
I have the feeling that none of those maintenance repos is really an add-on product. They are repos, alright, but I don't see any indication that they qualify as add-on products.

None of them appears in the list of available add-ons received from the registration server.


Did this ever work? Or is this a completely new test? In that case, probably the whole idea behind that case is wrong: The add-ons in the AutoYaST profile need to be valid ones, not just repo URLs. Not all repos are add-on products.
Comment 14 Ladislav Slezák 2024-04-08 14:48:09 UTC
The "<add_on_products>" tag should be used only for repositories which contain a product. If it is just a plain repository with packages (without any product) the "<add_on_others>" tag should be used instead.

Please try changing the "<add_on_products>" -> "<add_on_others>" in autoyast XML profile. If that still does not help then attach the new logs.

See https://documentation.suse.com/sles/15-SP5/html/SLES-all/cha-configuration-installation-options.html#id-1.7.5.2.14.6.15
Comment 15 Lukas Ocilka 2024-04-08 15:10:33 UTC
(In reply to Ladislav Slezák from comment #14)
> The "<add_on_products>" tag should be used only for repositories which
> contain a product. If it is just a plain repository with packages (without
> any product) the "<add_on_others>" tag should be used instead.

All right. I think the documentation needs to get a little bit better regarding this. Plus some error reporting when incorrect add-on type is used? This should be easier to debug.
Comment 16 Stefan Hundhammer 2024-04-09 08:18:44 UTC
Chenzi,

also, for future AutoYaST bug reports, please ALWAYS attach the AutoYaST XML profile to the bug - the real one after any pre-processing with embedded Perl etc.; we have a timezone difference of 8 hours between China and the EU, so every request for additional information tends to be delayed for a full working day.


And if you are testing things with additional repos etc., please don't get overboard like here with 80 (!!) additional repos that are spamming the logs like crazy, as in this case. For any useful testing, 2-3 of them are completely sufficient.

I will no more keep digging through y2logs that are flodded with that kind of thing. This cost the company the better part of a whole developer working day.


As for the rest, please fix your AutoYaST profile and try again.
Comment 17 Chenzi Cao 2024-04-09 12:02:25 UTC
I change the "<add_on_products>" to "<add_on_others>" in autoyast XML profile, it works fine, though the case still failed, but it looks like the failure is caused by too many repos added. Thanks for checking it.

https://openqa.suse.de/tests/13973330#step/installation/114
Comment 18 Chenzi Cao 2024-04-22 07:09:15 UTC
Hi there, I reopen this bug report, because the additional addon repos are still not found after migration, I run jobs with both <add_on_others> and <add_on_products>, please find the results as below:

[1] https://openqa.suse.de/tests/14112333#step/zypper_lr/3
This is using <add_on_others>, and please find the attached add_on_others_y2log for this case.

[2] https://openqa.suse.de/tests/14112330#step/zypper_lr/3
This is using <add_on_products>, please find the attached add_on_products_y2log for this case.

I added just one additional addon repo for both jobs just in case of limitation cased the repos not added.
Comment 19 Chenzi Cao 2024-04-22 07:12:01 UTC
Created attachment 874406 [details]
add_on_others_y2log
Comment 20 Chenzi Cao 2024-04-22 07:15:45 UTC
Created attachment 874407 [details]
add_on_products_y2log

And fyi pls, the y2logs are saved at autoyast/clone test module in openqa testing.
Comment 21 Chenzi Cao 2024-04-22 07:25:41 UTC
This is the autoyast profile of the job using <add_on_others>:
https://openqa.suse.de/tests/14112333/file/autoyast-autoupgrade_with_maintenance_unreleased_updates.xml

And this is the autoyast profile of the job using <add_on_products>:
https://openqa.suse.de/tests/14112330/file/autoyast-autoupgrade_with_maintenance_unreleased_updates.xml
Comment 22 Lukas Ocilka 2024-04-22 07:28:19 UTC
Created attachment 874408 [details]
AutoYaST profile add_on_others
Comment 23 Lukas Ocilka 2024-04-22 07:57:08 UTC
Forget about add_on_products, let's focus on add_on_others

The URL in that test is
http://download.suse.de/ibs/SUSE:/Maintenance:/32538/SUSE_Updates_SLE-Module-Basesystem_15-SP5_x86_64/

Last time seen in y2log-4.gz
2024-04-22 02:01:29 <1> install(10939) [Ruby] ui/offline_migration_workflow.rb(block in update_addon_records):156 Refreshing repository ID for addon  (http://download.suse.de/ibs/SUSE:/Maintenance:/32538/SUSE_Updates_SLE-Module-Basesystem_15-SP5_x86_64/)

Code from https://github.com/yast/yast-registration/blob/SLE-15-SP5/src/lib/registration/ui/offline_migration_workflow.rb#L149-L164

Nothing about it to be found in zypp/history between

2024-04-22 02:01:04|radd   |Web_and_Scripting_Module_15_SP5_x86_64:SLE-Module-Web-Scripting15-SP5-Source-Pool|https://updates.suse.com/SUSE/Products/SLE-Module-Web-Scripting/15-SP5/x86_64/product_source?Z4V5T7icTyhJZcczJicKtwt9odBx
VDwJr6HkUXT1BCP-rX6f_6-eZwN5SLpqeOOKrEIdk8XUPbOEzUqDHAg2YNYdy-4RGc38Rokw8-WIvt8Bd5ABPy8bnq9YDwr6LdX5ZMDaEqdwrEOnf3xj3arozBkQrwZYJ1CGS2CT6KfxbFbACg|

and

2024-04-22 02:01:33|radd   |SLES15-SP5-15.5-0|cd:/?devices=/dev/disk/by-id/scsi-0QEMU_QEMU_CD-ROM_cd0|

but that might simple mean that there was nothing to do (change)
Comment 24 Stefan Hundhammer 2024-04-23 09:18:21 UTC
Argh - now everything is completely muddled up. This should really have become a new bug report, not hijacking an old one that was already closed.


This is now a different scenario:

Now we have different y2logs, a different test case instance, different screenshots, a different AutoYaST profile. It was already hard enough to dig through that old bug.
Comment 25 Stefan Hundhammer 2024-04-23 09:22:01 UTC
The new bug starts at comment #18.
Comment 26 Stefan Hundhammer 2024-04-23 09:24:41 UTC
Worse, this is actually TWO new bugs with two different scenarios. 

:-((
Comment 27 Stefan Hundhammer 2024-04-23 09:36:19 UTC
Split off a new bug for the new <add_on_others> case:

  bug #1223301
Comment 28 Stefan Hundhammer 2024-04-23 09:48:08 UTC
Split off a new bug for the new <add_on_products> case:

  bug #1223302
Comment 29 Stefan Hundhammer 2024-04-23 09:49:46 UTC
Restoring old bug resolution.

Work will continue in those NEW bugs to avoid even more chaos in this one.


Notice that this will remain the one and only time that I am doing this bug reporter's work for you.
Comment 30 Joaquín Rivera 2024-04-23 10:42:57 UTC
Thanks for the split Stefan, it wasn't clear for us which syntax should be used as the wrong one seems to work for installation, in order to split the bug on advance. We really appreciate your time, we will try to file the bug with more granularity next time or when we will came back with more narrowed logs/data instead of reopen it we will file a new one instead, I got your point. Thanks again, I will share with squad.