chef-provisioning 0.20.1 → 1.0.0.rc.1
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 +4 -2
- data/lib/chef/provisioning/convergence_strategy/install_cached.rb +0 -2
- data/lib/chef/provisioning/convergence_strategy/install_msi.rb +2 -4
- data/lib/chef/provisioning/convergence_strategy/preinstalled.rb +10 -0
- data/lib/chef/provisioning/transport/local.rb +63 -0
- data/lib/chef/provisioning/version.rb +1 -1
- metadata +6 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6d4ff4c1e7b202d3d951d428b277cda613e8bd50
|
4
|
+
data.tar.gz: 0255ba6125ea7556d4015c7ff3000e68c48923b5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dc259d4a30c72b04b97680a4674f6b7be82df86e4b9826457d26676ac8ba7b286a38bfc267caf768424566db4511060de540cc1b70d065c2dfec5972a848a0db
|
7
|
+
data.tar.gz: 0b19ad7b45837b10525c1f79ebddc90df67dd6c334be676017570b66fb37aa02c9c6411aada1cfda5f58b368c85a1ab696972e032eac6c5859dfab564c13f204
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# Chef Provisioning Changelog
|
2
2
|
|
3
|
-
## 0.
|
3
|
+
## 1.0.rc.1 (3/31/2015)
|
4
|
+
## 0.20 (3/27/2015)
|
4
5
|
|
5
6
|
- Marking machines `nil` in a load_balancer does not affect existing machines ([#299][])
|
6
7
|
- `with_driver` now optionally accepts a block. If passed, it is only active in that block. If not passed, existing behavior is unchanged. ([#296][])
|
@@ -164,6 +165,7 @@
|
|
164
165
|
machines 'a', 'b', 'c'
|
165
166
|
action :destroy
|
166
167
|
end
|
168
|
+
```
|
167
169
|
- fix issue setting Hosted Chef ACLs on nodes
|
168
170
|
- fix local mode forwarding in mixed IPv4/IPv6 environments
|
169
171
|
|
@@ -283,4 +285,4 @@
|
|
283
285
|
[@mwrock]: https://github.com/mwrock
|
284
286
|
[@segv]: https://github.com/segv
|
285
287
|
[@xeon22]: https://github.com/xeon22
|
286
|
-
[@xorl]: https://github.com/xorl
|
288
|
+
[@xorl]: https://github.com/xorl
|
@@ -5,17 +5,15 @@ class Chef
|
|
5
5
|
module Provisioning
|
6
6
|
class ConvergenceStrategy
|
7
7
|
class InstallMsi < PrecreateChefObjects
|
8
|
+
@@install_msi_cache = {}
|
9
|
+
|
8
10
|
def initialize(convergence_options, config)
|
9
11
|
super
|
10
|
-
@chef_version ||= convergence_options[:chef_version]
|
11
|
-
@prerelease ||= convergence_options[:prerelease]
|
12
12
|
@install_msi_url = convergence_options[:install_msi_url] || 'https://www.chef.io/chef/install.msi'
|
13
13
|
@install_msi_path = convergence_options[:install_msi_path] || "$env:TEMP\\#{File.basename(@install_msi_url)}"
|
14
14
|
@chef_client_timeout = convergence_options.has_key?(:chef_client_timeout) ? convergence_options[:chef_client_timeout] : 120*60 # Default: 2 hours
|
15
15
|
end
|
16
16
|
|
17
|
-
attr_reader :chef_version
|
18
|
-
attr_reader :prerelease
|
19
17
|
attr_reader :install_msi_url
|
20
18
|
attr_reader :install_msi_path
|
21
19
|
|
@@ -0,0 +1,63 @@
|
|
1
|
+
require 'chef/provisioning/transport'
|
2
|
+
require 'chef/mixin/shell_out'
|
3
|
+
require 'chef/log'
|
4
|
+
|
5
|
+
class Chef
|
6
|
+
module Provisioning
|
7
|
+
class Transport
|
8
|
+
class Local < Chef::Provisioning::Transport
|
9
|
+
include Chef::Mixin::ShellOut
|
10
|
+
|
11
|
+
#
|
12
|
+
# Create a new local transport.
|
13
|
+
#
|
14
|
+
# == Arguments
|
15
|
+
#
|
16
|
+
# - options: a hash of options for the transport itself, including:
|
17
|
+
# - :prefix: a prefix to send before each command (e.g. "sudo ")
|
18
|
+
# - global_config: an options hash that looks suspiciously similar to
|
19
|
+
# Chef::Config, containing at least the key :log_level.
|
20
|
+
#
|
21
|
+
# The options are used in
|
22
|
+
# Net::SSH.start(host, username, ssh_options)
|
23
|
+
|
24
|
+
def initialize(options, global_config)
|
25
|
+
@options = options
|
26
|
+
@config = global_config
|
27
|
+
end
|
28
|
+
|
29
|
+
attr_reader :options
|
30
|
+
attr_reader :config
|
31
|
+
|
32
|
+
def execute(command, execute_options = {})
|
33
|
+
Chef::Log.info("Executing #{options[:prefix]}#{command} locally")
|
34
|
+
result = shell_out!(command, execute_options)
|
35
|
+
Chef::Log.info("Completed #{command} on #{username}@#{host}: exit status #{exitstatus}")
|
36
|
+
Chef::Log.debug("Stdout was:\n#{stdout}") if stdout != '' && !options[:stream] && !options[:stream_stdout] && config[:log_level] != :debug
|
37
|
+
Chef::Log.info("Stderr was:\n#{stderr}") if stderr != '' && !options[:stream] && !options[:stream_stderr] && config[:log_level] != :debug
|
38
|
+
result
|
39
|
+
end
|
40
|
+
|
41
|
+
def read_file(path)
|
42
|
+
IO.read(path)
|
43
|
+
end
|
44
|
+
|
45
|
+
def write_file(path, content)
|
46
|
+
IO.write(path, content)
|
47
|
+
end
|
48
|
+
|
49
|
+
# TODO do we need to bind_to? Probably.
|
50
|
+
def make_url_available_to_remote(local_url, **options)
|
51
|
+
local_url
|
52
|
+
end
|
53
|
+
|
54
|
+
def disconnect
|
55
|
+
end
|
56
|
+
|
57
|
+
def available?
|
58
|
+
true
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
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: 0.
|
4
|
+
version: 1.0.0.rc.1
|
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-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: net-ssh
|
@@ -153,6 +153,7 @@ files:
|
|
153
153
|
- lib/chef/provisioning/convergence_strategy/install_sh.rb
|
154
154
|
- lib/chef/provisioning/convergence_strategy/no_converge.rb
|
155
155
|
- lib/chef/provisioning/convergence_strategy/precreate_chef_objects.rb
|
156
|
+
- lib/chef/provisioning/convergence_strategy/preinstalled.rb
|
156
157
|
- lib/chef/provisioning/driver.rb
|
157
158
|
- lib/chef/provisioning/load_balancer_spec.rb
|
158
159
|
- lib/chef/provisioning/machine.rb
|
@@ -165,6 +166,7 @@ files:
|
|
165
166
|
- lib/chef/provisioning/managed_entry_store.rb
|
166
167
|
- lib/chef/provisioning/recipe_dsl.rb
|
167
168
|
- lib/chef/provisioning/transport.rb
|
169
|
+
- lib/chef/provisioning/transport/local.rb
|
168
170
|
- lib/chef/provisioning/transport/ssh.rb
|
169
171
|
- lib/chef/provisioning/transport/winrm.rb
|
170
172
|
- lib/chef/provisioning/version.rb
|
@@ -190,9 +192,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
190
192
|
version: '0'
|
191
193
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
192
194
|
requirements:
|
193
|
-
- - "
|
195
|
+
- - ">"
|
194
196
|
- !ruby/object:Gem::Version
|
195
|
-
version:
|
197
|
+
version: 1.3.1
|
196
198
|
requirements: []
|
197
199
|
rubyforge_project:
|
198
200
|
rubygems_version: 2.4.5
|