From 478443c5da25106a63145368c9992a6cb806650c Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Sat, 15 Feb 2020 18:36:23 +0000 Subject: [PATCH] Only cleanup sysctl keys that are no longer set --- cookbooks/sysctl/recipes/default.rb | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/cookbooks/sysctl/recipes/default.rb b/cookbooks/sysctl/recipes/default.rb index bf9860e0c..a2facc063 100644 --- a/cookbooks/sysctl/recipes/default.rb +++ b/cookbooks/sysctl/recipes/default.rb @@ -23,19 +23,27 @@ end if node[:virtualization][:role] != "guest" || node[:virtualization][:system] != "lxd" + keys = [] + + Dir.new("/etc/sysctl.d").each_entry do |file| + next unless file =~ /^99-chef-(.*)\.conf$/ + + keys.push(Regexp.last_match(1)) + end + node[:sysctl].each_value do |group| group[:parameters].each do |key, value| sysctl key do value value # comment group[:comment] end + + keys.delete(key) end end - Dir.new("/etc/sysctl.d").each_entry do |file| - next unless file =~ /^99-chef-(.*)\.conf$/ - - sysctl Regexp.last_match(1) do + keys.each do |key| + sysctl key do action :remove end end -- 2.39.5