Page MenuHomePhabricator

Dependency failures for Designate version Victoria
Closed, ResolvedPublic

Description

I've set up a VM with the apt repo for OpenStack Victoria, and now I'm trying to install Designate/Victoria (version 11):

root@abogott-victoria-packages:~# cat /etc/apt/sources.list.d/openstack-victoria-buster*
deb http://mirrors.wikimedia.org/osbpo buster-victoria-backports main
deb http://mirrors.wikimedia.org/osbpo buster-victoria-backports-nochange main
root@abogott-victoria-packages:~# apt-cache policy designate-common
designate-common:
  Installed: (none)
  Candidate: 1:11.0.0-2~bpo10+1
  Version table:
     1:11.0.0-2~bpo10+1 500
        500 http://mirrors.wikimedia.org/osbpo buster-victoria-backports/main amd64 Packages
     1:7.0.0-2 500
        500 http://deb.debian.org/debian buster/main amd64 Packages
root@abogott-victoria-packages:~# apt-get install designate-common
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 designate-common : Depends: python3-designate (= 1:11.0.0-2~bpo10+1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
root@abogott-victoria-packages:~# apt-get install python3-designate
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 python3-designate : Depends: python3-oslo.messaging (>= 12.4.0) but it is not going to be installed
                     Depends: python3-oslo.versionedobjects but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Looks like some python dependencies are missing, way at the bottom of the tree. Here's one example:

root@abogott-victoria-packages:~# apt-get install python3-confluent-kafka
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 python3-confluent-kafka : Depends: librdkafka1 (>= 1.2.1) but 0.11.6-1.1wmf1 is to be installed
E: Unable to correct problems, you have held broken packages.
root@abogott-victoria-packages:~# apt-cache policy librdkafka1
librdkafka1:
  Installed: 0.11.6-1.1wmf1
  Candidate: 0.11.6-1.1wmf1
  Version table:
     1.4.2-1~bpo10+1 500
        500 http://mirrors.wikimedia.org/osbpo buster-victoria-backports-nochange/main amd64 Packages
 *** 0.11.6-1.1wmf1 1001
       1001 http://apt.wikimedia.org/wikimedia buster-wikimedia/main amd64 Packages
        100 /var/lib/dpkg/status
     0.11.6-1.1 500
        500 http://deb.debian.org/debian buster/main amd64 Packages

Event Timeline

I think this is an apt conflict with the librdkafka1 package from the buster-wikimedia repo.

Notice how the kafka package from the internal WMF repo has higher priority (1001) over the openstack one (500):

root@abogott-victoria-packages:~# apt-cache policy librdkafka1
librdkafka1:
  Installed: 0.11.6-1.1wmf1
  Candidate: 0.11.6-1.1wmf1
  Version table:
     1.4.2-1~bpo10+1 500                                                                               <---------- LOWER PRIORITY
        500 http://mirrors.wikimedia.org/osbpo buster-victoria-backports-nochange/main amd64 Packages
 *** 0.11.6-1.1wmf1 1001                                                                               <---------- HIGHER PRIORITY
       1001 http://apt.wikimedia.org/wikimedia buster-wikimedia/main amd64 Packages
        100 /var/lib/dpkg/status
     0.11.6-1.1 500
        500 http://deb.debian.org/debian buster/main amd64 Packages

The straight forward solution is to deploy an overriding priority (1002) just for this package. Not sure if that's the most elegant solution, but it could work.
This would be a valid approach if this is the only conflict. If there are more, then we would need to research a more general solution.

Change 677643 had a related patch set uploaded (by Andrew Bogott; author: Andrew Bogott):

[operations/puppet@production] OpenStack Victoria: pin librdkafka1 to the bpo

https://gerrit.wikimedia.org/r/677643

Change 677643 merged by Andrew Bogott:

[operations/puppet@production] OpenStack Victoria: pin librdkafka1 to the bpo

https://gerrit.wikimedia.org/r/677643

looks like it was just that one file.