omf_ec 6.1.14.pre.2 → 6.2.0.pre.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/bin/omf_ec +3 -0
- data/lib/omf_ec/experiment.rb +21 -16
- data/lib/omf_ec/runner.rb +6 -0
- data/lib/omf_ec.rb +2 -2
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NzI2OTEzMjIyZDBiODExNzIwNDQzYjAyOThjZjlkODU0YjY0ZDIzNg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MzQ4ZDNmYzkwYzM1NjJiOGQwZTE4YTM0NmY2ZmIwYjAwZTljYTdjNg==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MmI2MDA2ZDJjMDkzNDU5MGE2NjdlZDkxMTI5MTliZmI2OWZiNTUyZTZkZWNk
|
10
|
+
YzE3MzI2NGU4MTkwMDhkMjVkZmUzZjZlMjUxN2VhZDk2YzRkNzc3MDgwMmQ5
|
11
|
+
MmYzOGY2YzgxNmQzMGY5NmU0YzVlZjVmYTU2MTNkNTg1ZmU0NzY=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
Y2E3ZjcwMWI3N2Y3YjViNTVlMmVkY2JkOGE3MzQ4NzRhNGFiODdmM2Y4ZTM5
|
14
|
+
M2E2YTg0ZjA3YmE0NTFkZThiMjQ4OTEwZWNkNmY2MzgwY2Q0ZmY3YWRlYzcy
|
15
|
+
NTE0Mzk5OGZlNDE3NjViNWYxNzJkODllNTlmNzQ1YTg4NjQ1ZDI=
|
data/bin/omf_ec
CHANGED
data/lib/omf_ec/experiment.rb
CHANGED
@@ -17,7 +17,7 @@ module OmfEc
|
|
17
17
|
include MonitorMixin
|
18
18
|
|
19
19
|
attr_accessor :name, :sliceID, :oml_uri, :js_url, :ss_url, :job_url, :job_mps, :app_definitions, :property, :cmdline_properties, :show_graph, :nodes, :assertion
|
20
|
-
attr_reader :groups, :sub_groups
|
20
|
+
attr_reader :groups, :sub_groups
|
21
21
|
|
22
22
|
# MP only used for injecting metadata
|
23
23
|
class MetaData < OML4R::MPBase
|
@@ -33,7 +33,7 @@ module OmfEc
|
|
33
33
|
super
|
34
34
|
@id = Time.now.utc.iso8601(3)
|
35
35
|
@sliceID = nil
|
36
|
-
@state ||=
|
36
|
+
@state ||= Hashie::Mash.new #TODO: we need to keep history of all the events and not ovewrite them
|
37
37
|
@groups ||= []
|
38
38
|
@nodes ||= []
|
39
39
|
@events ||= []
|
@@ -47,6 +47,10 @@ module OmfEc
|
|
47
47
|
@ss_url = nil
|
48
48
|
end
|
49
49
|
|
50
|
+
def state
|
51
|
+
@state.values
|
52
|
+
end
|
53
|
+
|
50
54
|
def property
|
51
55
|
return ExperimentProperty
|
52
56
|
end
|
@@ -58,13 +62,13 @@ module OmfEc
|
|
58
62
|
end
|
59
63
|
|
60
64
|
def resource_state(address)
|
61
|
-
@state
|
65
|
+
@state[address]
|
62
66
|
end
|
63
67
|
|
64
68
|
alias_method :resource, :resource_state
|
65
69
|
|
66
70
|
def resource_by_hrn(hrn)
|
67
|
-
@state
|
71
|
+
@state[hrn]
|
68
72
|
end
|
69
73
|
|
70
74
|
def add_or_update_resource_state(name, opts = {})
|
@@ -79,7 +83,7 @@ module OmfEc
|
|
79
83
|
res[key].uniq!
|
80
84
|
elsif value.kind_of? Hash
|
81
85
|
# Merge hash values
|
82
|
-
res[key] ||=
|
86
|
+
res[key] ||= {}
|
83
87
|
res[key].merge!(value)
|
84
88
|
else
|
85
89
|
# Overwrite otherwise
|
@@ -88,18 +92,19 @@ module OmfEc
|
|
88
92
|
end
|
89
93
|
else
|
90
94
|
info "Newly discovered resource >> #{name}"
|
91
|
-
res = Hashie::Mash.new({ address: name }).merge(opts)
|
92
|
-
|
95
|
+
#res = Hashie::Mash.new({ address: name }).merge(opts)
|
96
|
+
opts[:address] = name
|
97
|
+
@state[name] = opts
|
93
98
|
|
94
99
|
# Re send membership configure
|
95
|
-
planned_groups = groups_by_res(
|
96
|
-
|
97
|
-
unless planned_groups.empty?
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
end
|
100
|
+
#planned_groups = groups_by_res(name)
|
101
|
+
|
102
|
+
#unless planned_groups.empty?
|
103
|
+
# OmfEc.subscribe_and_monitor(name) do |res|
|
104
|
+
# info "Config #{name} to join #{planned_groups.map(&:name).join(', ')}"
|
105
|
+
# res.configure({ membership: planned_groups.map(&:address) }, { assert: OmfEc.experiment.assertion } )
|
106
|
+
# end
|
107
|
+
#end
|
103
108
|
end
|
104
109
|
end
|
105
110
|
end
|
@@ -200,7 +205,7 @@ module OmfEc
|
|
200
205
|
end
|
201
206
|
|
202
207
|
def eval_trigger(event)
|
203
|
-
if event[:callbacks] && !event[:callbacks].empty? && event[:trigger].call(
|
208
|
+
if event[:callbacks] && !event[:callbacks].empty? && event[:trigger].call(state)
|
204
209
|
# Periodic check event
|
205
210
|
event[:periodic_timer].cancel if event[:periodic_timer] && event[:consume_event]
|
206
211
|
|
data/lib/omf_ec/runner.rb
CHANGED
@@ -301,6 +301,12 @@ module OmfEc
|
|
301
301
|
OmfCommon.init(@config_opts.delete(:environment), @config_opts) do |el|
|
302
302
|
setup_logging
|
303
303
|
OmfCommon.comm.on_connected do |comm|
|
304
|
+
el.every(5) do
|
305
|
+
EM.next_tick do
|
306
|
+
OmfEc.experiment.process_events rescue nil
|
307
|
+
end
|
308
|
+
end
|
309
|
+
|
304
310
|
info "OMF Experiment Controller #{OmfEc::VERSION} - Start"
|
305
311
|
info "Connected using #{comm.conn_info}"
|
306
312
|
info "Execute: #{@oedl_path}"
|
data/lib/omf_ec.rb
CHANGED
@@ -68,14 +68,14 @@ module OmfEc
|
|
68
68
|
when 'STATUS'
|
69
69
|
props = []
|
70
70
|
msg.each_property { |k, v| props << "#{k}: #{v}" }
|
71
|
-
debug "Received INFORM via #{topic.id} >> #{props.join(", ")}", msg.src
|
71
|
+
#debug "Received INFORM via #{topic.id} >> #{props.join(", ")}", msg.src
|
72
72
|
|
73
73
|
if msg[:status_type] == 'APP_EVENT'
|
74
74
|
info "APP_EVENT #{msg[:event]} from app #{msg[:app]} - msg: #{msg[:msg]}"
|
75
75
|
end
|
76
76
|
|
77
77
|
OmfEc.experiment.add_or_update_resource_state(msg.src, msg.properties)
|
78
|
-
OmfEc.experiment.process_events
|
78
|
+
#OmfEc.experiment.process_events
|
79
79
|
end
|
80
80
|
end
|
81
81
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: omf_ec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.
|
4
|
+
version: 6.2.0.pre.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- NICTA
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-04-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|
@@ -86,14 +86,14 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - '='
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 6.
|
89
|
+
version: 6.2.0.pre.1
|
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: 6.
|
96
|
+
version: 6.2.0.pre.1
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: sequel
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|