From 3e0ed33dcd0871fbccefd5b561f41fb46c35e32a Mon Sep 17 00:00:00 2001 From: Don Penney Date: Fri, 30 Dec 2016 10:59:44 -0500 Subject: Set hasstatus to false by default Many of the WR init scripts do not have proper status functions, so set "hasstatus" to false by default. --- lib/puppet/provider/service/init.rb | 9 ++++++++- lib/puppet/type/service.rb | 3 ++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/puppet/provider/service/init.rb b/lib/puppet/provider/service/init.rb index 2806ee0..17f727a 100644 --- a/lib/puppet/provider/service/init.rb +++ b/lib/puppet/provider/service/init.rb @@ -98,7 +98,14 @@ Puppet::Type.type(:service).provide :init, :parent => :base do next if exclude.include? name next if not FileTest.executable?(fullpath) next if not is_init?(fullpath) - instances << new(:name => name, :path => path, :hasstatus => true) + + # Try to determine whether the init script has "status" support via grep + grepcmd = "grep -q '\\/dev/null && echo true || echo false" + if Puppet::Util::Execution.execute(grepcmd) =~ /true/ + instances << new(:name => name, :path => path, :hasstatus => true) + else + instances << new(:name => name, :path => path, :hasstatus => false) + end end end instances diff --git a/lib/puppet/type/service.rb b/lib/puppet/type/service.rb index 1f8d266..61498b5 100644 --- a/lib/puppet/type/service.rb +++ b/lib/puppet/type/service.rb @@ -154,7 +154,8 @@ module Puppet newvalues(:true, :false) - defaultto :true + # WRS: Change hasstatus default to false + defaultto :false end newparam(:name) do desc <<-EOT -- 2.7.4