瀏覽代碼

AMBARI-13900. RU: Failed to install new stack on SLES (aonishuk)

Andrew Onishuk 9 年之前
父節點
當前提交
d71f17d4eb

+ 16 - 0
ambari-server/src/main/resources/custom_actions/scripts/install_packages.py

@@ -287,6 +287,8 @@ class InstallPackages(Script):
     # Install packages
     packages_were_checked = False
     try:
+      Package(self.get_base_packages_to_install())
+      
       packages_installed_before = []
       allInstalledPackages(packages_installed_before)
       packages_installed_before = [package[0] for package in packages_installed_before]
@@ -376,6 +378,20 @@ class InstallPackages(Script):
     Logger.error("Caught signal {0}, will handle it gracefully. Compute the actual version if possible before exiting.".format(signum))
     self.check_partial_install()
     
+  def get_base_packages_to_install(self):
+    """
+    HACK: list packages which should be installed without disabling any repos. (This is planned to fix in Ambari-2.2)
+    """
+    base_packages_to_install = ['fuse']
+    
+    if OSCheck.is_suse_family() or OSCheck.is_ubuntu_family():
+      base_packages_to_install.append('libfuse2')
+    else:
+      base_packages_to_install.append('fuse-libs')
+      
+    return base_packages_to_install
+
+    
   def filter_package_list(self, package_list):
     """
     Note: that we have skipUpgrade option in metainfo.xml to filter packages,

+ 8 - 0
ambari-server/src/test/python/custom_actions/TestInstallPackages.py

@@ -109,6 +109,8 @@ class TestInstallPackages(RMFTestCase):
                               mirror_list=None,
                               append_to_file=True,
     )
+    self.assertResourceCalled('Package', 'fuse')
+    self.assertResourceCalled('Package', 'fuse-libs')
     self.assertResourceCalled('Package', 'hadoop_2_2_*', use_repos=['HDP-UTILS-2.2.0.1-885', 'HDP-2.2.0.1-885'], skip_repos=['HDP-*'])
     self.assertResourceCalled('Package', 'snappy', use_repos=['HDP-UTILS-2.2.0.1-885', 'HDP-2.2.0.1-885'], skip_repos=['HDP-*'])
     self.assertResourceCalled('Package', 'snappy-devel', use_repos=['HDP-UTILS-2.2.0.1-885', 'HDP-2.2.0.1-885'], skip_repos=['HDP-*'])
@@ -167,6 +169,8 @@ class TestInstallPackages(RMFTestCase):
                               mirror_list=None,
                               append_to_file=True,
                               )
+    self.assertResourceCalled('Package', 'fuse')
+    self.assertResourceCalled('Package', 'libfuse2')
     self.assertResourceCalled('Package', 'hadoop_2_2_0_1_885*', use_repos=['base', 'HDP-UTILS-2.2.0.1-885', 'HDP-2.2.0.1-885'], skip_repos=[])
     self.assertResourceCalled('Package', 'snappy', use_repos=['base', 'HDP-UTILS-2.2.0.1-885', 'HDP-2.2.0.1-885'], skip_repos=[])
     self.assertResourceCalled('Package', 'snappy-devel', use_repos=['base', 'HDP-UTILS-2.2.0.1-885', 'HDP-2.2.0.1-885'], skip_repos=[])
@@ -228,6 +232,8 @@ class TestInstallPackages(RMFTestCase):
                               mirror_list=None,
                               append_to_file=True,
     )
+    self.assertResourceCalled('Package', 'fuse')
+    self.assertResourceCalled('Package', 'fuse-libs')
     self.assertResourceCalled('Package', 'hadoop_2_2_*', use_repos=['HDP-UTILS-2.2.0.1-885', 'HDP-2.2.0.1-885'], skip_repos=['HDP-*'])
     self.assertResourceCalled('Package', 'snappy', use_repos=['HDP-UTILS-2.2.0.1-885', 'HDP-2.2.0.1-885'], skip_repos=['HDP-*'])
     self.assertResourceCalled('Package', 'snappy-devel', use_repos=['HDP-UTILS-2.2.0.1-885', 'HDP-2.2.0.1-885'], skip_repos=['HDP-*'])
@@ -360,6 +366,8 @@ class TestInstallPackages(RMFTestCase):
                               mirror_list=None,
                               append_to_file=True,
                               )
+    self.assertResourceCalled('Package', 'fuse')
+    self.assertResourceCalled('Package', 'libfuse2')
     self.assertResourceCalled('Package', 'hadoop_2_2_0_1_885*', use_repos=['base', 'HDP-UTILS-2.2.0.1-885', 'HDP-2.2.0.1-885'], skip_repos=[])
     self.assertResourceCalled('Package', 'snappy', use_repos=['base', 'HDP-UTILS-2.2.0.1-885', 'HDP-2.2.0.1-885'], skip_repos=[])
     self.assertResourceCalled('Package', 'snappy-devel', use_repos=['base', 'HDP-UTILS-2.2.0.1-885', 'HDP-2.2.0.1-885'], skip_repos=[])