Sophie

Sophie

distrib > Fedora > 16 > x86_64 > by-pkgid > fd269af29348175b07bcbbc7810bbf45 > files > 6

condor-job-hooks-1.5-5.fc16.1.src.rpm

From c1024859939b6d29ff7d18e022c0c163ed80c1fe Mon Sep 17 00:00:00 2001
From: Robert Rati <rrati@redhat.com>
Date: Thu, 21 Jul 2011 12:39:38 -0500
Subject: [PATCH 06/13] Add parameter to read_condor_config to disallow lookup
 of param only.  The param defaults to true, and if
 set to false then subsys.param must exist. Updated
 hooks to used the new parameter

---
 hooks/hook_evict_claim.py       |    2 +-
 hooks/hook_fetch_work.py        |    2 +-
 hooks/hook_job_exit.py          |    2 +-
 hooks/hook_prepare_job.py       |    2 +-
 hooks/hook_reply_fetch.py       |    2 +-
 hooks/hook_update_job_status.py |    2 +-
 module/readconfig.py            |   23 ++++++++++++++---------
 7 files changed, 20 insertions(+), 15 deletions(-)

diff --git a/hooks/hook_evict_claim.py b/hooks/hook_evict_claim.py
index 61bd567..eb3883f 100755
--- a/hooks/hook_evict_claim.py
+++ b/hooks/hook_evict_claim.py
@@ -32,7 +32,7 @@ def main(argv=None):
    log_name = os.path.basename(argv[0])
 
    try:
-      config = read_condor_config('JOB_HOOKS', ['IP', 'PORT', 'LOG'])
+      config = read_condor_config('JOB_HOOKS', ['IP', 'PORT', 'LOG'], permit_param_only = False)
    except ConfigError, error:
       try:
          print >> sys.stderr, 'Warning: %s' % error.msg
diff --git a/hooks/hook_fetch_work.py b/hooks/hook_fetch_work.py
index 102ea60..8fb73e8 100755
--- a/hooks/hook_fetch_work.py
+++ b/hooks/hook_fetch_work.py
@@ -33,7 +33,7 @@ def main(argv=None):
    log_name = os.path.basename(argv[0])
 
    try:
-      config = read_condor_config('JOB_HOOKS', ['IP', 'PORT', 'LOG'])
+      config = read_condor_config('JOB_HOOKS', ['IP', 'PORT', 'LOG'], permit_param_only = False)
    except ConfigError, error:
       try:
          print >> sys.stderr, 'Warning: %s' % error.msg
diff --git a/hooks/hook_job_exit.py b/hooks/hook_job_exit.py
index ebc28af..9637c02 100755
--- a/hooks/hook_job_exit.py
+++ b/hooks/hook_job_exit.py
@@ -36,7 +36,7 @@ def main(argv=None):
    if use_syslog == True:
       syslog.openlog(os.path.basename(argv[0]))
    try:
-      config = read_condor_config('JOB_HOOKS', ['IP', 'PORT'])
+      config = read_condor_config('JOB_HOOKS', ['IP', 'PORT'], permit_param_only = False)
    except ConfigError, error:
       try:
          if use_syslog == True:
diff --git a/hooks/hook_prepare_job.py b/hooks/hook_prepare_job.py
index 1a2e2b0..30a3303 100755
--- a/hooks/hook_prepare_job.py
+++ b/hooks/hook_prepare_job.py
@@ -36,7 +36,7 @@ def main(argv=None):
    if use_syslog == True:
       syslog.openlog(os.path.basename(argv[0]))
    try:
-      config = read_condor_config('JOB_HOOKS', ['IP', 'PORT'])
+      config = read_condor_config('JOB_HOOKS', ['IP', 'PORT'], permit_param_only = False)
    except ConfigError, error:
       try:
          if use_syslog == True:
diff --git a/hooks/hook_reply_fetch.py b/hooks/hook_reply_fetch.py
index 867de9d..4458fd5 100755
--- a/hooks/hook_reply_fetch.py
+++ b/hooks/hook_reply_fetch.py
@@ -33,7 +33,7 @@ def main(argv=None):
    log_name = os.path.basename(argv[0])
 
    try:
-      config = read_condor_config('JOB_HOOKS', ['IP', 'PORT', 'LOG'])
+      config = read_condor_config('JOB_HOOKS', ['IP', 'PORT', 'LOG'], permit_param_only = False)
    except ConfigError, error:
       try:
          print >> sys.stderr, 'Warning: %s' % error.msg
diff --git a/hooks/hook_update_job_status.py b/hooks/hook_update_job_status.py
index bfcd976..4f014cf 100755
--- a/hooks/hook_update_job_status.py
+++ b/hooks/hook_update_job_status.py
@@ -36,7 +36,7 @@ def main(argv=None):
    if use_syslog == True:
       syslog.openlog(os.path.basename(argv[0]))
    try:
-      config = read_condor_config('JOB_HOOKS', ['IP', 'PORT'])
+      config = read_condor_config('JOB_HOOKS', ['IP', 'PORT'], permit_param_only = False)
    except ConfigError, error:
       try:
          if use_syslog == True:
diff --git a/module/readconfig.py b/module/readconfig.py
index 42da2da..d4cb908 100644
--- a/module/readconfig.py
+++ b/module/readconfig.py
@@ -22,7 +22,7 @@ class ConfigError(Exception):
       self.msg = msg
 
 
-def read_condor_config(subsys, attr_list, environ={}):
+def read_condor_config(subsys, attr_list, environ={}, permit_param_only=True):
    """ Uses condor_config_val to look up values in condor's configuration.
        First looks for subsys_param, then for the newer subsys.param.
        Returns map(param, value)"""
@@ -42,14 +42,19 @@ def read_condor_config(subsys, attr_list, environ={}):
                config[attr.lower()] = value.strip()
 
       if found == False:
-         # Try the param name by itself
-         (rcode, value, stderr) = run_cmd('condor_config_val ' + attr, environ=environ)
-         if rcode == 0:
-            found = True
-            config[attr.lower()] = value.strip()
-         else:
-            # The param wasn't found so break out so that an execption can
-            # be raised
+         if permit_param_only == True:
+            # Try the param name by itself
+            (rcode, value, stderr) = run_cmd('condor_config_val ' + attr, environ=environ)
+            if rcode == 0:
+               found = True
+               config[attr.lower()] = value.strip()
+            else:
+               # The param wasn't found so break out so that an execption can
+               # be raised
+               break
+         else
+            # Lookup of param by itself isn't allowed, so break so an exception
+            # can be raised
             break
 
    if found == False:
-- 
1.7.6.5