rubber 2.6.2 → 2.6.3
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.
- 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
|