Fix openstack_pip provider for pip 18

The output of `pip list --outdated` is different for pip 18. This patch
adjusts the openstack_pip provider to handle old and new versions of
pip.

Depends-On: https://review.openstack.org/646023

Change-Id: I185116a2701688860fa5ca9f8ef34d6dbecd0174
This commit is contained in:
Colleen Murphy 2018-09-28 11:51:03 +02:00 committed by Colleen Murphy
parent 6c72d6e883
commit 86e2b11b49

View File

@ -20,7 +20,13 @@ Puppet::Type.type(:package).provide(:openstack_pip, :parent => :pip) do
if outdated =~ /#{@resource[:name]}/ if outdated =~ /#{@resource[:name]}/
latest = outdated.split("\n").select { |line| latest = outdated.split("\n").select { |line|
line =~ /#{@resource[:name]}/ line =~ /#{@resource[:name]}/
}.first.match('Latest: ([^\s)]*)')[1] }.first
_latest = latest.match('Latest: ([^\s)]*)')
if _latest
latest = _latest[1]
else
latest = latest.split(' ')[2]
end
else else
package_info = lazy_pip(['show', @resource[:name]]) package_info = lazy_pip(['show', @resource[:name]])
current = package_info.split("\n").select { |line| current = package_info.split("\n").select { |line|