cap-rightscale 0.2.6 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/cap-rightscale.gemspec +1 -1
- data/lib/cap-rightscale/configuration/rightscale.rb +27 -34
- metadata +4 -4
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.3.0
|
data/cap-rightscale.gemspec
CHANGED
@@ -76,25 +76,13 @@ start = Time.now
|
|
76
76
|
|
77
77
|
host_list = get_rs_instance.__send__(:array_instances, array.id).select {|i| i[:state] == "operational"}.map do |instance|
|
78
78
|
hostname = instance[:nickname].sub(/ #[0-9]+$/, "-%03d" % instance[:nickname].match(/[0-9]+$/).to_s.to_i)
|
79
|
-
hostname << ".#{_domain}" if _domain
|
79
|
+
hostname << ".#{_domain}" if _domain && hostname.match(/#{_domain}/).nil?
|
80
80
|
ip = use_public_ip ? instance[:ip_address] : instance[:private_ip_address]
|
81
81
|
|
82
82
|
logger.info("Found server: #{hostname}(#{ip})")
|
83
83
|
use_nickname ? hostname : ip
|
84
84
|
end
|
85
|
-
|
86
|
-
if validate_echo
|
87
|
-
threads = []
|
88
|
-
host_list.each do |host|
|
89
|
-
puts host
|
90
|
-
threads << Thread.new {Ping.pingecho(host)}
|
91
|
-
end
|
92
|
-
threads.each.with_index do |t,i|
|
93
|
-
host_list[i] = nil if t.value == false
|
94
|
-
end
|
95
|
-
threads.clear
|
96
|
-
host_list.delete(nil)
|
97
|
-
end
|
85
|
+
host_list = _valid_echo(host_list) if validate_echo
|
98
86
|
|
99
87
|
if host_list && host_list.size > 0
|
100
88
|
role(role, params) { host_list }
|
@@ -138,30 +126,18 @@ start = Time.now
|
|
138
126
|
# Request RightScale API
|
139
127
|
dept = get_rs_instance.__send__(:deployment, _dept_id, :server_settings => 'true')
|
140
128
|
logger.info("querying rightscale for servers #{_name_prefix} in deployment #{dept.nickname}...")
|
141
|
-
|
142
|
-
srvs = dept.servers
|
129
|
+
srvs = dept.servers.select {|s| s[:state] == "operational"}
|
143
130
|
srvs = srvs.select {|s| /#{_name_prefix}/ =~ s[:nickname]} if _name_prefix
|
144
131
|
|
145
132
|
host_list = srvs.map do |server|
|
146
133
|
hostname = server[:nickname]
|
147
|
-
hostname << ".#{_domain}" if _domain
|
134
|
+
hostname << ".#{_domain}" if _domain && hostname.match(/#{_domain}/).nil?
|
148
135
|
ip = use_public_ip ? server[:settings][:ip_address] : server[:settings][:private_ip_address]
|
149
136
|
|
150
137
|
logger.info("Found server: #{hostname}(#{ip})")
|
151
138
|
use_nickname ? hostname : ip
|
152
139
|
end
|
153
|
-
|
154
|
-
if validate_echo
|
155
|
-
threads = []
|
156
|
-
host_list.each do |host|
|
157
|
-
threads << Thread.new {Ping.pingecho(host)}
|
158
|
-
end
|
159
|
-
threads.each.with_index do |t,i|
|
160
|
-
host_list[i] = nil unless t.value
|
161
|
-
end
|
162
|
-
threads.clear
|
163
|
-
host_list.delete(nil)
|
164
|
-
end
|
140
|
+
host_list = _valid_echo(host_list) if validate_echo
|
165
141
|
|
166
142
|
if host_list && host_list.size > 0
|
167
143
|
role(role, params) { host_list }
|
@@ -221,16 +197,13 @@ start = Time.now
|
|
221
197
|
if found_ids.size > 0
|
222
198
|
host_list = srvs.select {|s| found_ids.include?(s[:href].match(/[0-9]+$/).to_s)}.map do |server|
|
223
199
|
hostname = server[:nickname]
|
224
|
-
hostname << ".#{_domain}" if _domain
|
200
|
+
hostname << ".#{_domain}" if _domain && hostname.match(/#{_domain}/).nil?
|
225
201
|
ip = use_public_ip ? server[:settings][:ip_address] : server[:settings][:private_ip_address]
|
226
|
-
if validate_echo
|
227
|
-
next unless Ping.pingecho(ip)
|
228
|
-
end
|
229
202
|
|
230
203
|
logger.info("Found server: #{hostname}(#{ip})")
|
231
204
|
use_nickname ? hostname : ip
|
232
205
|
end
|
233
|
-
host_list
|
206
|
+
host_list = _valid_echo(host_list) if validate_echo
|
234
207
|
end
|
235
208
|
|
236
209
|
if host_list && host_list.size > 0
|
@@ -301,6 +274,26 @@ puts "Time: #{Time.now - start}"
|
|
301
274
|
end
|
302
275
|
end
|
303
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
|
+
|
304
297
|
def validate_echo
|
305
298
|
@validate_echo ||= false
|
306
299
|
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: 19
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 0.
|
8
|
+
- 3
|
9
|
+
- 0
|
10
|
+
version: 0.3.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Satoshi Ohki
|