ironfan 4.0.4 → 4.0.5
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/CHANGELOG.md +11 -3
- data/VERSION +1 -1
- data/ironfan.gemspec +2 -2
- data/lib/ironfan/dsl/ec2.rb +7 -0
- data/lib/ironfan/dsl/volume.rb +1 -1
- data/lib/ironfan/provider/ec2/security_group.rb +9 -1
- metadata +3 -3
data/CHANGELOG.md
CHANGED
@@ -1,12 +1,20 @@
|
|
1
|
-
# v4.0.
|
1
|
+
# v4.0.5: security_group bug-fixes
|
2
|
+
* Fix for snapshot_id setting in cluster DSL
|
3
|
+
* Reinstated missing group_authorized capability
|
4
|
+
|
5
|
+
# v4.0.4: volume bug-fixes
|
6
|
+
* Made launch correctly create and tag secondary EBS volumes
|
7
|
+
* Adding some more warnings of code smells where separation of concerns has become blurry
|
8
|
+
|
9
|
+
# v4.0.3: volume bug-fixes
|
2
10
|
* Volume information should now be correctly saving to Chef nodes
|
3
11
|
* Keep flag now respected correctly for EBS root volumes
|
4
12
|
|
5
|
-
# v4.0.2:
|
13
|
+
# v4.0.2: parallelize bug-fixes
|
6
14
|
* Added Ironfan.parallelize, to run the basic cluster commands in parallel against their servers
|
7
15
|
* Make security_group range and group authorizations store only unique values
|
8
16
|
|
9
|
-
# v4.0.1:
|
17
|
+
# v4.0.1: volume bug-fixes
|
10
18
|
* Don't attempt to correlate the node volumes hash unless it's set
|
11
19
|
* RaidGroup declared by the DSL should get a name (so it can be indexed correctly)
|
12
20
|
* Volume.defaults is deprecated
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
4.0.
|
1
|
+
4.0.5
|
data/ironfan.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "ironfan"
|
8
|
-
s.version = "4.0.
|
8
|
+
s.version = "4.0.5"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Infochimps"]
|
12
|
-
s.date = "2012-09-
|
12
|
+
s.date = "2012-09-18"
|
13
13
|
s.description = "Ironfan allows you to orchestrate not just systems but clusters of machines. It includes a powerful layer on top of knife and a collection of cloud cookbooks."
|
14
14
|
s.email = "coders@infochimps.com"
|
15
15
|
s.extra_rdoc_files = [
|
data/lib/ironfan/dsl/ec2.rb
CHANGED
@@ -96,6 +96,7 @@ module Ironfan
|
|
96
96
|
|
97
97
|
class SecurityGroup < Ironfan::Dsl
|
98
98
|
field :name, String
|
99
|
+
field :group_authorized, Array, :default => []
|
99
100
|
field :group_authorized_by, Array, :default => []
|
100
101
|
field :range_authorizations, Array, :default => []
|
101
102
|
|
@@ -111,6 +112,12 @@ module Ironfan
|
|
111
112
|
group_authorized_by.compact!
|
112
113
|
group_authorized_by.uniq!
|
113
114
|
end
|
115
|
+
|
116
|
+
def authorize_group(other_name)
|
117
|
+
group_authorized << other_name.to_s
|
118
|
+
group_authorized.compact!
|
119
|
+
group_authorized.uniq!
|
120
|
+
end
|
114
121
|
end
|
115
122
|
|
116
123
|
end
|
data/lib/ironfan/dsl/volume.rb
CHANGED
@@ -57,12 +57,20 @@ module Ironfan
|
|
57
57
|
security_groups = computer.server.cloud(:ec2).security_groups.values
|
58
58
|
dsl_groups = security_groups.select do |dsl_group|
|
59
59
|
not (recall? dsl_group or recall(dsl_group.name).ensured) and \
|
60
|
-
not (dsl_group.range_authorizations +
|
60
|
+
not (dsl_group.range_authorizations +
|
61
|
+
dsl_group.group_authorized_by +
|
62
|
+
dsl_group.group_authorized).empty?
|
61
63
|
end.compact
|
62
64
|
return if dsl_groups.empty?
|
63
65
|
|
64
66
|
Ironfan.step(computer.server.cluster_name, "ensuring security group permissions", :blue)
|
65
67
|
dsl_groups.each do |dsl_group|
|
68
|
+
dsl_group.group_authorized.each do |other_group|
|
69
|
+
Ironfan.step(dsl_group.name, " ensuring access from #{other_group}", :blue)
|
70
|
+
options = {:group => "#{Ec2.aws_account_id}:#{other_group}"}
|
71
|
+
safely_authorize(dsl_group.name,1..65535,options)
|
72
|
+
end
|
73
|
+
|
66
74
|
dsl_group.group_authorized_by.each do |other_group|
|
67
75
|
Ironfan.step(dsl_group.name, " ensuring access to #{other_group}", :blue)
|
68
76
|
options = {:group => "#{Ec2.aws_account_id}:#{dsl_group.name}"}
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: ironfan
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 4.0.
|
5
|
+
version: 4.0.5
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Infochimps
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2012-09-
|
13
|
+
date: 2012-09-18 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: chef
|
@@ -232,7 +232,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
232
232
|
requirements:
|
233
233
|
- - ">="
|
234
234
|
- !ruby/object:Gem::Version
|
235
|
-
hash:
|
235
|
+
hash: 3351900580010290705
|
236
236
|
segments:
|
237
237
|
- 0
|
238
238
|
version: "0"
|