nitos_testbed_rc 1.0.0.pre.12 → 1.0.0.pre.13

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.
data/bin/omf6 CHANGED
@@ -102,7 +102,11 @@ def create_frisbee(comm, fcontroller, node, port, options, progress_bar)
102
102
  overall = @load_complete.values.inject(:+)
103
103
  progress_bar.count = ( overall / @nodes_up_pxe.length)
104
104
  progress_bar.write
105
- msg = client_msg.read_property("msg").split("\n")
105
+ if client_msg.read_property("msg")
106
+ msg = client_msg.read_property("msg").split("\n")
107
+ else
108
+ puts "ERROR: Frisbee client exit with no msg."
109
+ end
106
110
  @load_end_msg += "#{client_msg.read_property("node")}: #{"#{msg[0]} #{msg[1][14..29]}"}\n"
107
111
  comm.subscribe('cm_factory') do |controller|
108
112
  controller.on_message do |cm_msg|
@@ -416,8 +420,12 @@ def create_imagezip_client(comm, fcontroller, node, port, options)
416
420
  elsif client_msg.read_property("event") == "EXIT"
417
421
  stop_saving()
418
422
  puts "INFO:"
419
- client_msg.read_property("msg").split("\n").each do |line|
420
- puts "INFO: #{line}"
423
+ if client_msg.read_property("msg")
424
+ client_msg.read_property("msg").split("\n").each do |line|
425
+ puts "INFO: #{line}"
426
+ end
427
+ else
428
+ puts "ERROR: Imagezip stopped with no msg."
421
429
  end
422
430
  puts "INFO: Image was saved in '#{@frisbee[:imageDir]}/#{@image}'"
423
431
  puts "INFO:"
@@ -506,7 +514,6 @@ def save(comm, options)
506
514
  start_saving()
507
515
  puts "INFO: Starting Imagezip Server on port '#{port}'"
508
516
  create_imagezip_server(comm, fcontroller, port, options)
509
- sleep 1
510
517
  puts "INFO: Starting Imagezip Client on node '#{options[:node]}'"
511
518
  create_imagezip_client(comm, fcontroller, options[:node], port, options)
512
519
  print "INFO: Saving Image for node '#{options[:node]}'..."
@@ -1,7 +1,7 @@
1
1
  :xmpp:
2
2
  :script_user: script_user
3
3
  :password: pw
4
- :server: <% Socket.gethostname %>.inf.uth.gr
4
+ :server: <%= Socket.gethostname %>.inf.uth.gr
5
5
  :auth:
6
6
  :root_cert_dir: /etc/nitos_testbed_rc/trusted_roots
7
7
  :entity_cert: ~/.omf/user_cert.pem
@@ -58,8 +58,7 @@ module OmfRc::ResourceProxy::Frisbee #frisbee client
58
58
  client.property.app_id = client.hrn.nil? ? client.uid : client.hrn
59
59
 
60
60
  command = "#{client.property.binary_path} -i #{client.property.multicast_interface} -m #{client.property.multicast_address} -p #{client.property.port} #{client.property.hardrive}"
61
- debug "Executing command #{command}"
62
-
61
+
63
62
  output = ''
64
63
  host = Net::Telnet.new("Host" => client.property.multicast_interface.to_s, "Timeout" => 200, "Prompt" => /[\w().-]*[\$#>:.]\s?(?:\(enable\))?\s*$/)
65
64
  host.cmd(command.to_s) do |c|
@@ -3,6 +3,9 @@
3
3
  #used in save command
4
4
 
5
5
  #$domain = @config[:domain][:ip]
6
+ require 'net/telnet'
7
+ require 'socket'
8
+ require 'timeout'
6
9
 
7
10
  module OmfRc::ResourceProxy::ImagezipClient #Imagezip client
8
11
  include OmfRc::ResourceProxyDSL
@@ -29,6 +32,7 @@ module OmfRc::ResourceProxy::ImagezipClient #Imagezip client
29
32
  hook :after_initial_configured do |client|
30
33
  Thread.new do
31
34
  debug "Received message '#{client.opts.inspect}'"
35
+ sleep 1
32
36
  if error_msg = client.opts.error_msg
33
37
  res.inform(:error,{
34
38
  event_type: "AUTH",
@@ -38,58 +42,97 @@ module OmfRc::ResourceProxy::ImagezipClient #Imagezip client
38
42
  }, :ALL)
39
43
  next
40
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
-
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
45
 
58
46
  nod = client.opts.node
47
+ client.property.multicast_interface = nod[:node_ip]
59
48
  client.property.app_id = client.hrn.nil? ? client.uid : client.hrn
60
49
 
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
- summary = ''
64
- debug "Telnet on: '#{nod[:node_ip]}'"
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}"
50
+ command = "#{client.property.binary_path} -o -z1 #{client.property.hardrive} - | #{@fconf[:imagezipClientNC]} -q 0 #{client.property.ip} #{client.property.port}"
51
+ debug "Executing command #{command} - host #{client.property.multicast_interface.to_s}"
52
+ host = Net::Telnet.new("Host" => client.property.multicast_interface.to_s, "Timeout" => false, "Telnetmode" => true)
53
+
54
+ output = ''
68
55
  host.cmd(command.to_s) do |c|
69
56
  print "#{c}"
70
- # if c.to_s != "\n" && c[0,5] != "\n/usr" && c.to_s != "." && c.to_s != ".." && c.to_s != "..."
71
- # puts '---------(' + c.to_s + ')-----------'
72
57
  if c.include? 'compressed'
73
- summary = c
74
- # client.inform(:status, {
75
- # status_type: 'IMAGEZIP',
76
- # event: "STDOUT",
77
- # app: client.property.app_id,
78
- # node: client.property.node_topic,
79
- # msg: "#{c.to_s}"
80
- # }, :ALL)
58
+ output = c
81
59
  end
82
60
  end
83
- debug "imagezip client finished"
84
61
 
85
62
  client.inform(:status, {
86
- status_type: 'IMAGEZIP',
63
+ status_type: 'FRISBEE',
87
64
  event: "EXIT",
88
65
  app: client.property.app_id,
89
66
  node: client.property.node_topic,
90
- msg: summary
67
+ msg: output
91
68
  }, :ALL)
92
69
  host.close
93
70
  end
71
+
72
+ # Thread.new do
73
+ # debug "Received message '#{client.opts.inspect}'"
74
+ # sleep 2
75
+ # if error_msg = client.opts.error_msg
76
+ # res.inform(:error,{
77
+ # event_type: "AUTH",
78
+ # exit_code: "-1",
79
+ # node_name: client.property.node_topic,
80
+ # msg: error_msg
81
+ # }, :ALL)
82
+ # next
83
+ # end
84
+ # # if client.opts.ignore_msg
85
+ # # #just ignore this message, another resource controller should take care of this message
86
+ # # next
87
+ # # end
88
+
89
+ # # nod = {}
90
+ # # nod[:node_name] = client.opts.node.name
91
+ # # client.opts.node.interfaces.each do |i|
92
+ # # if i[:role] == "control"
93
+ # # nod[:node_ip] = i[:ip][:address]
94
+ # # nod[:node_mac] = i[:mac]
95
+ # # elsif i[:role] == "cm_network"
96
+ # # nod[:node_cm_ip] = i[:ip][:address]
97
+ # # end
98
+ # # end
99
+ # # nod[:node_cm_ip] = client.opts.node.cmc.ip.address
100
+
101
+ # nod = client.opts.node
102
+ # client.property.app_id = client.hrn.nil? ? client.uid : client.hrn
103
+
104
+ # command = "#{client.property.binary_path} -o -z1 -d -d #{client.property.hardrive} - | #{@fconf[:imagezipClientNC]} -q 0 #{client.property.ip} #{client.property.port}"
105
+ # # 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"}
106
+ # summary = ''
107
+ # debug "Telnet on: '#{nod[:node_ip]}'"
108
+ # host = Net::Telnet.new("Host" => nod[:node_ip], "Timeout" => 200, "Prompt" => /[\w().-]*[\$#>:.]\s?(?:\(enable\))?\s*$/)#, "Prompt" => /[\w().-]*[\$#>:.]\s?(?:\(enable\))?\s*$/)
109
+ # debug "Telnet successfull"
110
+ # debug "Executing command #{command.to_s}"
111
+ # host.cmd(command.to_s) do |c|
112
+ # print "#{c}"
113
+ # # if c.to_s != "\n" && c[0,5] != "\n/usr" && c.to_s != "." && c.to_s != ".." && c.to_s != "..."
114
+ # # puts '---------(' + c.to_s + ')-----------'
115
+ # if c.include? 'compressed'
116
+ # summary = c
117
+ # # client.inform(:status, {
118
+ # # status_type: 'IMAGEZIP',
119
+ # # event: "STDOUT",
120
+ # # app: client.property.app_id,
121
+ # # node: client.property.node_topic,
122
+ # # msg: "#{c.to_s}"
123
+ # # }, :ALL)
124
+ # end
125
+ # end
126
+ # debug "imagezip client finished"
127
+
128
+ # client.inform(:status, {
129
+ # status_type: 'IMAGEZIP',
130
+ # event: "EXIT",
131
+ # app: client.property.app_id,
132
+ # node: client.property.node_topic,
133
+ # msg: summary
134
+ # }, :ALL)
135
+ # host.close
136
+ # end
94
137
  end
95
138
  end
data/lib/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module NITOS
2
2
  module TestbedRc
3
- VERSION = "1.0.0.pre.12"
3
+ VERSION = "1.0.0.pre.13"
4
4
  end
5
5
  end
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.12
4
+ version: 1.0.0.pre.13
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-11 00:00:00.000000000 Z
12
+ date: 2014-12-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: omf_common