chef-provisioning 2.3.2 → 2.4.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 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.