dpkg installation fails due to file conflict between python-cinderclient and python3-cinderclient

Bug #1841516 reported by Trent Lloyd
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Ubuntu Cloud Archive
Invalid
Undecided
Unassigned
Train
Fix Released
Medium
Chris MacNaughton
python-cinderclient (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

[Impact]

When a user upgrades to the bionic-train cloud archive, it is possible to run into a conflict between the python-cinderclient and python3-cinderclient packages that manifests with this error:

Errors were encountered while processing:
 /tmp/apt-dpkg-install-5QJYyK/23-python3-cinderclient_1%3a5.0.0-0ubuntu2~cloud0_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

[Test Case]

root@cinderclient-test:~# apt-add-repository cloud-archive:stein
root@cinderclient-test:~# apt install python-cinderclient
root@cinderclient-test:~# apt-add-repository cloud-archive:train
root@cinderclient-test:~# apt install python3-cinderclient

With a new package that adds in the correct Breaks/Replaces, the above works as expected rather than erroring in dpkg

[Regression Potential]

Regression potential is minimal as the only change required for this is to update the python3-cinderclient target to Break & Replace the python2 version.

------------------------------------------------------------------------

Upgrading python3-cinderclient from 1:4.1.0-0ubuntu1 to 2:4.2.1-0ubuntu2 fails on Eoan due to a conflicting file between the two packages.

It seems there is no equivalent 4.2 upgrade for python-cinderclient so anyone who previously had both versions installed now meet the conflict.

lathiat@optane ~$ sudo apt-get dist-upgrade --auto-remove --purge
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
  lldb
The following packages will be upgraded:
  python3-cinderclient
1 to upgrade, 0 to newly install, 0 to remove and 1 not to upgrade.
Need to get 0 B/139 kB of archives.
After this operation, 5,120 B of additional disk space will be used.
Do you want to continue? [Y/n]
(Reading database ... 381723 files and directories currently installed.)
Preparing to unpack .../python3-cinderclient_1%3a4.2.1-0ubuntu2_all.deb ...
Unpacking python3-cinderclient (1:4.2.1-0ubuntu2) over (1:4.1.0-0ubuntu1) ...
dpkg: error processing archive /var/cache/apt/archives/python3-cinderclient_1%3a4.2.1-0ubuntu2_all.deb (--unpack):
 trying to overwrite '/usr/share/bash-completion/completions/cinder.bash_completion', which is also in package python-cinderclient 1:4.1.0-0ubuntu1
Errors were encountered while processing:
 /var/cache/apt/archives/python3-cinderclient_1%3a4.2.1-0ubuntu2_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
lathiat@optane ~$

Trent Lloyd (lathiat)
Changed in python-cinderclient (Ubuntu):
status: New → Incomplete
status: Incomplete → Confirmed
importance: Undecided → Critical
Revision history for this message
Darrick Horton (deke-horton) wrote :

I am having this issue when trying to install Ironic (which uses python-cinderclient) with Horizon (which uses python3-cinderclient).

Revision history for this message
Chris MacNaughton (chris.macnaughton) wrote :

I don't see python-cinderclient being available for eoan, just python3-cinderclient, nor do I see python-cinderclient in disco (although that's a bit hazier as the archives on it now 404 when I try to update). I'm going to mark this bug as incomplete as it's discussing an Ubuntu release that's reached End of Support. If it's still happening on a supported release of Ubuntu, please re-open this bug and include reproduction steps!

Changed in python-cinderclient (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Corey Bryant (corey.bryant) wrote :

shubjero in #ubuntu-server reports a conflict between python-cinderclient and python3-cinderclient on bionic-train:

root@lab-controller:~# apt-cache policy python3-cinderclient
python3-cinderclient:
  Installed: 1:4.1.0-0ubuntu1~cloud0
  Candidate: 1:5.0.0-0ubuntu2~cloud0
  Version table:
     1:5.0.0-0ubuntu2~cloud0 500
        500 http://ubuntu-cloud.archive.canonical.com/ubuntu bionic-updates/train/main amd64 Packages
 *** 1:4.1.0-0ubuntu1~cloud0 500
        500 http://ubuntu-cloud.archive.canonical.com/ubuntu bionic-proposed/stein/main amd64 Packages
        500 http://ubuntu-cloud.archive.canonical.com/ubuntu bionic-updates/stein/main amd64 Packages
        100 /var/lib/dpkg/status
     1:3.5.0-0ubuntu1 500
        500 http://nova.clouds.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
root@lab-controller:~# apt-get install python3-cinderclient
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be upgraded:
  python3-cinderclient
1 upgraded, 0 newly installed, 0 to remove and 138 not upgraded.
25 not fully installed or removed.
Need to get 0 B/136 kB of archives.
After this operation, 216 kB disk space will be freed.
(Reading database ... 187602 files and directories currently installed.)
Preparing to unpack .../python3-cinderclient_1%3a5.0.0-0ubuntu2~cloud0_all.deb ...
Unpacking python3-cinderclient (1:5.0.0-0ubuntu2~cloud0) over (1:4.1.0-0ubuntu1~cloud0) ...
dpkg: error processing archive /var/cache/apt/archives/python3-cinderclient_1%3a5.0.0-0ubuntu2~cloud0_all.deb (--unpack):
 trying to overwrite '/usr/share/bash-completion/completions/cinder.bash_completion', which is also in package python-cinderclient 1:4.1.0-0ubuntu1~cloud0
Errors were encountered while processing:
 /var/cache/apt/archives/python3-cinderclient_1%3a5.0.0-0ubuntu2~cloud0_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Revision history for this message
Corey Bryant (corey.bryant) wrote :

I've confirmed this is a bug on bionic-train. There is a work-around which is to remove python-cinderclient, so I'm triaging this a Medium.

Changed in python-cinderclient (Ubuntu):
status: Incomplete → Triaged
no longer affects: python-cinderclient
Changed in python-cinderclient (Ubuntu Focal):
status: New → Triaged
importance: Undecided → Medium
Changed in python-cinderclient (Ubuntu):
status: Triaged → Invalid
importance: Critical → Undecided
Revision history for this message
Corey Bryant (corey.bryant) wrote :

Targeting at train/ussuri (eoan/focal equivalents). A breaks/replaces or conflicts should be considered to fix this.

Changed in python-cinderclient (Ubuntu Focal):
assignee: nobody → Chris MacNaughton (chris.macnaughton)
Changed in cloud-archive:
status: New → Invalid
Revision history for this message
Chris MacNaughton (chris.macnaughton) wrote :

Given that Focal/Ussuri is two releases after the python-cinderclient binary package was dropped, I'm removing them from this bug.

no longer affects: cloud-archive/ussuri
no longer affects: python-cinderclient (Ubuntu Focal)
description: updated
Revision history for this message
Chris MacNaughton (chris.macnaughton) wrote : Please test proposed package

Hello Trent, or anyone else affected,

Accepted python-cinderclient into train-proposed. The package will build now and be available in the Ubuntu Cloud Archive in a few hours, and then in the -proposed repository.

Please help us by testing this new package. To enable the -proposed repository:

  sudo add-apt-repository cloud-archive:train-proposed
  sudo apt-get update

Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-train-needed to verification-train-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-train-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

tags: added: verification-train-needed
Revision history for this message
Chris MacNaughton (chris.macnaughton) wrote :

Verification was performed as documented. Attached is a log demonstrating the install error when installing from the Train UCA, followed by a successful install from the proposed pocket

Revision history for this message
Chris MacNaughton (chris.macnaughton) wrote :

Verification was performed as documented. Attached is a log demonstrating the install error when installing from the Train UCA, followed by a successful install from the proposed pocket

tags: added: verification-train-done
removed: verification-train-needed
Revision history for this message
Chris MacNaughton (chris.macnaughton) wrote : Update Released

The verification of the Stable Release Update for python-cinderclient has completed successfully and the package has now been released to -updates. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Chris MacNaughton (chris.macnaughton) wrote :

This bug was fixed in the package python-cinderclient - 1:5.0.0-0ubuntu2~cloud1
---------------

 python-cinderclient (1:5.0.0-0ubuntu2~cloud1) bionic-train; urgency=medium
 .
   [ Corey Bryant ]
   * d/gbp.conf: Create stable/train branch.
 .
   [ Chris MacNaughton ]
   * d/control: Update VCS paths for move to lp:~ubuntu-openstack-dev.
   * d/control: Make python(3)-cinderclient conflict against each other (LP: #1841516).

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.