Bug 1829398

Summary: No available modular metadata for modular package 'criu-3.12-9.module_el8.1.0+294+988780c8.x86_64', it cannot be installed on the system
Product: Red Hat Enterprise Linux 8 Reporter: morgan read <mstuff>
Component: dnfAssignee: Marek Blaha <mblaha>
Status: CLOSED INSUFFICIENT_DATA QA Contact: swm-qe
Severity: unspecified Docs Contact:
Priority: medium    
Version: CentOS StreamCC: bstinson, carl, hasuzuki, james.antill, jberan, kweg, mblaha
Target Milestone: rcFlags: jberan: mirror+
Target Release: 8.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-06-04 08:39:06 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description morgan read 2020-04-29 13:54:30 UTC
Description of problem:
can't upgrade due to No available modular metadata

Version-Release number of selected component (if applicable):
$ sudo dnf list criu dnf
Last metadata expiration check: 0:18:01 ago on Wed 29 Apr 2020 14:35:13 BST.
Installed Packages
criu.x86_64                                              3.12-9.el8                                                 @AppStream      
dnf.noarch                                               4.2.17-3.el8                                               @Stream-BaseOS
[admin@frontserver ~]$

How reproducible:
Always

Steps to Reproduce:
1. dnf upgrade
2.
3.

Actual results:
dnf upgrade fails

Expected results:
dnf upgrade succeeds

Additional info:

Comment 1 Marek Blaha 2020-05-05 17:41:15 UTC
We will need more data to find out what's going on in this issue. Can you please provide solver debug data?

1. make sure there is no debugdata directory in your working directory
2. run dnf upgrade --debugsolver
3. in your working directory should be created debugdata directory. Please can you share its content with us?

Also full output of failing `dnf upgrade` command might help.
Thanks.

Comment 2 Marek Blaha 2020-05-06 12:19:43 UTC
The only way I was able to reproduce similar behaviour is when trying to upgrade criu from local repository with modular package but no modular metadata:

1. install non-modular criu from AppStream repository
# dnf install criu
# dnf list criu
criu.x86_64                                             3.12-9.el8                                              @AppStream

2. download modular criu from `container-tools:2.0` module from Stream-AppStream repo:
# dnf --setopt=*.module_hotfixes=1 --repoid=Stream-AppStream download criu
criu-3.12-9.module_el8.1.0+292+7d7c672e.x86_64.rpm

3. create local repository containing this downloaded criu:
# createrepo_c .

4. try to update criu using this local repository (which contains modular package but no modular metadata). Note, that you have to disable Stream-AppStream repo which contains modular metadata for the criu package:
# dnf --repofrompath=tmp,. --disablerepo=Stream-AppStream update criu
Added tmp repo from .
Dependencies resolved.
==========================================================================================================================
 Package              Architecture           Version                                            Repository           Size
==========================================================================================================================
Upgrading:
 criu                 x86_64                 3.12-9.module_el8.1.0+292+7d7c672e                 tmp                 482 k

Transaction Summary
==========================================================================================================================
Upgrade  1 Package

Total size: 482 k
Is this ok [y/N]: y
Downloading Packages:
Running transaction check
No available modular metadata for modular package 'criu-3.12-9.module_el8.1.0+292+7d7c672e.x86_64', it cannot be installed on the system
Error: No available modular metadata for modular package


So the question is from what repository are you downloading 'criu-3.12-9.module_el8.1.0+294+988780c8.x86_64' package. It looks like the package is modular but is located in non-modular repository. Running this (without the `--repofrompath=tmp,.` part) command might help:

# dnf --repofrompath=tmp,. --disablerepo=Stream-AppStream repoquery criu --queryformat="%{name}-%{evr}.%{arch} %{repoid}"
Added tmp repo from .
Last metadata expiration check: 0:06:28 ago on Wed May  6 08:09:45 2020.
criu-3.12-9.el8.x86_64 AppStream
criu-3.12-9.module_el8.1.0+292+7d7c672e.x86_64 tmp

Comment 3 Daniel Mach 2020-06-04 08:39:06 UTC
We don't have sufficient information to debug this problem.
If you can provide more details, please do so and reopen the bug.

Comment 4 morgan read 2020-09-27 09:20:09 UTC
It seems fixed.  Thanks.

[root@frontserver ~]# dnf upgrade
Last metadata expiration check: 2:44:45 ago on Sun 27 Sep 2020 07:08:02 BST.
Dependencies resolved.
====================================================================================================================================
 Package                                   Arch      Version                                              Repository           Size
====================================================================================================================================
Installing:
...
 Upgrading:
 ...
 criu 
...
Installing dependencies:
... 
Removing:
...
Transaction Summary
====================================================================================================================================
Install   7 Packages
Upgrade  56 Packages
Remove    4 Packages

Total download size: 161 M
Is this ok [y/N]: y
Downloading Packages:
...
(18/63): criu-3.14-2.module_el8.3.0+475+c50ce30b.x86_64.rpm                                         1.1 MB/s | 500 kB     00:00    
...
------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                               6.9 MB/s | 161 MB     00:23     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
...
  Upgrading        : criu-3.14-2.module_el8.3.0+475+c50ce30b.x86_64                                                          36/126 
...
  Cleanup          : criu-3.14-2.module_el8.3.0+401+88d810c7.x86_64                                                         114/126 
...
  Verifying        : criu-3.14-2.module_el8.3.0+475+c50ce30b.x86_64                                                          35/126 
  Verifying        : criu-3.14-2.module_el8.3.0+401+88d810c7.x86_64                                                          36/126 
...
Upgraded:
...
  criu-3.14-2.module_el8.3.0+475+c50ce30b.x86_64                                                                                    
...
Installed:
...
Removed:
...
Complete!
[root@frontserver ~]#