nitos_testbed_rc 1.0.0.pre.11 → 1.0.0.pre.12
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +1 -1
- data/bin/cm_proxy +19 -7
- data/bin/frisbee_proxy +18 -7
- data/bin/omf6 +7 -2
- data/etc/omf_script_conf.yaml +2 -2
- data/lib/nitos_testbed_rc/cm_factory.rb +16 -15
- data/lib/nitos_testbed_rc/frisbee.rb +14 -13
- data/lib/nitos_testbed_rc/frisbeed.rb +7 -7
- data/lib/nitos_testbed_rc/imagezip_client.rb +23 -18
- data/lib/nitos_testbed_rc/imagezip_server.rb +7 -7
- data/lib/version.rb +1 -1
- metadata +2 -2
data/README.md
CHANGED
@@ -39,7 +39,7 @@ Then you need to run the install_ntrc script to generate the configuration files
|
|
39
39
|
Create certificates
|
40
40
|
-------------------
|
41
41
|
|
42
|
-
Use omf_cert.rb script to generate the following certificates and place them on directories '/root/.omf' and /root/.omf.
|
42
|
+
Use omf_cert.rb script to generate the following certificates and place them on directories '/root/.omf' and '/root/.omf/trusted_roots'.
|
43
43
|
|
44
44
|
$ mkdir /root/.omf
|
45
45
|
$ mkdir /root/.omf/trusted_roots
|
data/bin/cm_proxy
CHANGED
@@ -84,15 +84,27 @@ class CmPDP
|
|
84
84
|
|
85
85
|
node = node[:resources].first
|
86
86
|
|
87
|
-
if @config[:testbedDomain] != "ALL" && node[:domain] != @config[:testbedDomain]
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
end
|
87
|
+
# if @config[:testbedDomain] != "ALL" && node[:domain] != @config[:testbedDomain]
|
88
|
+
# debug "This node does not belong to the domain '#{@config[:testbedDomain]}'"
|
89
|
+
# msg.properties.state.ignore_msg = true
|
90
|
+
# return msg
|
91
|
+
# end
|
92
92
|
|
93
|
+
nod = {}
|
94
|
+
nod[:node_name] = node[:name]
|
95
|
+
node[:interfaces].each do |i|
|
96
|
+
if i[:role] == "control"
|
97
|
+
nod[:node_ip] = i[:ip][:address]
|
98
|
+
nod[:node_mac] = i[:mac]
|
99
|
+
elsif i[:role] == "cm_network"
|
100
|
+
nod[:node_cm_ip] = i[:ip][:address]
|
101
|
+
end
|
102
|
+
end
|
103
|
+
nod[:node_cm_ip] = node[:cmc][:ip][:address]
|
104
|
+
|
93
105
|
if acc == 'root'
|
94
106
|
debug "AUTH PASSED (root account)"
|
95
|
-
msg.properties.state.node =
|
107
|
+
msg.properties.state.node = nod
|
96
108
|
return msg
|
97
109
|
end
|
98
110
|
|
@@ -115,7 +127,7 @@ class CmPDP
|
|
115
127
|
return msg
|
116
128
|
else
|
117
129
|
debug "AUTH PASSED"
|
118
|
-
msg.properties.state.node =
|
130
|
+
msg.properties.state.node = nod
|
119
131
|
return msg
|
120
132
|
end
|
121
133
|
# wait = true
|
data/bin/frisbee_proxy
CHANGED
@@ -88,15 +88,27 @@ class FrisbeePDP
|
|
88
88
|
|
89
89
|
node = node[:resources].first
|
90
90
|
|
91
|
-
if @config[:testbedDomain] != "ALL" && node[:domain] != @config[:testbedDomain]
|
92
|
-
|
93
|
-
|
94
|
-
|
91
|
+
# if @config[:testbedDomain] != "ALL" && node[:domain] != @config[:testbedDomain]
|
92
|
+
# debug "This node does not belong to the domain '#{@config[:testbedDomain]}'"
|
93
|
+
# msg.properties.state.ignore_msg = true
|
94
|
+
# return msg
|
95
|
+
# end
|
96
|
+
|
97
|
+
nod = {}
|
98
|
+
nod[:node_name] = node[:name]
|
99
|
+
node[:interfaces].each do |i|
|
100
|
+
if i[:role] == "control"
|
101
|
+
nod[:node_ip] = i[:ip][:address]
|
102
|
+
nod[:node_mac] = i[:mac]
|
103
|
+
elsif i[:role] == "cm_network"
|
104
|
+
nod[:node_cm_ip] = i[:ip][:address]
|
105
|
+
end
|
95
106
|
end
|
107
|
+
nod[:node_cm_ip] = node[:cmc][:ip][:address]
|
96
108
|
|
97
109
|
if acc == 'root'
|
98
110
|
debug "AUTH PASSED (root account)"
|
99
|
-
msg.properties.node =
|
111
|
+
msg.properties.node = nod
|
100
112
|
return msg
|
101
113
|
end
|
102
114
|
|
@@ -118,7 +130,7 @@ class FrisbeePDP
|
|
118
130
|
return msg
|
119
131
|
else
|
120
132
|
debug "AUTH PASSED"
|
121
|
-
msg.properties.node =
|
133
|
+
msg.properties.node = nod
|
122
134
|
return msg
|
123
135
|
end
|
124
136
|
# wait = true
|
@@ -199,7 +211,6 @@ class FrisbeePDP
|
|
199
211
|
debug "AUTH PASSED"
|
200
212
|
return msg
|
201
213
|
end
|
202
|
-
# msg
|
203
214
|
end
|
204
215
|
|
205
216
|
private
|
data/bin/omf6
CHANGED
@@ -4,11 +4,16 @@ require 'time'
|
|
4
4
|
require 'omf_common'
|
5
5
|
require 'optparse'
|
6
6
|
require 'progress_bar'
|
7
|
+
require 'erb'
|
8
|
+
require 'socket'
|
9
|
+
|
7
10
|
CONF_PATH = '~/.omf/etc/omf_script_conf.yaml'
|
8
11
|
FRISB_PATH = '/etc/nitos_testbed_rc/frisbee_proxy_conf.yaml'
|
9
12
|
CM_PATH = '/etc/nitos_testbed_rc/cm_proxy_conf.yaml'
|
10
13
|
|
11
|
-
|
14
|
+
conf_file = File.read(File.expand_path(CONF_PATH))
|
15
|
+
conf_file = ERB.new(conf_file, nil).result(binding)
|
16
|
+
@config = YAML.load(conf_file)
|
12
17
|
# @config = YAML.load_file(File.join(File.dirname(File.expand_path(__FILE__)), '.../etc/omf_script_conf.yaml'))
|
13
18
|
@auth = @config[:auth]
|
14
19
|
@xmpp = @config[:xmpp]
|
@@ -501,7 +506,7 @@ def save(comm, options)
|
|
501
506
|
start_saving()
|
502
507
|
puts "INFO: Starting Imagezip Server on port '#{port}'"
|
503
508
|
create_imagezip_server(comm, fcontroller, port, options)
|
504
|
-
sleep
|
509
|
+
sleep 1
|
505
510
|
puts "INFO: Starting Imagezip Client on node '#{options[:node]}'"
|
506
511
|
create_imagezip_client(comm, fcontroller, options[:node], port, options)
|
507
512
|
print "INFO: Saving Image for node '#{options[:node]}'..."
|
data/etc/omf_script_conf.yaml
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
:xmpp:
|
2
2
|
:script_user: script_user
|
3
3
|
:password: pw
|
4
|
-
:server:
|
4
|
+
:server: <% Socket.gethostname %>.inf.uth.gr
|
5
5
|
:auth:
|
6
|
-
:root_cert_dir:
|
6
|
+
:root_cert_dir: /etc/nitos_testbed_rc/trusted_roots
|
7
7
|
:entity_cert: ~/.omf/user_cert.pem
|
8
8
|
:entity_key: ~/.ssh/id_rsa
|
9
9
|
#operation mode for OmfCommon.init (development, production, etc)
|
@@ -28,21 +28,22 @@ module OmfRc::ResourceProxy::CMFactory
|
|
28
28
|
}, :ALL)
|
29
29
|
next
|
30
30
|
end
|
31
|
-
if value.ignore_msg
|
32
|
-
|
33
|
-
|
34
|
-
end
|
35
|
-
nod = {}
|
36
|
-
nod[:node_name] = value.node[:name]
|
37
|
-
value.node[:interfaces].each do |i|
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
end
|
45
|
-
nod[:node_cm_ip] = value.node[:cmc][:ip][:address]
|
31
|
+
# if value.ignore_msg
|
32
|
+
# #just ignore this message, another resource controller should take care of this message
|
33
|
+
# next
|
34
|
+
# end
|
35
|
+
# nod = {}
|
36
|
+
# nod[:node_name] = value.node[:name]
|
37
|
+
# value.node[:interfaces].each do |i|
|
38
|
+
# if i[:role] == "control"
|
39
|
+
# nod[:node_ip] = i[:ip][:address]
|
40
|
+
# nod[:node_mac] = i[:mac]
|
41
|
+
# elsif i[:role] == "cm_network"
|
42
|
+
# nod[:node_cm_ip] = i[:ip][:address]
|
43
|
+
# end
|
44
|
+
# end
|
45
|
+
# nod[:node_cm_ip] = value.node[:cmc][:ip][:address]
|
46
|
+
nod = value.node
|
46
47
|
# nod = {node_name: "node1", node_ip: "10.0.0.1", node_mac: "00-03-1d-0d-4b-96", node_cm_ip: "10.0.0.101"}
|
47
48
|
|
48
49
|
case value[:status].to_sym
|
@@ -39,20 +39,21 @@ module OmfRc::ResourceProxy::Frisbee #frisbee client
|
|
39
39
|
}, :ALL)
|
40
40
|
next
|
41
41
|
end
|
42
|
-
if client.opts.ignore_msg
|
43
|
-
|
44
|
-
|
45
|
-
end
|
46
|
-
nod = {}
|
47
|
-
nod[:node_name] = client.opts.node.name
|
48
|
-
client.opts.node.interfaces.each do |i|
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
end
|
54
|
-
nod[:node_cm_ip] = client.opts.node.cmc.ip.address
|
42
|
+
# if client.opts.ignore_msg
|
43
|
+
# #just ignore this message, another resource controller should take care of this message
|
44
|
+
# next
|
45
|
+
# end
|
46
|
+
# nod = {}
|
47
|
+
# nod[:node_name] = client.opts.node.name
|
48
|
+
# client.opts.node.interfaces.each do |i|
|
49
|
+
# if i[:role] == "control"
|
50
|
+
# nod[:node_ip] = i[:ip][:address]
|
51
|
+
# nod[:node_mac] = i[:mac]
|
52
|
+
# end
|
53
|
+
# end
|
54
|
+
# nod[:node_cm_ip] = client.opts.node.cmc.ip.address
|
55
55
|
#nod = {node_name: "node1", node_ip: "10.0.0.1", node_mac: "00-03-1d-0d-4b-96", node_cm_ip: "10.0.0.101"}
|
56
|
+
nod = client.opts.node
|
56
57
|
client.property.multicast_interface = nod[:node_ip]
|
57
58
|
client.property.app_id = client.hrn.nil? ? client.uid : client.hrn
|
58
59
|
|
@@ -29,13 +29,13 @@ module OmfRc::ResourceProxy::Frisbeed
|
|
29
29
|
|
30
30
|
hook :after_initial_configured do |server|
|
31
31
|
debug "Received message '#{server.opts.inspect}'"
|
32
|
-
if error_msg = server.opts.error_msg
|
33
|
-
|
34
|
-
end
|
35
|
-
if server.opts.ignore_msg
|
36
|
-
|
37
|
-
|
38
|
-
end
|
32
|
+
# if error_msg = server.opts.error_msg
|
33
|
+
# next
|
34
|
+
# end
|
35
|
+
# if server.opts.ignore_msg
|
36
|
+
# #just ignore this message, another resource controller should take care of this message
|
37
|
+
# next
|
38
|
+
# end
|
39
39
|
server.property.app_id = server.hrn.nil? ? server.uid : server.hrn
|
40
40
|
server.property.image = server.property.image.nil? ? @fconf[:imageDir] + '/' + @fconf[:defaultImage] : server.property.image
|
41
41
|
server.property.image = server.property.image.start_with?('/') ? server.property.image : @fconf[:imageDir] + '/' + server.property.image
|
@@ -38,31 +38,35 @@ module OmfRc::ResourceProxy::ImagezipClient #Imagezip client
|
|
38
38
|
}, :ALL)
|
39
39
|
next
|
40
40
|
end
|
41
|
-
if client.opts.ignore_msg
|
42
|
-
|
43
|
-
|
44
|
-
end
|
41
|
+
# if client.opts.ignore_msg
|
42
|
+
# #just ignore this message, another resource controller should take care of this message
|
43
|
+
# next
|
44
|
+
# end
|
45
45
|
|
46
|
-
nod = {}
|
47
|
-
nod[:node_name] = client.opts.node.name
|
48
|
-
client.opts.node.interfaces.each do |i|
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
end
|
56
|
-
nod[:node_cm_ip] = client.opts.node.cmc.ip.address
|
46
|
+
# nod = {}
|
47
|
+
# nod[:node_name] = client.opts.node.name
|
48
|
+
# client.opts.node.interfaces.each do |i|
|
49
|
+
# if i[:role] == "control"
|
50
|
+
# nod[:node_ip] = i[:ip][:address]
|
51
|
+
# nod[:node_mac] = i[:mac]
|
52
|
+
# elsif i[:role] == "cm_network"
|
53
|
+
# nod[:node_cm_ip] = i[:ip][:address]
|
54
|
+
# end
|
55
|
+
# end
|
56
|
+
# nod[:node_cm_ip] = client.opts.node.cmc.ip.address
|
57
57
|
|
58
|
+
nod = client.opts.node
|
58
59
|
client.property.app_id = client.hrn.nil? ? client.uid : client.hrn
|
59
60
|
|
60
|
-
command = "#{client.property.binary_path} -o -z1 #{client.property.hardrive} - | #{@fconf[:imagezipClientNC]} -q 0 #{client.property.ip} #{client.property.port}"
|
61
|
-
|
62
|
-
# nod = {node_name: "node1", node_ip: "10.0.0.1", node_mac: "00-03-1d-0d-4b-96", node_cm_ip: "10.0.0.101"}
|
61
|
+
command = "#{client.property.binary_path} -o -z1 -d #{client.property.hardrive} - | #{@fconf[:imagezipClientNC]} -q 0 #{client.property.ip} #{client.property.port}"
|
62
|
+
# nod = {node_name: "node1", node_ip: "10.0.0.1", node_mac: "00-03-1d-0d-4b-96", node_cm_ip: "10.0.0.101"}
|
63
63
|
summary = ''
|
64
|
+
debug "Telnet on: '#{nod[:node_ip]}'"
|
64
65
|
host = Net::Telnet.new("Host" => nod[:node_ip], "Timeout" => false)#, "Prompt" => /[\w().-]*[\$#>:.]\s?(?:\(enable\))?\s*$/)
|
66
|
+
debug "Telnet successfull"
|
67
|
+
debug "Executing command #{command.to_s}"
|
65
68
|
host.cmd(command.to_s) do |c|
|
69
|
+
print "#{c}"
|
66
70
|
# if c.to_s != "\n" && c[0,5] != "\n/usr" && c.to_s != "." && c.to_s != ".." && c.to_s != "..."
|
67
71
|
# puts '---------(' + c.to_s + ')-----------'
|
68
72
|
if c.include? 'compressed'
|
@@ -76,6 +80,7 @@ module OmfRc::ResourceProxy::ImagezipClient #Imagezip client
|
|
76
80
|
# }, :ALL)
|
77
81
|
end
|
78
82
|
end
|
83
|
+
debug "imagezip client finished"
|
79
84
|
|
80
85
|
client.inform(:status, {
|
81
86
|
status_type: 'IMAGEZIP',
|
@@ -25,13 +25,13 @@ module OmfRc::ResourceProxy::ImagezipServer #Imagezip server
|
|
25
25
|
|
26
26
|
hook :after_initial_configured do |server|
|
27
27
|
debug "Received message '#{server.opts.inspect}'"
|
28
|
-
if error_msg = server.opts.error_msg
|
29
|
-
|
30
|
-
end
|
31
|
-
if server.opts.ignore_msg
|
32
|
-
|
33
|
-
|
34
|
-
end
|
28
|
+
# if error_msg = server.opts.error_msg
|
29
|
+
# next
|
30
|
+
# end
|
31
|
+
# if server.opts.ignore_msg
|
32
|
+
# #just ignore this message, another resource controller should take care of this message
|
33
|
+
# next
|
34
|
+
# end
|
35
35
|
server.property.app_id = server.hrn.nil? ? server.uid : server.hrn
|
36
36
|
server.property.image_name = server.property.image_name.nil? ? @fconf[:imageDir] + '/' + @fconf[:defaultImage] : server.property.image_name
|
37
37
|
server.property.image_name = server.property.image_name.start_with?('/') ? server.property.image_name : @fconf[:imageDir] + '/' + server.property.image_name
|
data/lib/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nitos_testbed_rc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.pre.
|
4
|
+
version: 1.0.0.pre.12
|
5
5
|
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-12-
|
12
|
+
date: 2014-12-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: omf_common
|