rsmp 0.1.33 → 0.1.38
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/Gemfile.lock +4 -4
- data/lib/rsmp/component.rb +4 -4
- data/lib/rsmp/components.rb +1 -1
- data/lib/rsmp/proxy.rb +5 -3
- data/lib/rsmp/site.rb +2 -2
- data/lib/rsmp/site_proxy.rb +7 -6
- data/lib/rsmp/site_proxy_wait.rb +1 -1
- data/lib/rsmp/supervisor.rb +0 -1
- data/lib/rsmp/supervisor_proxy.rb +2 -1
- data/lib/rsmp/tlc.rb +1 -1
- data/lib/rsmp/version.rb +1 -1
- data/rsmp.gemspec +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: df79ff6f37011ae71a4d7816981b8fe397cd681497d6bb239a9b0eef130b8a4c
|
|
4
|
+
data.tar.gz: 54e3058f699f0c3e2c8e83ef8414c76fed0f72c56c9294995e38157fa41391c5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1ad1d7ae5a71231c61c7ad88d9758d7825c2ae59ea0bd0c6527f314dbe0358a5e362fd2ae55613248ae65e7505f36574833b6395d11a5cb3f989a8457ddac68f
|
|
7
|
+
data.tar.gz: 2ef823ca34736ebea62ac10fa36c735c5faf84368741ea25ad67fed0de9c8f8625628cc064491da859bd3155e1a5770aecb8e13bc493711db7949c087df30d75
|
data/Gemfile.lock
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
rsmp (0.1.
|
|
4
|
+
rsmp (0.1.38)
|
|
5
5
|
async (~> 1.28.7)
|
|
6
6
|
async-io (~> 1.30.2)
|
|
7
7
|
colorize (~> 0.8.1)
|
|
8
|
-
rsmp_schemer
|
|
8
|
+
rsmp_schemer
|
|
9
9
|
thor (~> 1.0.1)
|
|
10
10
|
|
|
11
11
|
GEM
|
|
@@ -28,7 +28,7 @@ GEM
|
|
|
28
28
|
builder (3.2.4)
|
|
29
29
|
childprocess (3.0.0)
|
|
30
30
|
colorize (0.8.1)
|
|
31
|
-
console (1.
|
|
31
|
+
console (1.13.1)
|
|
32
32
|
fiber-local
|
|
33
33
|
contracts (0.16.0)
|
|
34
34
|
cucumber (3.1.2)
|
|
@@ -64,7 +64,7 @@ GEM
|
|
|
64
64
|
nio4r (2.5.7)
|
|
65
65
|
rake (13.0.1)
|
|
66
66
|
regexp_parser (2.1.1)
|
|
67
|
-
rsmp_schemer (0.
|
|
67
|
+
rsmp_schemer (0.3.1)
|
|
68
68
|
json_schemer (~> 0.2.18)
|
|
69
69
|
rspec (3.9.0)
|
|
70
70
|
rspec-core (~> 3.9.0)
|
data/lib/rsmp/component.rb
CHANGED
|
@@ -36,7 +36,7 @@ module RSMP
|
|
|
36
36
|
AGGREGATED_STATUS_KEYS.each_with_index do |key,index|
|
|
37
37
|
@aggregated_status_bools[index] = status.include?(key)
|
|
38
38
|
end
|
|
39
|
-
|
|
39
|
+
aggregated_status_changed options
|
|
40
40
|
end
|
|
41
41
|
end
|
|
42
42
|
|
|
@@ -50,12 +50,12 @@ module RSMP
|
|
|
50
50
|
@aggregated_status_bools[index] = on
|
|
51
51
|
@aggregated_status << key if on
|
|
52
52
|
end
|
|
53
|
-
|
|
53
|
+
aggregated_status_changed
|
|
54
54
|
end
|
|
55
55
|
end
|
|
56
56
|
|
|
57
|
-
def
|
|
58
|
-
@node.
|
|
57
|
+
def aggregated_status_changed options={}
|
|
58
|
+
@node.aggregated_status_changed self, options
|
|
59
59
|
end
|
|
60
60
|
|
|
61
61
|
def alarm code:, status:
|
data/lib/rsmp/components.rb
CHANGED
data/lib/rsmp/proxy.rb
CHANGED
|
@@ -162,6 +162,8 @@ module RSMP
|
|
|
162
162
|
begin
|
|
163
163
|
now = Clock.now
|
|
164
164
|
timer(now)
|
|
165
|
+
rescue RSMP::Schemer::Error => e
|
|
166
|
+
puts "Timer: Schema error: #{e}"
|
|
165
167
|
rescue EOFError => e
|
|
166
168
|
log "Timer: Connection closed: #{e}", level: :warning
|
|
167
169
|
rescue IOError => e
|
|
@@ -246,7 +248,7 @@ module RSMP
|
|
|
246
248
|
# TODO
|
|
247
249
|
# what schema should we use to validate the intial Version and MessageAck messages?
|
|
248
250
|
schemas = { core: '3.1.5' }
|
|
249
|
-
schemas[sxl] = sxl_version if sxl
|
|
251
|
+
schemas[sxl] = RSMP::Schemer.sanitize_version(sxl_version) if sxl
|
|
250
252
|
schemas
|
|
251
253
|
end
|
|
252
254
|
|
|
@@ -261,7 +263,7 @@ module RSMP
|
|
|
261
263
|
log_send message, reason
|
|
262
264
|
rescue EOFError, IOError
|
|
263
265
|
buffer_message message
|
|
264
|
-
rescue SchemaError => e
|
|
266
|
+
rescue SchemaError, RSMP::Schemer::Error => e
|
|
265
267
|
str = "Could not send #{message.type} because schema validation failed: #{e.message}"
|
|
266
268
|
log str, message: message, level: :error
|
|
267
269
|
notify_error e.exception("#{str} #{message.json}")
|
|
@@ -306,7 +308,7 @@ module RSMP
|
|
|
306
308
|
log str, message: Malformed.new(attributes), level: :warning
|
|
307
309
|
# cannot send NotAcknowledged for a malformed message since we can't read it, just ignore it
|
|
308
310
|
nil
|
|
309
|
-
rescue SchemaError => e
|
|
311
|
+
rescue SchemaError, RSMP::Schemer::Error => e
|
|
310
312
|
str = "Received invalid #{message.type}, schema errors: #{e.message}"
|
|
311
313
|
log str, message: message, level: :warning
|
|
312
314
|
notify_error e.exception("#{str} #{message.json}")
|
data/lib/rsmp/site.rb
CHANGED
|
@@ -53,7 +53,7 @@ module RSMP
|
|
|
53
53
|
def check_sxl_version
|
|
54
54
|
sxl = @site_settings['sxl']
|
|
55
55
|
version = @site_settings['sxl_version']
|
|
56
|
-
RSMP::Schemer::find_schema! sxl, version
|
|
56
|
+
RSMP::Schemer::find_schema! sxl, version, lenient: true
|
|
57
57
|
end
|
|
58
58
|
|
|
59
59
|
def reconnect
|
|
@@ -75,7 +75,7 @@ module RSMP
|
|
|
75
75
|
SupervisorProxy.new settings
|
|
76
76
|
end
|
|
77
77
|
|
|
78
|
-
def
|
|
78
|
+
def aggregated_status_changed component, options={}
|
|
79
79
|
@proxies.each do |proxy|
|
|
80
80
|
proxy.send_aggregated_status component, options
|
|
81
81
|
end
|
data/lib/rsmp/site_proxy.rb
CHANGED
|
@@ -36,7 +36,8 @@ module RSMP
|
|
|
36
36
|
|
|
37
37
|
def connection_complete
|
|
38
38
|
super
|
|
39
|
-
|
|
39
|
+
sanitized_sxl_version = RSMP::Schemer.sanitize_version(@site_sxl_version)
|
|
40
|
+
log "Connection to site #{@site_id} established, using core #{@rsmp_version}, #{@sxl} #{sanitized_sxl_version}", level: :info
|
|
40
41
|
end
|
|
41
42
|
|
|
42
43
|
def process_message message
|
|
@@ -94,7 +95,7 @@ module RSMP
|
|
|
94
95
|
if options[:collect]
|
|
95
96
|
result = nil
|
|
96
97
|
task = @task.async do |task|
|
|
97
|
-
wait_for_aggregated_status task, options[:collect]
|
|
98
|
+
wait_for_aggregated_status task, options[:collect], m_id
|
|
98
99
|
end
|
|
99
100
|
send_message message, validate: options[:validate]
|
|
100
101
|
return message, task.wait
|
|
@@ -134,7 +135,7 @@ module RSMP
|
|
|
134
135
|
acknowledge message
|
|
135
136
|
end
|
|
136
137
|
|
|
137
|
-
def
|
|
138
|
+
def aggregated_status_changed component, options={}
|
|
138
139
|
@supervisor.aggregated_status_changed self, component
|
|
139
140
|
end
|
|
140
141
|
|
|
@@ -308,11 +309,13 @@ module RSMP
|
|
|
308
309
|
# comes from the Version message send by the site
|
|
309
310
|
type = 'tlc'
|
|
310
311
|
version = message.attribute 'SXL'
|
|
311
|
-
RSMP::Schemer::find_schema! type, version
|
|
312
|
+
RSMP::Schemer::find_schema! type, version, lenient: true
|
|
312
313
|
|
|
313
314
|
# store sxl version requested by site
|
|
314
315
|
# TODO should check agaist site settings
|
|
315
316
|
@site_sxl_version = message.attribute 'SXL'
|
|
317
|
+
rescue RSMP::Schemer::UnknownSchemaError => e
|
|
318
|
+
dont_acknowledge message, "Rejected #{message.type} message,", "#{e}"
|
|
316
319
|
end
|
|
317
320
|
|
|
318
321
|
def sxl_version
|
|
@@ -327,8 +330,6 @@ module RSMP
|
|
|
327
330
|
check_rsmp_version message
|
|
328
331
|
check_sxl_version message
|
|
329
332
|
version_accepted message
|
|
330
|
-
rescue RSMP::Schemer::UnknownSchemaError => e
|
|
331
|
-
dont_acknowledge message, "Rejected #{message.type} message,", "#{e}"
|
|
332
333
|
end
|
|
333
334
|
|
|
334
335
|
def check_site_ids message
|
data/lib/rsmp/site_proxy_wait.rb
CHANGED
|
@@ -143,7 +143,7 @@ module RSMP
|
|
|
143
143
|
true
|
|
144
144
|
end
|
|
145
145
|
|
|
146
|
-
def wait_for_aggregated_status parent_task, options
|
|
146
|
+
def wait_for_aggregated_status parent_task, options, m_id
|
|
147
147
|
collect(parent_task,options.merge({
|
|
148
148
|
type: ['AggregatedStatus','MessageNotAck'],
|
|
149
149
|
num: 1
|
data/lib/rsmp/supervisor.rb
CHANGED
|
@@ -49,7 +49,6 @@ module RSMP
|
|
|
49
49
|
raise RSMP::ConfigurationError.new("Configuration for site '#{site_id}' is empty")
|
|
50
50
|
end
|
|
51
51
|
sxl = settings['sxl']
|
|
52
|
-
sxl = 'tlc' unless sxl # temporary fix until configs are updated
|
|
53
52
|
unless sxl
|
|
54
53
|
raise RSMP::ConfigurationError.new("Configuration error for site '#{site_id}': No SXL specified")
|
|
55
54
|
end
|
|
@@ -54,7 +54,8 @@ module RSMP
|
|
|
54
54
|
|
|
55
55
|
def connection_complete
|
|
56
56
|
super
|
|
57
|
-
|
|
57
|
+
sanitized_sxl_version = RSMP::Schemer.sanitize_version(sxl_version)
|
|
58
|
+
log "Connection to supervisor established, using core #{@rsmp_version}, #{sxl} #{sanitized_sxl_version}", level: :info
|
|
58
59
|
start_watchdog
|
|
59
60
|
end
|
|
60
61
|
|
data/lib/rsmp/tlc.rb
CHANGED
data/lib/rsmp/version.rb
CHANGED
data/rsmp.gemspec
CHANGED
|
@@ -34,7 +34,7 @@ Gem::Specification.new do |spec|
|
|
|
34
34
|
spec.add_dependency "async-io", "~> 1.30.2"
|
|
35
35
|
spec.add_dependency "colorize", "~> 0.8.1"
|
|
36
36
|
spec.add_dependency "thor", "~> 1.0.1"
|
|
37
|
-
spec.add_dependency "rsmp_schemer"
|
|
37
|
+
spec.add_dependency "rsmp_schemer"
|
|
38
38
|
|
|
39
39
|
spec.add_development_dependency "bundler", "~> 2.2.3"
|
|
40
40
|
spec.add_development_dependency "rake", "~> 13.0.1"
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rsmp
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.38
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Emil Tin
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-06-
|
|
11
|
+
date: 2021-06-21 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: async
|
|
@@ -70,16 +70,16 @@ dependencies:
|
|
|
70
70
|
name: rsmp_schemer
|
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
|
72
72
|
requirements:
|
|
73
|
-
- - "
|
|
73
|
+
- - ">="
|
|
74
74
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: 0
|
|
75
|
+
version: '0'
|
|
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
|
-
version: 0
|
|
82
|
+
version: '0'
|
|
83
83
|
- !ruby/object:Gem::Dependency
|
|
84
84
|
name: bundler
|
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|