瀏覽代碼

AMBARI-9550. Setup ambari with existing postgres fails.(vbrodetskyi)

Vitaly Brodetskyi 10 年之前
父節點
當前提交
5a3a1f56a0

+ 12 - 5
ambari-server/src/main/python/ambari_server/dbConfiguration_linux.py

@@ -298,10 +298,10 @@ class PGConfig(LinuxDBMSConfig):
                           '--command=/var/lib/ambari-server/resources/scripts/change_owner.sh -d {0} -s {1} -o {2}']
 
   PG_ERROR_BLOCKED = "is being accessed by other users"
-  PG_STATUS_RUNNING = get_postgre_running_status(OS_TYPE)
+  PG_STATUS_RUNNING = None
   SERVICE_CMD = "/usr/bin/env service"
   PG_SERVICE_NAME = "postgresql"
-  PG_HBA_DIR = get_postgre_hba_dir(OSCheck.get_os_family())
+  PG_HBA_DIR = None
 
   PG_ST_CMD = "%s %s status" % (SERVICE_CMD, PG_SERVICE_NAME)
   if os.path.isfile("/usr/bin/postgresql-setup"):
@@ -313,9 +313,9 @@ class PGConfig(LinuxDBMSConfig):
   PG_RESTART_CMD = "%s %s restart" % (SERVICE_CMD, PG_SERVICE_NAME)
   PG_HBA_RELOAD_CMD = "%s %s reload" % (SERVICE_CMD, PG_SERVICE_NAME)
 
-  PG_HBA_CONF_FILE = os.path.join(PG_HBA_DIR, "pg_hba.conf")
-  PG_HBA_CONF_FILE_BACKUP = os.path.join(PG_HBA_DIR, "pg_hba_bak.conf.old")
-  POSTGRESQL_CONF_FILE = os.path.join(PG_HBA_DIR, "postgresql.conf")
+  PG_HBA_CONF_FILE = None
+  PG_HBA_CONF_FILE_BACKUP = None
+  POSTGRESQL_CONF_FILE = None
 
   POSTGRES_EMBEDDED_INIT_FILE = "/var/lib/ambari-server/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql"
   POSTGRES_EMBEDDED_DROP_FILE = "/var/lib/ambari-server/resources/Ambari-DDL-Postgres-EMBEDDED-DROP.sql"
@@ -350,6 +350,13 @@ class PGConfig(LinuxDBMSConfig):
     self._is_user_changed = False
 
     if self.persistence_type == STORAGE_TYPE_LOCAL:
+      PGConfig.PG_STATUS_RUNNING = get_postgre_running_status(OS_TYPE)
+      PGConfig.PG_HBA_DIR = get_postgre_hba_dir(OSCheck.get_os_family())
+
+      PGConfig.PG_HBA_CONF_FILE = os.path.join(PGConfig.PG_HBA_DIR, "pg_hba.conf")
+      PGConfig.PG_HBA_CONF_FILE_BACKUP = os.path.join(PGConfig.PG_HBA_DIR, "pg_hba_bak.conf.old")
+      PGConfig.POSTGRESQL_CONF_FILE = os.path.join(PGConfig.PG_HBA_DIR, "postgresql.conf")
+
       postgres_init_file_default = PGConfig.POSTGRES_EMBEDDED_INIT_FILE
       postgres_drop_file_default = PGConfig.POSTGRES_EMBEDDED_DROP_FILE
     else:

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

@@ -2806,7 +2806,10 @@ MIIFHjCCAwYCCQDpHKOBI+Lt0zANBgkqhkiG9w0BAQUFADBRMQswCQYDVQQGEwJV
   @patch("ambari_server.serverSetup.adjust_directory_permissions")
   @patch("ambari_server.serverSetup.read_ambari_user")
   @patch("ambari_server.serverSetup.expand_jce_zip_file")
-  def test_setup(self, expand_jce_zip_file_mock, read_ambari_user_mock, adjust_dirs_mock, extract_views_mock, proceedJDBCProperties_mock, is_root_mock,
+  @patch("ambari_server.dbConfiguration_linux.get_postgre_hba_dir")
+  @patch("ambari_server.dbConfiguration_linux.get_postgre_running_status")
+  def test_setup(self, get_postgre_running_status_mock, get_postgre_hba_dir_mock, expand_jce_zip_file_mock,
+                 read_ambari_user_mock, adjust_dirs_mock, extract_views_mock, proceedJDBCProperties_mock, is_root_mock,
                  disable_security_enhancements_mock, check_jdbc_drivers_mock, check_ambari_user_mock,
                  download_jdk_mock, configure_os_settings_mock, get_ambari_properties_mock,
                  get_YN_input_mock, gvsi_mock, gvsi_1_mock,
@@ -3235,7 +3238,10 @@ MIIFHjCCAwYCCQDpHKOBI+Lt0zANBgkqhkiG9w0BAQUFADBRMQswCQYDVQQGEwJV
   @patch("getpass.getuser")
   @patch("os.chdir")
   @patch.object(ResourceFilesKeeper, "perform_housekeeping")
-  def test_start(self, perform_housekeeping_mock, chdir_mock, getuser_mock, find_jdbc_driver_mock,
+  @patch("ambari_server.dbConfiguration_linux.get_postgre_hba_dir")
+  @patch("ambari_server.dbConfiguration_linux.get_postgre_running_status")
+  def test_start(self, get_postgre_running_status_mock, get_postgre_hba_dir_mock,
+                 perform_housekeeping_mock, chdir_mock, getuser_mock, find_jdbc_driver_mock,
                  is_root_mock, is_root_2_mock, read_ambari_user_mock,
                  check_postgre_up_mock, print_info_msg_mock, print_warning_msg_mock,
                  find_jdk_mock, check_database_name_property_mock, search_file_mock,
@@ -4110,7 +4116,10 @@ MIIFHjCCAwYCCQDpHKOBI+Lt0zANBgkqhkiG9w0BAQUFADBRMQswCQYDVQQGEwJV
   @patch("ambari_server.serverUpgrade.get_ambari_properties")
   @patch("ambari_server.serverUpgrade.upgrade_local_repo")
   @patch("ambari_server.serverUpgrade.move_user_custom_actions")
-  def test_upgrade(self, move_user_custom_actions, upgrade_local_repo_mock,
+  @patch("ambari_server.dbConfiguration_linux.get_postgre_hba_dir")
+  @patch("ambari_server.dbConfiguration_linux.get_postgre_running_status")
+  def test_upgrade(self, get_postgre_running_status_mock, get_postgre_hba_dir_mock,
+                   move_user_custom_actions, upgrade_local_repo_mock,
                    get_ambari_properties_mock, get_ambari_properties_2_mock, get_ambari_properties_3_mock,
                    is_root_mock, get_ambari_version_mock, get_ambari_version_2_mock,
                    parse_properties_file_mock,