Bug 1303978 - releng needs to get verbose depsolving info
releng needs to get verbose depsolving info
Status: NEW
Product: Fedora
Classification: Fedora
Component: dnf (Show other bugs)
27
Unspecified Unspecified
high Severity unspecified
: ---
: ---
Assigned To: Igor Gnatenko
Fedora Extras Quality Assurance
: Reopened, Triaged
: 1396844 (view as bug list)
Depends On:
Blocks: rel-eng-dnf
  Show dependency treegraph
 
Reported: 2016-02-02 10:33 EST by Dennis Gilmore
Modified: 2017-12-07 19:06 EST (History)
10 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-02-03 08:02:46 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Dennis Gilmore 2016-02-02 10:33:52 EST
Description of problem:

When running compose taska and when making buildroots we need to be able to debug dependency issues from the log files. We need to have a flag to turn on vebose logging of depsolving.


Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:
Comment 1 Honza Silhan 2016-02-03 08:02:46 EST

*** This bug has been marked as a duplicate of bug 1148627 ***
Comment 2 Dennis Gilmore 2016-10-21 09:49:59 EDT
This is not a duplicate, as we need to have full depsolving displayed in releng as opposed to just having enough depsolving to figure out what is going on.  There should be some flag we can use to make dnf loud about what is going on, Just as yum was.
Comment 3 Igor Gnatenko 2016-10-21 09:51:26 EDT
(In reply to Dennis Gilmore from comment #2)
> This is not a duplicate, as we need to have full depsolving displayed in
> releng as opposed to just having enough depsolving to figure out what is
> going on.  There should be some flag we can use to make dnf loud about what
> is going on, Just as yum was.

Do you use dnf as subprocess or you use API?
Comment 4 Dennis Gilmore 2016-10-21 12:00:37 EDT
both, in koji/mock it is used by the cli, other tools are using the yum api and can not be ported until we get suitable output.
Comment 5 Michael Mráka 2016-10-24 07:15:32 EDT
If there's dependency issue and transaction fails then (failed) dependency chain is reported.

Why do you need full depsolving displayed in success case? What's the use case / what do you use it for?
Comment 6 Dennis Gilmore 2016-10-27 18:15:54 EDT
full depsolving is needed because there are cases where you get more packages than expected and some additional functionality gets enabled. There are cases where you need to figure out why something was pulled into a buildroot. it is not only failures that cause people to analyze why something was or was not pulled into a buildroot.
Comment 7 Dennis Gilmore 2016-10-27 18:17:34 EDT
https://pagure.io/releng/blob/master/f/scripts/critpath.py for instance, we want to know what packages cause another package to get pulled into being critical path.
Comment 8 Honza Silhan 2016-10-31 08:06:30 EDT
we can reconstruct the dependency tree and output that.
Comment 9 Dennis Gilmore 2016-11-07 11:02:20 EST
another case we hit today, for some reason systemd-udev stopped being pulled into the livemedia buildroot in rawhide. we have no idea why that is, the transaction completes but does not have all the expected packages. As a result we have to do a lot of digging to figure it out, with proper verbose logs we could see why it was previously pulled in to the chroot and narrow down where to look for changes.
Comment 10 Igor Gnatenko 2016-11-21 04:03:36 EST
*** Bug 1396844 has been marked as a duplicate of this bug. ***
Comment 11 Fedora End Of Life 2017-02-28 04:53:39 EST
This bug appears to have been reported against 'rawhide' during the Fedora 26 development cycle.
Changing version to '26'.
Comment 12 Jaroslav Mracek 2017-04-11 14:30:44 EDT
I create huge refactor of problems report https://github.com/rpm-software-management/dnf/pull/782, but not sure if the patch fulfill the request in this bug report. Please can you look at PR and provide a feedback?
Comment 13 Dennis Gilmore 2017-04-11 19:57:06 EDT
It does not look even close to what we are requesting. we want all package depsolving from the start of the transaction to be printed. it serves many purposes. from figuring out why something was chosen to being able to determine differences that cause unexpected or to confirm expected behaviour. we need to know depsolving issue when the transaction is successful  and not just in cases of errors.
Comment 14 Panu Matilainen 2017-04-12 01:21:42 EDT
(In reply to Honza Silhan from comment #8)
> we can reconstruct the dependency tree and output that.

That, with missing and looped dependencies marked specially, sounds like a fine plan to me.
Comment 15 Dennis Gilmore 2017-04-18 15:11:00 EDT
we hit a failure today that the output is lacking in any detail as to whats going on.

DEBUG util.py:435:  Unable to create appliance : Failed to build transaction : package webkitgtk4-2.16.1-2.fc26.armv7hl requires libenchant.so.1, but none of the providers can be installed
DEBUG util.py:435:    - package emacs-1:25.2-0.1.rc2.fc26.armv7hl requires libwebkit2gtk-4.0.so.37, but none of the providers can be installed
DEBUG util.py:435:    - package enchant-1:1.6.0-16.fc26.armv7hl requires libhunspell-1.5.so.0, but none of the providers can be installed
DEBUG util.py:435:    - conflicting requests
DEBUG util.py:435:    - nothing provides hunspell-en-US needed by hunspell-1.5.4-2.fc26.armv7hl

all the packages talked about exist and are available. full debugging is needed
Comment 16 Jaroslav Mracek 2017-04-24 11:33:12 EDT
Please can you provide additional information for last Comment 15 like what was the last issue in this operation and from which operation the error appears like (install or upgrade)? Thanks a lot. And probably I will have additional request or question because I am going to try to solve your request.
Comment 17 Jaroslav Mracek 2017-04-24 12:02:19 EDT
From Comment 15 I guess that hunspell-en-US provide was not present in transaction. The rest is simple consequence dependency problems in dependency tree.
Comment 18 Jaroslav Mracek 2017-04-24 12:08:51 EDT
Dennis please can you provide expected result how would you prefer format requested verbose output in several cases - problem, missing package in transaction, transaction without problem or something else. This is very important to delivery what you requested. Thanks a lot.
Comment 19 Dennis Gilmore 2017-06-06 16:30:40 EDT
Sorry I had missed the request for info. From memory there was no other detail. it was creating an arm disk image and that was the full output after loading the repos. the logs no longer exist to provide anything extra. 

hunspell-en-US was present in the repo and metadata, I am assuming that it was not installable due to some broken dep, it was just never shown anywhere.

What we would like is to have the full depsolving from the start. so that we can see why packages are included or not included. For realease engineer purposes we need to have the full depsolving output for the entire transaction all the time. sometimes the transaction completes and does not give the expected desired outcome, we need to be able to figure out why that happened. othertimes things are broken we need to know why exactly. the sample output does not provide enough information to determine the cause of the problem. We need to know the full depsolving when things are good so that when things go wrong we can compare and figure out what exactly changed to make them go wrong.
Comment 20 Jan Kurik 2017-08-15 04:34:30 EDT
This bug appears to have been reported against 'rawhide' during the Fedora 27 development cycle.
Changing version to '27'.

Note You need to log in before you can comment on or make changes to this bug.