Bug 2140532

Summary: [RFE] : Recognise podman version mismatch and display user understandable message
Product: [Red Hat Storage] Red Hat Ceph Storage Reporter: Vasishta <vashastr>
Component: CephadmAssignee: Adam King <adking>
Status: NEW --- QA Contact: Manasa <mgowri>
Severity: low Docs Contact:
Priority: unspecified    
Version: 5.3CC: cephqe-warriors, saraut
Target Milestone: ---Keywords: FutureFeature
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: 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 Vasishta 2022-11-07 05:03:28 UTC
Description of problem:
Using cephadm with older podman versions dumps runtime error which can be tuned to make it more user understandable.

Version-Release number of selected component (if applicable):
cephadm-16.2.10-69.el8cp.noarch

How reproducible:
Always

Steps to Reproduce:
1. Install cephadm with older version of podman and try cephadm commands.

Actual results:
# cephadm version
Non-zero exit code 125 from /usr/bin/podman version --format {{.Client.Version}}
/usr/bin/podman: stderr Error: template: image:1:9: executing "image" at <.Client.Version>: can't evaluate field Client in type define.Version
Traceback (most recent call last):
  File "/usr/sbin/cephadm", line 9183, in <module>
    main()
  File "/usr/sbin/cephadm", line 9169, in main
    check_container_engine(ctx)
  File "/usr/sbin/cephadm", line 2204, in check_container_engine
    engine.get_version(ctx)
  File "/usr/sbin/cephadm", line 212, in get_version
    out, _, _ = call_throws(ctx, [self.path, 'version', '--format', '{{.Client.Version}}'])
  File "/usr/sbin/cephadm", line 1637, in call_throws
    raise RuntimeError(f'Failed command: {" ".join(command)}: {s}')
RuntimeError: Failed command: /usr/bin/podman version --format {{.Client.Version}}: Error: template: image:1:9: executing "image" at <.Client.Version>: can't evaluate field Client in type define.Version

Expected results:
Recognize that podman could be of older version and convey user based on findings.

Additional info: