Module: OmfRc::Util::Mod
- Includes:
- Cocaine, Hashie, ResourceProxyDSL
- Included in:
- ResourceProxy::Node, ResourceProxy::Wlan
- Defined in:
- lib/omf_rc/util/mod.rb
Overview
Manage Linux modules
Constant Summary
Constants included from ResourceProxyDSL
ResourceProxyDSL::DEFAULT_PROP_ACCESS, ResourceProxyDSL::PROXY_DIR, ResourceProxyDSL::UTIL_DIR
Instance Method Summary collapse
-
#configure_load_module ⇒ Object
Load additional modules.
- #request_modules ⇒ Object
Methods included from ResourceProxyDSL
#call_hook, #hook_defined?, included
Instance Method Details
#configure_load_module ⇒ Object
Load additional modules
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/omf_rc/util/mod.rb', line 33 configure :load_module do |resource, value| raise ArgumentError, "Please provide at least module name" if value.name.nil? flags_string = nil if !value.flags.nil? if value.flags.kind_of?(Hash) flags_string = value.flags.keys.map do |k| "--#{k} #{value.flags[k]}" end.join(" ") else raise ArgumentError, "Please provide modprobe flags as a hash" end end if value.unload CommandLine.new("modprobe", "-r :mod_names", :mod_names => [value.unload].flatten.join(' ')).run end CommandLine.new("modprobe", ":flags :mod_name :module_parameters", :mod_name => value.name.to_s, :flags => flags_string, :module_parameters => value.mod_params.to_s).run "#{value.name} loaded" end |
#request_modules ⇒ Object
19 20 21 22 23 |
# File 'lib/omf_rc/util/mod.rb', line 19 request :modules do CommandLine.new('lsmod').run.split("\n").map do |v| v.match(/^(\w+).+$/) && $1 end.compact.tap { |ary| ary.shift } end |