112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
# File 'lib/gaptool_client/commands.rb', line 112
def execute
params = exclude_hidden? ? {} : { hidden: true }
nodes = Gaptool::API.query_nodes(params.merge(instance: instance,
role: role, environment: environment))
log_level = if debug?
Logger::DEBUG
elsif verbose?
Logger::INFO
end
command = "echo 'done'" unless log_level
sc = File.read(script)
nodes = nodes.map { |x| x.merge(script: sc, file: script, verbose: log_level.nil?) }
hook = proc do |node|
node.handler.on_data('', :stdout, "Executing #{node[:file]}", '') if node[:verbose]
eval(node[:script])
end
res = Gaptool::SSH.exec(nodes, [command],
pre_hooks: [hook], serial: serial?,
continue_on_errors: continue_on_errors?,
log_level: log_level, batch_size: batch_size)
exit res
end
|