Page MenuHomePhabricator

Clean up apt:pin of python modules used for Nodepool
Closed, DeclinedPublic

Description

PackageCurrent jessie-backports
python-cinderclient1:1.1.1-2~bpo8+11:1.6.0-2~bpo8+1
python-glanceclient1:0.17.1-1~bpo8+11:2.0.0-2~bpo8+1
python-keystoneclient1:1.3.0-2~bpo8+11:2.3.1-2~bpo8+1
python-neutronclient2.4.0-1~bpo8+11:4.1.1-2~bpo8+1
python-novaclient2:2.23.0-1~bpo8+12:3.3.1-3~bpo8+1
python-openstackclient1.0.3-1~bpo8+12.3.0-2~bpo8+1

modules/nodepool/manifests/init.pp has:

# Nodepool 0.1.0 requires novaclient>=2.21.0
# Jessie has 2.18.1  (T104971)
apt::pin { 'python-novaclient':
    pin      => 'release a=jessie-wikimedia c=backports',
    priority => '1001',
    before   => Package['nodepool'],
}
apt::pin { 'python-openstackclient':
    pin      => 'release a=jessie-wikimedia c=backports',
    priority => '1001',
    before   => Package['nodepool'],
}

# OpenStack CLI
package { 'python-openstackclient':
    ensure  => present,
    require => Apt::Pin['python-openstackclient'],
}

We had nodepool installed on a server without backports, and that later on got added back. Policy:

$ apt-cache policy python-novaclient
python-novaclient:
  Installed: 2:2.23.0-1~bpo8+1
  Candidate: 2:2.23.0-1~bpo8+1
  Package pin: (not found)
  Version table:
     2:2.30.1-4~bpo8+1 1001
        100 http://mirrors.wikimedia.org/debian/ jessie-backports/main amd64 Packages
 *** 2:2.23.0-1~bpo8+1 1001
       1001 http://apt.wikimedia.org/wikimedia/ jessie-wikimedia/backports amd64 Packages
        100 /var/lib/dpkg/status
     2:2.18.1-1 1001
        500 http://mirrors.wikimedia.org/debian/ jessie/main amd64 Packages
$ apt-cache policy python-openstackclient
python-openstackclient:
  Installed: 1.0.3-1~bpo8+1
  Candidate: 1.0.3-1~bpo8+1
  Package pin: (not found)
  Version table:
     1.7.1-1~bpo8+1 1001
        100 http://mirrors.wikimedia.org/debian/ jessie-backports/main amd64 Packages
 *** 1.0.3-1~bpo8+1 1001
       1001 http://apt.wikimedia.org/wikimedia/ jessie-wikimedia/backports amd64 Packages
        100 /var/lib/dpkg/status
     0.4.0-1 1001
        500 http://mirrors.wikimedia.org/debian/ jessie/main amd64 Packages

If the apt pinning are no more needed, they should be removed from puppet.

Event Timeline

@Andrew python-openstackclient python-novaclient got imported to jessie-wikimedia/backports at a time when we did not use Debian jessie-backports. Nowadays the later is available, and I think we can drop our packages from jessie-wikimedia/backports.

That might have an impact on the OpenStack cluster though... I am not sure how the pinning is done there, most probably you are just using jessie-backports/main

Examples on task description are for labnodepool1001.eqiad.wmnet

Updated the task details with the list of current vs jessie-backports python modules. I guess we can first upgrade python-novaclient , restart Nodepool and check whether it works fine, then process with the rest.

Change 306220 had a related patch set uploaded (by Hashar):
nodepool: bump nova client and openstack CLI

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

hashar added a subscriber: chasemp.

https://gerrit.wikimedia.org/r/306220 nodepool: bump nova client and openstack CLI should do it.

That would align Nodepool openstack dependencies with the wmflabs API version and might fix up some issue. I have no idea whether our Nodepool version will be compatible with those libs though :(

Cloud-Services can we schedule this with @thcipriani and myself? A one hour window would fit I guess. The revert would be to pin back to jessie-wikimedia/backports which has the currently installed modules.

Thx!

hashar raised the priority of this task from Low to High.Aug 23 2016, 2:57 PM

I have poked the ops-l internal mailling list to get this scheduled.

Change 306220 merged by Andrew Bogott:
nodepool: bump nova client and openstack CLI

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

Will probably want to cleanup apt.wm.o jessie-wikimedia/backports

I will reach out to European ops to get the package upgraded on labnodepool and then will restart/monitor Nodepool service.

Nodepool is legacy. I am not going to bother upgrading the python modules. We will get rid of it eventually.