You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by ch...@apache.org on 2013/02/26 19:15:12 UTC
svn commit: r1450324 - in /uima/sandbox/uima-ducc/trunk/src/main/admin:
ducc_post_install ducc_util.py
Author: challngr
Date: Tue Feb 26 18:15:11 2013
New Revision: 1450324
URL: http://svn.apache.org/r1450324
Log:
UIMA-2690
Consolidate platform messages and regex.
Modified:
uima/sandbox/uima-ducc/trunk/src/main/admin/ducc_post_install
uima/sandbox/uima-ducc/trunk/src/main/admin/ducc_util.py
Modified: uima/sandbox/uima-ducc/trunk/src/main/admin/ducc_post_install
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/src/main/admin/ducc_post_install?rev=1450324&r1=1450323&r2=1450324&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/src/main/admin/ducc_post_install (original)
+++ uima/sandbox/uima-ducc/trunk/src/main/admin/ducc_post_install Tue Feb 26 18:15:11 2013
@@ -262,7 +262,8 @@ class PostInstall(DuccUtil):
amqhome = self.ducc_properties.get('ducc.broker.home')
os.chdir(amqhome + '/bin')
- os.system("sed -i 's/\r//' activemq")
+ os.system("sed -i.bak 's/.$//' activemq")
+
os.chdir(here)
if __name__ == "__main__":
Modified: uima/sandbox/uima-ducc/trunk/src/main/admin/ducc_util.py
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/src/main/admin/ducc_util.py?rev=1450324&r1=1450323&r2=1450324&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/src/main/admin/ducc_util.py (original)
+++ uima/sandbox/uima-ducc/trunk/src/main/admin/ducc_util.py Tue Feb 26 18:15:11 2013
@@ -28,6 +28,7 @@ import grp
import zipfile
import resource
import time
+import platform
from stat import *
from local_hooks import find_other_processes
@@ -186,9 +187,13 @@ class DuccUtil:
self.duccling = self.ducc_properties.get('ducc.agent.launcher.ducc_spawn_path')
self.webserver_node = self.ducc_properties.get('ducc.ws.node')
self.jvm = self.ducc_properties.get('ducc.jvm')
- ndx = self.jvm.rindex('/')
- ndx = self.jvm.rindex('/', 0, ndx)
- self.jvm_home = self.jvm[:ndx]
+
+ if ( self.system == 'Darwin' ):
+ self.jvm_home = "/Library/Java/Home"
+ else:
+ ndx = self.jvm.rindex('/')
+ ndx = self.jvm.rindex('/', 0, ndx)
+ self.jvm_home = self.jvm[:ndx]
# self.broker_url = self.ducc_properties.get('ducc.broker.url')
self.broker_protocol = self.ducc_properties.get('ducc.broker.protocol')
@@ -220,8 +225,26 @@ class DuccUtil:
def java_home(self):
return self.jvm_home
+ def find_netstat(self):
+ # don't you wish people would get together on where stuff lives?
+ if ( os.path.exists('/sbin/netstat') ):
+ return '/sbin/netstat'
+ if ( os.path.exists('/usr/sbin/netstat') ):
+ return '/usr/sbin/netstat'
+ if ( os.path.exists('/bin/netstat') ):
+ return '/bin/netstat'
+ if ( os.path.exists('/sbin/netstat') ):
+ return '/usr/bin/netstat'
+ print 'Cannot find netstat'
+ return None
+
def is_amq_active(self):
- lines = self.popen('ssh', self.broker_host, 'netstat -an')
+ netstat = self.find_netstat()
+ if ( netstat == None ):
+ print "Cannot determine if ActiveMq is alive."
+ return false
+
+ lines = self.popen('ssh', self.broker_host, netstat, '-an')
#
# look for lines like this with the configured port in the 4th token, and
# ending with LISTEN:
@@ -495,7 +518,11 @@ class DuccUtil:
def find_ducc_process(self, node):
answer = []
- resp = self.ssh(node, True,'ps -eo user:14,pid,comm,args')
+ if ( self.system == 'Darwin'):
+ ps = 'ps -eo user,pid,comm,args'
+ else:
+ ps = 'ps -eo user:14,pid,comm,args'
+ resp = self.ssh(node, True, ps)
ok = True
while True:
@@ -520,7 +547,7 @@ class DuccUtil:
procname = toks[2]
fullargs = toks[3:]
- if ( procname != 'java' ):
+ if ( not ('java' in procname) ):
continue
cont = False
@@ -641,21 +668,19 @@ class DuccUtil:
#
# Get the total memory for the node
#
- meminfo = DuccProperties()
- meminfo.load('/proc/meminfo')
- mem = meminfo.get('MemTotal')
- if ( mem.endswith('kB') ):
- toks = mem.split(' ')
- mem = str(int(toks[0]) / (1024*1024)) + ' gB'
- response.append('MEM: memory is ' + mem)
+ if ( self.system != 'Darwin' ):
+ meminfo = DuccProperties()
+ meminfo.load('/proc/meminfo')
+ mem = meminfo.get('MemTotal')
+ if ( mem.endswith('kB') ):
+ toks = mem.split(' ')
+ mem = str(int(toks[0]) / (1024*1024)) + ' gB'
+ response.append('MEM: memory is ' + mem)
#
# Get the operating system information
#
- f = open('/proc/version')
- for line in f:
- response.append('ENV: system is ' + line.strip())
- f.close()
+ response.append('ENV: system is ' + self.system)
#
# Print the version information from the DUCC jars
@@ -746,6 +771,7 @@ class DuccUtil:
self.DUCC_HOME = me[:ndx] # split from 0 to ndx
os.environ['DUCC_HOME'] = self.DUCC_HOME
+ self.system = platform.system()
self.jvm = None
self.webserver_node = 'localhost'
self.duccling = None