summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLamont Granquist <lamont@scriptkiddie.org>2019-04-16 12:01:11 -0700
committerGitHub <noreply@github.com>2019-04-16 12:01:11 -0700
commit6121df1f479c1b04838aa18b4955f41777161762 (patch)
treebeb120c88741902a00fa128e638e50b83e5a7fff
parent28091136d32b5039b766b07800cb68c935f504f0 (diff)
parentb49cfbe7b8f51bd04e255cf74389eaed4f54f63f (diff)
downloadchef-6121df1f479c1b04838aa18b4955f41777161762.tar.gz
Merge pull request #8351 from jasonwbarnett/bugfix/do-not-converge-default-user
Prevent accidentally configuring windows_service properties
-rw-r--r--lib/chef/provider/service/windows.rb18
-rw-r--r--spec/unit/provider/service/windows_spec.rb14
2 files changed, 4 insertions, 28 deletions
diff --git a/lib/chef/provider/service/windows.rb b/lib/chef/provider/service/windows.rb
index 23be4c0396..4759e34153 100644
--- a/lib/chef/provider/service/windows.rb
+++ b/lib/chef/provider/service/windows.rb
@@ -208,11 +208,6 @@ class Chef::Provider::Service::Windows < Chef::Provider::Service
return
end
- # Until #6300 is solved this is required
- if new_resource.run_as_user == new_resource.class.properties[:run_as_user].default
- new_resource.run_as_user = new_resource.class.properties[:run_as_user].default
- end
-
converge_if_changed :service_type, :startup_type, :error_control,
:binary_path_name, :load_order_group, :dependencies,
:run_as_user, :display_name, :description do
@@ -400,16 +395,11 @@ class Chef::Provider::Service::Windows < Chef::Provider::Service
end
def converge_delayed_start
- config = {}
- config[:service_name] = new_resource.service_name
- config[:delayed_start] = new_resource.delayed_start ? 1 : 0
-
- # Until #6300 is solved this is required
- if new_resource.delayed_start == new_resource.class.properties[:delayed_start].default
- new_resource.delayed_start = new_resource.class.properties[:delayed_start].default
- end
-
converge_if_changed :delayed_start do
+ config = {}
+ config[:service_name] = new_resource.service_name
+ config[:delayed_start] = new_resource.delayed_start ? 1 : 0
+
Win32::Service.configure(config)
end
end
diff --git a/spec/unit/provider/service/windows_spec.rb b/spec/unit/provider/service/windows_spec.rb
index 2f955a3e13..9145a0caf4 100644
--- a/spec/unit/provider/service/windows_spec.rb
+++ b/spec/unit/provider/service/windows_spec.rb
@@ -354,13 +354,6 @@ describe Chef::Provider::Service::Windows, "load_current_resource", :windows_onl
allow(Win32::Service).to receive(:configure).with(anything).and_return(true)
end
- it "works around #6300 if run_as_user is default" do
- new_resource.run_as_user = new_resource.class.properties[:run_as_user].default
- expect(provider.new_resource).to receive(:run_as_user=)
- .with(new_resource.class.properties[:run_as_user].default)
- provider.action_configure
- end
-
# properties that are Strings
%i{binary_path_name load_order_group dependencies run_as_user
display_name description}.each do |attr|
@@ -436,13 +429,6 @@ describe Chef::Provider::Service::Windows, "load_current_resource", :windows_onl
allow(Win32::Service).to receive(:configure).and_return(true)
end
- it "works around #6300 if delayed_start is default" do
- new_resource.delayed_start = new_resource.class.properties[:delayed_start].default
- expect(provider.new_resource).to receive(:delayed_start=)
- .with(new_resource.class.properties[:delayed_start].default)
- provider.send(:converge_delayed_start)
- end
-
context "delayed start needs to be updated" do
before do
provider.current_resource.delayed_start = false