diff options
author | markgibbons <mark.gibbons@nordstrom.com> | 2016-11-09 16:00:48 -0800 |
---|---|---|
committer | markgibbons <mark.gibbons@nordstrom.com> | 2016-11-15 16:32:21 -0800 |
commit | 58c5137e854782329215182364110021a0418a2e (patch) | |
tree | 2dff664831c2f8bbc82eb1abafdfd35b6f10ff9f /lib | |
parent | fc0ead5b9ec6aa28ae263f8f9c6bc4c7310c9471 (diff) | |
download | chef-58c5137e854782329215182364110021a0418a2e.tar.gz |
smf_recursive_dependencies: Allow solaris services to start recursively.
Svcadm enable -s service only starts the named service. This commit adds the
recursive option to start service dependencies recursively. The resulting command
"svcadm enable -sr service" will try to start service dependencies before
starting the named service.
Signed-off-by: markgibbons <mark.gibbons@nordstrom.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/chef/provider/service/solaris.rb | 3 | ||||
-rw-r--r-- | lib/chef/resource/service.rb | 9 |
2 files changed, 11 insertions, 1 deletions
diff --git a/lib/chef/provider/service/solaris.rb b/lib/chef/provider/service/solaris.rb index 868b3e1ac1..c3e47b3a5c 100644 --- a/lib/chef/provider/service/solaris.rb +++ b/lib/chef/provider/service/solaris.rb @@ -56,7 +56,8 @@ class Chef def enable_service shell_out!(default_init_command, "clear", @new_resource.service_name) if @maintenance - shell_out!(default_init_command, "enable", "-s", @new_resource.service_name) + start_flags = @new_resource.recursive ? "-sr" : "-s" + shell_out!(default_init_command, "enable", start_flags , @new_resource.service_name) end def disable_service diff --git a/lib/chef/resource/service.rb b/lib/chef/resource/service.rb index 1ca4b84af0..c230278434 100644 --- a/lib/chef/resource/service.rb +++ b/lib/chef/resource/service.rb @@ -49,6 +49,7 @@ class Chef @run_levels = nil @user = nil @supports = { :restart => nil, :reload => nil, :status => nil } + @recursive = nil end def service_name(arg = nil) @@ -212,6 +213,14 @@ class Chef end end + def recursive(arg = nil) + set_or_return( + :user, + arg, + :kind_of => [ TrueClass, FalseClass ] + ) + end + end end end |