Bug 1906337 - "sos collect --help" should warn it is unavailable when python3-pyexpect package missing
Summary: "sos collect --help" should warn it is unavailable when python3-pyexpect pack...
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: sos
Version: ---
Hardware: All
OS: Linux
Target Milestone: rc
: 8.0
Assignee: Pavel Moravec
QA Contact: Miroslav Hradílek
Depends On:
TreeView+ depends on / blocked
Reported: 2020-12-10 09:59 UTC by Pavel Moravec
Modified: 2021-11-10 07:39 UTC (History)
6 users (show)

Fixed In Version: sos-4.1-1.el8
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2021-11-09 19:36:07 UTC
Type: Bug
Target Upstream Version:

Attachments (Terms of Use)

System ID Private Priority Status Summary Last Updated
Github sosreport sos issues 2336 0 None closed "sos collect --help" to warn it is unavailable when pyexpect package missing 2021-02-10 16:16:13 UTC
Red Hat Product Errata RHEA-2021:4388 0 None None None 2021-11-09 19:36:22 UTC

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):

How reproducible:

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.


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