Bug 1680320

Summary: Cannot install root with modular repos
Product: [Fedora] Fedora Reporter: Orion Poplawski <orion>
Component: mock-core-configsAssignee: Miroslav Suchý <msuchy>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: rawhideCC: gsgatlin, jdisnard, jkeating, kevin, mebrown, mhroncok, msuchy, praiskup, psabata, williams
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: mock-core-configs-30.2-1.fc31 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-03-08 00:13:07 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 Orion Poplawski 2019-02-23 21:45:25 UTC
Description of problem:

I use a fairly modified mock config, so I may have goofed something up - but after enabling the modular repos I'm getting:

Mock Version: 1.4.14
INFO: Mock Version: 1.4.14
Start: dnf install
fedora                                                                                                                                      1.0 MB/s |  54 MB     00:54    
nwrpms                                                                                                                                      455 kB/s | 625 kB     00:01    
Fedora - Modular Rawhide - Developmental packages for the next Fedora release                                                               656 kB/s | 2.3 MB     00:03    
local                                                                                                                                       8.1 MB/s |  55 MB     00:06    
Last metadata expiration check: 0:00:01 ago on Sat Feb 23 13:48:47 2019.
Failed to set locale, defaulting to C
Modular dependency problems:

 Problem 1: conflicting requests
  - nothing provides module(platform:f30) needed by module stratis:1:20181215204600:a5b0195c-0.x86_64
 Problem 2: conflicting requests
  - nothing provides module(platform:f30) needed by module standard-test-roles:3.0:3020190214144451:a5b0195c-0.x86_64
 Problem 3: conflicting requests
  - nothing provides module(platform:f30) needed by module ripgrep:latest:3020190214090003:a5b0195c-0.x86_64
 Problem 4: conflicting requests
  - nothing provides module(platform:f30) needed by module ninja:latest:3020190131012415:a5b0195c-0.x86_64
 Problem 5: conflicting requests
  - nothing provides module(platform:f30) needed by module meson:latest:3020190123223713:36245242-0.x86_64
 Problem 6: conflicting requests
  - nothing provides module(platform:f30) needed by module libgit2:0.27:3020190128145600:a5b0195c-0.x86_64
 Problem 7: conflicting requests
  - nothing provides module(platform:f30) needed by module gimp:2.10:20181223154246:a5b0195c-0.x86_64
 Problem 8: conflicting requests
  - nothing provides module(platform:f30) needed by module fish:3:3020190216163513:602da195-0.x86_64
 Problem 9: conflicting requests
  - nothing provides module(platform:f30) needed by module exa:latest:3020190214120734:e50d0d19-0.x86_64
 Problem 10: conflicting requests
  - nothing provides module(platform:f30) needed by module dwm:6.1:3020190213215420:a5b0195c-0.x86_64
 Problem 11: conflicting requests
  - nothing provides module(platform:f30) needed by module bat:latest:3020190214090936:e50d0d19-0.x86_64
 Problem 12: conflicting requests
  - nothing provides module(platform:f30) needed by module avocado:stable:3020190213205848:a5b0195c-0.x86_64
Detection of Platform Module failed: Cannot open file: /var/lib/mock/fedora-rawhide-x86_64/root/etc/os-release
Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/dnf/cli/commands/install.py", line 86, in run
    module_base.install(self.opts.grp_specs, strict=self.base.conf.strict)
  File "/usr/lib/python3.7/site-packages/dnf/module/module_base.py", line 129, in install
    module_debsolv_errors=solver_errors)
dnf.exceptions.MarkingErrors: Problems in request:
missing groups or modules: buildsys-build
Modular dependency problems with Defaults:

 Problem 1: conflicting requests
  - nothing provides module(platform:f30) needed by module avocado:stable:3020190213205848:a5b0195c-0.x86_64
 Problem 2: conflicting requests
  - nothing provides module(platform:f30) needed by module bat:latest:3020190214090936:e50d0d19-0.x86_64
 Problem 3: conflicting requests
  - nothing provides module(platform:f30) needed by module dwm:6.1:3020190213215420:a5b0195c-0.x86_64
 Problem 4: conflicting requests
  - nothing provides module(platform:f30) needed by module exa:latest:3020190214120734:e50d0d19-0.x86_64
 Problem 5: conflicting requests
  - nothing provides module(platform:f30) needed by module fish:3:3020190216163513:602da195-0.x86_64
 Problem 6: conflicting requests
  - nothing provides module(platform:f30) needed by module gimp:2.10:20181223154246:a5b0195c-0.x86_64
 Problem 7: conflicting requests
  - nothing provides module(platform:f30) needed by module libgit2:0.27:3020190128145600:a5b0195c-0.x86_64
 Problem 8: conflicting requests
  - nothing provides module(platform:f30) needed by module meson:latest:3020190123223713:36245242-0.x86_64
 Problem 9: conflicting requests
  - nothing provides module(platform:f30) needed by module ninja:latest:3020190131012415:a5b0195c-0.x86_64
 Problem 10: conflicting requests
  - nothing provides module(platform:f30) needed by module ripgrep:latest:3020190214090003:a5b0195c-0.x86_64
 Problem 11: conflicting requests
  - nothing provides module(platform:f30) needed by module standard-test-roles:3.0:3020190214144451:a5b0195c-0.x86_64
 Problem 12: conflicting requests
  - nothing provides module(platform:f30) needed by module stratis:1:20181215204600:a5b0195c-0.x86_64

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/dnf", line 58, in <module>
    main.user_main(sys.argv[1:], exit_code=True)
  File "/usr/lib/python3.7/site-packages/dnf/cli/main.py", line 193, in user_main
    errcode = main(args)
  File "/usr/lib/python3.7/site-packages/dnf/cli/main.py", line 64, in main
    return _main(base, args, cli_class, option_parser_class)
  File "/usr/lib/python3.7/site-packages/dnf/cli/main.py", line 99, in _main
    return cli_run(cli, base)
  File "/usr/lib/python3.7/site-packages/dnf/cli/main.py", line 115, in cli_run
    cli.run()
  File "/usr/lib/python3.7/site-packages/dnf/cli/cli.py", line 1108, in run
    return self.command.run()
  File "/usr/lib/python3.7/site-packages/dnf/cli/commands/install.py", line 97, in run
    module_debsolv_errors))
  File "/usr/lib/python3.7/site-packages/dnf/module/module_base.py", line 604, in format_modular_solver_errors
    msg = dnf.util._format_resolve_problems(errors)
  File "/usr/lib/python3.7/site-packages/dnf/util.py", line 384, in _format_resolve_problems
    msg += "\n  - ".join(rs)
TypeError: sequence item 0: expected str instance, list found
ERROR: Exception(/export/home/orion/fedora/vtk/vtk-8.2.0-1.fc31.src.rpm) Config(fedora-rawhide-x86_64) 3 minutes 6 seconds
INFO: Results and/or logs in: /export/home/orion/fedora/vtk/results_vtk/8.2.0/1.fc31
ERROR: Command failed: 
 # /usr/bin/dnf --installroot /var/lib/mock/fedora-rawhide-x86_64/root/ --releasever 31 --disableplugin=local --setopt=deltarpm=False install @buildsys-build --setopt=tsflags=nocontexts

Version-Release number of selected component (if applicable):
mock-1.4.14-2.el7.noarch

This is with bootstrap enabled.

Comment 1 Miroslav Suchý 2019-02-26 09:17:42 UTC
You are very likely missing this line in your mock config:

config_opts['yum.conf'] = """
[main]
....
module_platform_id=platform:f30
#^^^^^^^^^^^^^^^^^^^^^^^^^ this line
...

Comment 2 Miroslav Suchý 2019-02-26 13:16:22 UTC
Ahh, this is an issue.

The reproducer is to run:
  mock -r fedora-rawhide-x86_64 shell

And the error is:
 # /usr/bin/dnf --installroot /var/lib/mock/fedora-rawhide-x86_64/root/ --releasever 31 --disableplugin=local --setopt=deltarpm=False install @buildsys-build --setopt=tsflags=nocontexts
fedora                                                                                                            1.3 MB/s |  61 MB     00:46    
Fedora - Modular Rawhide - Developmental packages for the next Fedora release                                     320 kB/s | 2.2 MB     00:06    
Last metadata expiration check: 0:00:02 ago on Út 26. února 2019, 13:57:40 CET.
Modular dependency problems:

 Problem 1: conflicting requests
  - nothing provides module(platform:f30) needed by module stratis:1:20181215204600:a5b0195c-0.x86_64
 Problem 2: conflicting requests
  - nothing provides module(platform:f30) needed by module standard-test-roles:3.0:3020190214144451:a5b0195c-0.x86_64
 Problem 3: conflicting requests
  - nothing provides module(platform:f30) needed by module ripgrep:latest:3020190214090003:a5b0195c-0.x86_64

Modules stratis, ripgrep and other require module(platform:f30) but mock provide in config:
  module_platform_id=platform:f31
which is just fine, because fedora-release-31 has in /etc/os-release:
  PLATFORM_ID="platform:f31"

I am not sure whose fault it is and what is the solution now.

Comment 3 Pavel Raiskup 2019-02-26 13:32:21 UTC
That "Problem N - conflicting requetss" used to be non-fatal, but with
python3-dnf-4.1.0-1.fc29.noarch I see the same traceback as OP.  So
it might be also a problem in dnf.

Comment 4 Miroslav Suchý 2019-02-26 14:10:47 UTC
Note that the traceback part is being tracked in bug 1680966.

Comment 5 Petr Šabata 2019-02-27 08:56:05 UTC
So there are multiple issues here.

The traceback part is what's causing the failure.

These modules shouldn't be part of Rawhide.  I'm going to follow up with releng to see why this happened and have that resolved.

DNF spitting out these errors is also suboptimal but what exactly should be done about it is being discussed; either case, they are normally non-fatal.

Anyway, I don't think this is a bug in mock.

Comment 6 Miroslav Suchý 2019-02-27 13:08:34 UTC
(In reply to Petr Šabata from comment #5)
> These modules shouldn't be part of Rawhide.  I'm going to follow up with
> releng to see why this happened and have that resolved.

These repos are part of fedora-rawhide-modular.repo. I just copy what is there.
These modules come from this repo.

So either those modules should not be in that repo, or that repo should not be in fedora-repos-rawhide package. Or they should be rebuilt.

Comment 7 Kevin Fenzi 2019-03-03 02:00:25 UTC
The problem is that we have yet to get a successful rawhide compose since branching, so on all the mirrors is 'f30' from before branching in the rawhide/ directory. 

Once we get a new rawhide compose things should at least become more clear. :)

Comment 8 Miroslav Suchý 2019-03-08 00:13:07 UTC
Based on the discussion on devel list I disabled modular repos in mock config until this gets resolved by modularity team.