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

Bug #1841516 reported by Trent Lloyd on 2019-08-27
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Ubuntu Cloud Archive
Undecided
Unassigned
Train
Medium
Chris MacNaughton
python-cinderclient (Ubuntu)
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) on 2019-08-27
Changed in python-cinderclient (Ubuntu):
status: New → Incomplete
status: Incomplete → Confirmed
importance: Undecided → Critical
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).

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

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

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

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

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

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

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.

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  Edit
Everyone can see this information.

Other bug subscribers