oamg / leapp

Leapp - Application & OS Modernization Framework (For in-place upgrades, follow leapp-repository)
https://oamg.github.io/leapp/
Apache License 2.0
86 stars 69 forks source link

Change output format to report overview #840

Closed matejmatuska closed 1 year ago

matejmatuska commented 1 year ago

This patch improves the leapp output format. The "REPORT" section is renamed to "REPORT OVERVIEW" and in addition to high and medium priority report titles it contains also inhibitor titles and actor and short error message for errors.

The long (possibly thousands of lines) detailed errors messaged and tracebacks are kept in the "ERRORS" section. The inhibitors section is removed, because it's contents are now in the report overview.

github-actions[bot] commented 1 year ago

Thank you for contributing to the Leapp project!

Please note that every PR needs to comply with the Leapp Guidelines and must pass all tests in order to be mergeable. If you want to request a review or rebuild a package in copr, you can use following commands as a comment:

To launch regression testing public members of oamg organization can leave the following comment:

Please open ticket in case you experience technical problem with the CI. (RH internal only)

Note: In case there are problems with tests not being triggered automatically on new PR/commit or pending for a long time, please consider rerunning the CI by commenting leapp-ci build (might require several comments). If the problem persists, contact leapp-infra.

matejmatuska commented 1 year ago

Requires #838

matejmatuska commented 1 year ago

Examples

Normal ![image](https://github.com/oamg/leapp/assets/75834032/91c4dd8a-2326-4c18-b6f5-8885ba94f104)
Inhibitor ![image](https://github.com/oamg/leapp/assets/75834032/f4eea65f-6722-4229-b013-7053ab61803a)
Errors (couldn't fit into one image) ![image](https://github.com/oamg/leapp/assets/75834032/b0f1b12c-583c-427f-890b-5bd4548dc9ce) ![image](https://github.com/oamg/leapp/assets/75834032/04b757e4-c565-43ba-a1df-e2ea95a3f223)

NOTE: The "Stable Key report entry not provided, dynamically generating one ..." messages are only visible with --debug.

pirat89 commented 1 year ago

/rerun 1116

github-actions[bot] commented 1 year ago

Copr build succeeded: https://copr.fedorainfracloud.org/coprs/build/6311627

github-actions[bot] commented 1 year ago

Copr build succeeded: https://copr.fedorainfracloud.org/coprs/build/6311680

github-actions[bot] commented 1 year ago

Testing Farm request for RHEL-8.6-rhui/6311680;6311627 regression testing has been created. Once finished, results should be available here. Full pipeline log.

github-actions[bot] commented 1 year ago

Testing Farm request for RHEL-7.9-rhui/6311680;6311627 regression testing has been created. Once finished, results should be available here. Full pipeline log.

pirat89 commented 1 year ago

Tested manually, works as expected, see below.

error

============================================================
                           ERRORS                           
============================================================

2023-08-23 14:59:34.971322 [ERROR] Actor: pes_events_scanner
Message: Data file /etc/leapp/files/pes-events.json is invalid or could not be retrieved.
Summary:
    Details: Could not fetch pes-events.json from https://cert.cloud.redhat.com/api/pes/2/pes-events.json (error code: 401).
    Hint: Read documentation at: https://access.redhat.com/articles/3664871 for more information about how to retrieve the file.

============================================================
                       END OF ERRORS                        
============================================================

2023-08-23 14:59:35.109 WARNING  PID: 17795 leapp.reporting: Stable Key report entry not provided, dynamically generating one - 93b26ca870d07eabd42892a70ed8a91556d9b74c
Debug output written to /var/log/leapp/leapp-upgrade.log
2023-08-23 14:59:35.140 WARNING  PID: 17795 leapp.reporting: Stable Key report entry not provided, dynamically generating one - 93b26ca870d07eabd42892a70ed8a91556d9b74c

============================================================
                      REPORT OVERVIEW                       
============================================================

Following errors occurred and the upgrade cannot continue:
    1. Actor: pes_events_scanner
       Message: Data file /etc/leapp/files/pes-events.json is invalid or could not be retrieved.

Reports summary:
    Errors:                      1
    Inhibitors:                  0
    HIGH severity reports:       0
    MEDIUM severity reports:     0
    LOW severity reports:        0
    INFO severity reports:       1

Before continuing consult the full report:
    A report has been generated at /var/log/leapp/leapp-report.json
    A report has been generated at /var/log/leapp/leapp-report.txt

============================================================
                   END OF REPORT OVERVIEW                   
============================================================
============================================================
                      REPORT OVERVIEW                       
============================================================

Following errors occurred and the upgrade cannot continue:
    1. Actor: dnf_transaction_check
       Message: DNF execution failed with non zero exit code.

HIGH and MEDIUM severity reports:
    1. Packages available in excluded repositories will not be installed
    2. GRUB2 core will be automatically updated during the upgrade
    3. Packages not signed by Red Hat found on the system
    4. Difference in Python versions and support in RHEL 8
    5. Upgrade is unsupported
    6. Module pam_pkcs11 will be removed from PAM configuration
    7. chrony using default configuration

Reports summary:
    Errors:                      1
    Inhibitors:                  0
    HIGH severity reports:       5
    MEDIUM severity reports:     2
    LOW severity reports:        4
    INFO severity reports:       4

Before continuing consult the full report:
    A report has been generated at /var/log/leapp/leapp-report.json
    A report has been generated at /var/log/leapp/leapp-report.txt

# grep "(error)" -A1 /var/log/leapp/leapp-report.txt
Risk Factor: high (error)
Title: DNF execution failed with non zero exit code.

## snippet from json file:
   {
      "title": "DNF execution failed with non zero exit code.",
      "timeStamp": "2023-08-23T13:21:15.150183Z",
      "hostname": "localhost.localdomain",
      "actor": "dnf_transaction_check",
      "summary" ....,
      "audience": "sysadmin", 
      "flags": [],
      "key": "1e26c8b86cec72c25c04ca045d2b0ed3e8ca2df5",
      "id": "e7c19634f1ab2e6887c69ea627b0ffc8d17dabbded26d5904934a81ef97ee26d",
      "tags": [],
      "severity": "high"
    }

For the schema v1.2.0:

============================================================
                      REPORT OVERVIEW                       
============================================================

Following errors occurred and the upgrade cannot continue:
    1. Actor: dnf_transaction_check
       Message: DNF execution failed with non zero exit code.

HIGH and MEDIUM severity reports:
    1. Packages available in excluded repositories will not be installed
    2. GRUB2 core will be automatically updated during the upgrade
    3. Difference in Python versions and support in RHEL 8
    4. Packages not signed by Red Hat found on the system
    5. Upgrade is unsupported
    6. Module pam_pkcs11 will be removed from PAM configuration
    7. chrony using default configuration

Reports summary:
    Errors:                      1
    Inhibitors:                  0
    HIGH severity reports:       5
    MEDIUM severity reports:     2
    LOW severity reports:        4
    INFO severity reports:       4

Before continuing consult the full report:
    A report has been generated at /var/log/leapp/leapp-report.json
    A report has been generated at /var/log/leapp/leapp-report.txt

============================================================
                   END OF REPORT OVERVIEW                   
============================================================

# grep "(error)" -A1 /var/log/leapp/leapp-report.txt
Risk Factor: high (error)
Title: DNF execution failed with non zero exit code.

Snippet from the json file

   {
      "groups": [
        "error"
      ],
      "title": "DNF execution failed with non zero exit code.",
      "timeStamp": "2023-08-23T13:40:04.309613Z",
      "hostname": "localhost.localdomain",
      "actor": "dnf_transaction_check",

The rest of entries looks good as I expected too. I forgot to put here inhibitors (will try to get outputs also later) but it seemed correct to me also. Here is one positive:

============================================================
                      REPORT OVERVIEW                       
============================================================

HIGH and MEDIUM severity reports:
    1. Packages available in excluded repositories will not be installed
    2. Upgrade is unsupported
    3. GRUB2 core will be automatically updated during the upgrade
    4. Difference in Python versions and support in RHEL 8
    5. Packages not signed by Red Hat found on the system
    6. Module pam_pkcs11 will be removed from PAM configuration
    7. chrony using default configuration

Reports summary:
    Errors:                      0
    Inhibitors:                  0
    HIGH severity reports:       5
    MEDIUM severity reports:     2
    LOW severity reports:        4
    INFO severity reports:       3

Before continuing consult the full report:
    A report has been generated at /var/log/leapp/leapp-report.json
    A report has been generated at /var/log/leapp/leapp-report.txt

============================================================
                   END OF REPORT OVERVIEW                   
============================================================