CloudyScripts 1.9.40 → 1.9.41
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/Rakefile +1 -1
- data/lib/scripts/ec2/open_port_checker.rb +26 -24
- metadata +15 -4
data/Rakefile
CHANGED
@@ -12,7 +12,7 @@ require 'rake/testtask'
|
|
12
12
|
|
13
13
|
spec = Gem::Specification.new do |s|
|
14
14
|
s.name = 'CloudyScripts'
|
15
|
-
s.version = '1.9.
|
15
|
+
s.version = '1.9.41'
|
16
16
|
s.has_rdoc = true
|
17
17
|
s.extra_rdoc_files = ['README.rdoc', 'LICENSE']
|
18
18
|
s.summary = 'Scripts to facilitate programming for infrastructure clouds.'
|
@@ -63,31 +63,33 @@ class OpenPortChecker < Ec2Script
|
|
63
63
|
def enter
|
64
64
|
@context[:result][:port_checks] = []
|
65
65
|
ec2_helper = Ec2Helper.new(@context[:ec2_api_handler])
|
66
|
-
@context[:ec2_instances]['reservationSet']
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
66
|
+
unless @context[:ec2_instances]['reservationSet'] == nil
|
67
|
+
@context[:ec2_instances]['reservationSet']['item'].each() do |instance_info|
|
68
|
+
instance_id = ec2_helper.get_instance_id(instance_info)
|
69
|
+
@logger.debug("instance_info = #{instance_info.inspect}")
|
70
|
+
instance_ip = ec2_helper.get_instance_prop(instance_info, 'dnsName')
|
71
|
+
instance_state = ec2_helper.get_instance_prop(instance_info, 'instanceState')['name']
|
72
|
+
if instance_state != "running"
|
73
|
+
post_message("ignore instance #{instance_id} since not running")
|
74
|
+
next
|
75
|
+
end
|
76
|
+
sec_groups = ec2_helper.lookup_security_group_names(instance_info)
|
77
|
+
@logger.debug("group lookup for #{instance_id} => #{sec_groups.inspect}")
|
78
|
+
sec_groups.each() do |group_name|
|
79
|
+
port_infos = ec2_helper.lookup_open_ports(group_name, @context[:security_groups])
|
80
|
+
@logger.debug("port_infos for group #{group_name} #{port_infos.inspect}")
|
81
|
+
port_infos.each() do |port_info|
|
82
|
+
result = false
|
83
|
+
begin
|
84
|
+
result = @context[:remote_command_handler].is_port_open?(instance_ip, port_info[:port])
|
85
|
+
post_message("check port #{port_info[:port]} for instance #{instance_id} (on #{instance_ip}) #{result ? "successful" : "failed"}")
|
86
|
+
rescue Exception => e
|
87
|
+
@logger.warn("exception during executing port check: #{e}")
|
88
|
+
end
|
89
|
+
@context[:result][:port_checks] << {:instance => instance_id, :protocol => port_info[:protocol],
|
90
|
+
:port => port_info[:port], :success => result, :group_name => group_name
|
91
|
+
}
|
87
92
|
end
|
88
|
-
@context[:result][:port_checks] << {:instance => instance_id, :protocol => port_info[:protocol],
|
89
|
-
:port => port_info[:port], :success => result, :group_name => group_name
|
90
|
-
}
|
91
93
|
end
|
92
94
|
end
|
93
95
|
end
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: CloudyScripts
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 97
|
4
5
|
prerelease: false
|
5
6
|
segments:
|
6
7
|
- 1
|
7
8
|
- 9
|
8
|
-
-
|
9
|
-
version: 1.9.
|
9
|
+
- 41
|
10
|
+
version: 1.9.41
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Matthias Jung
|
@@ -14,16 +15,18 @@ autorequire:
|
|
14
15
|
bindir: bin
|
15
16
|
cert_chain: []
|
16
17
|
|
17
|
-
date: 2011-
|
18
|
+
date: 2011-09-01 00:00:00 +02:00
|
18
19
|
default_executable:
|
19
20
|
dependencies:
|
20
21
|
- !ruby/object:Gem::Dependency
|
21
22
|
name: amazon-ec2
|
22
23
|
prerelease: false
|
23
24
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
24
26
|
requirements:
|
25
27
|
- - ">="
|
26
28
|
- !ruby/object:Gem::Version
|
29
|
+
hash: 3
|
27
30
|
segments:
|
28
31
|
- 0
|
29
32
|
version: "0"
|
@@ -33,9 +36,11 @@ dependencies:
|
|
33
36
|
name: net-ssh
|
34
37
|
prerelease: false
|
35
38
|
requirement: &id002 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
36
40
|
requirements:
|
37
41
|
- - ">="
|
38
42
|
- !ruby/object:Gem::Version
|
43
|
+
hash: 3
|
39
44
|
segments:
|
40
45
|
- 0
|
41
46
|
version: "0"
|
@@ -45,9 +50,11 @@ dependencies:
|
|
45
50
|
name: net-scp
|
46
51
|
prerelease: false
|
47
52
|
requirement: &id003 !ruby/object:Gem::Requirement
|
53
|
+
none: false
|
48
54
|
requirements:
|
49
55
|
- - ">="
|
50
56
|
- !ruby/object:Gem::Version
|
57
|
+
hash: 3
|
51
58
|
segments:
|
52
59
|
- 0
|
53
60
|
version: "0"
|
@@ -270,23 +277,27 @@ rdoc_options: []
|
|
270
277
|
require_paths:
|
271
278
|
- lib
|
272
279
|
required_ruby_version: !ruby/object:Gem::Requirement
|
280
|
+
none: false
|
273
281
|
requirements:
|
274
282
|
- - ">="
|
275
283
|
- !ruby/object:Gem::Version
|
284
|
+
hash: 3
|
276
285
|
segments:
|
277
286
|
- 0
|
278
287
|
version: "0"
|
279
288
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
289
|
+
none: false
|
280
290
|
requirements:
|
281
291
|
- - ">="
|
282
292
|
- !ruby/object:Gem::Version
|
293
|
+
hash: 3
|
283
294
|
segments:
|
284
295
|
- 0
|
285
296
|
version: "0"
|
286
297
|
requirements: []
|
287
298
|
|
288
299
|
rubyforge_project: cloudyscripts
|
289
|
-
rubygems_version: 1.3.
|
300
|
+
rubygems_version: 1.3.7
|
290
301
|
signing_key:
|
291
302
|
specification_version: 3
|
292
303
|
summary: Scripts to facilitate programming for infrastructure clouds.
|