Repository: ambari
Updated Branches:
  refs/heads/trunk dd572397c -> 30eb73a76


AMBARI-20856 Changing Solr port in Ambari Infra fails (mgergely)

Change-Id: I76769b4465be8fdf3575b0eaca4555cab6929d78


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

Branch: refs/heads/trunk
Commit: 30eb73a7627512f421d7e17e16846abee5033e84
Parents: dd57239
Author: Miklos Gergely <mgerg...@hortonworks.com>
Authored: Thu Apr 27 17:00:25 2017 +0200
Committer: Miklos Gergely <mgerg...@hortonworks.com>
Committed: Thu Apr 27 17:00:25 2017 +0200

----------------------------------------------------------------------
 .../AMBARI_INFRA/0.1.0/package/scripts/infra_solr.py           | 6 +++---
 .../AMBARI_INFRA/0.1.0/package/scripts/params.py               | 1 +
 .../AMBARI_INFRA/0.1.0/package/scripts/status_params.py        | 6 ++++++
 .../src/test/python/stacks/2.4/AMBARI_INFRA/test_infra_solr.py | 3 +++
 4 files changed, 13 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/30eb73a7/ambari-server/src/main/resources/common-services/AMBARI_INFRA/0.1.0/package/scripts/infra_solr.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/common-services/AMBARI_INFRA/0.1.0/package/scripts/infra_solr.py
 
b/ambari-server/src/main/resources/common-services/AMBARI_INFRA/0.1.0/package/scripts/infra_solr.py
index 4a8b9c0..247d82a 100644
--- 
a/ambari-server/src/main/resources/common-services/AMBARI_INFRA/0.1.0/package/scripts/infra_solr.py
+++ 
b/ambari-server/src/main/resources/common-services/AMBARI_INFRA/0.1.0/package/scripts/infra_solr.py
@@ -59,15 +59,15 @@ class InfraSolr(Script):
       Execute(format('{solr_bindir}/solr stop -all >> {infra_solr_log}'),
               environment={'SOLR_INCLUDE': 
format('{infra_solr_conf}/infra-solr-env.sh')},
               user=params.infra_solr_user,
-              only_if=format("test -f {infra_solr_pidfile}")
+              only_if=format("test -f {prev_infra_solr_pidfile}")
               )
 
-      File(params.infra_solr_pidfile,
+      File(params.prev_infra_solr_pidfile,
            action="delete"
            )
     except:
       Logger.warning("Could not stop solr:" + str(sys.exc_info()[1]) + "\n 
Trying to kill it")
-      self.kill_process(params.infra_solr_pidfile, params.infra_solr_user, 
params.infra_solr_log_dir)
+      self.kill_process(params.prev_infra_solr_pidfile, 
params.infra_solr_user, params.infra_solr_log_dir)
 
   def status(self, env):
     import status_params

http://git-wip-us.apache.org/repos/asf/ambari/blob/30eb73a7/ambari-server/src/main/resources/common-services/AMBARI_INFRA/0.1.0/package/scripts/params.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/common-services/AMBARI_INFRA/0.1.0/package/scripts/params.py
 
b/ambari-server/src/main/resources/common-services/AMBARI_INFRA/0.1.0/package/scripts/params.py
index acf420e..6eb3ba8 100644
--- 
a/ambari-server/src/main/resources/common-services/AMBARI_INFRA/0.1.0/package/scripts/params.py
+++ 
b/ambari-server/src/main/resources/common-services/AMBARI_INFRA/0.1.0/package/scripts/params.py
@@ -54,6 +54,7 @@ infra_solr_conf = "/etc/ambari-infra-solr/conf"
 infra_solr_port = status_params.infra_solr_port
 infra_solr_piddir = status_params.infra_solr_piddir
 infra_solr_pidfile = status_params.infra_solr_pidfile
+prev_infra_solr_pidfile = status_params.prev_infra_solr_pidfile
 
 user_group = config['configurations']['cluster-env']['user_group']
 fetch_nonlocal_groups = 
config['configurations']['cluster-env']["fetch_nonlocal_groups"]

http://git-wip-us.apache.org/repos/asf/ambari/blob/30eb73a7/ambari-server/src/main/resources/common-services/AMBARI_INFRA/0.1.0/package/scripts/status_params.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/common-services/AMBARI_INFRA/0.1.0/package/scripts/status_params.py
 
b/ambari-server/src/main/resources/common-services/AMBARI_INFRA/0.1.0/package/scripts/status_params.py
index f51a321..f91a114 100644
--- 
a/ambari-server/src/main/resources/common-services/AMBARI_INFRA/0.1.0/package/scripts/status_params.py
+++ 
b/ambari-server/src/main/resources/common-services/AMBARI_INFRA/0.1.0/package/scripts/status_params.py
@@ -23,6 +23,7 @@ from resource_management.libraries.functions import 
get_kinit_path
 from resource_management.libraries.functions.default import default
 from resource_management.libraries.functions.format import format
 from resource_management.libraries.script.script import Script
+from os import listdir, path
 
 config = Script.get_config()
 
@@ -30,5 +31,10 @@ infra_solr_port = 
default('configurations/infra-solr-env/infra_solr_port', '8886
 infra_solr_piddir = 
default('configurations/infra-solr-env/infra_solr_pid_dir', 
'/var/run/ambari-infra-solr')
 infra_solr_pidfile = format("{infra_solr_piddir}/solr-{infra_solr_port}.pid")
 
+prev_infra_solr_pidfile = ''
+if path.isdir(infra_solr_piddir):
+  for file in listdir(infra_solr_piddir):
+    prev_infra_solr_pidfile = infra_solr_piddir + '/' + file
+
 security_enabled = config['configurations']['cluster-env']['security_enabled']
 kinit_path_local = 
get_kinit_path(default('/configurations/kerberos-env/executable_search_paths', 
None))

http://git-wip-us.apache.org/repos/asf/ambari/blob/30eb73a7/ambari-server/src/test/python/stacks/2.4/AMBARI_INFRA/test_infra_solr.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/python/stacks/2.4/AMBARI_INFRA/test_infra_solr.py 
b/ambari-server/src/test/python/stacks/2.4/AMBARI_INFRA/test_infra_solr.py
index 2de3fba..87304cd 100644
--- a/ambari-server/src/test/python/stacks/2.4/AMBARI_INFRA/test_infra_solr.py
+++ b/ambari-server/src/test/python/stacks/2.4/AMBARI_INFRA/test_infra_solr.py
@@ -21,7 +21,10 @@ limitations under the License.
 from stacks.utils.RMFTestCase import RMFTestCase, Template, InlineTemplate, 
StaticFile
 from resource_management.core.exceptions import ComponentIsNotRunning
 from resource_management.libraries.script.config_dictionary import 
UnknownConfiguration
+from mock.mock import MagicMock, call, patch
 
+@patch("os.listdir", new = MagicMock(return_value=['solr-8886.pid']))
+@patch("os.path.isdir", new = MagicMock(return_value=True))
 class TestInfraSolr(RMFTestCase):
   COMMON_SERVICES_PACKAGE_DIR = "AMBARI_INFRA/0.1.0/package"
   STACK_VERSION = "2.4"

Reply via email to