class Chef::Knife
Public Instance Methods
configure_sudo()
click to toggle source
# File lib/chef/knife/pkg_base.rb, line 36 def configure_sudo config[:sudo_required] = Chef::Config[:knife][:pkg_sudo_required] || config[:sudo_required] end
hostname_by_attribute(node)
click to toggle source
# File lib/chef/knife/pkg_base.rb, line 89 def hostname_by_attribute(node) if config[:manual] node[:fqdn] else if !config[:override_attribute] && node[:cloud] and node[:cloud][:public_hostname] i = node[:cloud][:public_hostname] elsif config[:override_attribute] i = extract_nested_value(node, config[:override_attribute]) else i = extract_nested_value(node, config[:attribute]) end end end
node_by_hostname(hostname)
click to toggle source
# File lib/chef/knife/pkg_base.rb, line 73 def node_by_hostname(hostname) node = nil if config[:manual] node = Hash.new node[:fqdn] = hostname else @action_nodes.each do |n| if hostname_by_attribute(n) == hostname node = n break end end end node end
pkg_options()
click to toggle source
# File lib/chef/knife/pkg_base.rb, line 41 def pkg_options pkg_options = Hash.new pkg_options[:sudo] = config[:sudo_required] pkg_options[:verbose] = config[:verbose] || config[:dry_run] || config[:pkg_verbose] pkg_options[:dry_run] = config[:dry_run] pkg_options[:yes] = config[:yes] pkg_options[:password] = config[:ssh_password] pkg_options end
process_each_node()
click to toggle source
# File lib/chef/knife/pkg_base.rb, line 51 def process_each_node cur_session = nil begin session.servers.each do |server| node = node_by_hostname(server.host) if node cur_session = server.session(true) ui.info("===> " + hostname_by_attribute(node)) process(node, cur_session) cur_session.close else ui.fatal("Could not find any node for server #{server.host}") exit 1 end end ensure if cur_session cur_session.close unless cur_session.closed? end end end