This is an automated email from the ASF dual-hosted git repository.

wuzhiguo pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 01dd596025 AMBARI-25495: Extend the set of headers from server's 
response (#3532)
01dd596025 is described below

commit 01dd596025384a86fc3afddf9f6168b1762f8dc7
Author: Zhiguo Wu <[email protected]>
AuthorDate: Mon Nov 21 23:37:49 2022 +0800

    AMBARI-25495: Extend the set of headers from server's response (#3532)
---
 .../ambari/server/configuration/Configuration.java | 37 ++++++++
 .../security/AbstractSecurityHeaderFilter.java     | 14 +++
 .../security/AmbariServerSecurityHeaderFilter.java |  1 +
 .../security/AmbariViewsSecurityHeaderFilter.java  |  1 +
 .../ambari/server/agent/TestHeartbeatHandler.java  |  3 +-
 .../AmbariServerSecurityHeaderFilterTest.java      |  2 +
 ambari-server/src/test/python/TestAmbariServer.py  | 99 +++++++++++-----------
 ambari-server/src/test/python/TestMpacks.py        | 15 ++--
 ambari-server/src/test/python/TestOSCheck.py       | 11 +--
 .../src/test/python/TestSetupTrustedProxy.py       | 13 +--
 10 files changed, 128 insertions(+), 68 deletions(-)

diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
index 087ca70232..5191b3ca05 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
@@ -2233,6 +2233,13 @@ public class Configuration {
   public static final ConfigurationProperty<String> 
HTTP_X_XSS_PROTECTION_HEADER_VALUE = new ConfigurationProperty<>(
       "http.x-xss-protection", "1; mode=block");
 
+  /**
+   * The value that will be used to set the {@code Content-Security-Policy} 
HTTP response header.
+   */
+  @Markdown(description = "The value that will be used to set the 
`Content-Security-Policy` HTTP response header.")
+  public static final ConfigurationProperty<String> 
HTTP_CONTENT_SECURITY_POLICY_HEADER_VALUE = new ConfigurationProperty<>(
+      "http.content-security-policy", "");
+
   /**
    * The value that will be used to set the {@code X-Content-Type} HTTP 
response header.
    */
@@ -2287,6 +2294,14 @@ public class Configuration {
   public static final ConfigurationProperty<String> 
VIEWS_HTTP_X_XSS_PROTECTION_HEADER_VALUE = new ConfigurationProperty<>(
       "views.http.x-xss-protection", "1; mode=block");
 
+  /**
+   * The value that will be used to set the {@code Content-Security-Policy}
+   * HTTP response header for Ambari View requests.
+   */
+  @Markdown(description = "The value that will be used to set the 
`Content-Security-Policy` HTTP response header for Ambari View requests.")
+  public static final ConfigurationProperty<String> 
VIEWS_HTTP_CONTENT_SECURITY_POLICY_HEADER_VALUE = new ConfigurationProperty<>(
+      "views.http.content-security-policy", "");
+
   /**
    * The value that will be used to set the {@code X-Content-Type} HTTP 
response header.
    * HTTP response header for Ambari View requests.
@@ -3701,6 +3716,17 @@ public class Configuration {
     return getProperty(HTTP_X_XSS_PROTECTION_HEADER_VALUE);
   }
 
+  /**
+   * Get the value that should be set for the 
<code>Content-Security-Policy</code> HTTP response header for Ambari Server UI.
+   * <p/>
+   * By default this will be empty.
+   *
+   * @return the Content-Security-Policy value - null or "" indicates that the 
value is not set
+   */
+  public String getContentSecurityPolicyHTTPResponseHeader() {
+    return getProperty(HTTP_CONTENT_SECURITY_POLICY_HEADER_VALUE);
+  }
+
   /**
    * Get the value that should be set for the <code>X-Content-Type</code> HTTP 
response header for Ambari Server UI.
    * <p/>
@@ -3808,6 +3834,17 @@ public class Configuration {
     return getProperty(VIEWS_HTTP_X_XSS_PROTECTION_HEADER_VALUE);
   }
 
+  /**
+   * Get the value that should be set for the 
<code>Content-Security-Policy</code> HTTP response header for Ambari Views.
+   * <p/>
+   * By default this will be empty.
+   *
+   * @return the Content-Security-Policy value - null or "" indicates that the 
value is not set
+   */
+  public String getViewsContentSecurityPolicyHTTPResponseHeader() {
+    return getProperty(VIEWS_HTTP_CONTENT_SECURITY_POLICY_HEADER_VALUE);
+  }
+
   /**
    * Get the value that should be set for the <code>X-Content-Type</code> HTTP 
response header for Ambari Views.
    * <p/>
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/security/AbstractSecurityHeaderFilter.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/security/AbstractSecurityHeaderFilter.java
index b8631f821f..4099612c4a 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/security/AbstractSecurityHeaderFilter.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/security/AbstractSecurityHeaderFilter.java
@@ -53,6 +53,7 @@ public abstract class AbstractSecurityHeaderFilter implements 
Filter {
   protected final static String STRICT_TRANSPORT_HEADER = 
"Strict-Transport-Security";
   protected final static String X_FRAME_OPTIONS_HEADER = "X-Frame-Options";
   protected final static String X_XSS_PROTECTION_HEADER = "X-XSS-Protection";
+  protected final static String CONTENT_SECURITY_POLICY_HEADER = 
"Content-Security-Policy";
   protected final static String X_CONTENT_TYPE_HEADER = 
"X-Content-Type-Options";
   protected final static String CACHE_CONTROL_HEADER = "Cache-Control";
   protected final static String PRAGMA_HEADER = "Pragma";
@@ -90,6 +91,10 @@ public abstract class AbstractSecurityHeaderFilter 
implements Filter {
    * The value for the X-XSS-Protection HTTP response header.
    */
   private String xXSSProtectionHeader = 
Configuration.HTTP_X_XSS_PROTECTION_HEADER_VALUE.getDefaultValue();
+  /**
+   * The value for the Content-Security-Policy HTTP response header.
+   */
+  private String contentSecurityPolicyHeader = 
Configuration.HTTP_CONTENT_SECURITY_POLICY_HEADER_VALUE.getDefaultValue();
   /**
    * The value for the Content-Type HTTP response header.
    */
@@ -162,6 +167,10 @@ public abstract class AbstractSecurityHeaderFilter 
implements Filter {
     this.xXSSProtectionHeader = xXSSProtectionHeader;
   }
 
+  protected void setContentSecurityPolicyHeader(String 
contentSecurityPolicyHeader) {
+    this.contentSecurityPolicyHeader = contentSecurityPolicyHeader;
+  }
+
   protected void setXContentTypeHeader(String xContentTypeHeader) {
     this.xContentTypeHeader = xContentTypeHeader;
   }
@@ -197,6 +206,11 @@ public abstract class AbstractSecurityHeaderFilter 
implements Filter {
         httpServletResponse.setHeader(X_XSS_PROTECTION_HEADER, 
xXSSProtectionHeader);
       }
 
+      // Conditionally set the Content-Security-Policy HTTP response header if 
a value is supplied
+      if (!StringUtils.isEmpty(contentSecurityPolicyHeader)) {
+        httpServletResponse.setHeader(CONTENT_SECURITY_POLICY_HEADER, 
contentSecurityPolicyHeader);
+      }
+
       // Conditionally set the X-Content-Type HTTP response header if a value 
is supplied
       if (!StringUtils.isEmpty(xContentTypeHeader)) {
         httpServletResponse.setHeader(X_CONTENT_TYPE_HEADER, 
xContentTypeHeader);
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/security/AmbariServerSecurityHeaderFilter.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/security/AmbariServerSecurityHeaderFilter.java
index f9dc2aa778..8d093661e4 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/security/AmbariServerSecurityHeaderFilter.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/security/AmbariServerSecurityHeaderFilter.java
@@ -47,6 +47,7 @@ public class AmbariServerSecurityHeaderFilter extends 
AbstractSecurityHeaderFilt
     
setStrictTransportSecurity(configuration.getStrictTransportSecurityHTTPResponseHeader());
     setxFrameOptionsHeader(configuration.getXFrameOptionsHTTPResponseHeader());
     
setxXSSProtectionHeader(configuration.getXXSSProtectionHTTPResponseHeader());
+    
setContentSecurityPolicyHeader(configuration.getContentSecurityPolicyHTTPResponseHeader());
     setXContentTypeHeader(configuration.getXContentTypeHTTPResponseHeader());
     setCacheControlHeader(configuration.getCacheControlHTTPResponseHeader());
     setPragmaHeader(configuration.getPragmaHTTPResponseHeader());
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/security/AmbariViewsSecurityHeaderFilter.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/security/AmbariViewsSecurityHeaderFilter.java
index 02fb4b3236..6b755fe2fd 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/security/AmbariViewsSecurityHeaderFilter.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/security/AmbariViewsSecurityHeaderFilter.java
@@ -43,6 +43,7 @@ public class AmbariViewsSecurityHeaderFilter extends 
AbstractSecurityHeaderFilte
     
setStrictTransportSecurity(configuration.getViewsStrictTransportSecurityHTTPResponseHeader());
     
setxFrameOptionsHeader(configuration.getViewsXFrameOptionsHTTPResponseHeader());
     
setxXSSProtectionHeader(configuration.getViewsXXSSProtectionHTTPResponseHeader());
+    
setContentSecurityPolicyHeader(configuration.getViewsContentSecurityPolicyHTTPResponseHeader());
     
setXContentTypeHeader(configuration.getViewsXContentTypeHTTPResponseHeader());
     
setCacheControlHeader(configuration.getViewsCacheControlHTTPResponseHeader());
     setPragmaHeader(configuration.getViewsPragmaHTTPResponseHeader());
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatHandler.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatHandler.java
index f8cf31a5ee..2e43853591 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatHandler.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatHandler.java
@@ -82,6 +82,7 @@ import org.apache.ambari.server.api.services.AmbariMetaInfo;
 import org.apache.ambari.server.audit.AuditLogger;
 import org.apache.ambari.server.configuration.Configuration;
 import org.apache.ambari.server.events.publishers.AgentCommandsPublisher;
+import org.apache.ambari.server.events.publishers.STOMPUpdatePublisher;
 import org.apache.ambari.server.orm.GuiceJpaInitializer;
 import org.apache.ambari.server.orm.InMemoryDefaultTestModule;
 import org.apache.ambari.server.orm.OrmTestHelper;
@@ -181,7 +182,7 @@ public class TestHeartbeatHandler {
     injector.getInstance(GuiceJpaInitializer.class);
     clusters = injector.getInstance(Clusters.class);
     injector.injectMembers(this);
-    EasyMock.replay(auditLogger);
+    EasyMock.replay(auditLogger, 
injector.getInstance(STOMPUpdatePublisher.class));
   }
 
   @After
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/security/AmbariServerSecurityHeaderFilterTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/security/AmbariServerSecurityHeaderFilterTest.java
index e8d3bfd96e..a2db5ceb50 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/security/AmbariServerSecurityHeaderFilterTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/security/AmbariServerSecurityHeaderFilterTest.java
@@ -40,6 +40,7 @@ public class AmbariServerSecurityHeaderFilterTest extends 
AbstractSecurityHeader
     map.put(AbstractSecurityHeaderFilter.STRICT_TRANSPORT_HEADER, 
Configuration.HTTP_STRICT_TRANSPORT_HEADER_VALUE.getKey());
     map.put(AbstractSecurityHeaderFilter.X_FRAME_OPTIONS_HEADER, 
Configuration.HTTP_X_FRAME_OPTIONS_HEADER_VALUE.getKey());
     map.put(AbstractSecurityHeaderFilter.X_XSS_PROTECTION_HEADER, 
Configuration.HTTP_X_XSS_PROTECTION_HEADER_VALUE.getKey());
+    map.put(AbstractSecurityHeaderFilter.CONTENT_SECURITY_POLICY_HEADER, 
Configuration.HTTP_CONTENT_SECURITY_POLICY_HEADER_VALUE.getKey());
     map.put(AbstractSecurityHeaderFilter.X_CONTENT_TYPE_HEADER, 
Configuration.HTTP_X_CONTENT_TYPE_HEADER_VALUE.getKey());
     map.put(AbstractSecurityHeaderFilter.CACHE_CONTROL_HEADER, 
Configuration.HTTP_CACHE_CONTROL_HEADER_VALUE.getKey());
     map.put(AbstractSecurityHeaderFilter.PRAGMA_HEADER, 
Configuration.HTTP_PRAGMA_HEADER_VALUE.getKey());
@@ -50,6 +51,7 @@ public class AmbariServerSecurityHeaderFilterTest extends 
AbstractSecurityHeader
     map.put(AbstractSecurityHeaderFilter.STRICT_TRANSPORT_HEADER, 
Configuration.HTTP_STRICT_TRANSPORT_HEADER_VALUE.getDefaultValue());
     map.put(AbstractSecurityHeaderFilter.X_FRAME_OPTIONS_HEADER, 
Configuration.HTTP_X_FRAME_OPTIONS_HEADER_VALUE.getDefaultValue());
     map.put(AbstractSecurityHeaderFilter.X_XSS_PROTECTION_HEADER, 
Configuration.HTTP_X_XSS_PROTECTION_HEADER_VALUE.getDefaultValue());
+    map.put(AbstractSecurityHeaderFilter.CONTENT_SECURITY_POLICY_HEADER, 
Configuration.HTTP_CONTENT_SECURITY_POLICY_HEADER_VALUE.getDefaultValue());
     map.put(AbstractSecurityHeaderFilter.X_CONTENT_TYPE_HEADER, 
Configuration.HTTP_X_CONTENT_TYPE_HEADER_VALUE.getDefaultValue());
     map.put(AbstractSecurityHeaderFilter.CACHE_CONTROL_HEADER, 
Configuration.HTTP_CACHE_CONTROL_HEADER_VALUE.getDefaultValue());
     map.put(AbstractSecurityHeaderFilter.PRAGMA_HEADER, 
Configuration.HTTP_PRAGMA_HEADER_VALUE.getDefaultValue());
diff --git a/ambari-server/src/test/python/TestAmbariServer.py 
b/ambari-server/src/test/python/TestAmbariServer.py
index 7089ecf070..0b6a2ee31e 100644
--- a/ambari-server/src/test/python/TestAmbariServer.py
+++ b/ambari-server/src/test/python/TestAmbariServer.py
@@ -67,55 +67,56 @@ with patch.object(platform, "linux_distribution", 
return_value = MagicMock(retur
       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')
-              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, DBMSConfig
-                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, 
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, \
-                  SSL_API, SSL_API_PORT, CLIENT_API_PORT_PROPERTY,\
-                  JDBC_CONNECTION_POOL_TYPE, LDAP_MGR_PASSWORD_PROPERTY, 
LDAP_MGR_PASSWORD_ALIAS, JDBC_PASSWORD_FILENAME, NR_USER_PROPERTY, 
SECURITY_KEY_IS_PERSISTED, \
-                  SECURITY_IS_ENCRYPTION_ENABLED, PID_DIR_PROPERTY, \
-                  SECURITY_MASTER_KEY_LOCATION, SECURITY_KEYS_DIR, 
store_password_file, \
-                  get_pass_file_path, GET_FQDN_SERVICE_URL, 
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, 
STACK_JAVA_VERSION
-                from ambari_server.serverUtils import is_server_runing, 
refresh_stack_hash
-                from ambari_server.serverSetup import check_selinux, 
check_ambari_user, setup_jdbc, SE_STATUS_DISABLED, SE_MODE_ENFORCING, 
configure_os_settings, \
-                  download_and_install_jdk, prompt_db_properties, setup, \
-                  AmbariUserChecks, JDKSetup, reset, setup_jce_policy, 
expand_jce_zip_file, check_ambari_java_version_is_valid
-                from ambari_server.serverUpgrade import upgrade, 
run_schema_upgrade, move_user_custom_actions, find_and_copy_custom_services
-                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
-                from ambari_server.setupSecurity import 
adjust_directory_permissions, get_alias_string, get_ldap_event_spec_names, 
sync_ldap, \
-                  configure_ldap_password, setup_ldap, REGEX_HOSTNAME_PORT, 
REGEX_TRUE_FALSE, REGEX_ANYTHING,\
-                  setup_ambari_krb5_jaas, LDAP_GENERIC, 
should_query_ldap_type, LdapPropTemplate, LdapDefault, LdapDefaultMap
-                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 
JDBC_DRIVER_PATH_PROPERTY, ServerClassPath
-                from ambari_server.hostUpdate import update_host_names
-                from ambari_server.checkDatabase import check_database
+            with patch.object(os_utils, "is_service_exist", return_value = 
True):
+              with patch("glob.glob", return_value = 
['/etc/init.d/postgresql-9.3']):
+                _ambari_server_ = __import__('ambari-server')
+                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, DBMSConfig
+                  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, 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, \
+                    SSL_API, SSL_API_PORT, CLIENT_API_PORT_PROPERTY,\
+                    JDBC_CONNECTION_POOL_TYPE, LDAP_MGR_PASSWORD_PROPERTY, 
LDAP_MGR_PASSWORD_ALIAS, JDBC_PASSWORD_FILENAME, NR_USER_PROPERTY, 
SECURITY_KEY_IS_PERSISTED, \
+                    SECURITY_IS_ENCRYPTION_ENABLED, PID_DIR_PROPERTY, \
+                    SECURITY_MASTER_KEY_LOCATION, SECURITY_KEYS_DIR, 
store_password_file, \
+                    get_pass_file_path, GET_FQDN_SERVICE_URL, 
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, 
STACK_JAVA_VERSION
+                  from ambari_server.serverUtils import is_server_runing, 
refresh_stack_hash
+                  from ambari_server.serverSetup import check_selinux, 
check_ambari_user, setup_jdbc, SE_STATUS_DISABLED, SE_MODE_ENFORCING, 
configure_os_settings, \
+                    download_and_install_jdk, prompt_db_properties, setup, \
+                    AmbariUserChecks, JDKSetup, reset, setup_jce_policy, 
expand_jce_zip_file, check_ambari_java_version_is_valid
+                  from ambari_server.serverUpgrade import upgrade, 
run_schema_upgrade, move_user_custom_actions, find_and_copy_custom_services
+                  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
+                  from ambari_server.setupSecurity import 
adjust_directory_permissions, get_alias_string, get_ldap_event_spec_names, 
sync_ldap, \
+                    configure_ldap_password, setup_ldap, REGEX_HOSTNAME_PORT, 
REGEX_TRUE_FALSE, REGEX_ANYTHING, \
+                    setup_ambari_krb5_jaas, LDAP_GENERIC, 
should_query_ldap_type, LdapPropTemplate, LdapDefault, LdapDefaultMap
+                  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 
JDBC_DRIVER_PATH_PROPERTY, ServerClassPath
+                  from ambari_server.hostUpdate import update_host_names
+                  from ambari_server.checkDatabase import check_database
 
 CURR_AMBARI_VERSION = "2.0.0"
 
diff --git a/ambari-server/src/test/python/TestMpacks.py 
b/ambari-server/src/test/python/TestMpacks.py
index 1a45038c9b..6001af626c 100644
--- a/ambari-server/src/test/python/TestMpacks.py
+++ b/ambari-server/src/test/python/TestMpacks.py
@@ -39,13 +39,14 @@ with patch.object(platform, "linux_distribution", 
return_value = MagicMock(retur
       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.exceptions import FatalException, 
NonFatalException
-                from ambari_server import serverConfiguration
-                serverConfiguration.search_file = _search_file
+            with patch.object(os_utils, "is_service_exist", return_value = 
True):
+              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.exceptions import FatalException, 
NonFatalException
+                  from ambari_server import serverConfiguration
+                  serverConfiguration.search_file = _search_file
 
 from ambari_server.setupMpacks import install_mpack, upgrade_mpack, 
replay_mpack_logs, \
   purge_stacks_and_mpacks, validate_purge, read_mpack_metadata, 
_uninstall_mpack, \
diff --git a/ambari-server/src/test/python/TestOSCheck.py 
b/ambari-server/src/test/python/TestOSCheck.py
index 9aba78b2ec..e91ad99583 100644
--- a/ambari-server/src/test/python/TestOSCheck.py
+++ b/ambari-server/src/test/python/TestOSCheck.py
@@ -48,11 +48,12 @@ with patch("os.path.isdir", 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
+          with patch.object(os_utils, "is_service_exist", return_value = True):
+            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
 
 @patch.object(platform, "linux_distribution", new = 
MagicMock(return_value=('Redhat', '6.4', 'Final')))
 class TestOSCheck(TestCase):
diff --git a/ambari-server/src/test/python/TestSetupTrustedProxy.py 
b/ambari-server/src/test/python/TestSetupTrustedProxy.py
index 7c02f49713..2d4205b43c 100644
--- a/ambari-server/src/test/python/TestSetupTrustedProxy.py
+++ b/ambari-server/src/test/python/TestSetupTrustedProxy.py
@@ -65,12 +65,13 @@ with patch.object(platform, "linux_distribution", 
return_value = MagicMock(retur
       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')
-              with patch("__builtin__.open"):
-                from ambari_commons.exceptions import FatalException, 
NonFatalException
-                from ambari_server.properties import Properties
-                from ambari_server.setupTrustedProxy import 
setup_trusted_proxy, TPROXY_SUPPORT_ENABLED, PROXYUSER_HOSTS, PROXYUSER_USERS, 
PROXYUSER_GROUPS
+            with patch.object(os_utils, "is_service_exist", return_value = 
True):
+              with patch("glob.glob", return_value = 
['/etc/init.d/postgresql-9.3']):
+                _ambari_server_ = __import__('ambari-server')
+                with patch("__builtin__.open"):
+                  from ambari_commons.exceptions import FatalException, 
NonFatalException
+                  from ambari_server.properties import Properties
+                  from ambari_server.setupTrustedProxy import 
setup_trusted_proxy, TPROXY_SUPPORT_ENABLED, PROXYUSER_HOSTS, PROXYUSER_USERS, 
PROXYUSER_GROUPS
 
 class TestSetupTrustedProxy(unittest.TestCase):
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to