nitos_testbed_rc 2.0.4 → 2.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZTZiYmVkMDBiZDFjNzI0NTIwZDNkMjk2Yjg4ODJjOTU3NzhkODc5Mg==
4
+ MDg1M2ZkMDhiZDYzNjljNWNjNjQyMjBjMTc3MTcxMmE4ODMxODVkOA==
5
5
  data.tar.gz: !binary |-
6
- MzEwNTRlODAwYzc3NmYwZWFhNmI2ZDg1NzlmNzVkMzNiODg0ZTgxOQ==
6
+ MmI4ODcxNmQzZjM5ZGMyZDk1OWQxZjE0YTM4ZjY1NTgwNDhlODA4MA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- YmFlNzgyNGQzOGMzZjE5YjMxMWJlZmQxMjYwOTY0OGFiZDc1OTQ2N2ViNmVm
10
- Yzk5YzNjYzUyYmE2YzkyMTQxYzdjMDZjMmY2NjRmZWFlMzQzYWMxODY5YzY5
11
- Y2QxMzZiNjQyOWM0N2ZmOThkNjQ3NWI1MTZmMjY0YTA0MmNiYmI=
9
+ ZGMyNjhkNzExNGRjMDUyZmY0ODA2ZTFiMzgwNDEzZDg0OGU0ZjZmMWQ4OTUw
10
+ OGI4NjNiZTc5MWE1OGNjOTUzMzA5OWI4NjY5MTQ1ZTJlYmEzZWNmNjljNTZk
11
+ ZGU2YTFkZjRkNWMxOTU1NTdjZGJiZjc4NDQ1YmJiYjAxZjBhMTM=
12
12
  data.tar.gz: !binary |-
13
- NDFhNTNjYWY4NDFiOGNmNjdiN2U4MGViYjRlYmFjYzM1YzgxN2E5MGMxYzVk
14
- ODk5ZDQ4OTA5NDkyMmVlNmU4ZWY5MDMxM2U0YzE1ODUzMWQzNzM3MGVhZGI4
15
- YTM4MzI1YmRhYWIyNGI0ZmY2Y2U2MDAzMjVhZWExMzJhMDg2YjU=
13
+ MTA2OTc3MmVkMmVhNmMyMjg2NDUxNzBmYWQzMjY1ZjgzM2QxOTVkYjVjMDMw
14
+ NWU4OWE4YTExOTliMjJjOGE5NjQwYzllODQ4MWMzNmYzOWNkZDYwNjliYTlk
15
+ YTg2YTI1ODY4N2EzNjhjMWU3NGEzODU4MGQ3Mzk0YjYxZTAzZTM=
data/bin/cm_proxy CHANGED
@@ -57,7 +57,11 @@ class CmPDP
57
57
  node_name = msg.properties.respond_to?(:state) ? msg.properties.state.node : msg.properties[:state][:node]
58
58
  broker = @config[:broker_url]
59
59
 
60
- uri = URI.parse("#{broker}/resources/nodes?name=#{node_name}")
60
+ if node_name.start_with?('e_node_b')
61
+ uri = URI.parse("#{broker}/resources/lte?name=#{node_name}")
62
+ else
63
+ uri = URI.parse("#{broker}/resources/nodes?name=#{node_name}")
64
+ end
61
65
  http = Net::HTTP.new(uri.host, uri.port)
62
66
  http.use_ssl = true
63
67
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
@@ -93,15 +97,20 @@ class CmPDP
93
97
 
94
98
  nod = {}
95
99
  nod[:node_name] = node[:name]
96
- node[:interfaces].each do |i|
97
- if i[:role] == "control"
98
- nod[:node_ip] = i[:ips].first[:address]
99
- nod[:node_mac] = i[:mac]
100
- elsif i[:role] == "cm_network"
101
- nod[:node_cm_ip] = i[:ip][:address]
100
+ if !node[:interfaces].nil? && !node[:interfaces].empty?
101
+ node[:interfaces].each do |i|
102
+ if i[:role] == "control"
103
+ nod[:node_ip] = i[:ips].first[:address]
104
+ nod[:node_mac] = i[:mac]
105
+ elsif i[:role] == "cm_network"
106
+ nod[:node_cm_ip] = i[:ip][:address]
107
+ end
102
108
  end
109
+ elsif !node[:control_ip].nil? || !node[:control_ip].empty?
110
+ nod[:node_ip] = node[:control_ip][:address]
111
+ nod[:node_mac] = ''
103
112
  end
104
- nod[:node_cm_ip] = node[:cmc][:ip][:address]
113
+ nod[:node_cm_ip] = node[:cmc][:ip][:address] if node[:cmc]
105
114
 
106
115
  if acc == 'root'
107
116
  debug "AUTH PASSED (root account)"
@@ -137,6 +137,7 @@ module OmfRc::ResourceProxy::CM
137
137
  end
138
138
  begin
139
139
  debug "Shutting down node '#{node[:node_name]}' through ssh."
140
+ raise "lte" if node[:name].start_with("e_node_b")
140
141
  ssh = Net::SSH.start(node[:node_ip], 'root')#, :password => @password)
141
142
  resp = ssh.exec!(SHUTDOWN_CMD)
142
143
  ssh.close
@@ -66,6 +66,7 @@ module OmfRc::ResourceProxy::Frisbee #frisbee client
66
66
  host = Net::Telnet.new("Host" => client.property.multicast_interface.to_s, "Timeout" => 200, "Prompt" => /[\w().-]*[\$#>:.]\s?(?:\(enable\))?\s*$/)
67
67
  while retry_flag < 2
68
68
  host.cmd(command.to_s) do |c|
69
+ puts "$ #{c}"
69
70
  if c[0,8] == "Progress"
70
71
  c = c.split[1]
71
72
  client.inform(:status, {
@@ -29,8 +29,11 @@ module OmfRc::ResourceProxy::FrisbeeFactory
29
29
  def port_open?(port, seconds=1)
30
30
  Timeout::timeout(seconds) do
31
31
  begin
32
- TCPServer.new('localhost', port) rescue return false
32
+ serv = TCPServer.new('localhost', port)
33
+ serv.close
33
34
  return true
35
+ rescue
36
+ return false
34
37
  end
35
38
  end
36
39
  rescue Timeout::Error
@@ -53,14 +53,16 @@ module OmfRc::ResourceProxy::Frisbeed
53
53
  end
54
54
  debug "Frisbee server is loading image: #{server.property.image}"
55
55
 
56
- @app = ExecApp.new(server.property.app_id, server.build_command_line, server.property.map_err_to_out) do |event_type, app_id, msg|
56
+ @app = {} if @app.nil?
57
+
58
+ @app[server.uid] = ExecApp.new(server.property.app_id, server.build_command_line, server.property.map_err_to_out) do |event_type, app_id, msg|
57
59
  server.process_event(server, event_type, app_id, msg)
58
60
  end
59
61
  end
60
62
 
61
63
  hook :before_release do |server|
62
64
  begin
63
- @app.signal(signal = 'KILL') unless @app.nil?
65
+ @app[server.uid].signal(signal = 'KILL') unless @app.nil?
64
66
  rescue Exception => e
65
67
  raise e unless e.message == "No such process"
66
68
  ensure
@@ -23,6 +23,8 @@ module OmfRc::ResourceProxy::ImagezipServer #Imagezip server
23
23
  property :port
24
24
  property :image_name, :default => @fconf[:imageDir] + '/new_image.ndz'
25
25
 
26
+ property :app, :default => nil
27
+
26
28
  hook :after_initial_configured do |server|
27
29
  debug "Received message '#{server.opts.inspect}'"
28
30
  # if error_msg = server.opts.error_msg
@@ -36,13 +38,21 @@ module OmfRc::ResourceProxy::ImagezipServer #Imagezip server
36
38
  server.property.image_name = server.property.image_name.nil? ? @fconf[:imageDir] + '/' + @fconf[:defaultImage] : server.property.image_name
37
39
  server.property.image_name = server.property.image_name.start_with?('/') ? server.property.image_name : @fconf[:imageDir] + '/' + server.property.image_name
38
40
 
39
- @app = ExecApp.new(server.property.app_id, server.build_command_line, server.property.map_err_to_out) do |event_type, app_id, msg|
41
+ @app = {} if @app.nil?
42
+
43
+ @app[server.uid] = ExecApp.new(server.property.app_id, server.build_command_line, server.property.map_err_to_out) do |event_type, app_id, msg|
40
44
  server.process_event(server, event_type, app_id, msg)
41
45
  end
42
46
  end
43
47
 
44
48
  hook :before_release do |server|
45
- $ports.delete_if {|x| x == server.property.port} #ports is in frisbee_factory
49
+ begin
50
+ @app[server.uid].signal(signal = 'KILL') unless @app[server.uid].nil?
51
+ rescue Exception => e
52
+ raise e unless e.message == "No such process"
53
+ ensure
54
+ $ports.delete_if {|x| x == server.property.port}
55
+ end
46
56
  end
47
57
 
48
58
  def process_event(res, event_type, app_id, msg)
data/lib/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module NITOS
2
2
  module TestbedRc
3
- VERSION = "2.0.4"
3
+ VERSION = "2.0.5"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nitos_testbed_rc
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.4
4
+ version: 2.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - NITOS
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-07 00:00:00.000000000 Z
11
+ date: 2016-07-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: omf_common