cap-rightscale 0.3.0 → 0.3.1
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/VERSION +1 -1
- data/cap-rightscale.gemspec +1 -1
- data/lib/cap-rightscale/configuration/rightscale.rb +4 -24
- data/lib/cap-rightscale/utils/rs_utils.rb +34 -10
- metadata +3 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.1
|
data/cap-rightscale.gemspec
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'cap-rightscale/utils/rs_utils.rb'
|
2
2
|
require 'cap-rightscale/configuration/rightscale/resource'
|
3
|
+
require 'cap-rightscale/configuration/rightscale/variable'
|
3
4
|
require 'ping'
|
4
5
|
require 'thread'
|
5
6
|
|
@@ -58,7 +59,6 @@ start = Time.now
|
|
58
59
|
|
59
60
|
# Set rightscale's parameters
|
60
61
|
_array_id = params[:array_id]
|
61
|
-
|
62
62
|
params.delete(:array_id) # remove rightscale's parameters
|
63
63
|
|
64
64
|
host_list = use_rs_cache ? get_server_cache(role) : [] # Get cache
|
@@ -82,7 +82,7 @@ start = Time.now
|
|
82
82
|
logger.info("Found server: #{hostname}(#{ip})")
|
83
83
|
use_nickname ? hostname : ip
|
84
84
|
end
|
85
|
-
host_list =
|
85
|
+
host_list = RSUtils.valid_echo(host_list) if validate_echo
|
86
86
|
|
87
87
|
if host_list && host_list.size > 0
|
88
88
|
role(role, params) { host_list }
|
@@ -137,7 +137,7 @@ start = Time.now
|
|
137
137
|
logger.info("Found server: #{hostname}(#{ip})")
|
138
138
|
use_nickname ? hostname : ip
|
139
139
|
end
|
140
|
-
host_list =
|
140
|
+
host_list = RSUtils.valid_echo(host_list) if validate_echo
|
141
141
|
|
142
142
|
if host_list && host_list.size > 0
|
143
143
|
role(role, params) { host_list }
|
@@ -203,7 +203,7 @@ start = Time.now
|
|
203
203
|
logger.info("Found server: #{hostname}(#{ip})")
|
204
204
|
use_nickname ? hostname : ip
|
205
205
|
end
|
206
|
-
host_list =
|
206
|
+
host_list = RSUtils.valid_echo(host_list) if validate_echo
|
207
207
|
end
|
208
208
|
|
209
209
|
if host_list && host_list.size > 0
|
@@ -274,26 +274,6 @@ puts "Time: #{Time.now - start}"
|
|
274
274
|
end
|
275
275
|
end
|
276
276
|
|
277
|
-
def _valid_echo(host_list)
|
278
|
-
hosts = host_list
|
279
|
-
threads = []
|
280
|
-
hosts.each do |host|
|
281
|
-
threads << Thread.new {Ping.pingecho(host)}
|
282
|
-
end
|
283
|
-
threads.each_with_index do |t,i|
|
284
|
-
unless t.value
|
285
|
-
logger.info("Server dead: #{hosts[i]}")
|
286
|
-
hosts[i] = nil
|
287
|
-
else
|
288
|
-
logger.info("Server alive: #{hosts[i]}")
|
289
|
-
end
|
290
|
-
end
|
291
|
-
hosts.delete(nil)
|
292
|
-
threads.clear
|
293
|
-
|
294
|
-
hosts
|
295
|
-
end
|
296
|
-
|
297
277
|
def validate_echo
|
298
278
|
@validate_echo ||= false
|
299
279
|
end
|
@@ -1,13 +1,37 @@
|
|
1
|
+
require 'ping'
|
2
|
+
require 'thread'
|
3
|
+
|
1
4
|
class RSUtils
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
5
|
+
class << self
|
6
|
+
def mk_rs_cache_dir(prefix=nil)
|
7
|
+
tmpdir = Dir.tmpdir
|
8
|
+
_prefix = prefix || "cap-rightscale"
|
9
|
+
begin
|
10
|
+
path = "#{tmpdir}/#{_prefix}-#{ENV['USER']}-#{rand(0x100000000).to_s(36)}"
|
11
|
+
Dir.mkdir(path, 0700)
|
12
|
+
rescue Errno::EEXIST
|
13
|
+
logger.warn(e)
|
14
|
+
exit(1)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def valid_echo(host_list)
|
19
|
+
hosts = host_list
|
20
|
+
threads = []
|
21
|
+
hosts.each do |host|
|
22
|
+
threads << Thread.new {Ping.pingecho(host)}
|
23
|
+
end
|
24
|
+
threads.each_with_index do |t,i|
|
25
|
+
unless t.value
|
26
|
+
logger.info("Server dead: #{hosts[i]}")
|
27
|
+
hosts[i] = nil
|
28
|
+
else
|
29
|
+
logger.info("Server alive: #{hosts[i]}")
|
30
|
+
end
|
31
|
+
end
|
32
|
+
hosts.delete(nil)
|
33
|
+
threads.clear
|
34
|
+
|
35
|
+
hosts
|
11
36
|
end
|
12
|
-
end
|
13
37
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cap-rightscale
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 17
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 3
|
9
|
-
-
|
10
|
-
version: 0.3.
|
9
|
+
- 1
|
10
|
+
version: 0.3.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Satoshi Ohki
|