You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by bu...@apache.org on 2017/11/14 19:08:54 UTC

svn commit: r1815248 [1/3] - in /uima/uima-ducc/trunk: src/main/admin/ src/main/resources/ uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/ uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/

Author: burn
Date: Tue Nov 14 19:08:53 2017
New Revision: 1815248

URL: http://svn.apache.org/viewvc?rev=1815248&view=rev
Log:
UIMA-5648 Set ducc.uid from file owner instead of site props

Modified:
    uima/uima-ducc/trunk/src/main/admin/ducc_util.py
    uima/uima-ducc/trunk/src/main/resources/default.ducc.properties
    uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/CGroupsManager.java
    uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccPropertiesResolver.java

Modified: uima/uima-ducc/trunk/src/main/admin/ducc_util.py
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/src/main/admin/ducc_util.py?rev=1815248&r1=1815247&r2=1815248&view=diff
==============================================================================
--- uima/uima-ducc/trunk/src/main/admin/ducc_util.py (original)
+++ uima/uima-ducc/trunk/src/main/admin/ducc_util.py Tue Nov 14 19:08:53 2017
@@ -25,6 +25,7 @@ import string
 import subprocess
 import re
 import grp
+import pwd
 import resource
 import time
 import platform
@@ -64,6 +65,15 @@ import db_util as dbu
 global use_threading
 use_threading = True
 
+# The "ducc" userid is the user that installed DUCC and created this file.
+# If the admin dir's permissions were 700 then could assume the current user is the ducc user
+def find_ducc_uid():
+    my_file = os.path.abspath(__file__)    
+    my_stat = os.stat(my_file)
+    my_uid = my_stat.st_uid
+    pwdinfo = pwd.getpwuid(my_uid)
+    return pwdinfo.pw_name
+
 class ThreadWorker(Thread):
     def __init__(self, queue, outlock):
         Thread.__init__(self)
@@ -136,7 +146,7 @@ class DuccUtil(DuccBase):
         self.ssh_enabled       = self.ducc_properties.get('ducc.ssh')
         self.duccling          = self.ducc_properties.get('ducc.agent.launcher.ducc_spawn_path')
 
-        self.ducc_uid           = self.ducc_properties.get('ducc.uid')
+        self.ducc_uid          = find_ducc_uid()
         # self.broker_url      = self.ducc_properties.get('ducc.broker.url')
         self.broker_protocol   = self.ducc_properties.get('ducc.broker.protocol')
         self.broker_host       = self.ducc_properties.get('ducc.broker.hostname')
@@ -639,7 +649,7 @@ class DuccUtil(DuccBase):
                 duccgid = grpinfo.gr_gid
 
                 if ( (dl_stat.st_uid != 0) or (dl_stat.st_gid != duccgid) ):
-                    print 'ducc_ling module', dl, ': Invalid ownership. Should be root.'+self.ducc_uid
+                    print 'ducc_ling module', dl, ': Invalid ownership. Should be '+self.ducc_uid
                 else:
                     own_safe = True
             except:
@@ -735,6 +745,7 @@ class DuccUtil(DuccBase):
             return messages
 
         return None
+
         
     #
     # Input is array lines from ps command looking for ducc processes owned this user.

Modified: uima/uima-ducc/trunk/src/main/resources/default.ducc.properties
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/src/main/resources/default.ducc.properties?rev=1815248&r1=1815247&r2=1815248&view=diff
==============================================================================
--- uima/uima-ducc/trunk/src/main/resources/default.ducc.properties (original)
+++ uima/uima-ducc/trunk/src/main/resources/default.ducc.properties Tue Nov 14 19:08:53 2017
@@ -42,9 +42,6 @@
 # | General                                                                                          |
 # +==================================================================================================+
 
-# The name of the user that runs the DUCC daemons.
-ducc.uid = ducc
-
 # The name of the node where DUCC runs.
 # This property declares the node where the DUCC administrative processes run (Orchestrator,
 # Resource Manager, Process Manager, Service Manager).  This property is required and MUST be