chef-handler-sensu-event 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/chef-handler-sensu-event.gemspec +1 -1
- data/lib/chef-handler-sensu-event.rb +35 -31
- metadata +9 -12
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 7e58070704340ac9a361fe6caa3dd84c62cc24d2
|
4
|
+
data.tar.gz: 10cfb0bf43623be2872db4c540d4be774e9a2ed9
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 398d96211b6d92ce1865b76c33c6777f51f58e39c6b800a5c9639ed7dae15f83c894217d4a9ebd20ae6d6482a2b33f739a15aed41d2a0718743a651184a552de
|
7
|
+
data.tar.gz: 657e16e02081ee7cb532ac53d9ff2b3e4b0c9a83eacc987dec9f6ce086a76e011b5fa870653ec6ee1c20d389b80ef53da04275f0c67e7e6ccf36709408a2b4e2
|
@@ -26,40 +26,44 @@ require 'chef/handler'
|
|
26
26
|
require 'json'
|
27
27
|
require 'socket'
|
28
28
|
|
29
|
-
class
|
30
|
-
|
29
|
+
class Chef
|
30
|
+
class Handler
|
31
|
+
class SensuEvent < Chef::Handler
|
31
32
|
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
}
|
39
|
-
end
|
33
|
+
def initialize(options = defaults)
|
34
|
+
@server = options[:server]
|
35
|
+
@port = options[:port]
|
36
|
+
@severity = options[:severity]
|
37
|
+
@handlers = options[:handlers]
|
38
|
+
end
|
40
39
|
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
end
|
40
|
+
def report
|
41
|
+
sock = TCPSocket.new(@server, @port)
|
42
|
+
sock.write(create_json)
|
43
|
+
sock.close
|
44
|
+
end
|
47
45
|
|
48
|
-
|
49
|
-
stringify = run_status.success? ? "ran successfully" : "failed to run"
|
50
|
-
severity = run_status.success? ? 0 : @severity
|
51
|
-
sensu_payload = {
|
52
|
-
'handlers' => @handlers,
|
53
|
-
'name' => 'chef-run-result',
|
54
|
-
'output' => "Chef #{stringify} on #{node.name}",
|
55
|
-
'status' => severity }
|
56
|
-
return JSON.generate(sensu_payload)
|
57
|
-
end
|
46
|
+
private
|
58
47
|
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
48
|
+
def defaults
|
49
|
+
return {
|
50
|
+
server: "127.0.0.1",
|
51
|
+
port: 3030,
|
52
|
+
severity: 1,
|
53
|
+
handlers: ["default"]
|
54
|
+
}
|
55
|
+
end
|
56
|
+
|
57
|
+
def create_json
|
58
|
+
stringify = run_status.success? ? "ran successfully" : "failed to run"
|
59
|
+
severity = run_status.success? ? 0 : @severity
|
60
|
+
sensu_payload = {
|
61
|
+
'handlers' => @handlers,
|
62
|
+
'name' => 'chef-run-result',
|
63
|
+
'output' => "Chef #{stringify} on #{node.name}",
|
64
|
+
'status' => severity }
|
65
|
+
return JSON.generate(sensu_payload)
|
66
|
+
end
|
67
|
+
end
|
63
68
|
end
|
64
69
|
end
|
65
|
-
|
metadata
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chef-handler-sensu-event
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.2.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Simple Finance
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-02-24 00:00:00.000000000 Z
|
13
12
|
dependencies: []
|
14
13
|
description: Triggers a Sensu event if Chef fails to complete
|
15
14
|
email: ops@simple.com
|
@@ -17,33 +16,31 @@ executables: []
|
|
17
16
|
extensions: []
|
18
17
|
extra_rdoc_files: []
|
19
18
|
files:
|
20
|
-
- chef-handler-sensu-event.gemspec
|
21
|
-
- lib/chef-handler-sensu-event.rb
|
22
19
|
- LICENSE
|
23
20
|
- README.md
|
21
|
+
- chef-handler-sensu-event.gemspec
|
22
|
+
- lib/chef-handler-sensu-event.rb
|
24
23
|
homepage: http://github.com/SimpleFinance/chef-handler-sensu-event
|
25
24
|
licenses: []
|
25
|
+
metadata: {}
|
26
26
|
post_install_message:
|
27
27
|
rdoc_options: []
|
28
28
|
require_paths:
|
29
29
|
- lib
|
30
30
|
required_ruby_version: !ruby/object:Gem::Requirement
|
31
|
-
none: false
|
32
31
|
requirements:
|
33
|
-
- -
|
32
|
+
- - ">="
|
34
33
|
- !ruby/object:Gem::Version
|
35
34
|
version: '0'
|
36
35
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
37
|
-
none: false
|
38
36
|
requirements:
|
39
|
-
- -
|
37
|
+
- - ">="
|
40
38
|
- !ruby/object:Gem::Version
|
41
39
|
version: '0'
|
42
40
|
requirements: []
|
43
41
|
rubyforge_project:
|
44
|
-
rubygems_version:
|
42
|
+
rubygems_version: 2.2.0
|
45
43
|
signing_key:
|
46
|
-
specification_version:
|
44
|
+
specification_version: 4
|
47
45
|
summary: Triggers a Sensu event if Chef fails to complete
|
48
46
|
test_files: []
|
49
|
-
has_rdoc:
|