From 77e34c7e274c0843a33442116d4f5b6462946cd6 Mon Sep 17 00:00:00 2001 From: Jeremy Stanley Date: Fri, 15 Aug 2014 22:23:00 +0000 Subject: [PATCH] Safely remove python-requests on workers * modules/openstack_project/manifests/thick_slave.pp: Effectively reimplement package removal in Puppet for Red Hat based platforms to work around https://bugzilla.redhat.com/show_bug.cgi?id=973375 when python-requests is installed. This was causing image updates to fail on CentOS machines where the provider preinstalled the package as a dependency of cloud-init, resulting in an error message "Rpmdb checksum is invalid: pkg checksums: python-requests...". Change-Id: I5933f6cbbe8f0258bb443b7ce9c511c7c1072db2 --- .../openstack_project/manifests/thick_slave.pp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/modules/openstack_project/manifests/thick_slave.pp b/modules/openstack_project/manifests/thick_slave.pp index 87a3ccbcb7..948e7104a8 100644 --- a/modules/openstack_project/manifests/thick_slave.pp +++ b/modules/openstack_project/manifests/thick_slave.pp @@ -61,10 +61,18 @@ class openstack_project::thick_slave( ensure => latest, provider => pip, } - # transitional for upgrading to the pip version - package { $::openstack_project::jenkins_params::python_requests_package: - ensure => absent, - before => Package['requests'], + if ($::osfamily == 'RedHat') { + # Work around https://bugzilla.redhat.com/show_bug.cgi?id=973375 + exec { 'remove_requests': + command => "/usr/bin/yum remove -y ${::openstack_project::jenkins_params::python_requests_package}", + onlyif => "/bin/rpm -qa|/bin/grep -q ${::openstack_project::jenkins_params::python_requests_package}", + before => Package['requests'], + } + } else { + package { $::openstack_project::jenkins_params::python_requests_package: + ensure => absent, + before => Package['requests'], + } } if ($::lsbdistcodename == 'trusty') {