ironfan 4.12.0 → 4.12.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/CHANGELOG.md +3 -0
- data/VERSION +1 -1
- data/ironfan.gemspec +2 -2
- data/lib/ironfan/dsl/cluster.rb +4 -0
- data/lib/ironfan/dsl/compute.rb +2 -0
- data/lib/ironfan/dsl/realm.rb +13 -3
- metadata +3 -3
data/CHANGELOG.md
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
4.12.
|
1
|
+
4.12.1
|
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.12.
|
8
|
+
s.version = "4.12.1"
|
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 = "2013-09-
|
12
|
+
s.date = "2013-09-26"
|
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/cluster.rb
CHANGED
@@ -9,6 +9,10 @@ module Ironfan
|
|
9
9
|
self.cluster_role Ironfan::Dsl::Role.new(:name => "#{attrs[:name]}-cluster")
|
10
10
|
end
|
11
11
|
|
12
|
+
def facet(name,attrs={},&block)
|
13
|
+
super(name,attrs.merge(cluster_names: cluster_names),&block)
|
14
|
+
end
|
15
|
+
|
12
16
|
# Utility method to reference all servers from constituent facets
|
13
17
|
def servers
|
14
18
|
result = Gorillib::ModelCollection.new(:item_type => Ironfan::Dsl::Server, :key_method => :full_name)
|
data/lib/ironfan/dsl/compute.rb
CHANGED
data/lib/ironfan/dsl/realm.rb
CHANGED
@@ -4,19 +4,29 @@ module Ironfan
|
|
4
4
|
class Realm < Ironfan::Dsl::Compute
|
5
5
|
collection :clusters, Ironfan::Dsl::Cluster, :resolver => :deep_resolve
|
6
6
|
|
7
|
+
magic :cluster_suffixes, Whatever
|
8
|
+
|
7
9
|
def initialize(attrs={},&block)
|
10
|
+
cluster_names OpenStruct.new
|
11
|
+
cluster_suffixes OpenStruct.new
|
8
12
|
super
|
9
13
|
end
|
10
14
|
|
11
15
|
def cluster(label, attrs={},&blk)
|
12
|
-
new_name = [realm_name, label].join
|
13
|
-
cluster = Ironfan::Dsl::Cluster.new(name: new_name)
|
16
|
+
new_name = [realm_name, label].join('_').to_sym
|
17
|
+
cluster = Ironfan::Dsl::Cluster.new(name: new_name, cluster_names: OpenStruct.new)
|
18
|
+
cluster_names.new_ostruct_member label
|
19
|
+
cluster_names.send "#{label}=", new_name
|
20
|
+
cluster_suffixes.new_ostruct_member label
|
21
|
+
cluster_suffixes.send "#{label}=", label
|
22
|
+
(clusters.keys.map{|k| clusters[k]} << cluster).each do |cl|
|
23
|
+
cl.cluster_names cluster_names
|
24
|
+
end
|
14
25
|
cluster.receive!(attrs, &blk)
|
15
26
|
super(new_name, cluster)
|
16
27
|
end
|
17
28
|
|
18
29
|
def realm_name() name; end
|
19
30
|
end
|
20
|
-
|
21
31
|
end
|
22
32
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ironfan
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.12.
|
4
|
+
version: 4.12.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-09-
|
12
|
+
date: 2013-09-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: chef
|
@@ -382,7 +382,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
382
382
|
version: '0'
|
383
383
|
segments:
|
384
384
|
- 0
|
385
|
-
hash:
|
385
|
+
hash: 3895515305460381618
|
386
386
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
387
387
|
none: false
|
388
388
|
requirements:
|