3cd12006bb
Signed-off-by: Dean Troyer <dtroyer@gmail.com>
50 lines
1.8 KiB
Diff
50 lines
1.8 KiB
Diff
From a0ce82562d75c62fbe7258d0ed4e3ac6d0248ed4 Mon Sep 17 00:00:00 2001
|
|
From: Don Penney <don.penney@windriver.com>
|
|
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 '\\<status)' #{fullpath} 2>/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
|
|
|