Forráskód Böngészése

AMBARI-6103. Agent start fails on c5, blocking host confirmation.(vbrodetskyi)

Vitaly Brodetskyi 11 éve
szülő
commit
8a2576d67b

+ 2 - 2
ambari-agent/src/main/python/ambari_agent/PingPortListener.py

@@ -26,7 +26,7 @@ import socket
 import subprocess
 
 logger = logging.getLogger()
-FUSER_CMD = "fuser {0}/tcp 2>&1 | awk '{1}'"
+FUSER_CMD = "fuser {0}/tcp 2>\&1 \| awk \'{1}\'"
 PSPF_CMD = "ps -fp {0}"
 PORT_IN_USE_MESSAGE = "Could not open port {0} because port already used by another process:\n{1}"
 
@@ -41,7 +41,7 @@ class PingPortListener(threading.Thread):
     self.port = int(self.config.get('agent','ping_port'))
     if not self.port == None and not self.port == 0:
       (stdoutdata, stderrdata) = self.run_os_command_in_shell(FUSER_CMD.format(str(self.port), "{print $2}"))
-      if stdoutdata.strip():
+      if stdoutdata.strip() and stdoutdata.strip().isdigit():
         (stdoutdata, stderrdata) = self.run_os_command_in_shell(PSPF_CMD.format(stdoutdata.strip()))
         raise Exception(PORT_IN_USE_MESSAGE.format(str(self.port), stdoutdata))      
     self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

+ 1 - 1
ambari-agent/src/test/python/ambari_agent/TestPingPortListener.py

@@ -66,7 +66,7 @@ class TestPingPortListener(unittest.TestCase):
       self.fail("Should throw exception")
     except Exception as fe:
       # Expected
-      self.assertTrue("port already used" in str(fe))
+      self.assertEqual(1, procObj.communicate.call_count)
       pass
 
 if __name__ == "__main__":