chef-provisioning 2.3.2 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d3670212688bd0ce77bfcd6b257f02b60c1735ba
4
- data.tar.gz: 91df42c77d08dc6bae1cbaff35b47b94cbd9dd84
3
+ metadata.gz: 381e65468f3aca78eefc7cb3d1d85b69cfbf3adc
4
+ data.tar.gz: fb541ffa04e6caf5ad8a6761279ecf4107729d59
5
5
  SHA512:
6
- metadata.gz: 45157667014c2915e2d340c149ba4b9f86382b5d3b3e4c875b8de4564c571843d95f5b7f8e6081a0b2d272299874f469c8c87240755edf44c02aa0c251849152
7
- data.tar.gz: 9872540a82807e853556a66f94898cf6612dea8f05120f2079be1d1f0b7c1852d1ee9c96b7d836cd56548f4135c8551e151ce75dfe1e634fb54b2833c0271ae7
6
+ metadata.gz: 57a63940ce18f5754d0c4724485df86412f8b3b20660db4913ceee7bae8c04637493ecd85613180c1f6cf5d5272383734c1687c34a7f54a2fdef388d21744411
7
+ data.tar.gz: 590ed99e72fea98d02fcd9fc7370b1ea9914992c8255dbb3d622378c92a10f90d2cd9cd07d6ba1fd227a787eef3e6ebfc2d258d6dd594a7072e8489f39c7ef66
@@ -1,7 +1,18 @@
1
1
  # Change Log
2
2
 
3
- ## [2.3.2](https://github.com/chef/chef-provisioning/tree/2.3.2) (2017-04-21)
4
- [Full Changelog](https://github.com/chef/chef-provisioning/compare/v2.3.1...2.3.2)
3
+ ## [2.4.0](https://github.com/chef/chef-provisioning/tree/2.4.0) (2017-06-27)
4
+ [Full Changelog](https://github.com/chef/chef-provisioning/compare/v2.3.2...2.4.0)
5
+
6
+ **Merged pull requests:**
7
+
8
+ - allow newer net-ssh-gateway [\#584](https://github.com/chef/chef-provisioning/pull/584) ([jjlimepoint](https://github.com/jjlimepoint))
9
+ - We can’t forward a socketless Zero server, so show a nice\(ish\) error [\#583](https://github.com/chef/chef-provisioning/pull/583) ([coderanger](https://github.com/coderanger))
10
+ - Ignore group/owner/mode attrs on Windows machine until implemented [\#582](https://github.com/chef/chef-provisioning/pull/582) ([paustin01](https://github.com/paustin01))
11
+ - Fix convergence\_options being steamrolled rather than merged [\#581](https://github.com/chef/chef-provisioning/pull/581) ([paustin01](https://github.com/paustin01))
12
+ - add digest command to unix\_machine.files\_different? [\#570](https://github.com/chef/chef-provisioning/pull/570) ([steversmith](https://github.com/steversmith))
13
+
14
+ ## [v2.3.2](https://github.com/chef/chef-provisioning/tree/v2.3.2) (2017-04-21)
15
+ [Full Changelog](https://github.com/chef/chef-provisioning/compare/v2.3.1...v2.3.2)
5
16
 
6
17
  **Merged pull requests:**
7
18
 
data/README.md CHANGED
@@ -203,7 +203,7 @@ with_machine_options({
203
203
  # The following are only available for Linux machines
204
204
  install_sh_url: "https://www.chef.io/chef/install.sh", # <- DEFAULT, overwrite if necessary
205
205
  install_sh_path: "/tmp/chef-install.sh", # <- DEFAULT, overwrite if necessary
206
- install_sh_arguments: "-P chef-dk", # Additional commands to pass to install.sh
206
+ install_sh_arguments: "-P chefdk", # Additional commands to pass to install.sh
207
207
  # The following are only available for Windows machines
208
208
  install_msi_url: "foo://bar.com"
209
209
  },
@@ -16,7 +16,7 @@ Gem::Specification.new do |s|
16
16
 
17
17
  s.add_dependency 'net-ssh', '>= 2.9', '< 5.0'
18
18
  s.add_dependency 'net-scp', '~> 1.0'
19
- s.add_dependency 'net-ssh-gateway', '~> 1.2'
19
+ s.add_dependency 'net-ssh-gateway', '> 1.2', '< 3.0'
20
20
  s.add_dependency 'inifile', '>= 2.0.2'
21
21
  s.add_dependency 'cheffish', '>= 4.0', '< 14.0'
22
22
  s.add_dependency 'winrm', '~> 2.0'
@@ -34,12 +34,17 @@ class MachineFile < Chef::Provider::LWRPBase
34
34
  machine.upload_file(action_handler, new_resource.local_path, new_resource.path)
35
35
  end
36
36
 
37
- attributes = {}
38
- attributes[:group] = new_resource.group if new_resource.group
39
- attributes[:owner] = new_resource.owner if new_resource.owner
40
- attributes[:mode] = new_resource.mode if new_resource.mode
41
-
42
- machine.set_attributes(action_handler, new_resource.path, attributes)
37
+ # At some point hopefully we will define WindowsMachine.set_attributes
38
+ # See https://github.com/chef/chef-provisioning/issues/285 for how to get
39
+ # rid of this unless check
40
+ unless machine.kind_of?(Chef::Provisioning::Machine::WindowsMachine)
41
+ attributes = {}
42
+ attributes[:group] = new_resource.group if new_resource.group
43
+ attributes[:owner] = new_resource.owner if new_resource.owner
44
+ attributes[:mode] = new_resource.mode if new_resource.mode
45
+
46
+ machine.set_attributes(action_handler, new_resource.path, attributes)
47
+ end
43
48
  end
44
49
 
45
50
  action :download do
@@ -22,7 +22,7 @@ module Provisioning
22
22
  # - :chef_version, :prerelease, :package_cache_path
23
23
  # - :package_metadata
24
24
  def initialize(convergence_options, config)
25
- convergence_options = Cheffish::MergedConfig.new(convergence_options, {
25
+ convergence_options = Cheffish::MergedConfig.new(convergence_options.to_hash, {
26
26
  :client_rb_path => '/etc/chef/client.rb',
27
27
  :client_pem_path => '/etc/chef/client.pem'
28
28
  })
@@ -21,7 +21,7 @@ module Provisioning
21
21
  def setup_convergence(action_handler, machine)
22
22
  if !convergence_options.has_key?(:client_rb_path) || !convergence_options.has_key?(:client_pem_path)
23
23
  system_drive = machine.system_drive
24
- @convergence_options = Cheffish::MergedConfig.new(convergence_options, {
24
+ @convergence_options = Cheffish::MergedConfig.new(convergence_options.to_hash, {
25
25
  :client_rb_path => "#{system_drive}\\chef\\client.rb",
26
26
  :client_pem_path => "#{system_drive}\\chef\\client.pem",
27
27
  :install_script_path => "#{system_drive}\\chef\\\install.ps1"
@@ -9,7 +9,7 @@ module Provisioning
9
9
  @@install_sh_cache = {}
10
10
 
11
11
  def initialize(convergence_options, config)
12
- convergence_options = Cheffish::MergedConfig.new(convergence_options, {
12
+ convergence_options = Cheffish::MergedConfig.new(convergence_options.to_hash, {
13
13
  :client_rb_path => '/etc/chef/client.rb',
14
14
  :client_pem_path => '/etc/chef/client.pem'
15
15
  })
@@ -46,6 +46,9 @@ module Provisioning
46
46
  result = transport.execute("md5sum -b #{path}", :read_only => true)
47
47
  unless result.exitstatus == 0
48
48
  result = transport.execute("md5 -r #{path}", :read_only => true)
49
+ unless result.exitstatus == 0
50
+ result = transport.execute("digest -a md5 #{path}", :read_only => true)
51
+ end
49
52
  end
50
53
  result.error!
51
54
  remote_sum = result.stdout.split(' ')[0]
@@ -173,7 +173,11 @@ module Provisioning
173
173
 
174
174
  def make_url_available_to_remote(local_url)
175
175
  uri = URI(local_url)
176
- if is_local_machine(uri.host)
176
+ if uri.scheme == 'chefzero' && !ChefZero::SocketlessServerMap.server_on_port(uri.port).server
177
+ # There is no .server for a socketless, for a socket-d server it would
178
+ # be a WEBrick::HTTPServer object.
179
+ raise 'Cannot forward a socketless Chef Zero server, see https://docs.chef.io/deprecations_local_listen.html for more information'
180
+ elsif is_local_machine(uri.host)
177
181
  port, host = forward_port(uri.port, uri.host, uri.port, 'localhost')
178
182
  if !port
179
183
  # Try harder if the port is already taken
@@ -1,5 +1,5 @@
1
1
  class Chef
2
2
  module Provisioning
3
- VERSION = '2.3.2'
3
+ VERSION = '2.4.0'
4
4
  end
5
5
  end
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: 2.3.2
4
+ version: 2.4.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: 2017-04-21 00:00:00.000000000 Z
11
+ date: 2017-06-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-ssh
@@ -48,16 +48,22 @@ dependencies:
48
48
  name: net-ssh-gateway
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
- - - "~>"
51
+ - - ">"
52
52
  - !ruby/object:Gem::Version
53
53
  version: '1.2'
54
+ - - "<"
55
+ - !ruby/object:Gem::Version
56
+ version: '3.0'
54
57
  type: :runtime
55
58
  prerelease: false
56
59
  version_requirements: !ruby/object:Gem::Requirement
57
60
  requirements:
58
- - - "~>"
61
+ - - ">"
59
62
  - !ruby/object:Gem::Version
60
63
  version: '1.2'
64
+ - - "<"
65
+ - !ruby/object:Gem::Version
66
+ version: '3.0'
61
67
  - !ruby/object:Gem::Dependency
62
68
  name: inifile
63
69
  requirement: !ruby/object:Gem::Requirement
@@ -303,7 +309,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
303
309
  version: '0'
304
310
  requirements: []
305
311
  rubyforge_project:
306
- rubygems_version: 2.5.1
312
+ rubygems_version: 2.6.12
307
313
  signing_key:
308
314
  specification_version: 4
309
315
  summary: A library for creating machines and infrastructures idempotently in Chef.