Bug 2029805

Summary: Azure CLI and OpenStack CLI cannot be installed together because of jsondiff/jsonpatch conflict
Product: [Fedora] Fedora Reporter: Pavol Pitonak <ppitonak>
Component: python-jsonpatchAssignee: Alan Pevec (Fedora) <apevec>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 35CC: apevec, dprince, jcapitao, mhayden, openstack-sig, s
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-jsonpatch-1.21-18.fc36 python-jsonpatch-1.21-18.fc35 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-12-17 01:10:56 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 Pavol Pitonak 2021-12-07 10:58:11 UTC
Description of problem:


It's not possible to install Azure CLI and OpenStack CLI at the same time because of a conflict in python3-jsonpatch and python3-jsondiff

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

azure-cli 2.30.0-5.fc35
python3-openstackclient 5.5.0-3.fc35
python3-jsonpatch 1.21-17.fc35
python3-jsondiff 1.3.0-2.fc35


How reproducible:


Steps to Reproduce:
1. sudo dnf install azure-cli.noarch python3-openstackclient
2.
3.

Actual results:

Running transaction check
Transaction check succeeded.
Running transaction test
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Error: Transaction test error:
  file /usr/bin/jsondiff from install of python3-jsonpatch-1.21-17.fc35.noarch conflicts with file from package python3-jsondiff-1.3.0-2.fc35.noarch


Expected results:

Both Azure CLI and OpenStack CLI can be installed at the same time.


Additional info:

Comment 1 Alan Pevec (Fedora) 2021-12-07 21:13:04 UTC
https://bugzilla.redhat.com/show_bug.cgi?id=1967775#c11

Comment 2 Alan Pevec (Fedora) 2021-12-07 21:13:36 UTC
I'm happy to remove jsondiff binary in jsonpatch RPM, assuming there isn't deps on this specific binary in RPMs.

# dnf repoquery --whatrequires python3-jsonpatch
ceph-mgr-rook-2:16.2.6-2.fc35.noarch
cloud-init-0:20.4-7.fc35.noarch
python3-openstacksdk-0:0.55.0-4.fc35.noarch
python3-warlock-0:1.3.3-7.fc35.noarch

For openstacksdk I can confirm jsonpatch is used only as a Python library.

Comment 3 Alan Pevec (Fedora) 2021-12-07 21:19:50 UTC
* jsonpatch version:
usage: jsondiff [-h] [--indent INDENT] [-v] FILE1 FILE2

Diff two JSON files

positional arguments:
  FILE1
  FILE2

options:
  -h, --help       show this help message and exit
  --indent INDENT  Indent output by n spaces
  -v, --version    show program's version number and exit


* jsondiff version:
usage: jsondiff [-h] [-p] [-s SYNTAX] [-i INDENT] first second

positional arguments:
  first
  second

options:
  -h, --help            show this help message and exit
  -p, --patch
  -s SYNTAX, --syntax SYNTAX
  -i INDENT, --indent INDENT

Comment 4 Alan Pevec (Fedora) 2021-12-07 21:28:39 UTC
outputs are different, jsonpath's jsondiff output is jsonpatch format
e.g.
[{"op": "replace", "path": "/topping/2/type", "value": "Malt"}]

Comment 5 Alan Pevec (Fedora) 2021-12-07 21:52:25 UTC
All of ceph-mgr-rook cloud-init openstacksdk warlock use jsonpatch as a Python library and do not use its jsondiff binary, so it is safe to remove it in Fedora RPM.

Comment 7 Alan Pevec (Fedora) 2021-12-08 10:04:56 UTC
Fixed patch by Joel https://src.fedoraproject.org/rpms/python-jsonpatch/pull-request/7

Comment 8 Fedora Update System 2021-12-08 12:01:08 UTC
FEDORA-2021-def450aae8 has been submitted as an update to Fedora 35. https://bodhi.fedoraproject.org/updates/FEDORA-2021-def450aae8

Comment 9 Fedora Update System 2021-12-09 01:28:48 UTC
FEDORA-2021-def450aae8 has been pushed to the Fedora 35 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-def450aae8`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-def450aae8

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 10 Major Hayden 🤠 2021-12-09 15:12:33 UTC
For what it's worth, I removed the /usr/bin/jsondiff executable from python-jsondiff over in BZ 1967775. I didn't see this ticket until this morning. 🤦🏻‍♂️

Sorry for the trouble!

Comment 11 Fedora Update System 2021-12-17 01:10:56 UTC
FEDORA-2021-def450aae8 has been pushed to the Fedora 35 stable repository.
If problem still persists, please make note of it in this bug report.