diff options
author | Ian C. Ward <ian.ward@disney.com> | 2016-11-07 12:16:07 -0500 |
---|---|---|
committer | Thom May <thom@may.lt> | 2016-11-07 17:16:07 +0000 |
commit | 1395d34e87e3a0d36e266b10172ce85c463d9f60 (patch) | |
tree | 03fb7aaa0fc2411b00ef7c4664ed56a86802589f /lib | |
parent | d9b37feec0ab8e2fa90073363770d94cc09fae60 (diff) | |
download | chef-1395d34e87e3a0d36e266b10172ce85c463d9f60.tar.gz |
Fixed 5459 - Purge yum cache before deleting repo config (#5509)
Signed-off-by: Ian C. Ward <ian.ward@disney.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/chef/provider/yum_repository.rb | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/lib/chef/provider/yum_repository.rb b/lib/chef/provider/yum_repository.rb index 09ff2c5512..be4d43f7ad 100644 --- a/lib/chef/provider/yum_repository.rb +++ b/lib/chef/provider/yum_repository.rb @@ -76,18 +76,17 @@ class Chef end action :delete do + # clean the repo cache first + declare_resource(:execute, "yum clean all #{new_resource.repositoryid}") do + command "yum clean all --disablerepo=* --enablerepo=#{new_resource.repositoryid}" + only_if "yum repolist all | grep -P '^#{new_resource.repositoryid}([ \t]|$)'" + end + declare_resource(:file, "/etc/yum.repos.d/#{new_resource.repositoryid}.repo") do action :delete - notifies :run, "execute[yum clean all #{new_resource.repositoryid}]", :immediately notifies :create, "ruby_block[yum-cache-reload-#{new_resource.repositoryid}]", :immediately end - declare_resource(:execute, "yum clean all #{new_resource.repositoryid}") do - command "yum clean all --disablerepo=* --enablerepo=#{new_resource.repositoryid}" - only_if "yum repolist | grep -P '^#{new_resource.repositoryid}([ \t]|$)'" - action :nothing - end - declare_resource(:ruby_block, "yum-cache-reload-#{new_resource.repositoryid}") do block { Chef::Provider::Package::Yum::YumCache.instance.reload } action :nothing |