hive-runner 2.1.19 → 2.1.20

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 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