chef 12.1.0.rc.0-x86-mingw32 → 12.1.0-x86-mingw32
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/lib/chef/application/windows_service.rb +7 -1
- data/lib/chef/chef_fs/file_system/chef_repository_file_system_cookbook_dir.rb +3 -3
- data/lib/chef/config.rb +6 -0
- data/lib/chef/dsl/recipe.rb +1 -0
- data/lib/chef/knife/bootstrap.rb +2 -1
- data/lib/chef/knife/cookbook_site_share.rb +15 -9
- data/lib/chef/knife/search.rb +2 -2
- data/lib/chef/mixin/shell_out.rb +5 -5
- data/lib/chef/provider/package/freebsd/base.rb +2 -2
- data/lib/chef/provider/package/yum.rb +5 -7
- data/lib/chef/resource/powershell_script.rb +0 -2
- data/lib/chef/user.rb +2 -2
- data/lib/chef/version.rb +1 -1
- data/lib/chef/whitelist.rb +6 -4
- data/lib/chef/win32/security/ace.rb +0 -2
- data/lib/chef/win32/security/acl.rb +3 -1
- data/lib/chef/win32/version.rb +3 -3
- data/spec/unit/knife/bootstrap_spec.rb +14 -0
- data/spec/unit/knife/cookbook_site_share_spec.rb +3 -2
- data/spec/unit/provider/package/yum_spec.rb +15 -13
- data/spec/unit/windows_service_spec.rb +28 -11
- metadata +12 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: acde9658a244e57df558e0690e5495cfe01fed27
|
4
|
+
data.tar.gz: a29d0677accc1df0b931e6c7be987d3ee10f1c29
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1feed90c05323a1e361cc96a7b07fe48320fb1dfa4cb651d9ee55cbc7e2ae041dbb4c06559791e3237f53a0fee960525b1bca8bb92569841641944f95b62e30d
|
7
|
+
data.tar.gz: 289350200a6a9fb25916a8bf7e4c11b19ed2a6539761e619d68205db72d9231ea06ae0b2e7273e1df918515f5d67d418d99ff358d85f5d4ef18543f1fdc0bc0e
|
@@ -189,9 +189,15 @@ class Chef
|
|
189
189
|
config_params += " -c #{Chef::Config[:config_file]}" unless Chef::Config[:config_file].nil?
|
190
190
|
config_params += " -L #{Chef::Config[:log_location]}" unless Chef::Config[:log_location] == STDOUT
|
191
191
|
# Starts a new process and waits till the process exits
|
192
|
-
result = shell_out("chef-client #{config_params}")
|
192
|
+
result = shell_out("chef-client #{config_params}", :timeout => Chef::Config[:windows_service][:watchdog_timeout])
|
193
193
|
Chef::Log.debug "#{result.stdout}"
|
194
194
|
Chef::Log.debug "#{result.stderr}"
|
195
|
+
rescue Mixlib::ShellOut::CommandTimeout => e
|
196
|
+
Chef::Log.error "chef-client timed out\n(#{e})"
|
197
|
+
Chef::Log.error(<<-EOF)
|
198
|
+
Your chef-client run timed out. You can increase the time chef-client is given
|
199
|
+
to complete by configuring windows_service.watchdog_timeout in your client.rb.
|
200
|
+
EOF
|
195
201
|
rescue Mixlib::ShellOut::ShellCommandFailed => e
|
196
202
|
Chef::Log.warn "Not able to start chef-client in new process (#{e})"
|
197
203
|
rescue => e
|
@@ -36,11 +36,11 @@ class Chef
|
|
36
36
|
# We need the canonical cookbook name if we are using versioned cookbooks, but we don't
|
37
37
|
# want to spend a lot of time adding code to the main Chef libraries
|
38
38
|
if root.versioned_cookbooks
|
39
|
-
|
40
|
-
fail "When versioned_cookbooks mode is on, cookbook #{file_path} must match format <cookbook_name>-x.y.z" unless
|
39
|
+
canonical_name = canonical_cookbook_name(File.basename(file_path))
|
40
|
+
fail "When versioned_cookbooks mode is on, cookbook #{file_path} must match format <cookbook_name>-x.y.z" unless canonical_name
|
41
41
|
|
42
42
|
# KLUDGE: We shouldn't have to use instance_variable_set
|
43
|
-
loader.instance_variable_set(:@cookbook_name,
|
43
|
+
loader.instance_variable_set(:@cookbook_name, canonical_name)
|
44
44
|
end
|
45
45
|
|
46
46
|
loader.load_cookbooks
|
data/lib/chef/config.rb
CHANGED
@@ -643,6 +643,12 @@ class Chef
|
|
643
643
|
default :normal_attribute_whitelist, nil
|
644
644
|
default :override_attribute_whitelist, nil
|
645
645
|
|
646
|
+
config_context :windows_service do
|
647
|
+
# Set `watchdog_timeout` to the number of seconds to wait for a chef-client run
|
648
|
+
# to finish
|
649
|
+
default :watchdog_timeout, 2 * (60 * 60) # 2 hours
|
650
|
+
end
|
651
|
+
|
646
652
|
# Chef requires an English-language UTF-8 locale to function properly. We attempt
|
647
653
|
# to use the 'locale -a' command and search through a list of preferences until we
|
648
654
|
# find one that we can use. On Ubuntu systems we should find 'C.UTF-8' and be
|
data/lib/chef/dsl/recipe.rb
CHANGED
data/lib/chef/knife/bootstrap.rb
CHANGED
@@ -313,7 +313,8 @@ class Chef
|
|
313
313
|
|
314
314
|
# chef-vault integration must use the new client-side hawtness, otherwise to use the
|
315
315
|
# new client-side hawtness, just delete your validation key.
|
316
|
-
if chef_vault_handler.doing_chef_vault? ||
|
316
|
+
if chef_vault_handler.doing_chef_vault? ||
|
317
|
+
(Chef::Config[:validation_key] && !File.exist?(File.expand_path(Chef::Config[:validation_key])))
|
317
318
|
client_builder.run
|
318
319
|
|
319
320
|
chef_vault_handler.run(node_name: config[:chef_node_name])
|
@@ -73,14 +73,6 @@ class Chef
|
|
73
73
|
begin
|
74
74
|
Chef::Log.debug("Temp cookbook directory is #{tmp_cookbook_dir.inspect}")
|
75
75
|
ui.info("Making tarball #{cookbook_name}.tgz")
|
76
|
-
tar_cmd = "tar"
|
77
|
-
begin
|
78
|
-
# Unix and Mac only - prefer gnutar
|
79
|
-
if shell_out("which gnutar").exitstatus.equal?(0)
|
80
|
-
tar_cmd = "gnutar"
|
81
|
-
end
|
82
|
-
rescue Errno::ENOENT
|
83
|
-
end
|
84
76
|
shell_out!("#{tar_cmd} -czf #{cookbook_name}.tgz #{cookbook_name}", :cwd => tmp_cookbook_dir)
|
85
77
|
rescue => e
|
86
78
|
ui.error("Error making tarball #{cookbook_name}.tgz: #{e.message}. Increase log verbosity (-VV) for more information.")
|
@@ -90,7 +82,7 @@ class Chef
|
|
90
82
|
|
91
83
|
if config[:dry_run]
|
92
84
|
ui.info("Not uploading #{cookbook_name}.tgz due to --dry-run flag.")
|
93
|
-
result = shell_out!("
|
85
|
+
result = shell_out!("#{tar_cmd} -tzf #{cookbook_name}.tgz", :cwd => tmp_cookbook_dir)
|
94
86
|
ui.info(result.stdout)
|
95
87
|
FileUtils.rm_rf tmp_cookbook_dir
|
96
88
|
return
|
@@ -158,6 +150,20 @@ class Chef
|
|
158
150
|
end
|
159
151
|
res
|
160
152
|
end
|
153
|
+
|
154
|
+
def tar_cmd
|
155
|
+
if !@tar_cmd
|
156
|
+
@tar_cmd = "tar"
|
157
|
+
begin
|
158
|
+
# Unix and Mac only - prefer gnutar
|
159
|
+
if shell_out("which gnutar").exitstatus.equal?(0)
|
160
|
+
@tar_cmd = "gnutar"
|
161
|
+
end
|
162
|
+
rescue Errno::ENOENT
|
163
|
+
end
|
164
|
+
end
|
165
|
+
@tar_cmd
|
166
|
+
end
|
161
167
|
end
|
162
168
|
|
163
169
|
end
|
data/lib/chef/knife/search.rb
CHANGED
@@ -123,8 +123,8 @@ class Chef
|
|
123
123
|
if ui.interchange?
|
124
124
|
output({:results => result_count, :rows => result_items})
|
125
125
|
else
|
126
|
-
ui.
|
127
|
-
ui.
|
126
|
+
ui.log "#{result_count} items found"
|
127
|
+
ui.log("\n")
|
128
128
|
result_items.each do |item|
|
129
129
|
output(item)
|
130
130
|
unless config[:id_only]
|
data/lib/chef/mixin/shell_out.rb
CHANGED
@@ -76,17 +76,17 @@ class Chef
|
|
76
76
|
def run_command_compatible_options(command_args)
|
77
77
|
return command_args unless command_args.last.is_a?(Hash)
|
78
78
|
|
79
|
-
|
80
|
-
|
79
|
+
my_command_args = command_args.dup
|
80
|
+
my_options = my_command_args.last
|
81
81
|
|
82
82
|
DEPRECATED_OPTIONS.each do |old_option, new_option|
|
83
83
|
# Edge case: someone specifies :command_log_level and 'command_log_level' in the option hash
|
84
|
-
next unless value =
|
84
|
+
next unless value = my_options.delete(old_option) || my_options.delete(old_option.to_s)
|
85
85
|
deprecate_option old_option, new_option
|
86
|
-
|
86
|
+
my_options[new_option] = value
|
87
87
|
end
|
88
88
|
|
89
|
-
return
|
89
|
+
return my_command_args
|
90
90
|
end
|
91
91
|
|
92
92
|
private
|
@@ -48,10 +48,10 @@ class Chef
|
|
48
48
|
# Otherwise look up the path to the ports directory using 'whereis'
|
49
49
|
else
|
50
50
|
whereis = shell_out!("whereis -s #{port}", :env => nil)
|
51
|
-
unless
|
51
|
+
unless path = whereis.stdout[/^#{Regexp.escape(port)}:\s+(.+)$/, 1]
|
52
52
|
raise Chef::Exceptions::Package, "Could not find port with the name #{port}"
|
53
53
|
end
|
54
|
-
|
54
|
+
path
|
55
55
|
end
|
56
56
|
end
|
57
57
|
|
@@ -18,7 +18,6 @@
|
|
18
18
|
|
19
19
|
require 'chef/config'
|
20
20
|
require 'chef/provider/package'
|
21
|
-
require 'chef/mixin/command' # handle_command_failures
|
22
21
|
require 'chef/mixin/shell_out'
|
23
22
|
require 'chef/resource/package'
|
24
23
|
require 'singleton'
|
@@ -984,7 +983,7 @@ class Chef
|
|
984
983
|
end
|
985
984
|
|
986
985
|
def yum_command(command)
|
987
|
-
status
|
986
|
+
status = shell_out(command, {:timeout => Chef::Config[:yum_timeout]})
|
988
987
|
|
989
988
|
# This is fun: rpm can encounter errors in the %post/%postun scripts which aren't
|
990
989
|
# considered fatal - meaning the rpm is still successfully installed. These issue
|
@@ -996,21 +995,20 @@ class Chef
|
|
996
995
|
# A cleaner solution would have to be done in python and better hook into
|
997
996
|
# yum/rpm to handle exceptions as we see fit.
|
998
997
|
if status.exitstatus == 1
|
999
|
-
stdout.each_line do |l|
|
998
|
+
status.stdout.each_line do |l|
|
1000
999
|
# rpm-4.4.2.3 lib/psm.c line 2182
|
1001
1000
|
if l =~ %r{^error: %(post|postun)\(.*\) scriptlet failed, exit status \d+$}
|
1002
1001
|
Chef::Log.warn("#{@new_resource} caught non-fatal scriptlet issue: \"#{l}\". Can't trust yum exit status " +
|
1003
1002
|
"so running install again to verify.")
|
1004
|
-
status
|
1003
|
+
status = shell_out(command, {:timeout => Chef::Config[:yum_timeout]})
|
1005
1004
|
break
|
1006
1005
|
end
|
1007
1006
|
end
|
1008
1007
|
end
|
1009
1008
|
|
1010
1009
|
if status.exitstatus > 0
|
1011
|
-
command_output = "STDOUT: #{stdout}"
|
1012
|
-
|
1013
|
-
Chef::Mixin::Command.handle_command_failures(status, command_output, {})
|
1010
|
+
command_output = "STDOUT: #{status.stdout}\nSTDERR: #{status.stderr}"
|
1011
|
+
raise Chef::Exceptions::Exec, "#{command} returned #{status.exitstatus}:\n#{command_output}"
|
1014
1012
|
end
|
1015
1013
|
end
|
1016
1014
|
|
data/lib/chef/user.rb
CHANGED
@@ -165,8 +165,6 @@ class Chef
|
|
165
165
|
Chef::User.from_hash(response)
|
166
166
|
end
|
167
167
|
|
168
|
-
private
|
169
|
-
|
170
168
|
# Gross. Transforms an API response in the form of:
|
171
169
|
# [ { "user" => { "username" => USERNAME }}, ...]
|
172
170
|
# into the form
|
@@ -179,5 +177,7 @@ class Chef
|
|
179
177
|
end
|
180
178
|
new_response
|
181
179
|
end
|
180
|
+
|
181
|
+
private_class_method :transform_ohc_list_response
|
182
182
|
end
|
183
183
|
end
|
data/lib/chef/version.rb
CHANGED
data/lib/chef/whitelist.rb
CHANGED
@@ -32,17 +32,15 @@ class Chef
|
|
32
32
|
|
33
33
|
new_data = {}
|
34
34
|
whitelist.each do |item|
|
35
|
-
|
35
|
+
add_data(data, new_data, item)
|
36
36
|
end
|
37
37
|
new_data
|
38
38
|
end
|
39
39
|
|
40
|
-
private
|
41
|
-
|
42
40
|
# Walk the data has according to the keys provided by the whitelisted item
|
43
41
|
# and add the data to the whitelisting result.
|
44
42
|
def self.add_data(data, new_data, item)
|
45
|
-
parts =
|
43
|
+
parts = to_array(item)
|
46
44
|
|
47
45
|
all_data = data
|
48
46
|
filtered_data = new_data
|
@@ -68,6 +66,8 @@ class Chef
|
|
68
66
|
new_data
|
69
67
|
end
|
70
68
|
|
69
|
+
private_class_method :add_data
|
70
|
+
|
71
71
|
# Accepts a String or an Array, and returns an Array of String keys that
|
72
72
|
# are used to traverse the data hash. Strings are split on "/", Arrays are
|
73
73
|
# assumed to contain exact keys (that is, Array elements will not be split
|
@@ -80,5 +80,7 @@ class Chef
|
|
80
80
|
parts
|
81
81
|
end
|
82
82
|
|
83
|
+
private_class_method :to_array
|
84
|
+
|
83
85
|
end
|
84
86
|
end
|
data/lib/chef/win32/version.rb
CHANGED
@@ -34,18 +34,18 @@ class Chef
|
|
34
34
|
# http://msdn.microsoft.com/en-us/library/ms724833(v=vs.85).aspx
|
35
35
|
# http://msdn.microsoft.com/en-us/library/ms724358(v=vs.85).aspx
|
36
36
|
|
37
|
-
private
|
38
|
-
|
39
37
|
def self.get_system_metrics(n_index)
|
40
38
|
GetSystemMetrics(n_index)
|
41
39
|
end
|
42
40
|
|
41
|
+
private_class_method :get_system_metrics
|
42
|
+
|
43
43
|
def self.method_name_from_marketing_name(marketing_name)
|
44
44
|
"#{marketing_name.gsub(/\s/, '_').gsub(/\./, '_').downcase}?"
|
45
45
|
# "#{marketing_name.gsub(/\s/, '_').gsub(//, '_').downcase}?"
|
46
46
|
end
|
47
47
|
|
48
|
-
|
48
|
+
private_class_method :method_name_from_marketing_name
|
49
49
|
|
50
50
|
WIN_VERSIONS = {
|
51
51
|
"Windows 10" => {:major => 6, :minor => 4, :callable => lambda{ |product_type, suite_mask| product_type == VER_NT_WORKSTATION }},
|
@@ -593,6 +593,20 @@ describe Chef::Knife::Bootstrap do
|
|
593
593
|
knife.run
|
594
594
|
end
|
595
595
|
end
|
596
|
+
|
597
|
+
context "when the validation_key is nil" do
|
598
|
+
before do
|
599
|
+
# this tests runs the old code path where we have a validation key, so we need to pass that check for some plugins
|
600
|
+
Chef::Config[:validation_key] = nil
|
601
|
+
end
|
602
|
+
|
603
|
+
it "creates the client and does not run client_builder or the chef_vault_handler" do
|
604
|
+
expect(knife_ssh).to receive(:run)
|
605
|
+
expect(knife.client_builder).not_to receive(:run)
|
606
|
+
expect(knife.chef_vault_handler).not_to receive(:run)
|
607
|
+
knife.run
|
608
|
+
end
|
609
|
+
end
|
596
610
|
end
|
597
611
|
|
598
612
|
describe "specifying ssl verification" do
|
@@ -144,8 +144,9 @@ describe Chef::Knife::CookbookSiteShare do
|
|
144
144
|
end
|
145
145
|
|
146
146
|
it "should list files in the tarball" do
|
147
|
-
|
148
|
-
expect(@knife).to receive(:shell_out!).with("
|
147
|
+
allow(@knife).to receive(:tar_cmd).and_return("footar")
|
148
|
+
expect(@knife).to receive(:shell_out!).with("footar -czf #{@cookbook.name}.tgz #{@cookbook.name}", {:cwd => "/var/tmp/dummy"})
|
149
|
+
expect(@knife).to receive(:shell_out!).with("footar -tzf #{@cookbook.name}.tgz", {:cwd => "/var/tmp/dummy"})
|
149
150
|
@knife.run
|
150
151
|
end
|
151
152
|
|
@@ -696,9 +696,9 @@ describe Chef::Provider::Package::Yum do
|
|
696
696
|
|
697
697
|
describe "when running yum" do
|
698
698
|
it "should run yum once if it exits with a return code of 0" do
|
699
|
-
@status = double("Status", :exitstatus => 0)
|
700
|
-
allow(@provider).to receive(:
|
701
|
-
expect(@provider).to receive(:
|
699
|
+
@status = double("Status", :exitstatus => 0, :stdout => "", :stderr => "")
|
700
|
+
allow(@provider).to receive(:shell_out).and_return(@status)
|
701
|
+
expect(@provider).to receive(:shell_out).once.with(
|
702
702
|
"yum -d0 -e0 -y install emacs-1.0",
|
703
703
|
{:timeout => Chef::Config[:yum_timeout]}
|
704
704
|
)
|
@@ -706,9 +706,9 @@ describe Chef::Provider::Package::Yum do
|
|
706
706
|
end
|
707
707
|
|
708
708
|
it "should run yum once if it exits with a return code > 0 and no scriptlet failures" do
|
709
|
-
@status = double("Status", :exitstatus => 2)
|
710
|
-
allow(@provider).to receive(:
|
711
|
-
expect(@provider).to receive(:
|
709
|
+
@status = double("Status", :exitstatus => 2, :stdout => "failure failure", :stderr => "problem problem")
|
710
|
+
allow(@provider).to receive(:shell_out).and_return(@status)
|
711
|
+
expect(@provider).to receive(:shell_out).once.with(
|
712
712
|
"yum -d0 -e0 -y install emacs-1.0",
|
713
713
|
{:timeout => Chef::Config[:yum_timeout]}
|
714
714
|
)
|
@@ -716,9 +716,10 @@ describe Chef::Provider::Package::Yum do
|
|
716
716
|
end
|
717
717
|
|
718
718
|
it "should run yum once if it exits with a return code of 1 and %pre scriptlet failures" do
|
719
|
-
@status = double("Status", :exitstatus => 1)
|
720
|
-
|
721
|
-
|
719
|
+
@status = double("Status", :exitstatus => 1, :stdout => "error: %pre(demo-1-1.el5.centos.x86_64) scriptlet failed, exit status 2",
|
720
|
+
:stderr => "")
|
721
|
+
allow(@provider).to receive(:shell_out).and_return(@status)
|
722
|
+
expect(@provider).to receive(:shell_out).once.with(
|
722
723
|
"yum -d0 -e0 -y install emacs-1.0",
|
723
724
|
{:timeout => Chef::Config[:yum_timeout]}
|
724
725
|
)
|
@@ -727,9 +728,10 @@ describe Chef::Provider::Package::Yum do
|
|
727
728
|
end
|
728
729
|
|
729
730
|
it "should run yum twice if it exits with a return code of 1 and %post scriptlet failures" do
|
730
|
-
@status = double("Status", :exitstatus => 1)
|
731
|
-
|
732
|
-
|
731
|
+
@status = double("Status", :exitstatus => 1, :stdout => "error: %post(demo-1-1.el5.centos.x86_64) scriptlet failed, exit status 2",
|
732
|
+
:stderr => "")
|
733
|
+
allow(@provider).to receive(:shell_out).and_return(@status)
|
734
|
+
expect(@provider).to receive(:shell_out).twice.with(
|
733
735
|
"yum -d0 -e0 -y install emacs-1.0",
|
734
736
|
{:timeout => Chef::Config[:yum_timeout]}
|
735
737
|
)
|
@@ -2061,4 +2063,4 @@ describe "Chef::Provider::Package::Yum - Multi" do
|
|
2061
2063
|
@provider.install_package(["cups", "vim"], ["1.2.4-11.19.el5", '1.0'])
|
2062
2064
|
end
|
2063
2065
|
end
|
2064
|
-
end
|
2066
|
+
end
|
@@ -39,16 +39,33 @@ describe "Chef::Application::WindowsService", :windows_only do
|
|
39
39
|
allow(instance).to receive(:state).and_return(4)
|
40
40
|
instance.service_main
|
41
41
|
end
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
42
|
+
|
43
|
+
context 'when running chef-client' do
|
44
|
+
it "passes config params to new process with a default timeout of 2 hours (7200 seconds)" do
|
45
|
+
Chef::Config.merge!({:log_location => tempfile.path, :config_file => "test_config_file", :log_level => :info})
|
46
|
+
expect(instance).to receive(:configure_chef).twice
|
47
|
+
instance.service_init
|
48
|
+
allow(instance).to receive(:running?).and_return(true, false)
|
49
|
+
allow(instance.instance_variable_get(:@service_signal)).to receive(:wait)
|
50
|
+
allow(instance).to receive(:state).and_return(4)
|
51
|
+
expect(instance).to receive(:run_chef_client).and_call_original
|
52
|
+
expect(instance).to receive(:shell_out).with("chef-client --no-fork -c test_config_file -L #{tempfile.path}", {:timeout => 7200}).and_return(shell_out_result)
|
53
|
+
instance.service_main
|
54
|
+
tempfile.unlink
|
55
|
+
end
|
56
|
+
|
57
|
+
it "passes config params to new process with a the timeout specified in the config" do
|
58
|
+
Chef::Config.merge!({:log_location => tempfile.path, :config_file => "test_config_file", :log_level => :info})
|
59
|
+
Chef::Config[:windows_service][:watchdog_timeout] = 10
|
60
|
+
expect(instance).to receive(:configure_chef).twice
|
61
|
+
instance.service_init
|
62
|
+
allow(instance).to receive(:running?).and_return(true, false)
|
63
|
+
allow(instance.instance_variable_get(:@service_signal)).to receive(:wait)
|
64
|
+
allow(instance).to receive(:state).and_return(4)
|
65
|
+
expect(instance).to receive(:run_chef_client).and_call_original
|
66
|
+
expect(instance).to receive(:shell_out).with("chef-client --no-fork -c test_config_file -L #{tempfile.path}", {:timeout => 10}).and_return(shell_out_result)
|
67
|
+
instance.service_main
|
68
|
+
tempfile.unlink
|
69
|
+
end
|
53
70
|
end
|
54
71
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chef
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 12.1.0
|
4
|
+
version: 12.1.0
|
5
5
|
platform: x86-mingw32
|
6
6
|
authors:
|
7
7
|
- Adam Jacob
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-03-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mixlib-config
|
@@ -368,42 +368,42 @@ dependencies:
|
|
368
368
|
name: windows-api
|
369
369
|
requirement: !ruby/object:Gem::Requirement
|
370
370
|
requirements:
|
371
|
-
- -
|
371
|
+
- - "~>"
|
372
372
|
- !ruby/object:Gem::Version
|
373
373
|
version: 0.4.2
|
374
374
|
type: :runtime
|
375
375
|
prerelease: false
|
376
376
|
version_requirements: !ruby/object:Gem::Requirement
|
377
377
|
requirements:
|
378
|
-
- -
|
378
|
+
- - "~>"
|
379
379
|
- !ruby/object:Gem::Version
|
380
380
|
version: 0.4.2
|
381
381
|
- !ruby/object:Gem::Dependency
|
382
382
|
name: windows-pr
|
383
383
|
requirement: !ruby/object:Gem::Requirement
|
384
384
|
requirements:
|
385
|
-
- -
|
385
|
+
- - "~>"
|
386
386
|
- !ruby/object:Gem::Version
|
387
387
|
version: 1.2.2
|
388
388
|
type: :runtime
|
389
389
|
prerelease: false
|
390
390
|
version_requirements: !ruby/object:Gem::Requirement
|
391
391
|
requirements:
|
392
|
-
- -
|
392
|
+
- - "~>"
|
393
393
|
- !ruby/object:Gem::Version
|
394
394
|
version: 1.2.2
|
395
395
|
- !ruby/object:Gem::Dependency
|
396
396
|
name: win32-api
|
397
397
|
requirement: !ruby/object:Gem::Requirement
|
398
398
|
requirements:
|
399
|
-
- -
|
399
|
+
- - "~>"
|
400
400
|
- !ruby/object:Gem::Version
|
401
401
|
version: 1.5.1
|
402
402
|
type: :runtime
|
403
403
|
prerelease: false
|
404
404
|
version_requirements: !ruby/object:Gem::Requirement
|
405
405
|
requirements:
|
406
|
-
- -
|
406
|
+
- - "~>"
|
407
407
|
- !ruby/object:Gem::Version
|
408
408
|
version: 1.5.1
|
409
409
|
- !ruby/object:Gem::Dependency
|
@@ -452,14 +452,14 @@ dependencies:
|
|
452
452
|
name: win32-process
|
453
453
|
requirement: !ruby/object:Gem::Requirement
|
454
454
|
requirements:
|
455
|
-
- -
|
455
|
+
- - "~>"
|
456
456
|
- !ruby/object:Gem::Version
|
457
457
|
version: 0.7.3
|
458
458
|
type: :runtime
|
459
459
|
prerelease: false
|
460
460
|
version_requirements: !ruby/object:Gem::Requirement
|
461
461
|
requirements:
|
462
|
-
- -
|
462
|
+
- - "~>"
|
463
463
|
- !ruby/object:Gem::Version
|
464
464
|
version: 0.7.3
|
465
465
|
- !ruby/object:Gem::Dependency
|
@@ -2187,9 +2187,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
2187
2187
|
version: 2.0.0
|
2188
2188
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
2189
2189
|
requirements:
|
2190
|
-
- - "
|
2190
|
+
- - ">="
|
2191
2191
|
- !ruby/object:Gem::Version
|
2192
|
-
version:
|
2192
|
+
version: '0'
|
2193
2193
|
requirements: []
|
2194
2194
|
rubyforge_project:
|
2195
2195
|
rubygems_version: 2.4.4
|