From a0ce82562d75c62fbe7258d0ed4e3ac6d0248ed4 Mon Sep 17 00:00:00 2001 From: Don Penney Date: Fri, 30 Dec 2016 10:59:44 -0500 Subject: [PATCH] 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 9f2d030..69940ca 100644 --- a/lib/puppet/provider/service/init.rb +++ b/lib/puppet/provider/service/init.rb @@ -81,7 +81,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 dc54f1d..2bab7fc 100644 --- a/lib/puppet/type/service.rb +++ b/lib/puppet/type/service.rb @@ -134,7 +134,8 @@ module Puppet newvalues(:true, :false) - defaultto :true + # WRS: Change hasstatus default to false + defaultto :false end newparam(:name) do desc <<-EOT -- 1.8.3.1