lib/bolt/executor.rb in bolt-3.17.0 vs lib/bolt/executor.rb in bolt-3.18.0
- old
+ new
@@ -4,25 +4,25 @@
require 'English'
require 'json'
require 'logging'
require 'pathname'
require 'set'
-require 'bolt/analytics'
-require 'bolt/config'
-require 'bolt/fiber_executor'
-require 'bolt/puppetdb'
-require 'bolt/result'
-require 'bolt/result_set'
+require_relative '../bolt/analytics'
+require_relative '../bolt/config'
+require_relative '../bolt/fiber_executor'
+require_relative '../bolt/puppetdb'
+require_relative '../bolt/result'
+require_relative '../bolt/result_set'
# Load transports
-require 'bolt/transport/docker'
-require 'bolt/transport/local'
-require 'bolt/transport/lxd'
-require 'bolt/transport/orch'
-require 'bolt/transport/podman'
-require 'bolt/transport/remote'
-require 'bolt/transport/ssh'
-require 'bolt/transport/winrm'
+require_relative '../bolt/transport/docker'
+require_relative '../bolt/transport/local'
+require_relative '../bolt/transport/lxd'
+require_relative '../bolt/transport/orch'
+require_relative '../bolt/transport/podman'
+require_relative '../bolt/transport/remote'
+require_relative '../bolt/transport/ssh'
+require_relative '../bolt/transport/winrm'
module Bolt
TRANSPORTS = {
docker: Bolt::Transport::Docker,
local: Bolt::Transport::Local,
@@ -298,9 +298,12 @@
def run_script(targets, script, arguments, options = {}, position = [])
description = options.fetch(:description, "script #{script}")
log_action(description, targets) do
options[:run_as] = run_as if run_as && !options.key?(:run_as)
+ options[:script_interpreter] = (future || {}).fetch('script_interpreter', false)
+
+ @analytics&.event('Future', 'script_interpreter', label: options[:script_interpreter].to_s)
batch_execute(targets) do |transport, batch|
with_node_logging("Running script #{script} with '#{arguments.to_json}'", batch) do
transport.batch_script(batch, script, arguments, options, position, &method(:publish_event))
end