ridley 0.12.3 → 0.12.4
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/Gemfile +1 -1
- data/lib/ridley.rb +1 -0
- data/lib/ridley/client.rb +6 -4
- data/lib/ridley/connection.rb +4 -3
- data/lib/ridley/host_connector/winrm/worker.rb +7 -5
- data/lib/ridley/middleware/parse_json.rb +1 -3
- data/lib/ridley/resources/data_bag_resource.rb +7 -3
- data/lib/ridley/resources/sandbox_resource.rb +5 -3
- data/lib/ridley/version.rb +1 -1
- data/ridley.gemspec +1 -0
- data/spec/unit/ridley/middleware/chef_response_spec.rb +5 -5
- metadata +19 -3
data/Gemfile
CHANGED
data/lib/ridley.rb
CHANGED
data/lib/ridley/client.rb
CHANGED
@@ -67,10 +67,7 @@ module Ridley
|
|
67
67
|
include Celluloid
|
68
68
|
include Ridley::Logging
|
69
69
|
|
70
|
-
finalizer
|
71
|
-
@connection_supervisor.terminate if @connection_supervisor && @connection_supervisor.alive?
|
72
|
-
@resources_supervisor.terminate if @resources_supervisor && @resources_supervisor.alive?
|
73
|
-
end
|
70
|
+
finalizer :finalize_callback
|
74
71
|
|
75
72
|
def_delegator :connection, :build_url
|
76
73
|
def_delegator :connection, :scheme
|
@@ -251,5 +248,10 @@ module Ridley
|
|
251
248
|
def connection
|
252
249
|
@connection_registry[:connection_pool]
|
253
250
|
end
|
251
|
+
|
252
|
+
def finalize_callback
|
253
|
+
@connection_supervisor.terminate if @connection_supervisor && @connection_supervisor.alive?
|
254
|
+
@resources_supervisor.terminate if @resources_supervisor && @resources_supervisor.alive?
|
255
|
+
end
|
254
256
|
end
|
255
257
|
end
|
data/lib/ridley/connection.rb
CHANGED
@@ -48,8 +48,6 @@ module Ridley
|
|
48
48
|
@retry_interval = options[:retry_interval]
|
49
49
|
|
50
50
|
options[:builder] = Faraday::Builder.new do |b|
|
51
|
-
b.response :json
|
52
|
-
b.response :gzip
|
53
51
|
b.request :retry,
|
54
52
|
max: @retries,
|
55
53
|
interval: @retry_interval,
|
@@ -58,9 +56,12 @@ module Ridley
|
|
58
56
|
Errno::ETIMEDOUT,
|
59
57
|
Faraday::Error::TimeoutError
|
60
58
|
]
|
61
|
-
b.response :chef_response
|
62
59
|
b.request :chef_auth, client_name, client_key
|
63
60
|
|
61
|
+
b.response :parse_json
|
62
|
+
b.response :gzip
|
63
|
+
b.response :chef_response
|
64
|
+
|
64
65
|
b.adapter :net_http_persistent
|
65
66
|
end
|
66
67
|
|
@@ -22,7 +22,7 @@ module Ridley
|
|
22
22
|
# @return [Array]
|
23
23
|
attr_reader :command_uploaders
|
24
24
|
|
25
|
-
finalizer :
|
25
|
+
finalizer :finalize_callback
|
26
26
|
|
27
27
|
EMBEDDED_RUBY_PATH = 'C:\opscode\chef\embedded\bin\ruby'.freeze
|
28
28
|
|
@@ -42,10 +42,6 @@ module Ridley
|
|
42
42
|
@command_uploaders = Array.new
|
43
43
|
end
|
44
44
|
|
45
|
-
def finalizer
|
46
|
-
command_uploaders.map(&:cleanup)
|
47
|
-
end
|
48
|
-
|
49
45
|
def run(command)
|
50
46
|
response = Ridley::HostConnector::Response.new(host)
|
51
47
|
command_uploaders << command_uploader = CommandUploader.new(winrm)
|
@@ -151,6 +147,12 @@ module Ridley
|
|
151
147
|
command = "#{EMBEDDED_RUBY_PATH} -e \"#{command_lines.join(';')}\""
|
152
148
|
run(command)
|
153
149
|
end
|
150
|
+
|
151
|
+
private
|
152
|
+
|
153
|
+
def finalize_callback
|
154
|
+
command_uploaders.map(&:cleanup)
|
155
|
+
end
|
154
156
|
end
|
155
157
|
end
|
156
158
|
end
|
@@ -96,8 +96,6 @@ module Ridley
|
|
96
96
|
end
|
97
97
|
|
98
98
|
def on_complete(env)
|
99
|
-
log.debug(env)
|
100
|
-
|
101
99
|
if self.class.json_response?(env)
|
102
100
|
log.debug { "==> parsing Chef response body as JSON" }
|
103
101
|
env[:body] = self.class.parse(env[:body])
|
@@ -109,4 +107,4 @@ module Ridley
|
|
109
107
|
end
|
110
108
|
end
|
111
109
|
|
112
|
-
Faraday.register_middleware(:response,
|
110
|
+
Faraday.register_middleware(:response, parse_json: Ridley::Middleware::ParseJson)
|
@@ -8,9 +8,7 @@ module Ridley
|
|
8
8
|
|
9
9
|
attr_reader :item_resource
|
10
10
|
|
11
|
-
finalizer
|
12
|
-
item_resource.terminate if item_resource && item_resource.alive?
|
13
|
-
end
|
11
|
+
finalizer :finalize_callback
|
14
12
|
|
15
13
|
# @param [Celluloid::Registry] connection_registry
|
16
14
|
# @param [String] data_bag_secret
|
@@ -30,5 +28,11 @@ module Ridley
|
|
30
28
|
return nil if ex.cause.is_a?(Errors::HTTPNotFound)
|
31
29
|
abort(ex.cause)
|
32
30
|
end
|
31
|
+
|
32
|
+
private
|
33
|
+
|
34
|
+
def finalize_callback
|
35
|
+
item_resource.terminate if item_resource && item_resource.alive?
|
36
|
+
end
|
33
37
|
end
|
34
38
|
end
|
@@ -4,9 +4,7 @@ module Ridley
|
|
4
4
|
set_resource_path "sandboxes"
|
5
5
|
represented_by Ridley::SandboxObject
|
6
6
|
|
7
|
-
finalizer
|
8
|
-
uploader.terminate if uploader && uploader.alive?
|
9
|
-
end
|
7
|
+
finalizer :finalize_callback
|
10
8
|
|
11
9
|
def initialize(connection_registry, client_name, client_key, options = {})
|
12
10
|
super(connection_registry)
|
@@ -99,5 +97,9 @@ module Ridley
|
|
99
97
|
private
|
100
98
|
|
101
99
|
attr_reader :uploader
|
100
|
+
|
101
|
+
def finalize_callback
|
102
|
+
uploader.terminate if uploader && uploader.alive?
|
103
|
+
end
|
102
104
|
end
|
103
105
|
end
|
data/lib/ridley/version.rb
CHANGED
data/ridley.gemspec
CHANGED
@@ -22,6 +22,7 @@ Gem::Specification.new do |s|
|
|
22
22
|
s.add_runtime_dependency 'celluloid', '~> 0.14.0'
|
23
23
|
s.add_runtime_dependency 'erubis'
|
24
24
|
s.add_runtime_dependency 'faraday', '>= 0.8.4'
|
25
|
+
s.add_runtime_dependency 'hashie', '>= 2.0.2'
|
25
26
|
s.add_runtime_dependency 'mixlib-log', '>= 1.3.0'
|
26
27
|
s.add_runtime_dependency 'mixlib-shellout', '>= 1.1.0'
|
27
28
|
s.add_runtime_dependency 'mixlib-config', '>= 1.1.0'
|
@@ -25,7 +25,7 @@ describe Ridley::Middleware::ChefResponse do
|
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
28
|
-
it "returns false if response status is in the 400 range" do
|
28
|
+
it "returns false if response status is in the 400 range" do
|
29
29
|
(400..499).each do |code|
|
30
30
|
env.should_receive(:[]).with(:status).and_return(code)
|
31
31
|
|
@@ -46,7 +46,7 @@ describe Ridley::Middleware::ChefResponse do
|
|
46
46
|
subject do
|
47
47
|
Faraday.new(server_url) do |conn|
|
48
48
|
conn.response :chef_response
|
49
|
-
conn.response :
|
49
|
+
conn.response :parse_json
|
50
50
|
conn.adapter Faraday.default_adapter
|
51
51
|
end
|
52
52
|
end
|
@@ -73,7 +73,7 @@ describe Ridley::Middleware::ChefResponse do
|
|
73
73
|
|
74
74
|
let(:chef_unauthorized) do
|
75
75
|
{
|
76
|
-
status: 401,
|
76
|
+
status: 401,
|
77
77
|
body: generate_normalized_json(error: "401 - Unauthorized. You must properly authenticate your API requests!"),
|
78
78
|
headers: {
|
79
79
|
content_type: "application/json; charset=utf8"
|
@@ -83,7 +83,7 @@ describe Ridley::Middleware::ChefResponse do
|
|
83
83
|
|
84
84
|
let(:chef_forbidden) do
|
85
85
|
{
|
86
|
-
status: 403,
|
86
|
+
status: 403,
|
87
87
|
body: generate_normalized_json(error: "403 - Forbidden."),
|
88
88
|
headers: {
|
89
89
|
content_type: "application/json; charset=utf8"
|
@@ -170,7 +170,7 @@ describe Ridley::Middleware::ChefResponse do
|
|
170
170
|
stub_request(:get, File.join(server_url, 'not_existant_route')).to_return(chef_not_found)
|
171
171
|
end
|
172
172
|
|
173
|
-
it "raises a Ridley::Errors::HTTPNotFound" do
|
173
|
+
it "raises a Ridley::Errors::HTTPNotFound" do
|
174
174
|
lambda {
|
175
175
|
subject.get('not_existant_route')
|
176
176
|
}.should raise_error(Ridley::Errors::HTTPNotFound)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ridley
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.12.
|
4
|
+
version: 0.12.4
|
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-05-
|
12
|
+
date: 2013-05-28 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: addressable
|
@@ -91,6 +91,22 @@ dependencies:
|
|
91
91
|
- - ! '>='
|
92
92
|
- !ruby/object:Gem::Version
|
93
93
|
version: 0.8.4
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: hashie
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ! '>='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: 2.0.2
|
102
|
+
type: :runtime
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 2.0.2
|
94
110
|
- !ruby/object:Gem::Dependency
|
95
111
|
name: mixlib-log
|
96
112
|
requirement: !ruby/object:Gem::Requirement
|
@@ -409,7 +425,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
409
425
|
version: '0'
|
410
426
|
segments:
|
411
427
|
- 0
|
412
|
-
hash:
|
428
|
+
hash: 744717169722095875
|
413
429
|
requirements: []
|
414
430
|
rubyforge_project:
|
415
431
|
rubygems_version: 1.8.23
|