You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ao...@apache.org on 2016/04/04 14:22:11 UTC
ambari git commit: AMBARI-15684. Provide more intuitive error message
when unable to change Ambari server pid or log dirs (aonishuk)
Repository: ambari
Updated Branches:
refs/heads/trunk b09dfe4a2 -> 8eb03cd57
AMBARI-15684. Provide more intuitive error message when unable to change Ambari server pid or log dirs (aonishuk)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/8eb03cd5
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/8eb03cd5
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/8eb03cd5
Branch: refs/heads/trunk
Commit: 8eb03cd5734f28af5d194fa4883f72e9e82315bf
Parents: b09dfe4
Author: Andrew Onishuk <ao...@hortonworks.com>
Authored: Mon Apr 4 15:21:56 2016 +0300
Committer: Andrew Onishuk <ao...@hortonworks.com>
Committed: Mon Apr 4 15:21:56 2016 +0300
----------------------------------------------------------------------
.../python/ambari_server/serverConfiguration.py | 8 ++
.../src/test/python/TestAmbariServer.py | 141 ++++++++++---------
ambari-server/src/test/python/TestOSCheck.py | 18 +--
.../src/test/python/TestServerClassPath.py | 14 +-
.../src/test/python/TestServerUpgrade.py | 11 +-
.../src/test/python/TestServerUtils.py | 8 +-
6 files changed, 116 insertions(+), 84 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/8eb03cd5/ambari-server/src/main/python/ambari_server/serverConfiguration.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/python/ambari_server/serverConfiguration.py b/ambari-server/src/main/python/ambari_server/serverConfiguration.py
index 54db372..001afd1 100644
--- a/ambari-server/src/main/python/ambari_server/serverConfiguration.py
+++ b/ambari-server/src/main/python/ambari_server/serverConfiguration.py
@@ -346,6 +346,9 @@ class ServerConfigDefaults(object):
self.BOOTSTRAP_DIR = properties.get_property(BOOTSTRAP_DIR_PROPERTY)
self.RECOMMENDATIONS_DIR = properties.get_property(RECOMMENDATIONS_DIR_PROPERTY)
+ # this directories should be pre-created by user and be writable.
+ self.check_if_directories_writable([self.OUT_DIR, self.PID_DIR])
+
self.DEFAULT_LIBS_DIR = ""
self.DEFAULT_VLIBS_DIR = ""
@@ -382,6 +385,11 @@ class ServerConfigDefaults(object):
self.MESSAGE_ERROR_RESET_NOT_ROOT = ""
self.MESSAGE_ERROR_UPGRADE_NOT_ROOT = ""
self.MESSAGE_CHECK_FIREWALL = ""
+
+ def check_if_directories_writable(self, directories):
+ for dir in directories:
+ if not os.path.isdir(dir) or not os.access(dir, os.W_OK):
+ raise FatalException(-1, "Please make sure {0} directory is created, and is writable by ambari-server user".format(dir))
@OsFamilyImpl(os_family=OSConst.WINSRV_FAMILY)
class ServerConfigDefaultsWindows(ServerConfigDefaults):
http://git-wip-us.apache.org/repos/asf/ambari/blob/8eb03cd5/ambari-server/src/test/python/TestAmbariServer.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/TestAmbariServer.py b/ambari-server/src/test/python/TestAmbariServer.py
index 091869f..95cb467 100644
--- a/ambari-server/src/test/python/TestAmbariServer.py
+++ b/ambari-server/src/test/python/TestAmbariServer.py
@@ -54,66 +54,68 @@ shutil.copyfile(project_dir+"/ambari-server/conf/unix/ambari.properties", "/tmp/
# We have to use this import HACK because the filename contains a dash
_search_file = os_utils.search_file
os_utils.search_file = MagicMock(return_value="/tmp/ambari.properties")
-with patch.object(os_utils, "parse_log4j_file", return_value={'ambari.log.dir': '/var/log/ambari-server'}):
- with patch("platform.linux_distribution", return_value = os_distro_value):
- with patch("os.symlink"):
- with patch("glob.glob", return_value = ['/etc/init.d/postgresql-9.3']):
- _ambari_server_ = __import__('ambari-server')
- os_utils.search_file = _search_file
- with patch("__builtin__.open"):
- from ambari_commons.firewall import Firewall
- from ambari_commons.os_check import OSCheck, OSConst
- from ambari_commons.os_family_impl import OsFamilyImpl, OsFamilyFuncImpl
- from ambari_commons.exceptions import FatalException, NonFatalException
- from ambari_commons.logging_utils import get_verbose, set_verbose, get_silent, set_silent, get_debug_mode, \
- print_info_msg, print_warning_msg, print_error_msg
- from ambari_commons.os_utils import run_os_command, search_file, set_file_permissions, remove_file, copy_file, \
- is_valid_filepath
- from ambari_server.dbConfiguration import DBMSConfigFactory, check_jdbc_drivers
- from ambari_server.dbConfiguration_linux import PGConfig, LinuxDBMSConfig, OracleConfig
- from ambari_server.properties import Properties
- from ambari_server.resourceFilesKeeper import ResourceFilesKeeper, KeeperException
- from ambari_server.serverConfiguration import configDefaults, get_java_exe_path, \
- check_database_name_property, OS_FAMILY_PROPERTY, \
- find_properties_file, get_ambari_properties, get_JAVA_HOME, \
- parse_properties_file, read_ambari_user, update_ambari_properties, update_properties_2, write_property, find_jdk, \
- get_is_active_instance, \
- AMBARI_CONF_VAR, AMBARI_SERVER_LIB, JDBC_DATABASE_PROPERTY, JDBC_RCA_PASSWORD_FILE_PROPERTY, \
- PERSISTENCE_TYPE_PROPERTY, JDBC_URL_PROPERTY, get_conf_dir, JDBC_USER_NAME_PROPERTY, JDBC_PASSWORD_PROPERTY, \
- JDBC_DATABASE_NAME_PROPERTY, OS_TYPE_PROPERTY, validate_jdk, JDBC_POSTGRES_SCHEMA_PROPERTY, \
- RESOURCES_DIR_PROPERTY, JDBC_RCA_PASSWORD_ALIAS, JDBC_RCA_SCHEMA_PROPERTY, IS_LDAP_CONFIGURED, \
- SSL_API, SSL_API_PORT, CLIENT_API_PORT_PROPERTY,\
- JDBC_CONNECTION_POOL_TYPE, JDBC_CONNECTION_POOL_ACQUISITION_SIZE, \
- JDBC_CONNECTION_POOL_IDLE_TEST_INTERVAL, JDBC_CONNECTION_POOL_MAX_AGE, JDBC_CONNECTION_POOL_MAX_IDLE_TIME, \
- JDBC_CONNECTION_POOL_MAX_IDLE_TIME_EXCESS,\
- LDAP_MGR_PASSWORD_PROPERTY, LDAP_MGR_PASSWORD_ALIAS, JDBC_PASSWORD_FILENAME, NR_USER_PROPERTY, SECURITY_KEY_IS_PERSISTED, \
- SSL_TRUSTSTORE_PASSWORD_PROPERTY, SECURITY_IS_ENCRYPTION_ENABLED, PID_DIR_PROPERTY, SSL_TRUSTSTORE_PASSWORD_ALIAS, \
- SECURITY_MASTER_KEY_LOCATION, SECURITY_KEYS_DIR, LDAP_PRIMARY_URL_PROPERTY, store_password_file, \
- get_pass_file_path, GET_FQDN_SERVICE_URL, JDBC_USE_INTEGRATED_AUTH_PROPERTY, SECURITY_KEY_ENV_VAR_NAME, \
- JAVA_HOME_PROPERTY, JDK_NAME_PROPERTY, JCE_NAME_PROPERTY, STACK_LOCATION_KEY, SERVER_VERSION_FILE_PATH, \
- COMMON_SERVICES_PATH_PROPERTY, WEBAPP_DIR_PROPERTY, SHARED_RESOURCES_DIR, BOOTSTRAP_SCRIPT, \
- CUSTOM_ACTION_DEFINITIONS, BOOTSTRAP_SETUP_AGENT_SCRIPT, STACKADVISOR_SCRIPT, BOOTSTRAP_DIR_PROPERTY, MPACKS_STAGING_PATH_PROPERTY
- from ambari_server.serverUtils import is_server_runing, refresh_stack_hash
- from ambari_server.serverSetup import check_selinux, check_ambari_user, proceedJDBCProperties, SE_STATUS_DISABLED, SE_MODE_ENFORCING, configure_os_settings, \
- download_and_install_jdk, prompt_db_properties, setup, \
- AmbariUserChecks, AmbariUserChecksLinux, AmbariUserChecksWindows, JDKSetup, reset, setup_jce_policy, expand_jce_zip_file
- from ambari_server.serverUpgrade import upgrade, upgrade_local_repo, change_objects_owner, upgrade_stack, \
- run_stack_upgrade, run_metainfo_upgrade, run_schema_upgrade, move_user_custom_actions
- from ambari_server.setupHttps import is_valid_https_port, setup_https, import_cert_and_key_action, get_fqdn, \
- generate_random_string, get_cert_info, COMMON_NAME_ATTR, is_valid_cert_exp, NOT_AFTER_ATTR, NOT_BEFORE_ATTR, \
- SSL_DATE_FORMAT, import_cert_and_key, is_valid_cert_host, setup_truststore, \
- SRVR_ONE_WAY_SSL_PORT_PROPERTY, SRVR_TWO_WAY_SSL_PORT_PROPERTY, GANGLIA_HTTPS
- from ambari_server.setupSecurity import adjust_directory_permissions, get_alias_string, get_ldap_event_spec_names, sync_ldap, LdapSyncOptions, \
- configure_ldap_password, setup_ldap, REGEX_HOSTNAME_PORT, REGEX_TRUE_FALSE, REGEX_ANYTHING, setup_master_key, \
- setup_ambari_krb5_jaas, ensure_can_start_under_current_user, generate_env
- from ambari_server.userInput import get_YN_input, get_choice_string_input, get_validated_string_input, \
- read_password
- from ambari_server_main import get_ulimit_open_files, ULIMIT_OPEN_FILES_KEY, ULIMIT_OPEN_FILES_DEFAULT
- from ambari_server.serverClassPath import ServerClassPath
- from ambari_server.hostUpdate import update_host_names
- from ambari_server.checkDatabase import check_database
- from ambari_server import serverConfiguration
- serverConfiguration.search_file = _search_file
+with patch("os.path.isdir", return_value = MagicMock(return_value=True)):
+ with patch("os.access", return_value = MagicMock(return_value=True)):
+ with patch.object(os_utils, "parse_log4j_file", return_value={'ambari.log.dir': '/var/log/ambari-server'}):
+ with patch("platform.linux_distribution", return_value = os_distro_value):
+ with patch("os.symlink"):
+ with patch("glob.glob", return_value = ['/etc/init.d/postgresql-9.3']):
+ _ambari_server_ = __import__('ambari-server')
+ os_utils.search_file = _search_file
+ with patch("__builtin__.open"):
+ from ambari_commons.firewall import Firewall
+ from ambari_commons.os_check import OSCheck, OSConst
+ from ambari_commons.os_family_impl import OsFamilyImpl, OsFamilyFuncImpl
+ from ambari_commons.exceptions import FatalException, NonFatalException
+ from ambari_commons.logging_utils import get_verbose, set_verbose, get_silent, set_silent, get_debug_mode, \
+ print_info_msg, print_warning_msg, print_error_msg
+ from ambari_commons.os_utils import run_os_command, search_file, set_file_permissions, remove_file, copy_file, \
+ is_valid_filepath
+ from ambari_server.dbConfiguration import DBMSConfigFactory, check_jdbc_drivers
+ from ambari_server.dbConfiguration_linux import PGConfig, LinuxDBMSConfig, OracleConfig
+ from ambari_server.properties import Properties
+ from ambari_server.resourceFilesKeeper import ResourceFilesKeeper, KeeperException
+ from ambari_server.serverConfiguration import configDefaults, get_java_exe_path, \
+ check_database_name_property, OS_FAMILY_PROPERTY, \
+ find_properties_file, get_ambari_properties, get_JAVA_HOME, \
+ parse_properties_file, read_ambari_user, update_ambari_properties, update_properties_2, write_property, find_jdk, \
+ get_is_active_instance, \
+ AMBARI_CONF_VAR, AMBARI_SERVER_LIB, JDBC_DATABASE_PROPERTY, JDBC_RCA_PASSWORD_FILE_PROPERTY, \
+ PERSISTENCE_TYPE_PROPERTY, JDBC_URL_PROPERTY, get_conf_dir, JDBC_USER_NAME_PROPERTY, JDBC_PASSWORD_PROPERTY, \
+ JDBC_DATABASE_NAME_PROPERTY, OS_TYPE_PROPERTY, validate_jdk, JDBC_POSTGRES_SCHEMA_PROPERTY, \
+ RESOURCES_DIR_PROPERTY, JDBC_RCA_PASSWORD_ALIAS, JDBC_RCA_SCHEMA_PROPERTY, IS_LDAP_CONFIGURED, \
+ SSL_API, SSL_API_PORT, CLIENT_API_PORT_PROPERTY,\
+ JDBC_CONNECTION_POOL_TYPE, JDBC_CONNECTION_POOL_ACQUISITION_SIZE, \
+ JDBC_CONNECTION_POOL_IDLE_TEST_INTERVAL, JDBC_CONNECTION_POOL_MAX_AGE, JDBC_CONNECTION_POOL_MAX_IDLE_TIME, \
+ JDBC_CONNECTION_POOL_MAX_IDLE_TIME_EXCESS,\
+ LDAP_MGR_PASSWORD_PROPERTY, LDAP_MGR_PASSWORD_ALIAS, JDBC_PASSWORD_FILENAME, NR_USER_PROPERTY, SECURITY_KEY_IS_PERSISTED, \
+ SSL_TRUSTSTORE_PASSWORD_PROPERTY, SECURITY_IS_ENCRYPTION_ENABLED, PID_DIR_PROPERTY, SSL_TRUSTSTORE_PASSWORD_ALIAS, \
+ SECURITY_MASTER_KEY_LOCATION, SECURITY_KEYS_DIR, LDAP_PRIMARY_URL_PROPERTY, store_password_file, \
+ get_pass_file_path, GET_FQDN_SERVICE_URL, JDBC_USE_INTEGRATED_AUTH_PROPERTY, SECURITY_KEY_ENV_VAR_NAME, \
+ JAVA_HOME_PROPERTY, JDK_NAME_PROPERTY, JCE_NAME_PROPERTY, STACK_LOCATION_KEY, SERVER_VERSION_FILE_PATH, \
+ COMMON_SERVICES_PATH_PROPERTY, WEBAPP_DIR_PROPERTY, SHARED_RESOURCES_DIR, BOOTSTRAP_SCRIPT, \
+ CUSTOM_ACTION_DEFINITIONS, BOOTSTRAP_SETUP_AGENT_SCRIPT, STACKADVISOR_SCRIPT, BOOTSTRAP_DIR_PROPERTY, MPACKS_STAGING_PATH_PROPERTY
+ from ambari_server.serverUtils import is_server_runing, refresh_stack_hash
+ from ambari_server.serverSetup import check_selinux, check_ambari_user, proceedJDBCProperties, SE_STATUS_DISABLED, SE_MODE_ENFORCING, configure_os_settings, \
+ download_and_install_jdk, prompt_db_properties, setup, \
+ AmbariUserChecks, AmbariUserChecksLinux, AmbariUserChecksWindows, JDKSetup, reset, setup_jce_policy, expand_jce_zip_file
+ from ambari_server.serverUpgrade import upgrade, upgrade_local_repo, change_objects_owner, upgrade_stack, \
+ run_stack_upgrade, run_metainfo_upgrade, run_schema_upgrade, move_user_custom_actions
+ from ambari_server.setupHttps import is_valid_https_port, setup_https, import_cert_and_key_action, get_fqdn, \
+ generate_random_string, get_cert_info, COMMON_NAME_ATTR, is_valid_cert_exp, NOT_AFTER_ATTR, NOT_BEFORE_ATTR, \
+ SSL_DATE_FORMAT, import_cert_and_key, is_valid_cert_host, setup_truststore, \
+ SRVR_ONE_WAY_SSL_PORT_PROPERTY, SRVR_TWO_WAY_SSL_PORT_PROPERTY, GANGLIA_HTTPS
+ from ambari_server.setupSecurity import adjust_directory_permissions, get_alias_string, get_ldap_event_spec_names, sync_ldap, LdapSyncOptions, \
+ configure_ldap_password, setup_ldap, REGEX_HOSTNAME_PORT, REGEX_TRUE_FALSE, REGEX_ANYTHING, setup_master_key, \
+ setup_ambari_krb5_jaas, ensure_can_start_under_current_user, generate_env
+ from ambari_server.userInput import get_YN_input, get_choice_string_input, get_validated_string_input, \
+ read_password
+ from ambari_server_main import get_ulimit_open_files, ULIMIT_OPEN_FILES_KEY, ULIMIT_OPEN_FILES_DEFAULT
+ from ambari_server.serverClassPath import ServerClassPath
+ from ambari_server.hostUpdate import update_host_names
+ from ambari_server.checkDatabase import check_database
+ from ambari_server import serverConfiguration
+ serverConfiguration.search_file = _search_file
CURR_AMBARI_VERSION = "2.0.0"
@@ -4305,6 +4307,8 @@ class TestAmbariServer(TestCase):
@not_for_platform(PLATFORM_WINDOWS)
+ @patch("os.path.isdir", new = MagicMock(return_value=True))
+ @patch("os.access", new = MagicMock(return_value=True))
@patch.object(ServerClassPath, "get_full_ambari_classpath_escaped_for_shell",
new = MagicMock(return_value = '/etc/conf' + os.pathsep + 'test' + os.pathsep + 'path12'))
@patch("ambari_server_main.get_is_active_instance")
@@ -4831,6 +4835,8 @@ class TestAmbariServer(TestCase):
pass
+ @patch("os.path.isdir", new = MagicMock(return_value=True))
+ @patch("os.access", new = MagicMock(return_value=True))
@patch("ambari_server.serverConfiguration.get_conf_dir")
@patch("ambari_server.serverUpgrade.run_os_command")
@patch("ambari_server.serverUpgrade.get_java_exe_path")
@@ -4853,6 +4859,8 @@ class TestAmbariServer(TestCase):
'ambari-server.out 2>&1')
pass
+ @patch("os.path.isdir", new = MagicMock(return_value=True))
+ @patch("os.access", new = MagicMock(return_value=True))
@patch.object(ServerClassPath, "get_full_ambari_classpath_escaped_for_shell",
new = MagicMock(return_value = '/etc/conf' + os.pathsep + 'test' + os.pathsep + 'path12'))
@patch("ambari_server.serverConfiguration.get_conf_dir")
@@ -4878,6 +4886,8 @@ class TestAmbariServer(TestCase):
pass
+ @patch("os.path.isdir", new = MagicMock(return_value=True))
+ @patch("os.access", new = MagicMock(return_value=True))
@patch.object(ServerClassPath, "get_full_ambari_classpath_escaped_for_shell",
new = MagicMock(return_value = '/etc/conf' + os.pathsep + 'test' +
os.pathsep + 'path12' + os.pathsep +'/path/to/jdbc.jar'))
@@ -4922,6 +4932,8 @@ class TestAmbariServer(TestCase):
self.assertTrue(run_os_command_mock.called)
run_os_command_mock.assert_called_with(command, env=environ)
+ @patch("os.path.isdir", new = MagicMock(return_value=True))
+ @patch("os.access", new = MagicMock(return_value=True))
@patch("ambari_server.serverConfiguration.get_conf_dir")
@patch.object(ServerClassPath, "get_full_ambari_classpath_escaped_for_shell", new = MagicMock(return_value = 'test' + os.pathsep + 'path12'))
@patch("ambari_server.serverUpgrade.run_os_command")
@@ -6896,6 +6908,8 @@ class TestAmbariServer(TestCase):
self.assertEquals(sorted_x, sorted_y)
pass
+ @patch("os.path.isdir", new = MagicMock(return_value=True))
+ @patch("os.access", new = MagicMock(return_value=True))
@patch.object(ServerClassPath, "get_full_ambari_classpath_escaped_for_shell", new = MagicMock(return_value = 'test' + os.pathsep + 'path12'))
@patch("ambari_server.serverUtils.is_server_runing")
@patch("ambari_commons.os_utils.run_os_command")
@@ -8365,6 +8379,8 @@ class TestAmbariServer(TestCase):
pass
+ @patch("os.path.isdir", new = MagicMock(return_value=True))
+ @patch("os.access", new = MagicMock(return_value=True))
@patch.object(ServerClassPath, "get_full_ambari_classpath_escaped_for_shell", new = MagicMock(return_value = 'test' + os.pathsep + 'path12'))
@patch("ambari_server.serverUtils.is_server_runing")
@patch("ambari_commons.os_utils.run_os_command")
@@ -8375,11 +8391,10 @@ class TestAmbariServer(TestCase):
@patch("ambari_server.serverConfiguration.parse_properties_file")
@patch("ambari_server.serverConfiguration.get_ambari_properties")
@patch("ambari_server.serverConfiguration.get_java_exe_path")
- @patch("os.access")
@patch("os.path.isfile")
@patch("sys.exit")
@patch("ambari_server.userInput.get_YN_input")
- def test_update_host_names(self, getYNInput_mock, sysExitMock, isFileMock, osAccessMock, getJavaExePathMock,
+ def test_update_host_names(self, getYNInput_mock, sysExitMock, isFileMock, getJavaExePathMock,
getAmbariPropertiesMock, parsePropertiesFileMock, ensureDriverInstalledMock, readAmbariUserMock,
ensureCanStartUnderCurrentUserMock, generateEnvMock, runOSCommandMock, isServerRunningMock):
properties = Properties()
@@ -8387,7 +8402,6 @@ class TestAmbariServer(TestCase):
getYNInput_mock.return_value = False
isFileMock.return_value = True
- osAccessMock.return_value = True
getJavaExePathMock.return_value = "/path/to/java"
getAmbariPropertiesMock.return_value = properties
readAmbariUserMock.return_value = "test_user"
@@ -8400,7 +8414,6 @@ class TestAmbariServer(TestCase):
self.assertEquals(len(sysExitMock.call_args_list), 3)
self.assertTrue(isFileMock.called)
- self.assertTrue(osAccessMock.called)
self.assertTrue(getJavaExePathMock.called)
self.assertTrue(readAmbariUserMock.called)
self.assertTrue(ensureCanStartUnderCurrentUserMock.called)
http://git-wip-us.apache.org/repos/asf/ambari/blob/8eb03cd5/ambari-server/src/test/python/TestOSCheck.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/TestOSCheck.py b/ambari-server/src/test/python/TestOSCheck.py
index 1be783e..5b6e79d 100644
--- a/ambari-server/src/test/python/TestOSCheck.py
+++ b/ambari-server/src/test/python/TestOSCheck.py
@@ -39,14 +39,16 @@ _search_file = os_utils.search_file
os_utils.search_file = MagicMock(return_value="/tmp/ambari.properties")
utils = __import__('ambari_server.utils').utils
# We have to use this import HACK because the filename contains a dash
-with patch.object(os_utils, "parse_log4j_file", return_value={'ambari.log.dir': '/var/log/ambari-server'}):
- with patch("platform.linux_distribution", return_value = os_distro_value_linux):
- with patch.object(OSCheck, "os_distribution", return_value = os_distro_value):
- with patch.object(utils, "get_postgre_hba_dir"):
- os.environ["ROOT"] = ""
- ambari_server = __import__('ambari-server')
-
- from ambari_server.serverConfiguration import update_ambari_properties, configDefaults
+with patch("os.path.isdir", return_value = MagicMock(return_value=True)):
+ with patch("os.access", return_value = MagicMock(return_value=True)):
+ with patch.object(os_utils, "parse_log4j_file", return_value={'ambari.log.dir': '/var/log/ambari-server'}):
+ with patch("platform.linux_distribution", return_value = os_distro_value_linux):
+ with patch.object(OSCheck, "os_distribution", return_value = os_distro_value):
+ with patch.object(utils, "get_postgre_hba_dir"):
+ os.environ["ROOT"] = ""
+ ambari_server = __import__('ambari-server')
+
+ from ambari_server.serverConfiguration import update_ambari_properties, configDefaults
class TestOSCheck(TestCase):
http://git-wip-us.apache.org/repos/asf/ambari/blob/8eb03cd5/ambari-server/src/test/python/TestServerClassPath.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/TestServerClassPath.py b/ambari-server/src/test/python/TestServerClassPath.py
index fc66e7c..6e54316 100644
--- a/ambari-server/src/test/python/TestServerClassPath.py
+++ b/ambari-server/src/test/python/TestServerClassPath.py
@@ -33,11 +33,15 @@ import shutil
project_dir = os.path.join(os.path.abspath(os.path.dirname(__file__)),os.path.normpath("../../../../"))
shutil.copyfile(project_dir+"/ambari-server/conf/unix/ambari.properties", "/tmp/ambari.properties")
-with patch.object(os_utils, "parse_log4j_file", return_value={'ambari.log.dir': '/var/log/ambari-server'}):
- from ambari_server.dbConfiguration import get_jdbc_driver_path, get_native_libs_path
- from ambari_server.serverConfiguration import get_conf_dir
- from ambari_server.serverClassPath import ServerClassPath, AMBARI_SERVER_LIB, SERVER_CLASSPATH_KEY, JDBC_DRIVER_PATH_PROPERTY
-
+with patch("os.path.isdir", return_value = MagicMock(return_value=True)):
+ with patch("os.access", return_value = MagicMock(return_value=True)):
+ with patch.object(os_utils, "parse_log4j_file", return_value={'ambari.log.dir': '/var/log/ambari-server'}):
+ from ambari_server.dbConfiguration import get_jdbc_driver_path, get_native_libs_path
+ from ambari_server.serverConfiguration import get_conf_dir
+ from ambari_server.serverClassPath import ServerClassPath, AMBARI_SERVER_LIB, SERVER_CLASSPATH_KEY, JDBC_DRIVER_PATH_PROPERTY
+
+@patch("os.path.isdir", new = MagicMock(return_value=True))
+@patch("os.access", new = MagicMock(return_value=True))
@patch("ambari_server.serverConfiguration.search_file", new=MagicMock(return_value="/tmp/ambari.properties"))
class TestConfigs(TestCase):
http://git-wip-us.apache.org/repos/asf/ambari/blob/8eb03cd5/ambari-server/src/test/python/TestServerUpgrade.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/TestServerUpgrade.py b/ambari-server/src/test/python/TestServerUpgrade.py
index 04ec337..5ac8d1c 100644
--- a/ambari-server/src/test/python/TestServerUpgrade.py
+++ b/ambari-server/src/test/python/TestServerUpgrade.py
@@ -32,13 +32,16 @@ shutil.copyfile(project_dir+"/ambari-server/conf/unix/ambari.properties", "/tmp/
_search_file = os_utils.search_file
os_utils.search_file = MagicMock(return_value="/tmp/ambari.properties")
-with patch.object(os_utils, "parse_log4j_file", return_value={'ambari.log.dir': '/var/log/ambari-server'}):
- from ambari_server.serverUpgrade import set_current, SetCurrentVersionOptions, upgrade_stack
- import ambari_server
+with patch("os.path.isdir", return_value = MagicMock(return_value=True)):
+ with patch("os.access", return_value = MagicMock(return_value=True)):
+ with patch.object(os_utils, "parse_log4j_file", return_value={'ambari.log.dir': '/var/log/ambari-server'}):
+ from ambari_server.serverUpgrade import set_current, SetCurrentVersionOptions, upgrade_stack
+ import ambari_server
os_utils.search_file = _search_file
-
+@patch("os.path.isdir", new = MagicMock(return_value=True))
+@patch("os.access", new = MagicMock(return_value=True))
class TestServerUpgrade(TestCase):
@patch("ambari_server.serverUpgrade.is_server_runing")
http://git-wip-us.apache.org/repos/asf/ambari/blob/8eb03cd5/ambari-server/src/test/python/TestServerUtils.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/TestServerUtils.py b/ambari-server/src/test/python/TestServerUtils.py
index c34bba5..4d8c076 100644
--- a/ambari-server/src/test/python/TestServerUtils.py
+++ b/ambari-server/src/test/python/TestServerUtils.py
@@ -28,9 +28,11 @@ import shutil
project_dir = os.path.join(os.path.abspath(os.path.dirname(__file__)),os.path.normpath("../../../../"))
shutil.copyfile(project_dir+"/ambari-server/conf/unix/ambari.properties", "/tmp/ambari.properties")
-with patch.object(os_utils, "parse_log4j_file", return_value={'ambari.log.dir': '/var/log/ambari-server'}):
- from ambari_server.serverUtils import get_ambari_server_api_base
- from ambari_server.serverConfiguration import CLIENT_API_PORT, CLIENT_API_PORT_PROPERTY, SSL_API, DEFAULT_SSL_API_PORT, SSL_API_PORT
+with patch("os.path.isdir", return_value = MagicMock(return_value=True)):
+ with patch("os.access", return_value = MagicMock(return_value=True)):
+ with patch.object(os_utils, "parse_log4j_file", return_value={'ambari.log.dir': '/var/log/ambari-server'}):
+ from ambari_server.serverUtils import get_ambari_server_api_base
+ from ambari_server.serverConfiguration import CLIENT_API_PORT, CLIENT_API_PORT_PROPERTY, SSL_API, DEFAULT_SSL_API_PORT, SSL_API_PORT
#@patch("ambari_server.serverConfiguration.search_file", new=MagicMock(return_value="/tmp/ambari.properties"))
class TestServerUtils(TestCase):