Bug 1223167 - Upgrade from Leap 15.4 to 15.5 failed: "control file does not define any base product"
Summary: Upgrade from Leap 15.4 to 15.5 failed: "control file does not define any base...
Status: RESOLVED WORKSFORME
: 1223166 (view as bug list)
Alias: None
Product: openSUSE Distribution
Classification: openSUSE
Component: Upgrade Problems (show other bugs)
Version: Leap 15.5
Hardware: x86-64 openSUSE Leap 15.5
: P5 - None : Normal (vote)
Target Milestone: ---
Assignee: E-mail List
QA Contact: Jiri Srain
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-04-20 16:09 UTC by James Carlson
Modified: 2024-05-23 14:14 UTC (History)
2 users (show)

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


Attachments
YaST log files (720.00 KB, application/x-tar)
2024-04-20 16:09 UTC, James Carlson
Details
YaST error window (1.55 MB, image/jpeg)
2024-04-20 16:10 UTC, James Carlson
Details
control.xml from the y2logs tarball (62.13 KB, text/xml)
2024-05-21 11:05 UTC, Stefan Hundhammer
Details
/etc/products.d/Leap.prod (4.11 KB, application/xml)
2024-05-22 12:24 UTC, James Carlson
Details

Note You need to log in before you can comment on or make changes to this bug.
Description James Carlson 2024-04-20 16:09:42 UTC
Created attachment 874393 [details]
YaST log files

I attempted to do the offline/DVD upgrade of an existing Leap 15.4 system to 15.5. I downloaded the DVD image and verified the SHA signature before burning the image.

On booting the DVD image and selecting "Upgrade" from the initial menu, I was eventually given the attached pop-up window before the "welcome" stage of upgrade. The text in that window says:

  YaST2
  Calling the YaST module `inst_repositories_initialization has failed.
  More information can be found near the end of the /var/log/YasT2/y2log' file.

  This is worth reporting a bug at http://bugzilla.suse.com/:
  Please, attach also all YaST logs stored in the /var/log/YaST2/' directory.
  See http://en.opensuse.org/Bugs/YaST for more information about YasT logs.

I was able to tar up the /var/log/YaST2 directory; the contents are attached.
Comment 1 James Carlson 2024-04-20 16:10:34 UTC
Created attachment 874394 [details]
YaST error window

Image showing actual error window from attempted upgrade.
Comment 2 Andreas Stieger 2024-04-20 16:14:35 UTC
*** Bug 1223166 has been marked as a duplicate of this bug. ***
Comment 3 James Carlson 2024-04-20 16:15:36 UTC
I tried upgrading twice with the same results each time.

Before upgrading, I verified that all of my repos were reachable and ran "zypper clean" and "zypper ref" to make sure.

I was able to get to a shell, and I poked around. The network layer didn't correctly detect my static IP arrangement, but at least the DHCP system worked and the system was connected to the Internet at the point where the error was issued.

While doing the upgrade, I was following the instructions here:

https://en.opensuse.org/SDB:Offline_upgrade

The same error happened with and without attempting the "Prepare repository list" step -- that is, with the repo links pointing to 15.4 or 15.5.
Comment 4 Stefan Hundhammer 2024-05-21 11:00:48 UTC
>> 2024-04-20 11:27:12 <3> install(5253) [Ruby] yast/wfm.rb(handle_exception):271
>>   Client /mounts/mp_0001/usr/share/YaST2/clients/inst_repositories_initialization.rb
>>   failed with 'The control file does not define any base product!' (RuntimeError).
>> 
>> Backtrace:
>> 
>> .../usr/share/YaST2/lib/y2packager/product_spec_reader.rb:55:in `products_from_control'
>> .../usr/share/YaST2/lib/y2packager/product_spec_reader.rb:46:in `products'
>> .../usr/share/YaST2/lib/y2packager/product_spec.rb:69:in `base_products'
>> .../usr/share/YaST2/lib/y2packager/clients/inst_repositories_initialization.rb:123:in `products'
>> .../usr/share/YaST2/lib/y2packager/clients/inst_repositories_initialization.rb:58:in `main'
>> .../usr/share/YaST2/clients/inst_repositories_initialization.rb:3:in `<top (required)>'
>> .../usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:345:in `eval'
>> .../usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:345:in `run_client'
>> .../usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:206:in `call_builtin'
>> .../usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:206:in `call_builtin_wrapper'
>> .../usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:195:in `CallFunction'
>> .../usr/share/YaST2/modules/ProductControl.rb:1306:in `block in RunFrom'
>> .../usr/lib64/ruby/vendor_ruby/2.5.0/yast/y2logger.rb:98:in `group'
>> .../usr/share/YaST2/modules/ProductControl.rb:1276:in `RunFrom'
>> .../usr/share/YaST2/modules/ProductControl.rb:1501:in `Run'
>> .../usr/share/YaST2/lib/installation/clients/inst_worker_initial.rb:99:in `main'
>> .../usr/share/YaST2/clients/inst_worker_initial.rb:2:in `<top (required)>'
>> .../usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:345:in `eval'
>> .../usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:345:in `run_client'
>> .../usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:206:in `call_builtin'
>> .../usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:206:in `call_builtin_wrapper'
>> .../usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:195:in `CallFunction'
>> .../usr/share/YaST2/lib/installation/clients/installation.rb:92:in `block in main'
>> .../usr/share/YaST2/lib/ui/wizards/layout.rb:186:in `open_wizard'
>> .../usr/share/YaST2/lib/installation/clients/installation.rb:60:in `main'
>> .../usr/share/YaST2/clients/installation.rb:2:in `<top (required)>'
>> .../usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:345:in `eval'
>> .../usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:345:in `run_client'
>> .../usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:206:in `call_builtin'
>> .../usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:206:in `call_builtin_wrapper'
>> .../usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:195:in `CallFunction'
>> /usr/lib/YaST2/bin/y2start:68:in `<main>'
Comment 5 Stefan Hundhammer 2024-05-21 11:05:24 UTC
Created attachment 874992 [details]
control.xml from the y2logs tarball

The error message looks justified: Indeed this control.xml does not define a base product.


But it's the exact same control.xml that I have on my Leap 15.5 in /etc/YaST/control.xml. But I didn't upgrade from Leap 15.4, I did a new installation.
Comment 6 Stefan Hundhammer 2024-05-21 11:10:29 UTC
James, that attached error dialog contains a "Next" button. Could you continue by clicking on it? I suspect that should work, and this is not a fatal error that would be a showstopper for the upgrade.
Comment 7 Stefan Hundhammer 2024-05-21 11:46:25 UTC
If you still have that Leap 15.4, please also check if you have a symlink /etc/products.d/baseproduct:

  baseproduct -> Leap.prod

And an XML file /etc/products.d/Leap.prod describing that product.
Comment 8 Stefan Hundhammer 2024-05-21 12:05:17 UTC
AFAICS the code path taken here is the second fallback: The installation medium did not contain multiple repos, and not even one single repo, so it had to resort to checking the control file (control.xml) to check if that one would contain any base product; but that failed as well.


https://github.com/yast/yast-packager/blob/SLE-15-SP5/src/lib/y2packager/product_spec_reader.rb#L41-L47

>>    if InstallationMedium.contain_multi_repos?
>>      products_from_multi_repos
>>    elsif InstallationMedium.contain_repo?
>>      products_from_libzypp
>>    else
>>      products_from_control
>>    end


https://github.com/yast/yast-packager/blob/SLE-15-SP5/src/lib/y2packager/product_spec_reader.rb#L53-L55

>>    def products_from_control
>>      control_products = Y2Packager::ProductSpecReaders::Control.new.products
>>      raise "The control file does not define any base product!" if control_products.empty?


So, what medium did you use? A minimalistic NET medium without any repos at all? And that possibly in combination with your network setup having problems with your static IP setup, as you mentioned?
Comment 9 James Carlson 2024-05-21 13:17:30 UTC
(In reply to Stefan Hundhammer from comment #8)
> AFAICS the code path taken here is the second fallback: The installation
> medium did not contain multiple repos, and not even one single repo, so it
> had to resort to checking the control file (control.xml) to check if that
> one would contain any base product; but that failed as well.
> 
> 
> https://github.com/yast/yast-packager/blob/SLE-15-SP5/src/lib/y2packager/
> product_spec_reader.rb#L41-L47
> 
> >>    if InstallationMedium.contain_multi_repos?
> >>      products_from_multi_repos
> >>    elsif InstallationMedium.contain_repo?
> >>      products_from_libzypp
> >>    else
> >>      products_from_control
> >>    end
> 
> 
> https://github.com/yast/yast-packager/blob/SLE-15-SP5/src/lib/y2packager/
> product_spec_reader.rb#L53-L55
> 
> >>    def products_from_control
> >>      control_products = Y2Packager::ProductSpecReaders::Control.new.products
> >>      raise "The control file does not define any base product!" if control_products.empty?
> 
> 
> So, what medium did you use? A minimalistic NET medium without any repos at
> all? And that possibly in combination with your network setup having
> problems with your static IP setup, as you mentioned?

According to my browser history, I downloaded this:

https://download.opensuse.org/distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-x86_64-Build491.1-Media.iso

I downloaded the checksum and verified it. I then burned it to a DVD and booted from that. I selected "upgrade," and it didn't work.

The upgrade DVD didn't detect my static IP configuration. That's fine; I was able to continue using a temporary DHCP address. I don't think that's related to the problem.

But the upgrade itself failed. The "next" button does nothing at all. It just freezes there.

I'm willing to poke around to try to give you more information than just the error logs, but I'll need something more explicit about what you need. (And how to get it.)

The system was originally installed (from scratch) with OpenSUSE Leap 15.4. The packages have been updated consistently, but this is the first time I've tried upgrading to a new release.

I can't really reinstall it, as it's a pretty important system. If you can wait a few years, I can probably build a new system to try out something different. Otherwise, I'm either marooned on 15.4 or I'm going to have to try the (apparently riskier) live upgrade mechanism.

I was hoping that DVD-based upgrade would be more robust.
Comment 10 Stefan Hundhammer 2024-05-22 07:11:54 UTC
Actually, that should work. The upgrade using DHCP to reach any remote repos is also the default behavior. 

This leaves the question if your 15.4 had that symlink /etc/products/baseproduct (see comment #7) to check what existing system to upgrade from. I am not even sure if it got that far in your case; I'll check again.

Let me have another look and ask around in the team.
Comment 11 James Carlson 2024-05-22 12:23:26 UTC
(In reply to Stefan Hundhammer from comment #10)
> Actually, that should work. The upgrade using DHCP to reach any remote repos
> is also the default behavior. 
> 
> This leaves the question if your 15.4 had that symlink
> /etc/products/baseproduct (see comment #7) to check what existing system to
> upgrade from. I am not even sure if it got that far in your case; I'll check
> again.
> 
> Let me have another look and ask around in the team.

I don't see any /etc/products/baseproduct, but there is an /etc/products.d/baseproduct:

% ls -sal /etc/products*
total 24
 4 drwxr-xr-x   2 root root  4096 Jul  8  2022 .
12 drwxr-xr-x 175 root root 12288 May 22 08:00 ..
 0 lrwxrwxrwx   1 root root     9 Jul  8  2022 baseproduct -> Leap.prod
 8 -rw-r--r--   1 root root  4210 Jul  4  2022 Leap.prod

I'll attach a copy of that Leap.prod file.
Comment 12 James Carlson 2024-05-22 12:24:41 UTC
Created attachment 875023 [details]
/etc/products.d/Leap.prod
Comment 13 Stefan Hundhammer 2024-05-22 13:18:13 UTC
Right, it's /etc/products.d, not /etc/products. My fault.
And that Leap.prod looks good to me.
Comment 14 Stefan Hundhammer 2024-05-22 14:18:58 UTC
Some intermediate results (or rather, work in progress hoping to get any results anytime soon):


On my installed Leap 15.5:


>>  % sudo zypper products
>>  
>>  S  | Repository   | Internal Name     | Name                            | Version | Arch   | Is Base
>>  ---+--------------+-------------------+---------------------------------+---------+--------+--------
>>     | Leap Non-OSS | Leap-Addon-NonOss | openSUSE Leap 15.5 NonOSS Addon | 15.5-0  | x86_64 | No
>>  i+ | Leap OSS     | Leap              | openSUSE Leap 15.5              | 15.5-1  | x86_64 | Yes


>>  % sudo zypper info -t product --requires Leap  
>>  
>>  Information for product Leap:
>>  -----------------------------
>>  Repository          : Leap OSS
>>  Name                : Leap
>>  Version             : 15.5-1
>>  Arch                : x86_64
>>  Vendor              : openSUSE
>>  End of Support      : 2024-12-31
>>  Flavor              : ftp
>>  Is Base             : Yes
>>  Installed           : Yes
>>  Status              : up-to-date
>>  Update Repositories : ---
>>  CPE Name            : cpe:2.3:o:opensuse:leap:15.5:*:*:*:*:*:*:*
>>  Short Name          : openSUSE Leap
>>  Summary             : openSUSE Leap 15.5
>>  Description         : 
>>      openSUSE Leap 15.5.
>>  Requires            : product(Leap) = 15.5-1


>>  % rpm -q --whatprovides 'product(Leap)'
>>  
>>  openSUSE-release-15.5-lp155.286.1.x86_64


>>  % rpm -ql openSUSE-release
>>  
>>  /etc/YaST2
>>  /etc/YaST2/control.xml
>>  /etc/motd
>>  /etc/os-release
>>  /etc/products.d
>>  /etc/products.d/Leap.prod
>>  /etc/products.d/baseproduct
>>  /etc/rpm/macros.leap
>>  /etc/zypp/repos.d/repo-backports-debug-update.repo
>>  /etc/zypp/repos.d/repo-backports-update.repo
>>  /etc/zypp/repos.d/repo-sle-debug-update.repo
>>  /etc/zypp/repos.d/repo-sle-update.repo
>>  /etc/zypp/vendors.d/00-openSUSE.conf
>>  /usr/lib/issue.d
>>  /usr/lib/issue.d/10-openSUSE.conf
>>  /usr/lib/issue.d/90-openSUSE.conf
>>  /usr/lib/os-release
>>  /usr/share/licenses/openSUSE-release
>>  /usr/share/licenses/openSUSE-release/license.ar.txt
>>  ...
>>  /usr/share/licenses/openSUSE-release/license.zh_TW.txt
>>  /usr/share/licenses/openSUSE-release/no-acceptance-needed
>>  /usr/share/licenses/product
>>  /usr/share/licenses/product/base
>>  /usr/share/licenses/product/base/license.ar.txt
>>  ...
>>  /usr/share/licenses/product/base/license.zh_TW.txt
>>  /usr/share/licenses/product/base/no-acceptance-needed



Mounting the Leap 15.5 ISO:

>>  % sudo mount -r /work/iso/openSUSE-Leap-15.5-DVD-x86_64-Build491.1-Media.iso /mnt


Trying to find the products on that ISO:

>>  % find /mnt -name "openSUSE-release*.rpm"
>>  
>>  /mnt/x86_64/openSUSE-release-dvd-15.5-lp155.286.1.x86_64.rpm
>>  /mnt/x86_64/openSUSE-release-15.5-lp155.286.1.x86_64.rpm


>>  % rpm -qp --provides /mnt/x86_64/openSUSE-release-15.5-lp155.286.1.x86_64.rpm | grep -v weakremover
>>  
>>  aaa_version
>>  config(openSUSE-release) = 15.5-lp155.286.1
>>  distribution-release
>>  dup-vendor-relax(suse)
>>  openSUSE-release = 15.5-lp155.286.1
>>  openSUSE-release(x86-64) = 15.5-lp155.286.1
>>  openSUSE-release-15.5
>>  product() = Leap
>>  product(Leap) = 15.5-1
>>  product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aleap%3A15.5
>>  product-endoflife() = 2024%2D12%2D31
>>  product-label() = openSUSE%20Leap
>>  product-register-target() = openSUSE%2DLeap%2D15.5%2Dx86_64
>>  product-updates-repoid() = obsrepository%3A%2F%2Fbuild.opensuse.org%2FSUSE%3ASLE%2D15%2DSP5%3AUpdate%2Fpool
>>  product-updates-repoid() = obsrepository%3A%2F%2Fbuild.opensuse.org%2FopenSUSE%3ABackports%3ASLE%2D15%2DSP5%3AUpdate%2Fstandard
>>  product-updates-repoid() = obsrepository%3A%2F%2Fbuild.opensuse.org%2FopenSUSE%3ALeap%3A15.5%3ANonFree%3AUpdate%2Fstandard
>>  product-updates-repoid() = obsrepository%3A%2F%2Fbuild.opensuse.org%2FopenSUSE%3ALeap%3A15.5%3AUpdate%2Fstandard
>>  product-url(releasenotes) = http%3A%2F%2Fdoc.opensuse.org%2Frelease%2Dnotes%2Fx86_64%2FopenSUSE%2FLeap%2F15.5%2Frelease%2Dnotes%2DopenSUSE.rpm
>>  product-url(repository) = http%3A%2F%2Fdownload.opensuse.org%2Fdistribution%2Fleap%2F15.5%2Frepo%2Foss%2F
>>  suse-release = 15.5-lp155.286.1
>>  suse-release-oss = 15.5-lp155.286.1
>>  system-installation() = Leap
>>  system-installation() = openSUSE


>>  % rpm -qp --provides /mnt/x86_64/openSUSE-release-dvd-15.5-lp155.286.1.x86_64.rpm
>>  
>>  flavor(dvd)
>>  openSUSE-release-dvd = 15.5-lp155.286.1
>>  openSUSE-release-dvd(x86-64) = 15.5-lp155.286.1
>>  product_flavor()
>>  product_flavor(Leap) = 15.5-1





The SLE-15-SP5 control.xml file actually contains some base products to choose from so the user can use a purchased registration key to register one of them in one of the later steps of the installation:

>>  <base_products config:type="list">
>>    <base_product>
>>      <display_name>SUSE Linux Enterprise Server 15 SP5</display_name>
>>      <name>SLES</name>
>>      <version>15.5</version>
>>      <register_target>sle-15-$arch</register_target>
>>    </base_product>
>>    ...
>>    ...
>>    <base_product>
>>      <display_name>SUSE Linux Enterprise Desktop 15 SP5</display_name>
>>      <name>SLED</name>
>>      <version>15.5</version>
>>      <register_target>sle-15-$arch</register_target>
>>      <archs>x86_64</archs>
>>    </base_product>
>>  </base_products>

Leap 15.x (at least 15.5 which I checked) does not have any such entry in the control.xml product description file.
Comment 15 Stefan Hundhammer 2024-05-22 14:24:25 UTC
So, this whole products thing is a lot of smoke and mirrors; it's mostly metadata, injected into the system by a -release package for each product. The -release package have RPM 'provides' dependencies to provide symbols of the 'product() = PRODUCT_NAME' type that are added as a new type of object into the RPM database.

As you can see, I used the same ISO file as you, and actually the data look quite consistent. Yet, something must be missing; but what?
Comment 16 Stefan Hundhammer 2024-05-22 14:33:41 UTC
@Ladislav: What am I overlooking?

Where are base products defined as base products?

Are there metadata files that contain more information about the products?

Did we have a code change in the last few months that broke the release upgrade?
Comment 17 James Carlson 2024-05-22 17:22:42 UTC
Some other notes about the system that may (or may not) help in identifying the problem.

The root file system is on NVME and uses ext4. /etc is (of course) on the root file system, as is /bin, /usr, /lib, /lib64, /root, /opt.

/var is on ZFS as are my /home directories, /srv, /usr/local, and the bulk of the storage is on ZFS in /export.

I would not be surprised at all to find that (like static network configuration) the installer knows nothing of ZFS and that means (in particular) that /var can't be mounted and appears to be empty to the installer.

No idea if it needs something from there. If there were some way to add drivers and import the ZFS mounts during the upgrade process, then I would do that. Alternatively, I could try doing an experiment where I move the ZFS /var data over to the NVME and then somehow move it back. It'll be a bit fraught, though.
Comment 18 Lukas Ocilka 2024-05-23 07:30:09 UTC
ZFS on /var might be really the cause. After looking at https://en.opensuse.org/OpenZFS (which might be obsolete), I'd say that it's not being officially tested. In this case, I would rather use upgrade of the running system using zypper https://en.opensuse.org/SDB:System_upgrade
Comment 19 Stefan Hundhammer 2024-05-23 07:37:56 UTC
/var/lib/rpm/Packages is the RPM database. If that cannot be read, the upgrade will fail for sure. So this is indeed a case for a zypper upgrade.

My interpretation of the logs so far was that it could not find a base product on the installation media, but maybe it's indeed already at the point where it would read the RPM DB of the previously installed product, and it's in reality that which fails.

If you have a separate /var on ZFS, this cannot be mounted, so it falls back to /var on the root filesystem, where in your scenario of course there is no RPM DB. That would explain the behavior.
Comment 20 Stefan Hundhammer 2024-05-23 09:23:04 UTC
But in your case, it doesn't even get as far as trying to mount anything from the existing system on the disk: It already fails when reading the content of the installation medium.

I just tried on an existing VM, and with that same installation ISO

  openSUSE-Leap-15.5-DVD-x86_64-Build491.1-Media.iso

4413456384 bytes, sha256sum

  53bcbcb82361c5261c9d0994ab0f94101bf28e61c06fe12d320984601be35a8f

(just like downloaded from here https://get.opensuse.org/leap/15.5/#download)

I get

>> 04:40:13 <1> [Ruby] y2packager/installation_medium.rb(read):74
>>   Base Products: [#<Y2Packager::RepoProductSpec:0x000056530533c8c8
>>   @name="Leap",
>>   @version="15.5",
>>   @arch="x86_64",
>>   @display_name="openSUSE Leap 15.5",
>>   @order=nil,
>>   @base=true,
>>   @selected=false,
>>   @register_target="",
>>   @depends_on=[],
>>   @dir="/AP_0x67lFfB",
>>   @media_name="/AP_0x67lFfB",
>>   @description="openSUSE Leap 15.5.">]


where you get

>> 11:27:12 <1> [Ruby] y2packager/installation_medium.rb(read):74 Base Products: []

and that's where it starts going downhill. It doesn't even was as far as trying to mount any partitions from your hard disk(s) to probe what existing systems there are on your disks to upgrade from.

Just as in your y2log, the name of the on-DVD repository is

>>  04:40:07 <1> [Pkg] Source_Download.cc(SourceProvideFileCommon):77
>>    Downloading file
>>    /repodata/df6fa38c088f2cbd6f718b30d09ce24654b85a0ca5152437ae8c8d9b60473b90-primary.xml.gz
>>    from repository 0, medium 1


But for some reason, yours does not contain any base product.

Please download the installation ISO again (and of course check the checksum), and please use a USB stick this time to boot and upgrade from.

Maybe your DVD drive isn't as reliable anymore as it used to be. If it's anything like mine, it might not see much use these days, which might make it unreliable.


I'd appreciate if you'd try the same procedure again until the point where you see an existing partition to choose the system to upgrade. If this time it gets that far, it was an issue with your DVD drive.

Anyway, at that point you'll have to stop because then the ZFS problem will start to kick in; a successful upgrade will in your case only work when booting the old system and then using the zypper method that Lukas mentioned in comment #18.
Comment 21 James Carlson 2024-05-23 14:01:23 UTC
I think I've got a good course of action now; thanks.

I mounted up the DVD while running 15.4, and saw this:

% cat /run/media/carlsonj/openSUSE-Leap-15.5-DVD-x86_64491/repodata/df6fa38c088f2cbd6f718b30d09ce24654b85a0ca5152437ae8c8d9b60473b90-primary.xml.gz > /dev/null
cat: /run/media/carlsonj/openSUSE-Leap-15.5-DVD-x86_64491/repodata/df6fa38c088f2cbd6f718b30d09ce24654b85a0ca5152437ae8c8d9b60473b90-primary.xml.gz: Input/output error

I think if I'd seen an "Input/output error" message somewhere from the installer, I certainly would have known that something was going very wrong earlier. It'd be nice if errors were reported, but (obviously) this is a really obscure one and I can't fault the installer for missing it.

I will:

- reconfigure the /var partition using ZFS canmount=off and submounts for the things I really care about (such as /var/mail)
- update everything, re-download, and retry via a USB device
- if I can't get that to work, then fall back on live upgrade via zypper

Thanks! I think I'm set.
Comment 22 Stefan Hundhammer 2024-05-23 14:14:31 UTC
OK; closing this bug then.

I am really relieved that we didn't introduce a very bad regression with one of the recent updates to the installation process.