# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
-# http://www.apache.org/licenses/LICENSE-2.0
+# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# 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
+
+ node[:sysfs].each_value do |group|
+ group[:parameters].each do |key, value|
+ sysfs_file = "/sys/#{key}"
-template "/etc/sysfs.conf" do
- source "sysfs.conf.erb"
- owner "root"
- group "root"
- mode 0644
- notifies :restart, resources(:service => "sysfsutils")
+ file sysfs_file do
+ content "#{value}\n"
+ atomic_update false
+ ignore_failure true
+ end
+ end
+ end
end