hive-runner 2.1.17 → 2.1.18
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/lib/hive/diagnostic.rb +9 -8
- data/lib/hive/diagnostic_runner.rb +3 -2
- data/lib/hive/results.rb +31 -3
- data/lib/hive/worker.rb +2 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 864b65e5afdbe315bab0de8d11dd5a85cfcea66c
|
4
|
+
data.tar.gz: 41d1edb5fcdadb28c39c6703cbe94dfbf1095d1c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c01583109668be9ea0eda6f1c1c7200fa9601df84b150ee4a01e8392c067a427659aacb20ec8d3f685a895155d0c0a03e98cbd729bb754d398eef0364c346638
|
7
|
+
data.tar.gz: a9382cc9ac7ba6aa4c6a9fb38d23c71e6e495d830a8f114ff0f54e92520597ffbbbf97c2e9eb35c9b1fb1934f28922d463284290295326a0bb2ded576db42cf1
|
data/lib/hive/diagnostic.rb
CHANGED
@@ -10,11 +10,12 @@ module Hive
|
|
10
10
|
attr_accessor :last_run
|
11
11
|
attr_reader :config, :device_api
|
12
12
|
|
13
|
-
def initialize(config, options)
|
13
|
+
def initialize(config, options, hive_mind=nil)
|
14
14
|
@options = options
|
15
15
|
@config = config
|
16
16
|
@serial = @options['serial']
|
17
17
|
@device_api = @options['device_api']
|
18
|
+
@hive_mind = hive_mind
|
18
19
|
end
|
19
20
|
|
20
21
|
def should_run?
|
@@ -30,25 +31,25 @@ module Hive
|
|
30
31
|
end
|
31
32
|
|
32
33
|
def run
|
33
|
-
Hive.logger.
|
34
|
+
Hive.logger.debug("Trying to run diagnostic '#{self.class}'")
|
34
35
|
if should_run?
|
35
36
|
result = diagnose
|
36
37
|
result = repair(result) if result.failed?
|
37
38
|
@last_run = result
|
38
39
|
else
|
39
|
-
Hive.logger.
|
40
|
+
Hive.logger.debug("Diagnostic '#{self.class}' last ran less than five minutes before")
|
40
41
|
end
|
41
42
|
@last_run
|
42
43
|
end
|
43
44
|
|
44
45
|
def pass(message= {}, data = {})
|
45
|
-
Hive.logger.info(message)
|
46
|
-
Hive::Results.new("pass", message, data )
|
46
|
+
Hive.logger.info("#{@device_api.serial_no} => #{message} #{data}")
|
47
|
+
Hive::Results.new("pass", message, data, @hive_mind)
|
47
48
|
end
|
48
49
|
|
49
50
|
def fail(message ={}, data = {})
|
50
|
-
Hive.logger.info(message)
|
51
|
-
Hive::Results.new("fail", message, data)
|
51
|
+
Hive.logger.info("#{@device_api.serial_no} => #{message} #{data}")
|
52
|
+
Hive::Results.new("fail", message, data, @hive_mind)
|
52
53
|
end
|
53
54
|
end
|
54
|
-
end
|
55
|
+
end
|
@@ -2,9 +2,10 @@ module Hive
|
|
2
2
|
class DiagnosticRunner
|
3
3
|
attr_accessor :diagnostics, :options
|
4
4
|
|
5
|
-
def initialize(options, diagnostics_config, platform)
|
5
|
+
def initialize(options, diagnostics_config, platform, hive_mind=nil)
|
6
6
|
@options = options
|
7
7
|
@platform = platform
|
8
|
+
@hive_mind = hive_mind
|
8
9
|
@diagnostics = self.initialize_diagnostics(diagnostics_config[@platform]) if diagnostics_config.has_key?(@platform)
|
9
10
|
end
|
10
11
|
|
@@ -13,7 +14,7 @@ module Hive
|
|
13
14
|
@diagnostics = diagnostics_config.collect do |component, config|
|
14
15
|
Hive.logger.info("Initializing #{component.capitalize} component for #{@platform.capitalize} diagnostic")
|
15
16
|
require "hive/diagnostic/#{@platform}/#{component}"
|
16
|
-
Object.const_get('Hive').const_get('Diagnostic').const_get(@platform.capitalize).const_get(component.capitalize).new(config, @options)
|
17
|
+
Object.const_get('Hive').const_get('Diagnostic').const_get(@platform.capitalize).const_get(component.capitalize).new(config, @options, @hive_mind)
|
17
18
|
end
|
18
19
|
else
|
19
20
|
Hive.logger.info("No diagnostic specified for #{@platform}")
|
data/lib/hive/results.rb
CHANGED
@@ -1,12 +1,13 @@
|
|
1
|
-
|
2
1
|
module Hive
|
3
2
|
class Results
|
4
3
|
attr_reader :timestamp
|
5
|
-
def initialize( state, message, data = {})
|
4
|
+
def initialize( state, message, data = {}, hive_mind=nil)
|
6
5
|
@state = state
|
7
6
|
@message = message
|
8
7
|
@data = data
|
9
8
|
@timestamp = Time.now
|
9
|
+
@hive_mind = hive_mind
|
10
|
+
submit_results
|
10
11
|
end
|
11
12
|
|
12
13
|
def failed?
|
@@ -16,5 +17,32 @@ module Hive
|
|
16
17
|
def passed?
|
17
18
|
@state == 'pass'
|
18
19
|
end
|
20
|
+
|
21
|
+
def formulate_results
|
22
|
+
result = []
|
23
|
+
h = {}
|
24
|
+
@data.each do |k,v|
|
25
|
+
h[:label] = k.to_s
|
26
|
+
h[:unit] = v[:unit] || nil
|
27
|
+
if v[:value].instance_of?(Time)
|
28
|
+
h[:value] = v[:value].to_i
|
29
|
+
h[:format] = 'timestamp'
|
30
|
+
else
|
31
|
+
h[:value] = v[:value]
|
32
|
+
h[:format] = 'integer'
|
33
|
+
end
|
34
|
+
result << h
|
35
|
+
h = {}
|
36
|
+
end
|
37
|
+
result
|
38
|
+
end
|
39
|
+
|
40
|
+
def submit_results
|
41
|
+
if @hive_mind
|
42
|
+
@hive_mind.add_statistics(formulate_results)
|
43
|
+
@hive_mind.flush_statistics
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
19
47
|
end
|
20
|
-
end
|
48
|
+
end
|
data/lib/hive/worker.rb
CHANGED
@@ -54,7 +54,7 @@ module Hive
|
|
54
54
|
@port_allocator = (@options.has_key?('port_allocator') ? @options['port_allocator'] : Hive::PortAllocator.new(ports: []))
|
55
55
|
|
56
56
|
platform = self.class.to_s.scan(/[^:][^:]*/)[2].downcase
|
57
|
-
@diagnostic_runner = Hive::DiagnosticRunner.new(@options, Hive.config.diagnostics, platform) if Hive.config.diagnostics? && Hive.config.diagnostics[platform]
|
57
|
+
@diagnostic_runner = Hive::DiagnosticRunner.new(@options, Hive.config.diagnostics, platform, @hive_mind) if Hive.config.diagnostics? && Hive.config.diagnostics[platform]
|
58
58
|
|
59
59
|
Hive::Messages.configure do |config|
|
60
60
|
config.base_path = Hive.config.network.scheduler
|
@@ -70,10 +70,10 @@ module Hive
|
|
70
70
|
@log.info('Starting worker')
|
71
71
|
while keep_running?
|
72
72
|
begin
|
73
|
+
@log.clear
|
73
74
|
diagnostics
|
74
75
|
update_queues
|
75
76
|
poll_queue
|
76
|
-
@log.clear
|
77
77
|
rescue DeviceNotReady => e
|
78
78
|
@log.warn("#{e.message}\n");
|
79
79
|
rescue StandardError => e
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hive-runner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.18
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joe Haig
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-12-
|
11
|
+
date: 2016-12-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: chamber
|
@@ -305,7 +305,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
305
305
|
version: '0'
|
306
306
|
requirements: []
|
307
307
|
rubyforge_project:
|
308
|
-
rubygems_version: 2.
|
308
|
+
rubygems_version: 2.5.1
|
309
309
|
signing_key:
|
310
310
|
specification_version: 4
|
311
311
|
summary: Hive Runner
|