Re: Patch: nagios-check module

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 09/30/2011 10:29 AM, Tim Bielawa wrote:
>
> I'm having trouble applying this patch. I think one of our mail clients
> is wrapping parts of it because it's inlined.
>
> $ git am < ~/nagios-check-fix.patch
> Applying: Patch: nagios-check module
> fatal: corrupt patch at line 39
> Patch failed at 0001 Patch: nagios-check module
>
> Also, the diff header of the patch is referring to a file that does not
> exist yet if you are applying it against what's in git.
>
> Can you: Make and commit all your changes in git locally and then:
>
>  git format-patch origin/master
>
> After that can you respond to this thread with it as an attachment?
>
> Thanks,
>
>
> p.s. the patch looks fine, but honestly I just can't even apply it to
> give it a simple smoke-test
>
>

Sorry about that, let me know if the attached works better. As for the
file name, since nagios-check.py can not be import directly in python
due to the hyphen:
In [1]: import nagios-check
  File "<ipython-input-1-6ddeeb3cbbd2>", line 1
    import nagios-check
                 ^
SyntaxError: invalid syntax

I renamed it nagios_check.py, not sure if this is the best for the
future but that is where that confusion lay. Is there a way to capture a
name change in a patch? The name has been changed back so this "should"
apply cleanly.

-Erinn



>From 3247d450269fa16d72b0e6afbab8186e70886e77 Mon Sep 17 00:00:00 2001
From: Erinn Looney-Triggs <erinn.looneytriggs@xxxxxxxxx>
Date: Fri, 30 Sep 2011 10:38:02 -0800
Subject: [PATCH] Clean up nagios-check module. Allow it to work with config
 files, change class name to avoid collision, import
 sub_process properly and allow it to work with subprocess
 when needed.

---
 func/minion/modules/nagios-check.py |   30 +++++++++++++++++++++---------
 1 files changed, 21 insertions(+), 9 deletions(-)

diff --git a/func/minion/modules/nagios-check.py b/func/minion/modules/nagios-check.py
index c080e56..dc1fbd4 100644
--- a/func/minion/modules/nagios-check.py
+++ b/func/minion/modules/nagios-check.py
@@ -10,26 +10,38 @@
 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
 """
-Abitrary command execution module for func.
+Arbitrary command execution module for func.
 """
 
+from certmaster.config import BaseConfig, Option
 import func_module
-import sub_process
+try:
+    import subprocess
+#Needed for compatibility with Python < 2.4
+except ImportError:
+    from func.minion import sub_process as subprocess
 
-class Nagios(func_module.FuncModule):
+class NagiosCheck(func_module.FuncModule):
 
-    version = "0.0.1"
+    version = "0.0.2"
     api_version = "0.0.1"
-    description = "Runs nagios checks."
+    description = "Runs Nagios checks."
+
+    class Config(BaseConfig):
+        nagios_path = Option('/usr/lib/nagios/plugins')
 
     def run(self, check_command):
         """
-        Runs a nagios check returning the return code, stdout, and stderr as a tuple.
+        Runs a Nagios check gathering the return code, stdout, and stderr 
+        as a tuple.
         """
-        nagios_path='/usr/lib/nagios/plugins'
-        command = '%s/%s' % (nagios_path, check_command)
+        command = '%s/%s' % (self.options.nagios_path, check_command)
 
-        cmdref = sub_process.Popen(command.split(),stdout=sub_process.PIPE,stderr=sub_process.PIPE, shell=False, close_fds=True)
+        cmdref = subprocess.Popen(command.split(),
+                                   stdout=subprocess.PIPE,
+                                   stderr=subprocess.PIPE, 
+                                   shell=False, close_fds=True)
+        
         data = cmdref.communicate()
         return (cmdref.returncode, data[0], data[1])
 
-- 
1.7.6.4

_______________________________________________
Func-list mailing list
Func-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/func-list

[Index of Archives]     [Fedora Users]     [Linux Networking]     [Fedora Legacy List]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux