Преглед изворни кода

AMBARI-11269. Installing Service After Upgrading Stacks Fails Due To Broken Symlink (dlysnichenko)

Lisnichenko Dmitro пре 10 година
родитељ
комит
3be87ee559

+ 3 - 2
ambari-agent/src/test/python/resource_management/TestScript.py

@@ -44,9 +44,9 @@ class TestScript(TestCase):
     sys.stdout = out
 
 
-
+  @patch.object(Script, 'set_version')
   @patch("resource_management.core.providers.package.PackageProvider")
-  def test_install_packages(self, package_provider_mock):
+  def test_install_packages(self, package_provider_mock, set_version_mock):
     no_packages_config = {
       'hostLevelParams' : {
         'repo_info' : "[{\"baseUrl\":\"http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0\",\"osType\":\"centos6\",\"repoId\":\"HDP-2.0._\",\"repoName\":\"HDP\",\"defaultBaseUrl\":\"http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0\"}]"
@@ -90,6 +90,7 @@ class TestScript(TestCase):
       script.install_packages("env")
     resource_dump = pprint.pformat(env.resource_list)
     self.assertEqual(resource_dump, '[Package[\'hbase\'], Package[\'yet-another-package\']]')
+    self.assertTrue(set_version_mock.called)
 
   @patch("__builtin__.open")
   def test_structured_out(self, open_mock):

+ 1 - 3
ambari-common/src/main/python/resource_management/libraries/script/script.py

@@ -212,8 +212,6 @@ class Script(object):
       with Environment(self.basedir, tmp_dir=Script.tmp_dir) as env:
         env.config.download_path = Script.tmp_dir
         method(env)
-        if command_name == "install":
-          self.set_version()
     finally:
       if self.should_expose_component_version(command_name):
         self.save_component_version_to_structured_out()
@@ -372,7 +370,7 @@ class Script(object):
                           config["hostLevelParams"]["agentCacheDir"], "hdp.msi", hadoop_user, self.get_password(hadoop_user),
                           str(config['hostLevelParams']['stack_version']))
       reload_windows_env()
-    pass
+    self.set_version()
 
   @staticmethod
   def fail_with_error(message):