Bug 1670369
| Summary: | redhat-support-lib-python: Traceback on make_report from utils.reporthelper | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 8 | Reporter: | Miroslav Hradílek <mhradile> |
| Component: | redhat-support-lib-python | Assignee: | Pranita Ghole <pghole> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Miroslav Hradílek <mhradile> |
| Severity: | high | Docs Contact: | |
| Priority: | high | ||
| Version: | 8.0 | CC: | cww, salmy, vrathee, wchadwic |
| Target Milestone: | rc | Flags: | rule-engine:
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: | 2019-06-14 01:07:00 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 of problem: Function make_report from redhat_support_lib.utils.reporthelper module does not work on rhel8 it outputs Traceback instead. The same worked on RHEL7. Version-Release number of selected component (if applicable): redhat-support-lib-python-0.10.1-0.el8.noarch How reproducible: 100% Steps to Reproduce: # rpm -q redhat-support-lib-python redhat-support-lib-python-0.10.1-0.el8.noarch # cat reporthelper.py #!/bin/env python3 import os import sys import redhat_support_lib.utils.reporthelper as reporthelper if len(sys.argv) == 2: file_name = reporthelper.make_report(path=sys.argv[1], report_dir=os.getcwd()) print('File is %s' % (file_name)) else: print("Usage: %s /path/to/file-or-dir" % (sys.argv[0])) # echo "Hello world." > hello.txt # ./reporthelper.py hello.txt Traceback (most recent call last): File "/usr/lib/python3.6/site-packages/redhat_support_lib/utils/reporthelper.py", line 327, in make_report name='description') File "/usr/lib/python3.6/site-packages/redhat_support_lib/utils/reporthelper.py", line 131, in _process_file contains_invalid_xml_chars(fileName): File "/usr/lib/python3.6/site-packages/redhat_support_lib/utils/reporthelper.py", line 109, in contains_invalid_xml_chars if re.search(illegal_xml_chars, content): File "/usr/lib64/python3.6/re.py", line 182, in search return _compile(pattern, flags).search(string) TypeError: cannot use a string pattern on a bytes-like object During handling of the above exception, another exception occurred: Traceback (most recent call last): File "./reporthelper.py", line 8, in <module> file_name = reporthelper.make_report(path=sys.argv[1], report_dir=os.getcwd()) File "/usr/lib/python3.6/site-packages/redhat_support_lib/utils/reporthelper.py", line 341, in make_report raise Exception('Unable to generate report file.') Exception: Unable to generate report file. # ls -d tmp* tmp04ieyjl1 Expected results: RHEL-7 (for comparison): # rpm -q redhat-support-lib-python redhat-support-lib-python-0.9.7-6.el7.noarch # cat reporthelper.py #!/bin/env python import os import sys import redhat_support_lib.utils.reporthelper as reporthelper if len(sys.argv) == 2: file_name = reporthelper.make_report(path=sys.argv[1], report_dir=os.getcwd()) print('File is %s' % (file_name)) else: print("Usage: %s /path/to/file-or-dir" % (sys.argv[0])) # echo "Hello world." > hello.txt # ./reporthelper.py hello.txt File is /root/tmpvn5Q_6/report-20190129103535.xml # cat /root/tmpvn5Q_6/report-20190129103535.xml <?xml version="1.0" ?> <report xmlns="http://www.redhat.com/gss/strata"> <binding type="text/plain; charset=us-ascii" name="description" fileName="hello.txt">Hello world. </binding> <binding name="kernel">3.10.0-957.1.3.el7.x86_64</binding> <binding name="package"/> <binding name="hostname">my-test-machine.redhat.com</binding> <binding name="architecture">x86_64</binding> <binding name="os_release">redhat 7.6 Maipo</binding> </report> Additional info: Not sure if it is used anywhere in RST but it sure is included in the library.