rubber 2.6.2 → 2.6.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG +15 -1
- data/lib/rubber.rb +17 -2
- data/lib/rubber/cloud/aws.rb +2 -1
- data/lib/rubber/cloud/digital_ocean.rb +2 -1
- data/lib/rubber/cloud/generic.rb +2 -1
- data/lib/rubber/cloud/vsphere.rb +2 -1
- data/lib/rubber/configuration.rb +1 -1
- data/lib/rubber/environment.rb +30 -14
- data/lib/rubber/generator.rb +1 -1
- data/lib/rubber/recipes/rubber/volumes.rb +1 -1
- data/lib/rubber/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ea9c4664c7c0e3bda464394ec4629938c17d3def
|
4
|
+
data.tar.gz: 80eb42ae9aa0625382878b683fc4ec6d1f708236
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 38f7bb115c0a64ead7ba2a959bdd5c79ce92ae2239546fbd287b08a8eaf18d6bbac483e4d6ce720b0e065731bb4892df37ee49254b25bfd13f9b775787358e21
|
7
|
+
data.tar.gz: 0115c2d6b31efd08592c940265926080231d42d9284efb45e19f57cf09dcf7d8eaa6155f9b222c69c8c47b9e8acc833a1897ca2955cedbacda414784b9f872d9
|
data/CHANGELOG
CHANGED
@@ -1,3 +1,17 @@
|
|
1
|
+
2.6.3 (11/19/2013)
|
2
|
+
|
3
|
+
Improvements:
|
4
|
+
============
|
5
|
+
|
6
|
+
[core] Drastically improved the speed of repeated configuration lookups.
|
7
|
+
[core] Fixed a potential issue uploading backups to S3 if the bucket name contains the '.' character. <7ea9f39>
|
8
|
+
|
9
|
+
Bug Fixes:
|
10
|
+
=========
|
11
|
+
|
12
|
+
[core] Fixed creating EBS volumes (issue #417). <a7d47c5>
|
13
|
+
|
14
|
+
|
1
15
|
2.6.2 (11/07/2013)
|
2
16
|
|
3
17
|
Improvements:
|
@@ -19,7 +33,7 @@ Bug Fixes:
|
|
19
33
|
=========
|
20
34
|
|
21
35
|
[base] Fixed unknown method 'known_roles' when running create_staging. <44167c4>
|
22
|
-
[core] Fixed ip_address deprecation for digital ocean.
|
36
|
+
[core] Fixed ip_address deprecation for digital ocean. <62d2e90>
|
23
37
|
[core] Fixed a thread safety issue in Capistrano via a monkey-patch. <f3f9086>
|
24
38
|
|
25
39
|
|
data/lib/rubber.rb
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
$:.unshift(File.dirname(__FILE__))
|
2
2
|
|
3
|
+
require 'monitor'
|
4
|
+
|
3
5
|
module Rubber
|
6
|
+
extend MonitorMixin
|
4
7
|
|
5
8
|
def self.initialize(project_root, project_env)
|
6
9
|
return if defined?(RUBBER_ROOT) && defined?(RUBBER_ENV)
|
@@ -50,11 +53,23 @@ module Rubber
|
|
50
53
|
end
|
51
54
|
|
52
55
|
def self.config
|
53
|
-
|
56
|
+
unless @config
|
57
|
+
synchronize do
|
58
|
+
@config ||= Rubber::Configuration.rubber_env
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
@config
|
54
63
|
end
|
55
64
|
|
56
65
|
def self.instances
|
57
|
-
|
66
|
+
unless @instances
|
67
|
+
synchronize do
|
68
|
+
@instances ||= Rubber::Configuration.rubber_instances
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
@instances
|
58
73
|
end
|
59
74
|
|
60
75
|
def self.cloud(capistrano = nil)
|
data/lib/rubber/cloud/aws.rb
CHANGED
@@ -16,7 +16,8 @@ module Rubber
|
|
16
16
|
storage_credentials = {
|
17
17
|
:provider => 'AWS',
|
18
18
|
:aws_access_key_id => env.access_key,
|
19
|
-
:aws_secret_access_key => env.secret_access_key
|
19
|
+
:aws_secret_access_key => env.secret_access_key,
|
20
|
+
:path_style => true
|
20
21
|
}
|
21
22
|
|
22
23
|
@table_store = ::Fog::AWS::SimpleDB.new(compute_credentials)
|
@@ -16,7 +16,8 @@ module Rubber
|
|
16
16
|
storage_credentials = {
|
17
17
|
:provider => 'AWS',
|
18
18
|
:aws_access_key_id => env.cloud_providers.aws.access_key,
|
19
|
-
:aws_secret_access_key => env.cloud_providers.aws.secret_access_key
|
19
|
+
:aws_secret_access_key => env.cloud_providers.aws.secret_access_key,
|
20
|
+
:path_style => true
|
20
21
|
}
|
21
22
|
|
22
23
|
storage_credentials[:region] = env.cloud_providers.aws.region
|
data/lib/rubber/cloud/generic.rb
CHANGED
@@ -11,7 +11,8 @@ module Rubber
|
|
11
11
|
storage_credentials = {
|
12
12
|
:provider => 'AWS',
|
13
13
|
:aws_access_key_id => env.cloud_providers.aws.access_key,
|
14
|
-
:aws_secret_access_key => env.cloud_providers.aws.secret_access_key
|
14
|
+
:aws_secret_access_key => env.cloud_providers.aws.secret_access_key,
|
15
|
+
:path_style => true
|
15
16
|
}
|
16
17
|
storage_credentials[:region] = env.cloud_providers.aws.region
|
17
18
|
|
data/lib/rubber/cloud/vsphere.rb
CHANGED
@@ -16,7 +16,8 @@ module Rubber
|
|
16
16
|
storage_credentials = {
|
17
17
|
:provider => 'AWS',
|
18
18
|
:aws_access_key_id => env.cloud_providers.aws.access_key,
|
19
|
-
:aws_secret_access_key => env.cloud_providers.aws.secret_access_key
|
19
|
+
:aws_secret_access_key => env.cloud_providers.aws.secret_access_key,
|
20
|
+
:path_style => true
|
20
21
|
}
|
21
22
|
|
22
23
|
storage_credentials[:region] = env.cloud_providers.aws.region
|
data/lib/rubber/configuration.rb
CHANGED
@@ -21,7 +21,7 @@ module Rubber
|
|
21
21
|
raise "This convenience method needs Rubber.env to be set" unless Rubber.env
|
22
22
|
cfg = Rubber::Configuration.get_configuration(Rubber.env)
|
23
23
|
host = cfg.environment.current_host
|
24
|
-
roles = cfg.instance[host].role_names
|
24
|
+
roles = cfg.instance[host] ? cfg.instance[host].role_names : nil
|
25
25
|
cfg.environment.bind(roles, host)
|
26
26
|
end
|
27
27
|
|
data/lib/rubber/environment.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'yaml'
|
2
2
|
require 'socket'
|
3
3
|
require 'delegate'
|
4
|
+
require 'monitor'
|
4
5
|
require 'rubber/encryption'
|
5
6
|
|
6
7
|
|
@@ -120,30 +121,40 @@ module Rubber
|
|
120
121
|
else
|
121
122
|
value = new
|
122
123
|
end
|
123
|
-
|
124
|
+
|
125
|
+
value
|
124
126
|
end
|
125
127
|
|
126
128
|
class HashValueProxy < Hash
|
127
|
-
|
129
|
+
include MonitorMixin
|
130
|
+
|
131
|
+
attr_reader :global, :cache
|
128
132
|
|
129
133
|
def initialize(global, receiver)
|
130
134
|
@global = global
|
135
|
+
@cache = {}
|
131
136
|
super()
|
132
137
|
replace(receiver)
|
133
138
|
end
|
134
139
|
|
135
140
|
def rubber_instances
|
136
|
-
|
141
|
+
Rubber.instances
|
137
142
|
end
|
138
|
-
|
143
|
+
|
139
144
|
def known_roles
|
140
145
|
Rubber::Configuration.get_configuration(Rubber.env).environment.known_roles
|
141
146
|
end
|
142
147
|
|
143
148
|
def [](name)
|
144
|
-
|
145
|
-
|
146
|
-
|
149
|
+
unless cache.has_key?(name)
|
150
|
+
synchronize do
|
151
|
+
value = super(name)
|
152
|
+
value = global[name] if global && !value
|
153
|
+
cache[name] = expand(value)
|
154
|
+
end
|
155
|
+
end
|
156
|
+
|
157
|
+
cache[name]
|
147
158
|
end
|
148
159
|
|
149
160
|
def each
|
@@ -159,17 +170,18 @@ module Rubber
|
|
159
170
|
end
|
160
171
|
|
161
172
|
def method_missing(method_id)
|
162
|
-
|
163
|
-
return self[key]
|
173
|
+
self[method_id.id2name]
|
164
174
|
end
|
165
175
|
|
166
176
|
def expand_string(val)
|
167
177
|
while val =~ /\#\{[^\}]+\}/
|
168
178
|
val = eval('%Q{' + val + '}', binding, __FILE__)
|
169
179
|
end
|
180
|
+
|
170
181
|
val = true if val =="true"
|
171
182
|
val = false if val == "false"
|
172
|
-
|
183
|
+
|
184
|
+
val
|
173
185
|
end
|
174
186
|
|
175
187
|
def expand(value)
|
@@ -183,7 +195,8 @@ module Rubber
|
|
183
195
|
else
|
184
196
|
value
|
185
197
|
end
|
186
|
-
|
198
|
+
|
199
|
+
val
|
187
200
|
end
|
188
201
|
|
189
202
|
end
|
@@ -211,23 +224,26 @@ module Rubber
|
|
211
224
|
role_overrides = global.delete("roles") || {}
|
212
225
|
env_overrides = global.delete("environments") || {}
|
213
226
|
host_overrides = global.delete("hosts") || {}
|
227
|
+
|
214
228
|
Array(roles).each do |role|
|
215
229
|
Array(role_overrides[role]).each do |k, v|
|
216
230
|
global[k] = Environment.combine(global[k], v)
|
217
231
|
end
|
218
232
|
end
|
233
|
+
|
219
234
|
Array(env_overrides[env]).each do |k, v|
|
220
235
|
global[k] = Environment.combine(global[k], v)
|
221
236
|
end
|
237
|
+
|
222
238
|
Array(host_overrides[host]).each do |k, v|
|
223
239
|
global[k] = Environment.combine(global[k], v)
|
224
240
|
end
|
225
|
-
|
241
|
+
|
242
|
+
global
|
226
243
|
end
|
227
244
|
|
228
245
|
def method_missing(method_id)
|
229
|
-
|
230
|
-
return self[key]
|
246
|
+
self[method_id.id2name]
|
231
247
|
end
|
232
248
|
|
233
249
|
end
|
data/lib/rubber/generator.rb
CHANGED
@@ -132,7 +132,7 @@ namespace :rubber do
|
|
132
132
|
fi
|
133
133
|
mv /etc/fstab /etc/fstab.bak
|
134
134
|
cat /etc/fstab.bak | grep -v '#{vol_spec['mount']}' > /etc/fstab
|
135
|
-
if [ #{rubber_env.cloud_provider == 'aws'} && `lsb_release -r -s | sed 's/[.].*//'` -gt "10" ]; then
|
135
|
+
if [[ #{rubber_env.cloud_provider == 'aws'} && `lsb_release -r -s | sed 's/[.].*//'` -gt "10" ]]; then
|
136
136
|
device=`echo #{vol_spec['device']} | sed 's/sd/xvd/'`
|
137
137
|
else
|
138
138
|
device='#{vol_spec['device']}'
|
data/lib/rubber/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubber
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.6.
|
4
|
+
version: 2.6.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Conway
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-11-
|
12
|
+
date: 2013-11-19 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: capistrano
|