From 3a327f56eac7ed2b5b696f432c4176b0d08fa2e4 Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Mon, 27 Aug 2018 19:11:13 +0100 Subject: [PATCH] Don't try and configure sysctl of sysfs on lxd containers --- cookbooks/sysctl/recipes/default.rb | 56 ++++++++++++++++------------- cookbooks/sysfs/recipes/default.rb | 46 +++++++++++++----------- 2 files changed, 57 insertions(+), 45 deletions(-) diff --git a/cookbooks/sysctl/recipes/default.rb b/cookbooks/sysctl/recipes/default.rb index adf43e55c..b65b12a21 100644 --- a/cookbooks/sysctl/recipes/default.rb +++ b/cookbooks/sysctl/recipes/default.rb @@ -17,36 +17,42 @@ # limitations under the License. # -package "procps" +if node[:virtualization][:role] == "guest" && + node[:virtualization][:system] == "lxd" + file "/etc/sysctl.d/60-chef.conf" do + action :delete + end +else + package "procps" -directory "/etc/sysctl.d" do - owner "root" - group "root" - mode 0o755 -end + directory "/etc/sysctl.d" do + owner "root" + group "root" + mode 0o755 + end -execute "sysctl" do - action :nothing - command "/sbin/sysctl -p /etc/sysctl.d/60-chef.conf" -end + execute "sysctl" do + action :nothing + command "/sbin/sysctl -p /etc/sysctl.d/60-chef.conf" + end -template "/etc/sysctl.d/60-chef.conf" do - source "chef.conf.erb" - owner "root" - group "root" - mode 0o644 - notifies :run, "execute[sysctl]" -end + template "/etc/sysctl.d/60-chef.conf" do + source "chef.conf.erb" + owner "root" + group "root" + mode 0o644 + notifies :run, "execute[sysctl]" + end -node[:sysctl].each_value do |group| - group[:parameters].each do |key, value| - sysctl_file = "/proc/sys/#{key.tr('.', '/')}" + node[:sysctl].each_value do |group| + group[:parameters].each do |key, value| + sysctl_file = "/proc/sys/#{key.tr('.', '/')}" - file sysctl_file do - content "#{value}\n" - atomic_update false - ignore_failure true - only_if { File.exist?(sysctl_file) } + file sysctl_file do + content "#{value}\n" + atomic_update false + ignore_failure true + end end end end diff --git a/cookbooks/sysfs/recipes/default.rb b/cookbooks/sysfs/recipes/default.rb index d046b1f36..9b08c44cf 100644 --- a/cookbooks/sysfs/recipes/default.rb +++ b/cookbooks/sysfs/recipes/default.rb @@ -17,30 +17,36 @@ # limitations under the License. # -package "sysfsutils" +if node[:virtualization][:role] == "guest" && + node[:virtualization][:system] == "lxd" + package "sysfsutils" do + action :purge + end +else + package "sysfsutils" -service "sysfsutils" do - action :enable - supports :status => false, :restart => true, :reload => false -end + service "sysfsutils" do + action :enable + supports :status => false, :restart => true, :reload => false + end -template "/etc/sysfs.conf" do - source "sysfs.conf.erb" - owner "root" - group "root" - mode 0o644 - notifies :restart, "service[sysfsutils]" -end + template "/etc/sysfs.conf" do + source "sysfs.conf.erb" + owner "root" + group "root" + mode 0o644 + notifies :restart, "service[sysfsutils]" + end -node[:sysfs].each_value do |group| - group[:parameters].each do |key, value| - sysfs_file = "/sys/#{key}" + node[:sysfs].each_value do |group| + group[:parameters].each do |key, value| + sysfs_file = "/sys/#{key}" - file sysfs_file do - content "#{value}\n" - atomic_update false - ignore_failure true - only_if { File.exist?(sysfs_file) } + file sysfs_file do + content "#{value}\n" + atomic_update false + ignore_failure true + end end end end -- 2.43.2