chef-provisioning 1.0.1 → 1.1.0
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.md +10 -1
- data/lib/chef/provider/machine_batch.rb +1 -1
- data/lib/chef/provisioning/convergence_strategy/install_sh.rb +14 -1
- data/lib/chef/provisioning/transport.rb +11 -6
- data/lib/chef/provisioning/transport/ssh.rb +2 -1
- data/lib/chef/provisioning/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: 88e66a0f2f8ba08fe89dd0bacfafc5347e60ab1e
|
4
|
+
data.tar.gz: 8613f4903f14bfbee91ad754733a666c7f926b57
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7573ea723df0c01690c01e593f135c1fd3eeac2e0279a521befba486251f045bb51cf5b8af614b9a91f17f835c90af3ce831b33265533bbd88aadf22cd5fa79a
|
7
|
+
data.tar.gz: 773f45f5108f16e456bc75f6fd1bdb2e54f5daa3d35d1a13eb19dd6c17c631e041df21262ed10cdaa567ec1f110c009224c787c54fe7fb135ee5f81bf26d1dc9
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
# Chef Provisioning Changelog
|
2
2
|
|
3
|
+
## 1.1.0
|
4
|
+
|
5
|
+
- Fix machine_batch :destroy, no longer creating extra threads ([#321][])
|
6
|
+
- Allow user to specify a custom stdout in `Chef::Config[:stdout]` ([#311][])
|
7
|
+
- If `convergence_options[:bootstrap_proxy]` is populated use it to download chef ([#317][])
|
8
|
+
|
3
9
|
## 1.0.1 (4/7/2015)
|
4
10
|
|
5
11
|
- Clean up dependencies ([#316][])
|
@@ -279,7 +285,10 @@
|
|
279
285
|
[#297]: https://github.com/chef/chef-provisioning/issues/297
|
280
286
|
[#299]: https://github.com/chef/chef-provisioning/issues/299
|
281
287
|
[#303]: https://github.com/chef/chef-provisioning/issues/303
|
288
|
+
[#311]: https://github.com/chef/chef-provisioning/issues/311
|
282
289
|
[#316]: https://github.com/chef/chef-provisioning/issues/316
|
290
|
+
[#317]: https://github.com/chef/chef-provisioning/issues/317
|
291
|
+
[#321]: https://github.com/chef/chef-provisioning/issues/321
|
283
292
|
[@MrMMorris]: https://github.com/MrMMorris
|
284
293
|
[@causton1]: https://github.com/causton1
|
285
294
|
[@chef]: https://github.com/chef
|
@@ -296,4 +305,4 @@
|
|
296
305
|
[@mwrock]: https://github.com/mwrock
|
297
306
|
[@segv]: https://github.com/segv
|
298
307
|
[@xeon22]: https://github.com/xeon22
|
299
|
-
[@xorl]: https://github.com/xorl
|
308
|
+
[@xorl]: https://github.com/xorl
|
@@ -77,7 +77,7 @@ class MachineBatch < Chef::Provider::LWRPBase
|
|
77
77
|
action :destroy do
|
78
78
|
parallel_do(by_current_driver) do |driver, specs_and_options|
|
79
79
|
driver.destroy_machines(action_handler, specs_and_options, parallelizer)
|
80
|
-
|
80
|
+
specs_and_options.keys.each do |machine_spec|
|
81
81
|
machine_spec.delete(action_handler)
|
82
82
|
end
|
83
83
|
end
|
@@ -64,7 +64,20 @@ module Provisioning
|
|
64
64
|
|
65
65
|
# Install chef client
|
66
66
|
# TODO ssh verification of install.sh before running arbtrary code would be nice?
|
67
|
-
|
67
|
+
if convergence_options[:bootstrap_proxy].empty?
|
68
|
+
@@install_sh_cache[install_sh_url] ||= Net::HTTP.get(URI(install_sh_url))
|
69
|
+
else
|
70
|
+
@@install_sh_cache[install_sh_url] ||= begin
|
71
|
+
proxy_uri = URI.parse(convergence_options[:bootstrap_proxy])
|
72
|
+
chef_uri = URI.parse(@install_sh_url)
|
73
|
+
proxy = Net::HTTP::Proxy(proxy_uri.host, proxy_uri.port, proxy_uri.user, proxy_uri.password)
|
74
|
+
req = Net::HTTP::Get.new(chef_uri.path)
|
75
|
+
script = proxy.start(chef_uri.host, :use_ssl => proxy_uri.scheme == 'https') do |http|
|
76
|
+
http.request(req)
|
77
|
+
end
|
78
|
+
script.body
|
79
|
+
end
|
80
|
+
end
|
68
81
|
machine.write_file(action_handler, install_sh_path, @@install_sh_cache[install_sh_url], :ensure_dir => true)
|
69
82
|
# TODO handle bad version case better
|
70
83
|
machine.execute(action_handler, install_sh_command_line)
|
@@ -67,18 +67,23 @@ module Provisioning
|
|
67
67
|
options[:stream].call(stdout_chunk, stderr_chunk)
|
68
68
|
else
|
69
69
|
if stdout_chunk
|
70
|
-
if options
|
71
|
-
options[:stream_stdout]
|
70
|
+
if options.has_key?(:stream_stdout)
|
71
|
+
stream = options[:stream_stdout]
|
72
72
|
elsif options[:stream] || config[:log_level] == :debug
|
73
|
-
STDOUT
|
73
|
+
stream = config[:stdout] || STDOUT
|
74
74
|
end
|
75
|
+
|
76
|
+
stream.print stdout_chunk if stream
|
75
77
|
end
|
78
|
+
|
76
79
|
if stderr_chunk
|
77
|
-
if options
|
78
|
-
options[:stream_stderr]
|
80
|
+
if options.has_key?(:stream_stderr)
|
81
|
+
stream = options[:stream_stderr]
|
79
82
|
elsif options[:stream] || config[:log_level] == :debug
|
80
|
-
STDERR
|
83
|
+
stream = config[:stderr] || STDERR
|
81
84
|
end
|
85
|
+
|
86
|
+
stream.print stderr_chunk if stream
|
82
87
|
end
|
83
88
|
end
|
84
89
|
end
|
@@ -90,6 +90,7 @@ module Provisioning
|
|
90
90
|
SSHResult.new(command, execute_options, stdout, stderr, exitstatus)
|
91
91
|
end
|
92
92
|
|
93
|
+
# TODO why does #read_file download it to the target host?
|
93
94
|
def read_file(path)
|
94
95
|
Chef::Log.debug("Reading file #{path} from #{username}@#{host}")
|
95
96
|
result = StringIO.new
|
@@ -208,7 +209,7 @@ module Provisioning
|
|
208
209
|
execute("chown #{username} #{remote_tempfile}").error!
|
209
210
|
do_download remote_tempfile, local_path
|
210
211
|
rescue => e
|
211
|
-
Chef::Log.error "Unable to download #{path} to #{
|
212
|
+
Chef::Log.error "Unable to download #{path} to #{remote_tempfile} on #{username}@#{host} -- #{e}"
|
212
213
|
nil
|
213
214
|
ensure
|
214
215
|
# Clean up afterwards
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chef-provisioning
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Keiser
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-04-
|
11
|
+
date: 2015-04-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: chef
|