alpha_omega 0.0.51 → 0.0.52
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/alpha_omega/utils.rb +38 -16
- data/lib/alpha_omega/version.rb +1 -1
- metadata +18 -20
data/lib/alpha_omega/utils.rb
CHANGED
@@ -27,19 +27,44 @@ module AlphaOmega
|
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
30
|
-
def self.
|
30
|
+
def self.what_pods (node_home)
|
31
|
+
pods = {
|
32
|
+
"default" => {
|
33
|
+
"nodes_spec" => "#{node_home}/nodes/*.json",
|
34
|
+
"node_suffix" => ""
|
35
|
+
}
|
36
|
+
}
|
37
|
+
|
38
|
+
yield "default", pods["default"]
|
39
|
+
|
40
|
+
this_host = Socket.gethostname.chomp.split(".")[0]
|
41
|
+
this_node = JSON.load(File.read("#{node_home}/nodes/#{this_host}.json"))
|
42
|
+
(this_node["pods"] || []).each do |pod_name|
|
43
|
+
pods[pod_name] = {
|
44
|
+
"nodes_spec" => "#{node_home}/pods/#{pod_name}/*.json",
|
45
|
+
"node_suffix" => ".#{pod_name}"
|
46
|
+
}
|
47
|
+
|
48
|
+
yield pod_name, pods[pod_name]
|
49
|
+
end
|
50
|
+
|
51
|
+
pods
|
52
|
+
end
|
53
|
+
|
54
|
+
def self.what_hosts (pod)
|
31
55
|
# load all the nodes and define cap tasks
|
32
56
|
nodes = {}
|
33
57
|
|
34
|
-
Dir[
|
35
|
-
|
58
|
+
Dir[pod["node_spec"]].each do |fname|
|
59
|
+
node_name = File.basename(fname, ".json")
|
36
60
|
|
37
61
|
node = JSON.parse(IO.read(fname))
|
38
|
-
node[
|
62
|
+
node["node_name"] = node_name
|
63
|
+
node["pod_context"] = pod
|
39
64
|
|
40
|
-
nodes[
|
65
|
+
nodes[node_name] = node
|
41
66
|
|
42
|
-
yield
|
67
|
+
yield node_name, "#{node_name}#{pod["node_suffix"]}", node unless node["virtual"]
|
43
68
|
end
|
44
69
|
|
45
70
|
nodes
|
@@ -50,19 +75,16 @@ module AlphaOmega
|
|
50
75
|
# generalize groups
|
51
76
|
cap_groups = {}
|
52
77
|
|
53
|
-
nodes.each do |
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
cap_groups[g][nm_node] = node
|
59
|
-
end
|
60
|
-
end
|
78
|
+
nodes.each do |node_name, node|
|
79
|
+
remote_name = "#{node_name}#{node["pod_context"]["node_suffix"]}"
|
80
|
+
node["cap_group"].each do |g|
|
81
|
+
cap_groups[g] ||= {}
|
82
|
+
cap_groups[g][remote_name] = node
|
61
83
|
end
|
62
84
|
end
|
63
85
|
|
64
|
-
cap_groups.each do |
|
65
|
-
yield
|
86
|
+
cap_groups.each do |group_name, nodes|
|
87
|
+
yield group_name, nodes
|
66
88
|
end
|
67
89
|
|
68
90
|
cap_groups
|
data/lib/alpha_omega/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: alpha_omega
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 119
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 52
|
10
|
+
version: 0.0.52
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- David Nghiem
|
@@ -16,8 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2011-08-31 00:00:00
|
20
|
-
default_executable:
|
19
|
+
date: 2011-08-31 00:00:00 Z
|
21
20
|
dependencies:
|
22
21
|
- !ruby/object:Gem::Dependency
|
23
22
|
name: grit
|
@@ -118,28 +117,27 @@ files:
|
|
118
117
|
- README.mkd
|
119
118
|
- Procfile.rb
|
120
119
|
- libexec/compare
|
121
|
-
- libexec/deploy
|
122
|
-
- libexec/major
|
123
|
-
- libexec/patch
|
124
120
|
- libexec/rollback
|
125
121
|
- libexec/shell
|
122
|
+
- libexec/major
|
123
|
+
- libexec/patch
|
124
|
+
- libexec/deploy
|
126
125
|
- libexec/stage
|
127
|
-
- lib/alpha_omega/
|
128
|
-
- lib/alpha_omega/deploy
|
126
|
+
- lib/alpha_omega/version.rb
|
127
|
+
- lib/alpha_omega/deploy.rb
|
128
|
+
- lib/alpha_omega/utils.rb
|
129
129
|
- lib/alpha_omega/deploy/remote_dependency.rb
|
130
|
-
- lib/alpha_omega/deploy/
|
131
|
-
- lib/alpha_omega/deploy/
|
130
|
+
- lib/alpha_omega/deploy/strategy.rb
|
131
|
+
- lib/alpha_omega/deploy/dependencies.rb
|
132
132
|
- lib/alpha_omega/deploy/scm.rb
|
133
|
+
- lib/alpha_omega/deploy/strategy/remote.rb
|
133
134
|
- lib/alpha_omega/deploy/strategy/base.rb
|
134
135
|
- lib/alpha_omega/deploy/strategy/checkout.rb
|
135
|
-
- lib/alpha_omega/deploy/strategy/remote.rb
|
136
|
-
- lib/alpha_omega/deploy/strategy.rb
|
137
136
|
- lib/alpha_omega/deploy/templates/maintenance.rhtml
|
138
|
-
- lib/alpha_omega/deploy.rb
|
139
|
-
- lib/alpha_omega/
|
140
|
-
- lib/alpha_omega/
|
137
|
+
- lib/alpha_omega/deploy/local_dependency.rb
|
138
|
+
- lib/alpha_omega/deploy/scm/git.rb
|
139
|
+
- lib/alpha_omega/deploy/scm/base.rb
|
141
140
|
- bin/deploy
|
142
|
-
has_rdoc: true
|
143
141
|
homepage: https://github.com/HeSYINUvSBZfxqA/alpha_omega
|
144
142
|
licenses: []
|
145
143
|
|
@@ -169,7 +167,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
169
167
|
requirements: []
|
170
168
|
|
171
169
|
rubyforge_project:
|
172
|
-
rubygems_version: 1.
|
170
|
+
rubygems_version: 1.8.10
|
173
171
|
signing_key:
|
174
172
|
specification_version: 3
|
175
173
|
summary: alpha_omega capistrano recipes
|