AMBARI-18741: Not able to change the default port ambari server listens to 
(Anita Jebaraj via dili)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/352fe851
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/352fe851
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/352fe851

Branch: refs/heads/branch-feature-AMBARI-18634
Commit: 352fe85181d81cf23f82953f05bc66a7c88d639b
Parents: 79de029
Author: Di Li <[email protected]>
Authored: Tue Nov 8 11:05:26 2016 -0500
Committer: Di Li <[email protected]>
Committed: Tue Nov 8 11:05:26 2016 -0500

----------------------------------------------------------------------
 .../python/ambari_server/serverConfiguration.py    | 13 +++++++++++++
 .../src/main/python/ambari_server/utils.py         |  9 ++-------
 ambari-server/src/test/python/TestUtils.py         | 17 +++++++++++++----
 3 files changed, 28 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/352fe851/ambari-server/src/main/python/ambari_server/serverConfiguration.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/python/ambari_server/serverConfiguration.py 
b/ambari-server/src/main/python/ambari_server/serverConfiguration.py
index 766f4cc..04509cf 100644
--- a/ambari-server/src/main/python/ambari_server/serverConfiguration.py
+++ b/ambari-server/src/main/python/ambari_server/serverConfiguration.py
@@ -685,6 +685,19 @@ def get_master_key_location(properties):
     keyLocation = properties[SECURITY_KEYS_DIR]
   return keyLocation
 
+def get_ambari_server_ui_port(properties):
+  ambari_server_ui_port = CLIENT_API_PORT
+  client_api_port = properties.get_property(CLIENT_API_PORT_PROPERTY)
+  if client_api_port:
+    ambari_server_ui_port = client_api_port
+  api_ssl = properties.get_property(SSL_API)
+  if api_ssl and str(api_ssl).lower() == "true":
+    ambari_server_ui_port = DEFAULT_SSL_API_PORT
+    ssl_api_port = properties.get_property(SSL_API_PORT)
+    if ssl_api_port:
+      ambari_server_ui_port = ssl_api_port
+  return ambari_server_ui_port
+
 # Copy file to /tmp and save with file.# (largest # is latest file)
 def backup_file_in_temp(filePath):
   if filePath is not None:

http://git-wip-us.apache.org/repos/asf/ambari/blob/352fe851/ambari-server/src/main/python/ambari_server/utils.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/python/ambari_server/utils.py 
b/ambari-server/src/main/python/ambari_server/utils.py
index 757c333..1ff8d1e 100644
--- a/ambari-server/src/main/python/ambari_server/utils.py
+++ b/ambari-server/src/main/python/ambari_server/utils.py
@@ -150,13 +150,8 @@ def wait_for_pid(pids, server_init_timeout, 
occupy_port_timeout, init_web_ui_tim
   """
     Check pid for existence during timeout
   """
-  ambari_server_ui_port = 8080
-  api_ssl = properties.get_property("api.ssl")
-  ssl_api_port = properties.get_property("client.api.ssl.port")
-  if api_ssl and str(api_ssl).lower() == "true":
-    if ssl_api_port:
-      ambari_server_ui_port = int(ssl_api_port)
-
+  from ambari_server.serverConfiguration import get_ambari_server_ui_port
+  ambari_server_ui_port = int(get_ambari_server_ui_port(properties))
   server_ui_port_occupied = False
   tstart = time.time()
   pid_live = 0

http://git-wip-us.apache.org/repos/asf/ambari/blob/352fe851/ambari-server/src/test/python/TestUtils.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/TestUtils.py 
b/ambari-server/src/test/python/TestUtils.py
index 367b7fe..bedd75c 100644
--- a/ambari-server/src/test/python/TestUtils.py
+++ b/ambari-server/src/test/python/TestUtils.py
@@ -123,15 +123,18 @@ class TestUtils(TestCase):
   @patch('time.time')
   @patch.object(utils, 'pid_exists')
   @patch('time.sleep')
-  @patch("ambari_server.serverConfiguration.get_ambari_properties")
   @patch("socket.socket")
   @patch('__builtin__.open')
-  def test_wait_for_pid(self, open_mock, socket_mock, get_properties_mock, 
sleep_mock, pid_exists_mock, time_mock):
+  def test_wait_for_pid(self, open_mock, socket_mock, sleep_mock, 
pid_exists_mock, time_mock):
+    from ambari_server.serverConfiguration import SSL_API, 
CLIENT_API_PORT_PROPERTY
     pid_exists_mock.return_value = True
     time_mock.side_effect = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51]
     s = socket_mock.return_value
     s.connect = MagicMock()
-
+    properties = FakeProperties({
+      SSL_API: "false",
+      CLIENT_API_PORT_PROPERTY: "8080"
+    })
     out = StringIO.StringIO()
     sys.stdout = out
     live_pids = utils.wait_for_pid([
@@ -143,7 +146,7 @@ class TestUtils(TestCase):
                                     "exe": "",
                                     "cmd": ""
                                     },
-                                   ], 5, 40, 10, '', '', get_properties_mock)
+                                   ], 5, 40, 10, '', '', properties)
     self.assertEqual(".\nServer started listening on 8080\n\nDB configs 
consistency check: no errors and warnings were "
                      "found.\nWaiting for 10 seconds, for server WEB UI 
initialization\n........", out.getvalue())
     sys.stdout = sys.__stdout__
@@ -249,3 +252,9 @@ class TestUtils(TestCase):
     self.assertEquals(utils.compare_versions("2.0.0_1","2.0.0_2"),0)
     self.assertEquals(utils.compare_versions("2.0.0-abc","2.0.0_abc"),0)
 
+class FakeProperties(object):
+  def __init__(self, prop_map):
+    self.prop_map = prop_map
+
+  def get_property(self, prop_name):
+    return self.prop_map[prop_name]
\ No newline at end of file

Reply via email to