hive-runner 2.1.19 → 2.1.20

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 355b048eebc4250e50c3e544836e5023cc43d806
4
- data.tar.gz: 1cceefa960b813cbbaf435cc376b1b6db8dde894
3
+ metadata.gz: 2c0130ec44d41e73c51a344bf28bc80db7b85b29
4
+ data.tar.gz: c806d4b8a6dfa971bb04e6212bbe74004549e401
5
5
  SHA512:
6
- metadata.gz: a829bd7464b15ea67d0ac4b9ee73bf1eb00cf5fbb0571639437f2066fce7583d66a377336e336328bc7728cfc83d1b59190f4c3e50fe56c0c97a97702467800f
7
- data.tar.gz: 2ddbfec333f4b820c13298b0cbddce245ee8d1f218b5cbc9e7d2601fb5e13be13ad83b53e528452f3c2f4feca51c41669c3eb0cf127bb80c8abac1c453d51761
6
+ metadata.gz: 899bfe2808513b7d7a72b7b198655a0b296c4d64c1bc3d471b5b258aa3e0a45737a58b5e20f154469c42bc5e2a7a0d915fb0533ad5645d45af77d581c41ff0c3
7
+ data.tar.gz: 5ade9a30756465035e592edef2a798ce1b7a1e9107c0c01aea7c0c1404e4189fe74bfaf28be5c99bc5cbeaf8cb1741074fd8d0ce91b922cd41a3507d210c987c
data/bin/hive_setup CHANGED
@@ -184,7 +184,7 @@ def setup_hive(options)
184
184
  f.puts ' name_stub: SHELL_WORKER'
185
185
  mods.each do |m|
186
186
  f.puts " #{m[:device]}:"
187
- f.puts ' # Number of ports to allocate to each #{m[:device]} worker'
187
+ f.puts " # Number of ports to allocate to each #{m[:device]} worker"
188
188
  f.puts ' port_range_size: 50'
189
189
  f.puts " name_stub: #{m[:device].upcase}_WORKER"
190
190
  end
data/lib/hive/device.rb CHANGED
@@ -34,19 +34,25 @@ module Hive
34
34
 
35
35
  # Terminate the worker process
36
36
  def stop
37
- begin
38
- count = 0
39
- while self.running? && count < 30 do
40
- count += 1
41
- Hive.logger.info("Attempting to terminate process #{@worker_pid} [#{count}]")
37
+ @stop_count = @stop_count.nil? ? 0 : @stop_count + 1
38
+
39
+ if self.running?
40
+ if @stop_count < 30
41
+ Hive.logger.info("Attempting to terminate process #{@worker_pid} [#{@stop_count}]")
42
42
  Process.kill 'TERM', @worker_pid
43
- sleep 30
43
+ else
44
+ Hive.logger.info("Killing process #{@worker_pid}")
45
+ Process.kill 'KILL', @worker_pid if self.running?
44
46
  end
45
- Process.kill 'KILL', @worker_pid if self.running?
46
- rescue => e
47
- Hive.logger.info("Process had already terminated")
48
47
  end
49
- @worker_pid = nil
48
+
49
+ if self.running?
50
+ false
51
+ else
52
+ @worker_pid = nil
53
+ @stop_count = nil
54
+ true
55
+ end
50
56
  end
51
57
 
52
58
  # Test the state of the worker process
data/lib/hive/register.rb CHANGED
@@ -80,9 +80,10 @@ module Hive
80
80
 
81
81
  # Remove any devices that have not been rediscovered
82
82
  (@devices[c.class] - new_device_list[c.class]).each do |d|
83
- @port_allocator.release_port_range(d.port_allocator)
84
- d.stop
85
- @devices[c.class].delete(d)
83
+ if d.stop
84
+ @port_allocator.release_port_range(d.port_allocator)
85
+ @devices[c.class].delete(d)
86
+ end
86
87
  end
87
88
 
88
89
  # Add any new devices
data/lib/hive/worker.rb CHANGED
@@ -71,9 +71,8 @@ module Hive
71
71
  while keep_running?
72
72
  begin
73
73
  @log.clear
74
- diagnostics
75
74
  update_queues
76
- poll_queue
75
+ poll_queue if diagnostics
77
76
  rescue DeviceNotReady => e
78
77
  @log.warn("#{e.message}\n");
79
78
  rescue StandardError => e
@@ -232,10 +231,11 @@ module Hive
232
231
 
233
232
  # Diagnostics function to be extended in child class, as required
234
233
  def diagnostics
235
- @diagnostic_runner.run if !@diagnostic_runner.nil?
234
+ retn = @diagnostic_runner.run if !@diagnostic_runner.nil?
236
235
  status = device_status
237
236
  status = set_device_status('happy') if status == 'busy'
238
237
  raise DeviceNotReady.new("Current device status: '#{status}'") if status != 'happy'
238
+ retn
239
239
  end
240
240
 
241
241
  # Current state of the device
metadata CHANGED
@@ -1,257 +1,257 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hive-runner
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.19
4
+ version: 2.1.20
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-21 00:00:00.000000000 Z
11
+ date: 2017-01-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: chamber
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ~>
18
18
  - !ruby/object:Gem::Version
19
19
  version: '2.7'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.7'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activerecord
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
33
  version: '4.2'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ~>
39
39
  - !ruby/object:Gem::Version
40
40
  version: '4.2'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: mono_logger
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ~>
46
46
  - !ruby/object:Gem::Version
47
47
  version: '1.1'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ~>
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.1'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: daemons
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ~>
60
60
  - !ruby/object:Gem::Version
61
61
  version: '1.2'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ~>
67
67
  - !ruby/object:Gem::Version
68
68
  version: '1.2'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: terminal-table
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ~>
74
74
  - !ruby/object:Gem::Version
75
75
  version: 1.7.1
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ~>
81
81
  - !ruby/object:Gem::Version
82
82
  version: 1.7.1
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: res
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ~>
88
88
  - !ruby/object:Gem::Version
89
- version: 1.2.5
89
+ version: 1.2.17
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - "~>"
94
+ - - ~>
95
95
  - !ruby/object:Gem::Version
96
- version: 1.2.5
96
+ version: 1.2.17
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: hive-messages
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "~>"
101
+ - - ~>
102
102
  - !ruby/object:Gem::Version
103
103
  version: '1.0'
104
- - - ">="
104
+ - - '>='
105
105
  - !ruby/object:Gem::Version
106
106
  version: 1.0.6
107
107
  type: :runtime
108
108
  prerelease: false
109
109
  version_requirements: !ruby/object:Gem::Requirement
110
110
  requirements:
111
- - - "~>"
111
+ - - ~>
112
112
  - !ruby/object:Gem::Version
113
113
  version: '1.0'
114
- - - ">="
114
+ - - '>='
115
115
  - !ruby/object:Gem::Version
116
116
  version: 1.0.6
117
117
  - !ruby/object:Gem::Dependency
118
118
  name: mind_meld
119
119
  requirement: !ruby/object:Gem::Requirement
120
120
  requirements:
121
- - - "~>"
121
+ - - ~>
122
122
  - !ruby/object:Gem::Version
123
123
  version: 0.1.12
124
124
  type: :runtime
125
125
  prerelease: false
126
126
  version_requirements: !ruby/object:Gem::Requirement
127
127
  requirements:
128
- - - "~>"
128
+ - - ~>
129
129
  - !ruby/object:Gem::Version
130
130
  version: 0.1.12
131
131
  - !ruby/object:Gem::Dependency
132
132
  name: code_cache
133
133
  requirement: !ruby/object:Gem::Requirement
134
134
  requirements:
135
- - - "~>"
135
+ - - ~>
136
136
  - !ruby/object:Gem::Version
137
137
  version: '0.2'
138
138
  type: :runtime
139
139
  prerelease: false
140
140
  version_requirements: !ruby/object:Gem::Requirement
141
141
  requirements:
142
- - - "~>"
142
+ - - ~>
143
143
  - !ruby/object:Gem::Version
144
144
  version: '0.2'
145
145
  - !ruby/object:Gem::Dependency
146
146
  name: sys-uname
147
147
  requirement: !ruby/object:Gem::Requirement
148
148
  requirements:
149
- - - "~>"
149
+ - - ~>
150
150
  - !ruby/object:Gem::Version
151
151
  version: '1.0'
152
152
  type: :runtime
153
153
  prerelease: false
154
154
  version_requirements: !ruby/object:Gem::Requirement
155
155
  requirements:
156
- - - "~>"
156
+ - - ~>
157
157
  - !ruby/object:Gem::Version
158
158
  version: '1.0'
159
159
  - !ruby/object:Gem::Dependency
160
160
  name: sys-cpu
161
161
  requirement: !ruby/object:Gem::Requirement
162
162
  requirements:
163
- - - "~>"
163
+ - - ~>
164
164
  - !ruby/object:Gem::Version
165
165
  version: '0.7'
166
166
  type: :runtime
167
167
  prerelease: false
168
168
  version_requirements: !ruby/object:Gem::Requirement
169
169
  requirements:
170
- - - "~>"
170
+ - - ~>
171
171
  - !ruby/object:Gem::Version
172
172
  version: '0.7'
173
173
  - !ruby/object:Gem::Dependency
174
174
  name: airbrake-ruby
175
175
  requirement: !ruby/object:Gem::Requirement
176
176
  requirements:
177
- - - "~>"
177
+ - - ~>
178
178
  - !ruby/object:Gem::Version
179
179
  version: 1.2.2
180
180
  type: :runtime
181
181
  prerelease: false
182
182
  version_requirements: !ruby/object:Gem::Requirement
183
183
  requirements:
184
- - - "~>"
184
+ - - ~>
185
185
  - !ruby/object:Gem::Version
186
186
  version: 1.2.2
187
187
  - !ruby/object:Gem::Dependency
188
188
  name: codeclimate-test-reporter
189
189
  requirement: !ruby/object:Gem::Requirement
190
190
  requirements:
191
- - - "~>"
191
+ - - ~>
192
192
  - !ruby/object:Gem::Version
193
193
  version: 0.6.0
194
194
  type: :development
195
195
  prerelease: false
196
196
  version_requirements: !ruby/object:Gem::Requirement
197
197
  requirements:
198
- - - "~>"
198
+ - - ~>
199
199
  - !ruby/object:Gem::Version
200
200
  version: 0.6.0
201
201
  - !ruby/object:Gem::Dependency
202
202
  name: simplecov
203
203
  requirement: !ruby/object:Gem::Requirement
204
204
  requirements:
205
- - - "~>"
205
+ - - ~>
206
206
  - !ruby/object:Gem::Version
207
207
  version: '0.12'
208
208
  type: :development
209
209
  prerelease: false
210
210
  version_requirements: !ruby/object:Gem::Requirement
211
211
  requirements:
212
- - - "~>"
212
+ - - ~>
213
213
  - !ruby/object:Gem::Version
214
214
  version: '0.12'
215
215
  - !ruby/object:Gem::Dependency
216
216
  name: rspec
217
217
  requirement: !ruby/object:Gem::Requirement
218
218
  requirements:
219
- - - "~>"
219
+ - - ~>
220
220
  - !ruby/object:Gem::Version
221
221
  version: '3.3'
222
222
  type: :development
223
223
  prerelease: false
224
224
  version_requirements: !ruby/object:Gem::Requirement
225
225
  requirements:
226
- - - "~>"
226
+ - - ~>
227
227
  - !ruby/object:Gem::Version
228
228
  version: '3.3'
229
229
  - !ruby/object:Gem::Dependency
230
230
  name: rubocop
231
231
  requirement: !ruby/object:Gem::Requirement
232
232
  requirements:
233
- - - "~>"
233
+ - - ~>
234
234
  - !ruby/object:Gem::Version
235
235
  version: '0.34'
236
236
  type: :development
237
237
  prerelease: false
238
238
  version_requirements: !ruby/object:Gem::Requirement
239
239
  requirements:
240
- - - "~>"
240
+ - - ~>
241
241
  - !ruby/object:Gem::Version
242
242
  version: '0.34'
243
243
  - !ruby/object:Gem::Dependency
244
244
  name: webmock
245
245
  requirement: !ruby/object:Gem::Requirement
246
246
  requirements:
247
- - - "~>"
247
+ - - ~>
248
248
  - !ruby/object:Gem::Version
249
249
  version: '1.21'
250
250
  type: :development
251
251
  prerelease: false
252
252
  version_requirements: !ruby/object:Gem::Requirement
253
253
  requirements:
254
- - - "~>"
254
+ - - ~>
255
255
  - !ruby/object:Gem::Version
256
256
  version: '1.21'
257
257
  description: Core component of the Hive CI runner
@@ -264,15 +264,10 @@ extensions: []
264
264
  extra_rdoc_files: []
265
265
  files:
266
266
  - README.md
267
- - bin/hive_setup
268
- - bin/hived
269
- - bin/init.d.hived
270
- - bin/start_hive
271
- - lib/hive.rb
272
- - lib/hive/controller.rb
273
267
  - lib/hive/controller/shell.rb
274
- - lib/hive/device.rb
268
+ - lib/hive/controller.rb
275
269
  - lib/hive/device/shell.rb
270
+ - lib/hive/device.rb
276
271
  - lib/hive/diagnostic.rb
277
272
  - lib/hive/diagnostic_runner.rb
278
273
  - lib/hive/execution_script.rb
@@ -281,10 +276,15 @@ files:
281
276
  - lib/hive/port_allocator.rb
282
277
  - lib/hive/register.rb
283
278
  - lib/hive/results.rb
284
- - lib/hive/worker.rb
285
279
  - lib/hive/worker/shell.rb
280
+ - lib/hive/worker.rb
281
+ - lib/hive.rb
286
282
  - lib/macaddr.rb
287
283
  - scripts/hive-script-helper.sh
284
+ - bin/init.d.hived
285
+ - bin/hived
286
+ - bin/start_hive
287
+ - bin/hive_setup
288
288
  homepage: https://github.com/bbc/hive-runner
289
289
  licenses:
290
290
  - MIT
@@ -295,17 +295,17 @@ require_paths:
295
295
  - lib
296
296
  required_ruby_version: !ruby/object:Gem::Requirement
297
297
  requirements:
298
- - - ">="
298
+ - - '>='
299
299
  - !ruby/object:Gem::Version
300
300
  version: '0'
301
301
  required_rubygems_version: !ruby/object:Gem::Requirement
302
302
  requirements:
303
- - - ">="
303
+ - - '>='
304
304
  - !ruby/object:Gem::Version
305
305
  version: '0'
306
306
  requirements: []
307
307
  rubyforge_project:
308
- rubygems_version: 2.6.7
308
+ rubygems_version: 2.0.14
309
309
  signing_key:
310
310
  specification_version: 4
311
311
  summary: Hive Runner