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

AMBARI-8005. Cannot get 1.7.0 to start with non-root daemon (aonishuk)

Andrew Onishuk 10 éve
szülő
commit
8c04a1ee6f

+ 9 - 1
ambari-server/src/main/python/ambari-server.py

@@ -556,9 +556,13 @@ NR_ADJUST_OWNERSHIP_LIST = [
   ("/var/lib/ambari-server/resources/stacks/", "755", "{0}", True),
   ("/var/lib/ambari-server/resources/custom_actions/", "755", "{0}", True),
   ("/var/lib/ambari-server/resources/host_scripts/", "755", "{0}", True),
+  ("/var/lib/ambari-server/resources/views", "644", "{0}", True),
+  ("/var/lib/ambari-server/resources/views", "755", "{0}", False),
+  ("/var/lib/ambari-server/resources/views/work", "755", "{0}", True),
   ("/etc/ambari-server/conf", "644", "{0}", True),
   ("/etc/ambari-server/conf", "755", "{0}", False),
   ("/etc/ambari-server/conf/password.dat", "640", "{0}", False),
+  ("/var/lib/ambari-server/keys/pass.txt", "640", "{0}", False),
   ("/etc/ambari-server/conf/ldap-password.dat", "640", "{0}", False),
   # Also, /etc/ambari-server/conf/password.dat
   # is generated later at store_password_file
@@ -693,6 +697,7 @@ def adjust_directory_permissions(ambari_user):
   if trust_store_location:
     NR_ADJUST_OWNERSHIP_LIST.append((trust_store_location, "600", "{0}", "{0}", False))
   print "Adjusting ambari-server permissions and ownership..."
+  
   for pack in NR_ADJUST_OWNERSHIP_LIST:
     file = pack[0]
     mod = pack[1]
@@ -1248,7 +1253,6 @@ def prompt_db_properties(args):
 
 # extract the system views
 def extract_views():
-
   jdk_path = find_jdk()
   if jdk_path is None:
     print_error_msg("No JDK found, please run the \"setup\" "
@@ -2276,6 +2280,7 @@ def setup(args):
 
   # Create ambari user, if needed
   retcode = check_ambari_user()
+  
   if not retcode == 0:
     err = 'Failed to create user. Exiting.'
     raise FatalException(retcode, err)
@@ -2372,6 +2377,9 @@ def setup(args):
   if not retcode == 0:
     err = 'Error while extracting system views. Exiting'
     raise FatalException(retcode, err)
+  
+  # we've already done this, but new files were created so run it one time.
+  adjust_directory_permissions(read_ambari_user())
 
 
 def proceedJDBCProperties(args):

+ 6 - 3
ambari-server/src/test/python/TestAmbariServer.py

@@ -2370,7 +2370,9 @@ MIIFHjCCAwYCCQDpHKOBI+Lt0zANBgkqhkiG9w0BAQUFADBRMQswCQYDVQQGEwJV
   @patch.object(ambari_server, 'is_server_runing')
   @patch.object(ambari_server, 'proceedJDBCProperties')
   @patch.object(ambari_server, "extract_views")
-  def test_setup(self, extract_views_mock, proceedJDBCProperties_mock, is_server_runing_mock, is_root_mock, store_local_properties_mock,
+  @patch.object(ambari_server, "adjust_directory_permissions")
+  @patch.object(ambari_server, 'read_ambari_user')
+  def test_setup(self, read_ambari_user_mock, adjust_dirs_mock, extract_views_mock, proceedJDBCProperties_mock, is_server_runing_mock, is_root_mock, store_local_properties_mock,
                  is_local_database_mock, store_remote_properties_mock,
                  setup_remote_db_mock, check_selinux_mock, check_jdbc_drivers_mock, check_ambari_user_mock,
                  check_postgre_up_mock, setup_db_mock, configure_postgres_mock,
@@ -5257,9 +5259,10 @@ MIIFHjCCAwYCCQDpHKOBI+Lt0zANBgkqhkiG9w0BAQUFADBRMQswCQYDVQQGEwJV
   @patch.object(ambari_server, "get_is_secure")
   @patch.object(ambari_server, "store_password_file")
   @patch.object(ambari_server, "extract_views")
+  @patch.object(ambari_server, "adjust_directory_permissions")
   @patch("sys.exit")
   @patch('__builtin__.raw_input')
-  def test_ambariServerSetupWithCustomDbName(self, raw_input, exit_mock, extract_views_mock, store_password_file_mock,
+  def test_ambariServerSetupWithCustomDbName(self, raw_input, exit_mock, adjust_dirs_mock, extract_views_mock, store_password_file_mock,
                                              get_is_secure_mock, setup_db_mock, is_root_mock, is_local_database_mock,
                                              check_selinux_mock, check_jdbc_drivers_mock, check_ambari_user_mock,
                                              check_postgre_up_mock, configure_postgres_mock,
@@ -5310,7 +5313,7 @@ MIIFHjCCAwYCCQDpHKOBI+Lt0zANBgkqhkiG9w0BAQUFADBRMQswCQYDVQQGEwJV
 
     try:
       result = ambari_server.setup(args)
-    except FatalException:
+    except FatalException as ex:
       self.fail("Setup should be successful")
 
     properties = ambari_server.get_ambari_properties()