summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/server/plugins/generators/rules.txt65
-rw-r--r--src/lib/Client/Tools/DebInit.py4
-rw-r--r--src/lib/Client/Tools/Upstart.py4
3 files changed, 45 insertions, 28 deletions
diff --git a/doc/server/plugins/generators/rules.txt b/doc/server/plugins/generators/rules.txt
index cff78a8ee..dad01f8aa 100644
--- a/doc/server/plugins/generators/rules.txt
+++ b/doc/server/plugins/generators/rules.txt
@@ -116,34 +116,28 @@ See :ref:`client-tools-actions`
Service Tag
-----------
-+------------+--------------------------+---------------------------------------+
-| Name | Description | Values |
-+============+==========================+=======================================+
-| mode | Per Service Mode (New in | (manual|default|supervised) |
-| | 1.0) | |
-+------------+--------------------------+---------------------------------------+
-| name | Service Name | String |
-+------------+--------------------------+---------------------------------------+
-| status | Should the service be | (on|off) |
-| | on or off (default: | |
-| | off). | |
-+------------+--------------------------+---------------------------------------+
-| target | Service command for | String |
-| | restart (default: | |
-| | restart) | |
-+------------+--------------------------+---------------------------------------+
-| type | Driver to use on the | (chkconfig|deb|rc-update|smf|upstart) |
-| | client to manage this | |
-| | service. | |
-+------------+--------------------------+---------------------------------------+
-| sequence | Order for service | integer |
-| | startup (debian services | |
-| | only) | |
-+------------+--------------------------+---------------------------------------+
-| parameters | Pass parameters to | String |
-| | service (Upstart | |
-| | services only) | |
-+------------+--------------------------+---------------------------------------+
++------------+-------------------------------+-----------------------------------------------+
+| Name | Description | Values |
++============+===============================+===============================================+
+| mode | Per Service Mode (New in 1.0) | (manual | default | supervised) |
++------------+-------------------------------+-----------------------------------------------+
+| name | Service Name | String |
++------------+-------------------------------+-----------------------------------------------+
+| status | Should the service be on or | (on | off | ignore) |
+| | off (default: off). | |
++------------+-------------------------------+-----------------------------------------------+
+| target | Service command for restart | String |
+| | (default: restart) | |
++------------+-------------------------------+-----------------------------------------------+
+| type | Driver to use on the client | (chkconfig | deb | rc-update | smf | upstart) |
+| | to manage this service. | |
++------------+-------------------------------+-----------------------------------------------+
+| sequence | Order for service startup | integer |
+| | (debian services only) | |
++------------+-------------------------------+-----------------------------------------------+
+| parameters | Pass parameters to service | String |
+| | (Upstart services only) | |
++------------+-------------------------------+-----------------------------------------------+
Service mode descriptions
^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -163,6 +157,21 @@ Service mode descriptions
* default and ensure service is running (or stopped) when verification is performed
* deprecates supervised='true'
+Service status descriptions
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+* on
+
+ * start the service at boot time
+
+* off
+
+ * don't start the service at boot time
+
+* ignore
+
+ * don't check the status, leave it as-is (valid for deb and upstart services only)
+
Client Tag
----------
diff --git a/src/lib/Client/Tools/DebInit.py b/src/lib/Client/Tools/DebInit.py
index 119036b32..fc67a73e4 100644
--- a/src/lib/Client/Tools/DebInit.py
+++ b/src/lib/Client/Tools/DebInit.py
@@ -21,6 +21,10 @@ class DebInit(Bcfg2.Client.Tools.SvcTool):
# implement entry (Verify|Install) ops
def VerifyService(self, entry, _):
"""Verify Service status for entry."""
+
+ if entry.get('status') == 'ignore':
+ return True
+
rawfiles = glob.glob("/etc/rc*.d/[SK]*%s" % (entry.get('name')))
files = []
diff --git a/src/lib/Client/Tools/Upstart.py b/src/lib/Client/Tools/Upstart.py
index b75b0927e..7a94a07f3 100644
--- a/src/lib/Client/Tools/Upstart.py
+++ b/src/lib/Client/Tools/Upstart.py
@@ -29,6 +29,10 @@ class Upstart(Bcfg2.Client.Tools.SvcTool):
/etc/init/servicename.conf. All we need to do is make sure
the service is running when it should be.
"""
+
+ if entry.get('status') == 'ignore':
+ return True
+
if entry.get('parameters'):
params = entry.get('parameters')
else: