Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 1906337

Summary: "sos collect --help" should warn it is unavailable when python3-pyexpect package missing
Product: Red Hat Enterprise Linux 8 Reporter: Pavel Moravec <pmoravec>
Component: sosAssignee: Pavel Moravec <pmoravec>
Status: CLOSED ERRATA QA Contact: Miroslav HradĂ­lek <mhradile>
Severity: medium Docs Contact:
Priority: medium    
Version: ---CC: agk, bmr, mhradile, plambri, sbradley, theute
Target Milestone: rcKeywords: Triaged
Target Release: 8.0Flags: pm-rhel: mirror+
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: sos-4.1-1.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-11-09 19:36: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 Pavel Moravec 2020-12-10 09:59:01 UTC
Description of problem:
sos collect functionality is available only when Recommended python3-pyexpect package is present. When the package is missing, sos tool should warn on all applicable places that sos-collect functionality is unavailable.

We do so when calling:
sos --help
sos collect .. (real args)

but we dont do so when calling "sos collect --help".

Let add a warning at least like:

# python3 bin/sos --help
usage: sos <component> [options]

Available components:
    report, rep                   Collect files and command output in an archive
	    clean, cleaner, mask          Obfuscate sensitive networking information in a report
    collect                       (unavailable) Collect an sos report from multiple nodes
..


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


How reproducible:
100%


Steps to Reproduce:
dnf remove python3-pyexpect -y
sos collect --help


Actual results:
No warning the subcommand is unavailable.


Expected results:
A warning or a notice about the unavailability.


Additional info:

Comment 1 Pavel Moravec 2021-04-28 20:14:26 UTC
I can confirm it is fixed:

With python3-pexpect package removed:

# sos collect --help
usage: sos collect [options]

optional arguments:
  -h, --help            show this help message and exit

Global Options:
  --batch               Do not prompt interactively
  --config-file CONFIG_FILE
                        specify alternate configuration file
  --debug               enable interactive debugging using the python debugger
  -q, --quiet           only print fatal errors
  -s SYSROOT, --sysroot SYSROOT
                        system rootdir path (default='/')
  --tmp-dir TMP_DIR     specify alternate temporary directory
  -t THREADS, --threads THREADS
                        Number of threads to use
  -v, --verbose         increase verbosity
  -z {auto,gzip,xz}, --compression-type {auto,gzip,xz}
                        compression technology to use
  --encrypt-key ENCRYPT_KEY
                        Encrypt the archive using a GPG key-pair
  --encrypt-pass ENCRYPT_PASS
                        Encrypt the archive using a password

WARNING: `collect` is not available with this installation! Please install the
python3-pexpect package for your distribution in order to enable this function
#

Comment 5 errata-xmlrpc 2021-11-09 19:36:07 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (sos bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2021:4388