rubix 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.2
1
+ 0.0.3
@@ -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, 'RECV') if Rubix.logger
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, 'SEND') if Rubix.logger
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
@@ -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(' '), log_name)
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(' '), log_name)
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(' '), log_name)
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(' '), log_name)
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(' '), log_name)
74
+ Rubix.logger.log(Logger::FATAL, args.join(' '))
80
75
  end
81
76
 
82
77
  end
@@ -35,10 +35,6 @@ module Rubix
35
35
  new(params)
36
36
  end
37
37
 
38
- def log_name
39
- "APP #{name || id}@#{host.name}"
40
- end
41
-
42
38
  def self.id_field
43
39
  'applicationid'
44
40
  end
@@ -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 after_update
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
@@ -28,15 +28,10 @@ module Rubix
28
28
  })
29
29
  end
30
30
 
31
- def log_name
32
- "GROUP #{name || id}"
33
- end
34
-
35
31
  def self.id_field
36
32
  'groupid'
37
33
  end
38
34
 
39
-
40
35
  #
41
36
  # == Associations ==
42
37
  #
@@ -78,10 +78,6 @@ module Rubix
78
78
  })
79
79
  end
80
80
 
81
- def log_name
82
- "ITEM #{key}@#{host.name}"
83
- end
84
-
85
81
  def self.id_field
86
82
  'itemid'
87
83
  end
@@ -9,18 +9,17 @@ module Rubix
9
9
  extend Logs
10
10
  include Logs
11
11
 
12
- def self.model_name
12
+ def self.resource_name
13
13
  self.to_s.split('::').last
14
14
  end
15
15
 
16
- def self.log_name
17
- model_name
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("Could not find #{options.inspect}: #{response.error_message}")
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("Could not create #{options.inspect}: #{response.error_message}")
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("Could not create: #{response.error_message}")
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("Could not update: #{response.error_message}")
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 after_update
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
@@ -39,10 +39,6 @@ module Rubix
39
39
  })
40
40
  end
41
41
 
42
- def log_name
43
- "TEMPLATE #{name || id}"
44
- end
45
-
46
42
  def self.id_field
47
43
  'templateid'
48
44
  end
@@ -30,10 +30,6 @@ module Rubix
30
30
  })
31
31
  end
32
32
 
33
- def log_name
34
- "MACRO #{macro_name}@#{host.name}"
35
- end
36
-
37
33
  def self.unmacro_name name
38
34
  (name || '').gsub(/^\{\$/, '').gsub(/\}$/, '').upcase
39
35
  end
@@ -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
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubix
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 25
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 2
10
- version: 0.0.2
9
+ - 3
10
+ version: 0.0.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Dhruv Bansal