X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/261e7e9cd1a9882faa4ed7087b5902ebafe25988..ab47927c016597f8602b81dcdc168ad5c335389d:/cookbooks/sysfs/recipes/default.rb diff --git a/cookbooks/sysfs/recipes/default.rb b/cookbooks/sysfs/recipes/default.rb index b9b5faff3..6e2dac1f5 100644 --- a/cookbooks/sysfs/recipes/default.rb +++ b/cookbooks/sysfs/recipes/default.rb @@ -1,14 +1,14 @@ # -# Cookbook Name:: sysfs +# Cookbook:: sysfs # Recipe:: default # -# Copyright 2013, Tom Hughes +# Copyright:: 2013, Tom Hughes # # Licensed under the Apache License, Version 2.0 (the "License"); # 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, @@ -17,17 +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.d/99-chef.conf" do + source "sysfs.conf.erb" + owner "root" + group "root" + mode "644" + 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, "service[sysfsutils]" + file sysfs_file do + content "#{value}\n" + atomic_update false + ignore_failure true + end + end + end end