rubix 0.0.2 → 0.0.3
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.
- data/VERSION +1 -1
- data/lib/rubix/connection.rb +2 -2
- data/lib/rubix/log.rb +5 -10
- data/lib/rubix/models/application.rb +0 -4
- data/lib/rubix/models/host.rb +2 -7
- data/lib/rubix/models/host_group.rb +0 -5
- data/lib/rubix/models/item.rb +0 -4
- data/lib/rubix/models/model.rb +14 -17
- data/lib/rubix/models/template.rb +0 -4
- data/lib/rubix/models/user_macro.rb +0 -4
- data/lib/rubix/sender.rb +2 -3
- metadata +3 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.3
|
data/lib/rubix/connection.rb
CHANGED
@@ -54,7 +54,7 @@ module Rubix
|
|
54
54
|
|
55
55
|
def till_response attempt=1, max_attempts=5, &block
|
56
56
|
response = block.call
|
57
|
-
Rubix.logger.log(Logger::DEBUG, response.body
|
57
|
+
Rubix.logger.log(Logger::DEBUG, "RECV: #{response.body}") if Rubix.logger
|
58
58
|
case
|
59
59
|
when response.code.to_i >= 500 && attempt <= max_attempts
|
60
60
|
sleep 1 # FIXME make the sleep time configurable...
|
@@ -82,7 +82,7 @@ module Rubix
|
|
82
82
|
|
83
83
|
def raw_post_request raw_params
|
84
84
|
json_body = raw_params.to_json
|
85
|
-
Rubix.logger.log(Logger::DEBUG, json_body
|
85
|
+
Rubix.logger.log(Logger::DEBUG, "SEND: #{json_body}") if Rubix.logger
|
86
86
|
Net::HTTP::Post.new(uri.path).tap do |req|
|
87
87
|
req['Content-Type'] = 'application/json-rpc'
|
88
88
|
req.body = json_body
|
data/lib/rubix/log.rb
CHANGED
@@ -14,7 +14,6 @@ module Rubix
|
|
14
14
|
def self.default_logger
|
15
15
|
@logger = Logger.new(default_log_path)
|
16
16
|
@logger.level = default_log_severity
|
17
|
-
p default_log_severity
|
18
17
|
@logger
|
19
18
|
end
|
20
19
|
|
@@ -50,33 +49,29 @@ module Rubix
|
|
50
49
|
|
51
50
|
module Logs
|
52
51
|
|
53
|
-
def log_name
|
54
|
-
@log_name
|
55
|
-
end
|
56
|
-
|
57
52
|
def debug *args
|
58
53
|
return unless Rubix.logger
|
59
|
-
Rubix.logger.log(Logger::DEBUG, args.join(' ')
|
54
|
+
Rubix.logger.log(Logger::DEBUG, args.join(' '))
|
60
55
|
end
|
61
56
|
|
62
57
|
def info *args
|
63
58
|
return unless Rubix.logger
|
64
|
-
Rubix.logger.log(Logger::INFO, args.join(' ')
|
59
|
+
Rubix.logger.log(Logger::INFO, args.join(' '))
|
65
60
|
end
|
66
61
|
|
67
62
|
def warn *args
|
68
63
|
return unless Rubix.logger
|
69
|
-
Rubix.logger.log(Logger::WARN, args.join(' ')
|
64
|
+
Rubix.logger.log(Logger::WARN, args.join(' '))
|
70
65
|
end
|
71
66
|
|
72
67
|
def error *args
|
73
68
|
return unless Rubix.logger
|
74
|
-
Rubix.logger.log(Logger::ERROR, args.join(' ')
|
69
|
+
Rubix.logger.log(Logger::ERROR, args.join(' '))
|
75
70
|
end
|
76
71
|
|
77
72
|
def fatal *args
|
78
73
|
return unless Rubix.logger
|
79
|
-
Rubix.logger.log(Logger::FATAL, args.join(' ')
|
74
|
+
Rubix.logger.log(Logger::FATAL, args.join(' '))
|
80
75
|
end
|
81
76
|
|
82
77
|
end
|
data/lib/rubix/models/host.rb
CHANGED
@@ -49,10 +49,6 @@ module Rubix
|
|
49
49
|
})
|
50
50
|
end
|
51
51
|
|
52
|
-
def log_name
|
53
|
-
"HOST #{name || id}"
|
54
|
-
end
|
55
|
-
|
56
52
|
def self.id_field
|
57
53
|
'hostid'
|
58
54
|
end
|
@@ -104,13 +100,12 @@ module Rubix
|
|
104
100
|
request('host.update', params.merge('hostid' => id))
|
105
101
|
end
|
106
102
|
|
107
|
-
def
|
103
|
+
def before_update
|
108
104
|
response = request('host.massUpdate', { 'groups' => host_group_params, 'templates' => template_params, 'macros' => user_macro_params, 'hosts' => [{'hostid' => id}]})
|
109
105
|
if response.has_data?
|
110
|
-
info("Updated templates, host groups, & macros")
|
111
106
|
true
|
112
107
|
else
|
113
|
-
error("Could not update all templates, host groups, and/or macros: #{response.error_message}")
|
108
|
+
error("Could not update all templates, host groups, and/or macros for #{resource_name}: #{response.error_message}")
|
114
109
|
false
|
115
110
|
end
|
116
111
|
end
|
data/lib/rubix/models/item.rb
CHANGED
data/lib/rubix/models/model.rb
CHANGED
@@ -9,18 +9,17 @@ module Rubix
|
|
9
9
|
extend Logs
|
10
10
|
include Logs
|
11
11
|
|
12
|
-
def self.
|
12
|
+
def self.resource_name
|
13
13
|
self.to_s.split('::').last
|
14
14
|
end
|
15
15
|
|
16
|
-
def
|
17
|
-
|
16
|
+
def resource_name
|
17
|
+
"#{self.class.resource_name} #{respond_to?(:name) ? self.name : self.id}"
|
18
18
|
end
|
19
19
|
|
20
20
|
def initialize properties={}
|
21
21
|
@properties = properties
|
22
22
|
@id = properties[:id]
|
23
|
-
@log_name = self.class.model_name
|
24
23
|
end
|
25
24
|
|
26
25
|
def new_record?
|
@@ -43,7 +42,7 @@ module Rubix
|
|
43
42
|
when response.success?
|
44
43
|
# a successful but empty response means it wasn't found
|
45
44
|
else
|
46
|
-
error("
|
45
|
+
error("Error finding #{resource_name} using #{options.inspect}: #{response.error_message}")
|
47
46
|
nil
|
48
47
|
end
|
49
48
|
end
|
@@ -62,7 +61,7 @@ module Rubix
|
|
62
61
|
false
|
63
62
|
end
|
64
63
|
else
|
65
|
-
error("
|
64
|
+
error("Error creating #{resource_name} using #{options.inspect}: #{response.error_message}")
|
66
65
|
false
|
67
66
|
end
|
68
67
|
end
|
@@ -77,31 +76,29 @@ module Rubix
|
|
77
76
|
if response.has_data?
|
78
77
|
@id = response.result[self.class.id_field + 's'].first.to_i
|
79
78
|
info("Created")
|
80
|
-
true
|
81
79
|
else
|
82
|
-
error("
|
83
|
-
false
|
80
|
+
error("Error creating #{resource_name}: #{response.error_message}")
|
81
|
+
return false
|
84
82
|
end
|
85
83
|
end
|
86
84
|
|
87
85
|
def update
|
88
86
|
return false unless validate
|
89
87
|
return create if new_record?
|
88
|
+
return false unless before_update
|
90
89
|
response = update_request
|
91
90
|
if response.has_data?
|
92
91
|
info("Updated")
|
93
|
-
after_update
|
94
92
|
else
|
95
|
-
error("
|
96
|
-
false
|
93
|
+
error("Error updating #{resource_name}: #{response.error_message}")
|
94
|
+
return false
|
97
95
|
end
|
98
|
-
after_update
|
99
96
|
end
|
100
97
|
|
101
|
-
def
|
98
|
+
def before_update
|
102
99
|
true
|
103
100
|
end
|
104
|
-
|
101
|
+
|
105
102
|
def save
|
106
103
|
new_record? ? create : update
|
107
104
|
end
|
@@ -111,13 +108,13 @@ module Rubix
|
|
111
108
|
response = destroy_request
|
112
109
|
case
|
113
110
|
when response.has_data? && response.result.values.first.first.to_i == id
|
114
|
-
info("Destroyed")
|
111
|
+
info("Destroyed #{resource_name}")
|
115
112
|
true
|
116
113
|
when response.zabbix_error? && response.error_message =~ /does not exist/i
|
117
114
|
# was never there
|
118
115
|
true
|
119
116
|
else
|
120
|
-
error("Could not destroy: #{response.error_message}")
|
117
|
+
error("Could not destroy #{resource_name}: #{response.error_message}")
|
121
118
|
false
|
122
119
|
end
|
123
120
|
end
|
data/lib/rubix/sender.rb
CHANGED
@@ -29,15 +29,14 @@ module Rubix
|
|
29
29
|
@settings = settings
|
30
30
|
confirm_settings
|
31
31
|
self.host = Host.new(:name => settings['host'])
|
32
|
-
@log_name = "PIPE #{host.name}"
|
33
32
|
if settings['fast']
|
34
|
-
info("Forwarding...") if settings['verbose']
|
33
|
+
info("Forwarding for #{self.host.name}...") if settings['verbose']
|
35
34
|
else
|
36
35
|
initialize_hostgroups
|
37
36
|
initialize_templates
|
38
37
|
initialize_host
|
39
38
|
initialize_applications
|
40
|
-
info("Forwarding...") if settings['verbose'] && host.exists?
|
39
|
+
info("Forwarding for #{self.host.name}...") if settings['verbose'] && host.exists?
|
41
40
|
end
|
42
41
|
end
|
43
42
|
|
metadata
CHANGED