hive-runner 2.1.3 → 2.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/start_hive +1 -1
- data/lib/hive.rb +12 -1
- data/lib/hive/register.rb +13 -5
- metadata +18 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5e1f35dfb194e15da69701c3783c9b361aae8cce
|
4
|
+
data.tar.gz: 550ad209950c448230265ce37253a2b60647415f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 87e9b16b957655c865f843b4a1c108216ca081be9483b85fb49767aebd0524f8483a36e3dab66e81dba69e53d61b540b17246a535e0488dc39f1aa58fc694c8f
|
7
|
+
data.tar.gz: 61deca7a2e6f35f91046d2d1fdd010382921d9d79a97fecf96eabccf42ea5841fc5d6b881db410d42c7d7f2eb9f8c5f30125154530834d9d3d9cf36040540d5b
|
data/bin/start_hive
CHANGED
@@ -35,7 +35,7 @@ Signal.trap('USR1') do
|
|
35
35
|
|
36
36
|
client.puts " Software versions:"
|
37
37
|
client.puts " * hive-runner: #{gems['hive-runner']}"
|
38
|
-
gems.
|
38
|
+
gems.select{|k, v| k != 'hive-runner'}.sort.each do |name, version|
|
39
39
|
client.puts " * #{name}: #{version}"
|
40
40
|
end
|
41
41
|
|
data/lib/hive.rb
CHANGED
@@ -5,6 +5,7 @@ require 'mind_meld/hive'
|
|
5
5
|
require 'macaddr'
|
6
6
|
require 'socket'
|
7
7
|
require 'sys/uname'
|
8
|
+
require 'sys/cpu'
|
8
9
|
require 'airbrake-ruby'
|
9
10
|
|
10
11
|
# The Hive automated testing framework
|
@@ -88,13 +89,23 @@ module Hive
|
|
88
89
|
Hive.logger.debug "Polling hive"
|
89
90
|
rtn = Hive.hive_mind.poll
|
90
91
|
Hive.logger.debug "Return data: #{rtn}"
|
91
|
-
if rtn
|
92
|
+
if rtn.has_key? 'error'
|
92
93
|
Hive.logger.warn "Hive polling failed: #{rtn['error']}"
|
93
94
|
else
|
94
95
|
Hive.logger.info "Successfully polled hive"
|
95
96
|
end
|
96
97
|
end
|
97
98
|
|
99
|
+
# Gather and send statistics
|
100
|
+
def self.send_statistics
|
101
|
+
Hive.hive_mind.add_statistics(
|
102
|
+
label: 'Load average',
|
103
|
+
value: Sys::CPU.load_avg[0],
|
104
|
+
format: 'float'
|
105
|
+
)
|
106
|
+
Hive.hive_mind.flush_statistics
|
107
|
+
end
|
108
|
+
|
98
109
|
# Get the IP address of the Hive
|
99
110
|
def self.ip_address
|
100
111
|
ip = Socket.ip_address_list.detect { |intf| intf.ipv4_private? }
|
data/lib/hive/register.rb
CHANGED
@@ -30,17 +30,20 @@ module Hive
|
|
30
30
|
end
|
31
31
|
|
32
32
|
def instantiate_controllers(controller_details = Hive.config.controllers)
|
33
|
-
controller_details
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
33
|
+
if controller_details
|
34
|
+
controller_details.each do |type, opts|
|
35
|
+
Hive.logger.info("Adding controller for '#{type}'")
|
36
|
+
require "hive/controller/#{type}"
|
37
|
+
controller = Object.const_get('Hive').const_get('Controller').const_get(type.capitalize).new(opts.to_hash)
|
38
|
+
@controllers << controller
|
39
|
+
end
|
38
40
|
end
|
39
41
|
check_controllers
|
40
42
|
@controllers
|
41
43
|
end
|
42
44
|
|
43
45
|
def run
|
46
|
+
@next_stat_update = Time.now
|
44
47
|
loop do
|
45
48
|
Hive.poll
|
46
49
|
housekeeping
|
@@ -98,6 +101,11 @@ module Hive
|
|
98
101
|
|
99
102
|
def housekeeping
|
100
103
|
clear_workspaces
|
104
|
+
|
105
|
+
if Hive.config.timings.stats_update_interval? && @next_stat_update < Time.now
|
106
|
+
Hive.send_statistics
|
107
|
+
@next_stat_update += Hive.config.timings.stats_update_interval
|
108
|
+
end
|
101
109
|
end
|
102
110
|
|
103
111
|
def clear_workspaces
|
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.4
|
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-06-
|
11
|
+
date: 2016-06-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: chamber
|
@@ -128,14 +128,14 @@ dependencies:
|
|
128
128
|
requirements:
|
129
129
|
- - "~>"
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version: 0.1.
|
131
|
+
version: 0.1.8
|
132
132
|
type: :runtime
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
136
|
- - "~>"
|
137
137
|
- !ruby/object:Gem::Version
|
138
|
-
version: 0.1.
|
138
|
+
version: 0.1.8
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
140
|
name: code_cache
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -164,6 +164,20 @@ dependencies:
|
|
164
164
|
- - "~>"
|
165
165
|
- !ruby/object:Gem::Version
|
166
166
|
version: '1.0'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: sys-cpu
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - "~>"
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0.7'
|
174
|
+
type: :runtime
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - "~>"
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0.7'
|
167
181
|
- !ruby/object:Gem::Dependency
|
168
182
|
name: airbrake-ruby
|
169
183
|
requirement: !ruby/object:Gem::Requirement
|