summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan C. Ward <ian.ward@disney.com>2016-11-07 12:16:07 -0500
committerThom May <thom@may.lt>2016-11-07 17:16:07 +0000
commit1395d34e87e3a0d36e266b10172ce85c463d9f60 (patch)
tree03fb7aaa0fc2411b00ef7c4664ed56a86802589f
parentd9b37feec0ab8e2fa90073363770d94cc09fae60 (diff)
downloadchef-1395d34e87e3a0d36e266b10172ce85c463d9f60.tar.gz
Fixed 5459 - Purge yum cache before deleting repo config (#5509)
Signed-off-by: Ian C. Ward <ian.ward@disney.com>
-rw-r--r--lib/chef/provider/yum_repository.rb13
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