opswalrus 1.0.90 → 1.0.91
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/opswalrus/app.rb +1 -5
- data/lib/opswalrus/errors.rb +3 -0
- data/lib/opswalrus/invocation.rb +5 -1
- data/lib/opswalrus/operation_runner.rb +3 -3
- data/lib/opswalrus/ops_file_script_dsl.rb +8 -0
- data/lib/opswalrus/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 715100b21f903cbb4dd8b56d95cf47b9be85450f8f48522cc85930fecf6ac5f3
|
|
4
|
+
data.tar.gz: b663103514a09ae4aca6c53628aa23c8d19ec40bc658ef91d39bd88a2f2f9139
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 84414b900f1d6c6fc70642828fc14a7791a317e76051c60daec2865d33f6d40e91af35ed71e3ac8f67f88485eca9ff59e08f78a40501034113096fae92db0d39
|
|
7
|
+
data.tar.gz: 064154eb02e64e59d06b9a0d344f2fba5493eda287f73fb8456cf40a4440cdb7f3da568a222ab1f71e4adf218e34b9089a92157d05fc3b2cbeeea08e86504396
|
data/Gemfile.lock
CHANGED
data/lib/opswalrus/app.rb
CHANGED
|
@@ -320,11 +320,7 @@ module OpsWalrus
|
|
|
320
320
|
when Invocation::Success
|
|
321
321
|
result.value
|
|
322
322
|
when Invocation::Error
|
|
323
|
-
|
|
324
|
-
error_type: result.value.class,
|
|
325
|
-
error: result.value,
|
|
326
|
-
backtrace: result.value.backtrace.take(10).join("\n")
|
|
327
|
-
}
|
|
323
|
+
result.serialize_error
|
|
328
324
|
end
|
|
329
325
|
io.puts JSON.pretty_generate(obj)
|
|
330
326
|
io.string
|
data/lib/opswalrus/errors.rb
CHANGED
data/lib/opswalrus/invocation.rb
CHANGED
|
@@ -215,7 +215,11 @@ module OpsWalrus
|
|
|
215
215
|
retval = JSON.parse(json_string)
|
|
216
216
|
case retval
|
|
217
217
|
when Hash
|
|
218
|
-
retval
|
|
218
|
+
if retval["type"] == 'Invocation::Error'
|
|
219
|
+
raise InvocationError.new("#{retval["error_type"]}: #{retval["error"]}#{retval["backtrace"] && "\n Backtrace: #{retval['backtrace']}"}")
|
|
220
|
+
else
|
|
221
|
+
retval.with_indifferent_access.easynav
|
|
222
|
+
end
|
|
219
223
|
when Array
|
|
220
224
|
retval.easynav
|
|
221
225
|
else
|
|
@@ -86,17 +86,17 @@ module OpsWalrus
|
|
|
86
86
|
Invocation::Success.new(ruby_script_return)
|
|
87
87
|
end
|
|
88
88
|
rescue SSHKit::Command::Failed => e
|
|
89
|
-
App.instance.error "
|
|
89
|
+
App.instance.error "Runtime error, command failed: #{e.message}"
|
|
90
90
|
Invocation::Error.new(e)
|
|
91
91
|
rescue Error => e
|
|
92
92
|
# puts "OperationRunner#run - #{Time.now.strftime('%s%L')}"
|
|
93
|
-
App.instance.error "
|
|
93
|
+
App.instance.error "Runtime error: Ops script crashed."
|
|
94
94
|
App.instance.error e.message
|
|
95
95
|
App.instance.error e.backtrace.take(10).join("\n")
|
|
96
96
|
Invocation::Error.new(e)
|
|
97
97
|
rescue => e
|
|
98
98
|
# puts "OperationRunner#run - #{Time.now.strftime('%s%L')}"
|
|
99
|
-
App.instance.error "Unhandled
|
|
99
|
+
App.instance.error "Unhandled runtime error: Ops script crashed."
|
|
100
100
|
App.instance.error e.class
|
|
101
101
|
App.instance.error e.message
|
|
102
102
|
App.instance.error e.backtrace.take(10).join("\n")
|
|
@@ -40,6 +40,14 @@ module OpsWalrus
|
|
|
40
40
|
def initialize(value, exit_status = 1)
|
|
41
41
|
super(value, exit_status == 0 ? 1 : exit_status)
|
|
42
42
|
end
|
|
43
|
+
def serialize_error
|
|
44
|
+
{
|
|
45
|
+
type: "Invocation::Error",
|
|
46
|
+
error_type: value.class.name,
|
|
47
|
+
error: value,
|
|
48
|
+
backtrace: value.is_a?(Exception) ? value.backtrace.take(10).join("\n") : nil,
|
|
49
|
+
}
|
|
50
|
+
end
|
|
43
51
|
def failure?
|
|
44
52
|
true
|
|
45
53
|
end
|
data/lib/opswalrus/version.rb
CHANGED