You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by jo...@apache.org on 2016/09/09 21:22:57 UTC
[09/10] ambari git commit: AMBARI-18126 - Refactor Configuration To
Allow For Generation Of Documentation (jonathanhurley)
http://git-wip-us.apache.org/repos/asf/ambari/blob/5630b5e7/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
----------------------------------------------------------------------
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 fae9378..9c27e57 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
@@ -22,6 +22,7 @@ import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
+import java.lang.reflect.Field;
import java.security.cert.CertificateException;
import java.security.interfaces.RSAPublicKey;
import java.util.ArrayList;
@@ -34,11 +35,14 @@ import java.util.Map;
import java.util.Map.Entry;
import java.util.Properties;
import java.util.Set;
+import java.util.TreeSet;
import java.util.concurrent.Callable;
import java.util.concurrent.ThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
import org.apache.ambari.annotations.Experimental;
import org.apache.ambari.annotations.ExperimentalFeature;
+import org.apache.ambari.annotations.Markdown;
import org.apache.ambari.server.AmbariException;
import org.apache.ambari.server.actionmanager.Stage;
import org.apache.ambari.server.events.listeners.alerts.AlertReceivedListener;
@@ -79,697 +83,1564 @@ public class Configuration {
@Inject
private OsFamily osFamily;
- public static final String CONFIG_FILE = "ambari.properties";
- public static final String BOOTSTRAP_DIR = "bootstrap.dir";
+ /**
+ * The filename of the {@link Properties} file which contains all of the
+ * configurations for Ambari.
+ */
+ private static final String CONFIG_FILE = "ambari.properties";
+
+ /**
+ * PREFIX_DIR is shared in ambari-agent.ini and should only be called by unit
+ * tests. For all server-side processing, it should be retrieved from
+ * <code>HostImpl.getPrefix()</code>
+ */
+ public static final String PREFIX_DIR = "/var/lib/ambari-agent/data";
+
+ /**
+ * The minimum JDK version supported by Ambari.
+ */
+ public static final float JDK_MIN_VERSION = 1.7f;
+
+ /**
+ *
+ */
+ private static final String LDAP_SYNC_MEMBER_REPLACE_PATTERN_DEFAULT = "";
+
+ /**
+ *
+ */
+ private static final String LDAP_SYNC_MEMBER_FILTER_DEFAULT = "";
+
+ /**
+ *
+ */
+ public static final String SERVER_JDBC_PROPERTIES_PREFIX = "server.jdbc.properties.";
+
+ /**
+ *
+ */
+ public static final String SERVER_PERSISTENCE_PROPERTIES_PREFIX = "server.persistence.properties.";
+
+ /**
+ *
+ */
+ public static final String HOSTNAME_MACRO = "{hostname}";
+
+ /**
+ *
+ */
+ public static final String JDBC_UNIT_NAME = "ambari-server";
+
+ /**
+ *
+ */
+ public static final String JDBC_LOCAL_URL = "jdbc:postgresql://localhost/";
+
+ /**
+ *
+ */
+ public static final String DEFAULT_DERBY_SCHEMA = "ambari";
+
+ /**
+ *
+ */
+ public static final String JDBC_IN_MEMORY_URL = String.format(
+ "jdbc:derby:memory:myDB/%s;create=true", DEFAULT_DERBY_SCHEMA);
+
+ /**
+ *
+ */
+ public static final String JDBC_IN_MEMORY_DRIVER = "org.apache.derby.jdbc.EmbeddedDriver";
+
+ /**
+ *
+ */
+ public static final String JAVAX_SSL_TRUSTSTORE = "javax.net.ssl.trustStore";
+
+ /**
+ *
+ */
+ public static final String JAVAX_SSL_TRUSTSTORE_PASSWORD = "javax.net.ssl.trustStorePassword";
+
+ /**
+ *
+ */
+ public static final String JAVAX_SSL_TRUSTSTORE_TYPE = "javax.net.ssl.trustStoreType";
+
+ /**
+ *
+ */
+ public static final String GLOBAL_CONFIG_TAG = "global";
+
+ /**
+ *
+ */
+ public static final String MAPREDUCE2_LOG4J_CONFIG_TAG = "mapreduce2-log4j";
+
+ /**
+ *
+ */
+ public static final String RCA_ENABLED_PROPERTY = "rca_enabled";
+
+ /**
+ * Threadpool sizing based on the number of available processors multiplied by
+ * 2.
+ */
+ public static final int PROCESSOR_BASED_THREADPOOL_CORE_SIZE_DEFAULT = 2
+ * Runtime.getRuntime().availableProcessors();
+
+ /**
+ * Threadpool sizing based on the number of available processors multiplied by
+ * 4.
+ */
+ public static final int PROCESSOR_BASED_THREADPOOL_MAX_SIZE_DEFAULT = 4
+ * Runtime.getRuntime().availableProcessors();
+
+ /**
+ *
+ */
+ private static final Set<String> dbConnectorPropertyNames = new HashSet<String>(Arrays.asList(
+ "custom.mysql.jdbc.name", "custom.oracle.jdbc.name", "custom.postgres.jdbc.name",
+ "custom.mssql.jdbc.name", "custom.hsqldb.jdbc.name", "custom.sqlanywhere.jdbc.name"));
+
+
+ /**
+ *
+ */
+ public static final String MASTER_KEY_ENV_PROP = "AMBARI_SECURITY_MASTER_KEY";
+
+ /**
+ *
+ */
+ public static final String MASTER_KEY_FILENAME_DEFAULT = "master";
+
+ /**
+ *
+ */
+ public static final String MASTER_KEYSTORE_FILENAME_DEFAULT = "credentials.jceks";
+
+ /**
+ * The directory on the ambari-server file system used for storing
+ * ambari-agent bootstrap information.
+ */
+ public static final ConfigurationProperty<String> BOOTSTRAP_DIRECTORY = new ConfigurationProperty<>(
+ "bootstrap.dir", AmbariPath.getPath("/var/run/ambari-server/bootstrap"));
+
+ /**
+ * The directory on the ambari-server file system used for expanding Views and
+ * storing webapp work.
+ */
+ public static final ConfigurationProperty<String> VIEWS_DIRECTORY = new ConfigurationProperty<>(
+ "views.dir", AmbariPath.getPath("/var/lib/ambari-server/resources/views"));
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> VIEWS_VALIDATE = new ConfigurationProperty<>(
+ "views.validate", "false");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> VIEWS_REMOVE_UNDEPLOYED = new ConfigurationProperty<>(
+ "views.remove.undeployed", "false");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> WEBAPP_DIRECTORY = new ConfigurationProperty<>(
+ "webapp.dir", "web");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> BOOTSTRAP_SCRIPT = new ConfigurationProperty<>(
+ "bootstrap.script", AmbariPath.getPath("/usr/bin/ambari_bootstrap"));
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> BOOTSTRAP_SETUP_AGENT_SCRIPT = new ConfigurationProperty<>(
+ "bootstrap.setup_agent.script",
+ AmbariPath.getPath("/usr/lib/python2.6/site-packages/ambari_server/setupAgent.py"));
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> BOOTSTRAP_SETUP_AGENT_PASSWORD = new ConfigurationProperty<>(
+ "bootstrap.setup_agent.password", "password");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> BOOTSTRAP_MASTER_HOSTNAME = new ConfigurationProperty<>(
+ "bootstrap.master_host_name", null);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> RECOMMENDATIONS_ARTIFACTS_LIFETIME = new ConfigurationProperty<>(
+ "recommendations.artifacts.lifetime", "1w");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> RECOMMENDATIONS_DIR = new ConfigurationProperty<>(
+ "recommendations.dir", AmbariPath.getPath("/var/run/ambari-server/stack-recommendations"));
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> STACK_ADVISOR_SCRIPT = new ConfigurationProperty<>(
+ "stackadvisor.script",
+ AmbariPath.getPath("/var/lib/ambari-server/resources/scripts/stack_advisor.py"));
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> AMBARI_PYTHON_WRAP = new ConfigurationProperty<>(
+ "ambari.python.wrap", "ambari-python-wrap");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> API_AUTHENTICATED_USER = new ConfigurationProperty<>(
+ "api.authenticated.user", null);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> API_USE_SSL = new ConfigurationProperty<>(
+ "api.ssl", "false");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> API_CSRF_PREVENTION = new ConfigurationProperty<>(
+ "api.csrfPrevention.enabled", "true");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> API_GZIP_COMPRESSION_ENABLED = new ConfigurationProperty<>(
+ "api.gzip.compression.enabled", "true");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> API_GZIP_MIN_COMPRESSION_SIZE = new ConfigurationProperty<>(
+ "api.gzip.compression.min.size", "10240");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> AGENT_API_GZIP_COMPRESSION_ENABLED = new ConfigurationProperty<>(
+ "agent.api.gzip.compression.enabled", "true");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> AGENT_USE_SSL = new ConfigurationProperty<>(
+ "agent.ssl", "true");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> SRVR_AGENT_HOSTNAME_VALIDATE = new ConfigurationProperty<>(
+ "security.agent.hostname.validate", "true");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> SRVR_TWO_WAY_SSL = new ConfigurationProperty<>(
+ "security.server.two_way_ssl", "false");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> SRVR_TWO_WAY_SSL_PORT = new ConfigurationProperty<>(
+ "security.server.two_way_ssl.port", "8441");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> SRVR_ONE_WAY_SSL_PORT = new ConfigurationProperty<>(
+ "security.server.one_way_ssl.port", "8440");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> SRVR_KSTR_DIR = new ConfigurationProperty<>(
+ "security.server.keys_dir", ".");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> SRVR_CRT_NAME = new ConfigurationProperty<>(
+ "security.server.cert_name", "ca.crt");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> SRVR_CSR_NAME = new ConfigurationProperty<>(
+ "security.server.csr_name", "ca.csr");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> SRVR_KEY_NAME = new ConfigurationProperty<>(
+ "security.server.key_name", "ca.key");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> KSTR_NAME = new ConfigurationProperty<>(
+ "security.server.keystore_name", "keystore.p12");
+
+ /**
+ * By default self-signed certificates are used and we can use keystore as
+ * truststore in PKCS12 format When CA signed certificates are used truststore
+ * should be created in JKS format (truststore.jks)
+ */
+ public static final ConfigurationProperty<String> KSTR_TYPE = new ConfigurationProperty<>(
+ "security.server.keystore_type", "PKCS12");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> TSTR_NAME = new ConfigurationProperty<>(
+ "security.server.truststore_name", "keystore.p12");
+
+ /**
+ * By default self-signed certificates are used and we can use keystore as
+ * truststore in PKCS12 format When CA signed certificates are used truststore
+ * should be created in JKS format (truststore.jks)
+ */
+ public static final ConfigurationProperty<String> TSTR_TYPE = new ConfigurationProperty<>(
+ "security.server.truststore_type", "PKCS12");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> SRVR_CRT_PASS_FILE = new ConfigurationProperty<>(
+ "security.server.crt_pass_file", "pass.txt");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> SRVR_CRT_PASS = new ConfigurationProperty<>(
+ "security.server.crt_pass", null);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> SRVR_CRT_PASS_LEN = new ConfigurationProperty<>(
+ "security.server.crt_pass.len", "50");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> PASSPHRASE_ENV = new ConfigurationProperty<>(
+ "security.server.passphrase_env_var", "AMBARI_PASSPHRASE");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> PASSPHRASE = new ConfigurationProperty<>(
+ "security.server.passphrase", "AMBARI_PASSPHRASE");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> SRVR_DISABLED_CIPHERS = new ConfigurationProperty<>(
+ "security.server.disabled.ciphers", "");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> SRVR_DISABLED_PROTOCOLS = new ConfigurationProperty<>(
+ "security.server.disabled.protocols", "");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> RESOURCES_DIR = new ConfigurationProperty<>(
+ "resources.dir", AmbariPath.getPath("/var/lib/ambari-server/resources/"));
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> METADATA_DIR_PATH = new ConfigurationProperty<>(
+ "metadata.path", null);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> COMMON_SERVICES_DIR_PATH = new ConfigurationProperty<>(
+ "common.services.path", null);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> EXTENSIONS_DIR_PATH = new ConfigurationProperty<>(
+ "extensions.path", null);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> MPACKS_STAGING_DIR_PATH = new ConfigurationProperty<>(
+ "mpacks.staging.path", null);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> SERVER_VERSION_FILE = new ConfigurationProperty<>(
+ "server.version.file", null);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> SERVER_VERSION = new ConfigurationProperty<>(
+ "version", null);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> JAVA_HOME = new ConfigurationProperty<>(
+ "java.home", null);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> JDK_NAME = new ConfigurationProperty<>(
+ "jdk.name", null);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> JCE_NAME = new ConfigurationProperty<>(
+ "jce.name", null);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> CLIENT_SECURITY = new ConfigurationProperty<>(
+ "client.security", null);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> CLIENT_API_PORT = new ConfigurationProperty<>(
+ "client.api.port", "8080");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> CLIENT_API_SSL_PORT = new ConfigurationProperty<>(
+ "client.api.ssl.port", "8443");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> CLIENT_API_SSL_KSTR_DIR_NAME = new ConfigurationProperty<>(
+ "client.api.ssl.keys_dir", null);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> CLIENT_API_SSL_KSTR_NAME = new ConfigurationProperty<>(
+ "client.api.ssl.keystore_name", "https.keystore.p12");
+
+ /**
+ * By default self-signed certificates are used and we can use keystore as
+ * truststore in PKCS12 format When CA signed certificates are used truststore
+ * should be created in JKS format (truststore.jks)
+ */
+ public static final ConfigurationProperty<String> CLIENT_API_SSL_KSTR_TYPE = new ConfigurationProperty<>(
+ "client.api.ssl.keystore_type", "PKCS12");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> CLIENT_API_SSL_TSTR_NAME = new ConfigurationProperty<>(
+ "client.api.ssl.truststore_name", "https.keystore.p12");
+
+ /**
+ * By default self-signed certificates are used and we can use keystore as
+ * truststore in PKCS12 format When CA signed certificates are used truststore
+ * should be created in JKS format (truststore.jks)
+ */
+ public static final ConfigurationProperty<String> CLIENT_API_SSL_TSTR_TYPE = new ConfigurationProperty<>(
+ "client.api.ssl.truststore_type", "PKCS12");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> CLIENT_API_SSL_CRT_NAME = new ConfigurationProperty<>(
+ "client.api.ssl.cert_name", "https.crt");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> CLIENT_API_SSL_CRT_PASS_FILE_NAME = new ConfigurationProperty<>(
+ "client.api.ssl.cert_pass_file", "https.pass.txt");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> CLIENT_API_SSL_CRT_PASS = new ConfigurationProperty<>(
+ "client.api.ssl.crt_pass", null);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> CLIENT_API_SSL_KEY_NAME = new ConfigurationProperty<>(
+ "client.api.ssl.key_name", "https.key");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> ENABLE_AUTO_AGENT_CACHE_UPDATE = new ConfigurationProperty<>(
+ "agent.auto.cache.update", "true");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> CHECK_REMOTE_MOUNTS = new ConfigurationProperty<>(
+ "agent.check.remote.mounts", "false");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> CHECK_MOUNTS_TIMEOUT = new ConfigurationProperty<>(
+ "agent.check.mounts.timeout", "0");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> SERVER_DB_NAME = new ConfigurationProperty<>(
+ "server.jdbc.database_name", "ambari");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> REQUEST_READ_TIMEOUT = new ConfigurationProperty<>(
+ "views.request.read.timeout.millis", "10000");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> REQUEST_CONNECT_TIMEOUT = new ConfigurationProperty<>(
+ "views.request.connect.timeout.millis", "5000");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> AMBARI_REQUEST_READ_TIMEOUT = new ConfigurationProperty<>(
+ "views.ambari.request.read.timeout.millis", "45000");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> AMBARI_REQUEST_CONNECT_TIMEOUT = new ConfigurationProperty<>(
+ "views.ambari.request.connect.timeout.millis", "30000");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> SERVER_JDBC_POSTGRES_SCHEMA_NAME = new ConfigurationProperty<>(
+ "server.jdbc.postgres.schema", "");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> OJDBC_JAR_NAME = new ConfigurationProperty<>(
+ "db.oracle.jdbc.name", "ojdbc6.jar");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> MYSQL_JAR_NAME = new ConfigurationProperty<>(
+ "db.mysql.jdbc.name", "mysql-connector-java.jar");
+
+ /**
+ * For development purposes only, should be changed to 'false'
+ */
+ public static final ConfigurationProperty<String> IS_LDAP_CONFIGURED = new ConfigurationProperty<>(
+ "ambari.ldap.isConfigured", "false");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> LDAP_USE_SSL = new ConfigurationProperty<>(
+ "authentication.ldap.useSSL", "false");
+
+ /**
+ * The default value is used for embedded purposes only.
+ */
+ public static final ConfigurationProperty<String> LDAP_PRIMARY_URL = new ConfigurationProperty<>(
+ "authentication.ldap.primaryUrl", "localhost:33389");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> LDAP_SECONDARY_URL = new ConfigurationProperty<>(
+ "authentication.ldap.secondaryUrl", null);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> LDAP_BASE_DN = new ConfigurationProperty<>(
+ "authentication.ldap.baseDn", "dc=ambari,dc=apache,dc=org");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> LDAP_BIND_ANONYMOUSLY = new ConfigurationProperty<>(
+ "authentication.ldap.bindAnonymously", "true");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> LDAP_MANAGER_DN = new ConfigurationProperty<>(
+ "authentication.ldap.managerDn", null);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> LDAP_MANAGER_PASSWORD = new ConfigurationProperty<>(
+ "authentication.ldap.managerPassword", null);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> LDAP_DN_ATTRIBUTE = new ConfigurationProperty<>(
+ "authentication.ldap.dnAttribute", "dn");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> LDAP_USERNAME_ATTRIBUTE = new ConfigurationProperty<>(
+ "authentication.ldap.usernameAttribute", "uid");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> LDAP_USER_BASE = new ConfigurationProperty<>(
+ "authentication.ldap.userBase", "ou=people,dc=ambari,dc=apache,dc=org");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> LDAP_USER_OBJECT_CLASS = new ConfigurationProperty<>(
+ "authentication.ldap.userObjectClass", "person");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> LDAP_GROUP_BASE = new ConfigurationProperty<>(
+ "authentication.ldap.groupBase", "ou=groups,dc=ambari,dc=apache,dc=org");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> LDAP_GROUP_OBJECT_CLASS = new ConfigurationProperty<>(
+ "authentication.ldap.groupObjectClass", "group");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> LDAP_GROUP_NAMING_ATTR = new ConfigurationProperty<>(
+ "authentication.ldap.groupNamingAttr", "cn");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> LDAP_GROUP_MEMEBERSHIP_ATTR = new ConfigurationProperty<>(
+ "authentication.ldap.groupMembershipAttr", "member");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> LDAP_ADMIN_GROUP_MAPPING_RULES = new ConfigurationProperty<>(
+ "authorization.ldap.adminGroupMappingRules", "Ambari Administrators");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> LDAP_ADMIN_GROUP_MAPPING_MEMBER_ATTR = new ConfigurationProperty<>(
+ "authorization.ldap.adminGroupMappingMemberAttr", "Ambari Administrators");
+
+ /**
+ * When authentication through LDAP is enabled then Ambari Server uses this
+ * filter to lookup the user in LDAP based on the provided ambari user name.
+ *
+ * If it is not set then
+ * {@code (&({usernameAttribute}={0})(objectClass={userObjectClass}))} is
+ * used.
+ */
+ public static final ConfigurationProperty<String> LDAP_USER_SEARCH_FILTER = new ConfigurationProperty<>(
+ "authentication.ldap.userSearchFilter",
+ "(&({usernameAttribute}={0})(objectClass={userObjectClass}))");
+
+ /**
+ * This configuration controls whether the use of alternate user search filter
+ * is enabled. If the default LDAP user search filter is not able to find the
+ * authenticating user in LDAP than Ambari can fall back an alternative user
+ * search filter if this functionality is enabled.
+ *
+ * If it is not set then the default
+ */
+ public static final ConfigurationProperty<String> LDAP_ALT_USER_SEARCH_ENABLED = new ConfigurationProperty<>(
+ "authentication.ldap.alternateUserSearchEnabled", "false");
+
+ /**
+ * When authentication through LDAP is enabled Ambari Server uses this filter
+ * by default to lookup the user in LDAP when the user provides beside user
+ * name additional information. There might be cases when
+ * {@link #LDAP_USER_SEARCH_FILTER} may match multiple users in LDAP. In such
+ * cases the user is prompted to provide additional info, e.g. the domain he
+ * or she wants ot log in upon login beside the username. This filter will be
+ * used by Ambari Server to lookup users in LDAP if the login name the user
+ * logs in contains additional information beside ambari user name.
+ * <p>
+ * Note: Currently the use of alternate user search filter is triggered only
+ * if the user login name is in the username@domain format (e.g.
+ * user1@x.y.com) which is the userPrincipalName format used in AD.
+ * </p>
+ */
+ public static final ConfigurationProperty<String> LDAP_ALT_USER_SEARCH_FILTER = new ConfigurationProperty<>(
+ "authentication.ldap.alternateUserSearchFilter",
+ "(&(userPrincipalName={0})(objectClass={userObjectClass}))");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> LDAP_GROUP_SEARCH_FILTER = new ConfigurationProperty<>(
+ "authorization.ldap.groupSearchFilter", "");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> LDAP_REFERRAL = new ConfigurationProperty<>(
+ "authentication.ldap.referral", "follow");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> LDAP_PAGINATION_ENABLED = new ConfigurationProperty<>(
+ "authentication.ldap.pagination.enabled", "true");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> LDAP_SYCN_USER_MEMBER_REPLACE_PATTERN = new ConfigurationProperty<>(
+ "authentication.ldap.sync.userMemberReplacePattern",
+ LDAP_SYNC_MEMBER_REPLACE_PATTERN_DEFAULT);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> LDAP_SYCN_GROUP_MEMBER_REPLACE_PATTERN = new ConfigurationProperty<>(
+ "authentication.ldap.sync.groupMemberReplacePattern",
+ LDAP_SYNC_MEMBER_REPLACE_PATTERN_DEFAULT);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> LDAP_SYCN_USER_MEMBER_FILTER = new ConfigurationProperty<>(
+ "authentication.ldap.sync.userMemberFilter",
+ LDAP_SYNC_MEMBER_FILTER_DEFAULT);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> LDAP_SYCN_GROUP_MEMBER_FILTER = new ConfigurationProperty<>(
+ "authentication.ldap.sync.groupMemberFilter",
+ LDAP_SYNC_MEMBER_FILTER_DEFAULT);
+
+
+ public static final ConfigurationProperty<Long> SERVER_EC_CACHE_SIZE = new ConfigurationProperty<>(
+ "server.ecCacheSize", 10000L);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<Boolean> SERVER_HRC_STATUS_SUMMARY_CACHE_ENABLED = new ConfigurationProperty<>(
+ "server.hrcStatusSummary.cache.enabled", Boolean.TRUE);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<Long> SERVER_HRC_STATUS_SUMMARY_CACHE_SIZE = new ConfigurationProperty<>(
+ "server.hrcStatusSummary.cache.size", 10000L);
+
+ /**
+ * The value is specified in {@link TimeUnit#MINUTES}.
+ */
+ public static final ConfigurationProperty<Long> SERVER_HRC_STATUS_SUMMARY_CACHE_EXPIRY_DURATION = new ConfigurationProperty<>(
+ "server.hrcStatusSummary.cache.expiryDuration", 30L);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<Boolean> SERVER_STALE_CONFIG_CACHE_ENABLED = new ConfigurationProperty<>(
+ "server.cache.isStale.enabled", Boolean.TRUE);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<Integer> SERVER_STALE_CONFIG_CACHE_EXPIRATION = new ConfigurationProperty<>(
+ "server.cache.isStale.expiration", 600);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> SERVER_PERSISTENCE_TYPE = new ConfigurationProperty<>(
+ "server.persistence.type", "local");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> SERVER_JDBC_USER_NAME = new ConfigurationProperty<>(
+ "server.jdbc.user.name", "ambari");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> SERVER_JDBC_USER_PASSWD = new ConfigurationProperty<>(
+ "server.jdbc.user.passwd", "bigdata");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> SERVER_JDBC_DRIVER = new ConfigurationProperty<>(
+ "server.jdbc.driver", "org.postgresql.Driver");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> SERVER_JDBC_URL = new ConfigurationProperty<>(
+ "server.jdbc.url", null);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<Integer> SERVER_HTTP_REQUEST_HEADER_SIZE = new ConfigurationProperty<>(
+ "server.http.request.header.size", 64 * 1024);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<Integer> SERVER_HTTP_RESPONSE_HEADER_SIZE = new ConfigurationProperty<>(
+ "server.http.response.header.size", 64 * 1024);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> ROLLING_UPGRADE_SKIP_PACKAGES_PREFIXES = new ConfigurationProperty<>(
+ "rolling.upgrade.skip.packages.prefixes", "");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<Boolean> STACK_UPGRADE_BYPASS_PRECHECKS = new ConfigurationProperty<>(
+ "stack.upgrade.bypass.prechecks", Boolean.FALSE);
+
+ /**
+ * If a host is shutdown or ambari-agent is stopped, then Ambari Server will still keep waiting til the task timesout,
+ * say 10-20 mins. If the host comes back online and ambari-agent is started, then need this retry property
+ * to be greater; ideally, it should be greater than 2 * command_timeout in order to retry at least
+ * 3 times in that amount of mins.
+ * Suggested value is 15-30 mins.
+ */
+ public static final ConfigurationProperty<Integer> STACK_UPGRADE_AUTO_RETRY_TIMEOUT_MINS = new ConfigurationProperty<>(
+ "stack.upgrade.auto.retry.timeout.mins", 0);
+
+ /**
+ * If the stack.upgrade.auto.retry.timeout.mins property is positive, then run RetryUpgradeActionService every x
+ * seconds.
+ */
+ public static final ConfigurationProperty<Integer> STACK_UPGRADE_AUTO_RETRY_CHECK_INTERVAL_SECS = new ConfigurationProperty<>(
+ "stack.upgrade.auto.retry.check.interval.secs", 20);
+
+ /**
+ * If auto-retry during stack upgrade is enabled, skip any tasks whose custom command name contains at least one
+ * of the strings in the following CSV property. Note that values have to be enclosed in quotes and separated by commas.
+ */
+ public static final ConfigurationProperty<String> STACK_UPGRADE_AUTO_RETRY_CUSTOM_COMMAND_NAMES_TO_IGNORE = new ConfigurationProperty<>(
+ "stack.upgrade.auto.retry.command.names.to.ignore",
+ "\"ComponentVersionCheckAction\",\"FinalizeUpgradeAction\"");
+
+ /**
+ * If auto-retry during stack upgrade is enabled, skip any tasks whose command details contains at least one
+ * of the strings in the following CSV property. Note that values have to be enclosed in quotes and separated by commas.
+ */
+ public static final ConfigurationProperty<String> STACK_UPGRADE_AUTO_RETRY_COMMAND_DETAILS_TO_IGNORE = new ConfigurationProperty<>(
+ "stack.upgrade.auto.retry.command.details.to.ignore", "\"Execute HDFS Finalize\"");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<Boolean> JWT_AUTH_ENABLED = new ConfigurationProperty<>(
+ "authentication.jwt.enabled", Boolean.FALSE);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> JWT_AUTH_PROVIDER_URL = new ConfigurationProperty<>(
+ "authentication.jwt.providerUrl", null);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> JWT_PUBLIC = new ConfigurationProperty<>(
+ "authentication.jwt.publicKey", null);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> JWT_AUDIENCES = new ConfigurationProperty<>(
+ "authentication.jwt.audiences", null);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> JWT_COOKIE_NAME = new ConfigurationProperty<>(
+ "authentication.jwt.cookieName", "hadoop-jwt");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> JWT_ORIGINAL_URL_QUERY_PARAM = new ConfigurationProperty<>(
+ "authentication.jwt.originalUrlParamName", "originalUrl");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> SERVER_JDBC_CONNECTION_POOL = new ConfigurationProperty<>(
+ "server.jdbc.connection-pool", ConnectionPoolType.INTERNAL.getName());
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<Integer> SERVER_JDBC_CONNECTION_POOL_MIN_SIZE = new ConfigurationProperty<>(
+ "server.jdbc.connection-pool.min-size", 5);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<Integer> SERVER_JDBC_CONNECTION_POOL_MAX_SIZE = new ConfigurationProperty<>(
+ "server.jdbc.connection-pool.max-size", 32);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<Integer> SERVER_JDBC_CONNECTION_POOL_AQUISITION_SIZE = new ConfigurationProperty<>(
+ "server.jdbc.connection-pool.acquisition-size", 5);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<Integer> SERVER_JDBC_CONNECTION_POOL_MAX_AGE = new ConfigurationProperty<>(
+ "server.jdbc.connection-pool.max-age", 0);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<Integer> SERVER_JDBC_CONNECTION_POOL_MAX_IDLE_TIME = new ConfigurationProperty<>(
+ "server.jdbc.connection-pool.max-idle-time", 14400);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<Integer> SERVER_JDBC_CONNECTION_POOL_MAX_IDLE_TIME_EXCESS = new ConfigurationProperty<>(
+ "server.jdbc.connection-pool.max-idle-time-excess", 0);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<Integer> SERVER_JDBC_CONNECTION_POOL_IDLE_TEST_INTERVAL = new ConfigurationProperty<>(
+ "server.jdbc.connection-pool.idle-test-interval", 7200);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<Integer> SERVER_JDBC_CONNECTION_POOL_ACQUISITION_RETRY_ATTEMPTS = new ConfigurationProperty<>(
+ "server.jdbc.connection-pool.acquisition-retry-attempts", 30);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<Integer> SERVER_JDBC_CONNECTION_POOL_ACQUISITION_RETRY_DELAY = new ConfigurationProperty<>(
+ "server.jdbc.connection-pool.acquisition-retry-delay", 1000);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<Integer> OPERATIONS_RETRY_ATTEMPTS = new ConfigurationProperty<>(
+ "server.operations.retry-attempts", 0);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> SERVER_JDBC_RCA_USER_NAME = new ConfigurationProperty<>(
+ "server.jdbc.rca.user.name", "mapred");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> SERVER_JDBC_RCA_USER_PASSWD = new ConfigurationProperty<>(
+ "server.jdbc.rca.user.passwd", "mapred");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> SERVER_JDBC_RCA_DRIVER = new ConfigurationProperty<>(
+ "server.jdbc.rca.driver", "org.postgresql.Driver");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> SERVER_JDBC_RCA_URL = new ConfigurationProperty<>(
+ "server.jdbc.rca.url", "jdbc:postgresql://" + HOSTNAME_MACRO + "/ambarirca");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<JPATableGenerationStrategy> SERVER_JDBC_GENERATE_TABLES = new ConfigurationProperty<>(
+ "server.jdbc.generateTables", JPATableGenerationStrategy.NONE);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> OS_FAMILY = new ConfigurationProperty<>(
+ "server.os_family", "");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> OS_VERSION = new ConfigurationProperty<>(
+ "server.os_type", "");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> SRVR_HOSTS_MAPPING = new ConfigurationProperty<>(
+ "server.hosts.mapping", null);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> SSL_TRUSTSTORE_PATH = new ConfigurationProperty<>(
+ "ssl.trustStore.path", null);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> SSL_TRUSTSTORE_PASSWORD = new ConfigurationProperty<>(
+ "ssl.trustStore.password", null);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> SSL_TRUSTSTORE_TYPE = new ConfigurationProperty<>(
+ "ssl.trustStore.type", null);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> MASTER_KEY_LOCATION = new ConfigurationProperty<>(
+ "security.master.key.location", null);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> MASTER_KEYSTORE_LOCATION = new ConfigurationProperty<>(
+ "security.master.keystore.location", null);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<Long> TEMPORARYSTORE_RETENTION_MINUTES = new ConfigurationProperty<>(
+ "security.temporary.keystore.retention.minutes", 90L);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<Boolean> TEMPORARYSTORE_ACTIVELY_PURGE = new ConfigurationProperty<>(
+ "security.temporary.keystore.actibely.purge", Boolean.TRUE);
+
+ /**
+ * The URL to use when creating messages which should include the Ambari
+ * Server URL.
+ */
+ public static final ConfigurationProperty<String> AMBARI_DISPLAY_URL = new ConfigurationProperty<>(
+ "ambari.display.url", null);
+
+ /**
+ * Key for repo validation suffixes.
+ */
+ public static final ConfigurationProperty<String> REPO_SUFFIX_KEY_UBUNTU = new ConfigurationProperty<>(
+ "repo.validation.suffixes.ubuntu", "/dists/%s/Release");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> REPO_SUFFIX_KEY_DEFAULT = new ConfigurationProperty<>(
+ "repo.validation.suffixes.default", "/repodata/repomd.xml");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> EXECUTION_SCHEDULER_CLUSTERED = new ConfigurationProperty<>(
+ "server.execution.scheduler.isClustered", "false");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> EXECUTION_SCHEDULER_THREADS = new ConfigurationProperty<>(
+ "server.execution.scheduler.maxThreads", "5");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> EXECUTION_SCHEDULER_CONNECTIONS = new ConfigurationProperty<>(
+ "server.execution.scheduler.maxDbConnections", "5");
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<Long> EXECUTION_SCHEDULER_MISFIRE_TOLERATION = new ConfigurationProperty<>(
+ "server.execution.scheduler.misfire.toleration.minutes", 480L);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<Integer> EXECUTION_SCHEDULER_START_DELAY = new ConfigurationProperty<>(
+ "server.execution.scheduler.start.delay.seconds", 120);
+
+ /**
+ * The time that the executions schduler will wait before checking for new
+ * commands to schedule. Measure in {@link TimeUnit#SECONDS}.
+ */
+ public static final ConfigurationProperty<Long> EXECUTION_SCHEDULER_WAIT = new ConfigurationProperty<>(
+ "server.execution.scheduler.wait", 1L);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> SERVER_TMP_DIR = new ConfigurationProperty<>(
+ "server.tmp.dir", AmbariPath.getPath("/var/lib/ambari-server/tmp"));
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<Integer> EXTERNAL_SCRIPT_TIMEOUT = new ConfigurationProperty<>(
+ "server.script.timeout", 5000);
+
+ public static final String DEF_ARCHIVE_EXTENSION;
+ public static final String DEF_ARCHIVE_CONTENT_TYPE;
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> KDC_PORT = new ConfigurationProperty<>(
+ "default.kdcserver.port", "88");
/**
- * PREFIX_DIR is shared in ambari-agent.ini and should only be called by unit tests.
- * For all server-side processing, it should be retrieved from <code>HostImpl.getPrefix()</code>
+ *
*/
- public static final String PREFIX_DIR = "/var/lib/ambari-agent/data";
+ public static final ConfigurationProperty<Integer> KDC_CONNECTION_CHECK_TIMEOUT = new ConfigurationProperty<>(
+ "kdcserver.connection.check.timeout", 10000);
- public static final String BOOTSTRAP_DIR_DEFAULT = AmbariPath.getPath("/var/run/ambari-server/bootstrap");
- public static final String VIEWS_DIR = "views.dir";
- public static final String VIEWS_DIR_DEFAULT = AmbariPath.getPath("/var/lib/ambari-server/resources/views");
- public static final String VIEWS_VALIDATE = "views.validate";
- public static final String VIEWS_VALIDATE_DEFAULT = "false";
- public static final String VIEWS_REMOVE_UNDEPLOYED = "views.remove.undeployed";
- public static final String VIEWS_REMOVE_UNDEPLOYED_DEFAULT = "false";
- public static final String WEBAPP_DIR = "webapp.dir";
- public static final String BOOTSTRAP_SCRIPT = "bootstrap.script";
- public static final String BOOTSTRAP_SCRIPT_DEFAULT = AmbariPath.getPath("/usr/bin/ambari_bootstrap");
- public static final String BOOTSTRAP_SETUP_AGENT_SCRIPT = "bootstrap.setup_agent.script";
- public static final String BOOTSTRAP_SETUP_AGENT_PASSWORD = "bootstrap.setup_agent.password";
- public static final String BOOTSTRAP_MASTER_HOSTNAME = "bootstrap.master_host_name";
- public static final String RECOMMENDATIONS_ARTIFACTS_LIFETIME = "recommendations.artifacts.lifetime";
- public static final String RECOMMENDATIONS_ARTIFACTS_LIFETIME_DEFAULT = "1w";
- public static final String RECOMMENDATIONS_DIR = "recommendations.dir";
- public static final String RECOMMENDATIONS_DIR_DEFAULT = AmbariPath.getPath("/var/run/ambari-server/stack-recommendations");
- public static final String STACK_ADVISOR_SCRIPT = "stackadvisor.script";
- public static final String STACK_ADVISOR_SCRIPT_DEFAULT = AmbariPath.getPath("/var/lib/ambari-server/resources/scripts/stack_advisor.py");
- public static final String AMBARI_PYTHON_WRAP_KEY = "ambari.python.wrap";
- public static final String AMBARI_PYTHON_WRAP_DEFAULT = "ambari-python-wrap";
- public static final String API_AUTHENTICATED_USER = "api.authenticated.user";
- public static final String API_USE_SSL = "api.ssl";
- public static final String API_CSRF_PREVENTION_KEY = "api.csrfPrevention.enabled";
- public static final String API_GZIP_COMPRESSION_ENABLED_KEY = "api.gzip.compression.enabled";
- public static final String API_GZIP_MIN_COMPRESSION_SIZE_KEY = "api.gzip.compression.min.size";
- public static final String AGENT_API_GZIP_COMPRESSION_ENABLED_KEY = "agent.api.gzip.compression.enabled";
- public static final String AGENT_USE_SSL = "agent.ssl";
- public static final String SRVR_AGENT_HOSTNAME_VALIDATE_KEY = "security.agent.hostname.validate";
- public static final String SRVR_TWO_WAY_SSL_KEY = "security.server.two_way_ssl";
- public static final String SRVR_TWO_WAY_SSL_PORT_KEY = "security.server.two_way_ssl.port";
- public static final String SRVR_ONE_WAY_SSL_PORT_KEY = "security.server.one_way_ssl.port";
- public static final String SRVR_KSTR_DIR_KEY = "security.server.keys_dir";
- public static final String SRVR_CRT_NAME_KEY = "security.server.cert_name";
- public static final String SRVR_CSR_NAME_KEY = "security.server.csr_name";
- public static final String SRVR_KEY_NAME_KEY = "security.server.key_name";
- public static final String KSTR_NAME_KEY = "security.server.keystore_name";
- public static final String KSTR_TYPE_KEY = "security.server.keystore_type";
- public static final String TSTR_NAME_KEY = "security.server.truststore_name";
- public static final String TSTR_TYPE_KEY = "security.server.truststore_type";
- public static final String SRVR_CRT_PASS_FILE_KEY = "security.server.crt_pass_file";
- public static final String SRVR_CRT_PASS_KEY = "security.server.crt_pass";
- public static final String SRVR_CRT_PASS_LEN_KEY = "security.server.crt_pass.len";
- public static final String PASSPHRASE_ENV_KEY = "security.server.passphrase_env_var";
- public static final String PASSPHRASE_KEY = "security.server.passphrase";
- public static final String SRVR_DISABLED_CIPHERS = "security.server.disabled.ciphers";
- public static final String SRVR_DISABLED_PROTOCOLS = "security.server.disabled.protocols";
- public static final String RESOURCES_DIR_KEY = "resources.dir";
- public static final String METADATA_DIR_PATH = "metadata.path";
- public static final String COMMON_SERVICES_DIR_PATH = "common.services.path";
- public static final String EXTENSIONS_DIR_PATH = "extensions.path";
- public static final String MPACKS_STAGING_DIR_PATH = "mpacks.staging.path";
- public static final String SERVER_VERSION_FILE = "server.version.file";
- public static final String SERVER_VERSION_KEY = "version";
- public static final String JAVA_HOME_KEY = "java.home";
- public static final String JDK_NAME_KEY = "jdk.name";
- public static final String JCE_NAME_KEY = "jce.name";
- public static final float JDK_MIN_VERSION = 1.7f;
- public static final String CLIENT_SECURITY_KEY = "client.security";
- public static final String CLIENT_API_PORT_KEY = "client.api.port";
- public static final String CLIENT_API_SSL_PORT_KEY = "client.api.ssl.port";
- public static final String CLIENT_API_SSL_KSTR_DIR_NAME_KEY = "client.api.ssl.keys_dir";
- public static final String CLIENT_API_SSL_KSTR_NAME_KEY = "client.api.ssl.keystore_name";
- public static final String CLIENT_API_SSL_KSTR_TYPE_KEY = "client.api.ssl.keystore_type";
- public static final String CLIENT_API_SSL_TSTR_NAME_KEY = "client.api.ssl.truststore_name";
- public static final String CLIENT_API_SSL_TSTR_TYPE_KEY = "client.api.ssl.truststore_type";
- public static final String CLIENT_API_SSL_CRT_NAME_KEY = "client.api.ssl.cert_name";
- public static final String CLIENT_API_SSL_CRT_PASS_FILE_NAME_KEY = "client.api.ssl.cert_pass_file";
- public static final String CLIENT_API_SSL_CRT_PASS_KEY = "client.api.ssl.crt_pass";
- public static final String CLIENT_API_SSL_KEY_NAME_KEY = "client.api.ssl.key_name";
- public static final String ENABLE_AUTO_AGENT_CACHE_UPDATE_KEY = "agent.auto.cache.update";
- public static final String ENABLE_AUTO_AGENT_CACHE_UPDATE_DEFAULT = "true";
- public static final String CHECK_REMOTE_MOUNTS_KEY = "agent.check.remote.mounts";
- public static final String CHECK_REMOTE_MOUNTS_DEFAULT = "false";
- public static final String CHECK_MOUNTS_TIMEOUT_KEY = "agent.check.mounts.timeout";
- public static final String CHECK_MOUNTS_TIMEOUT_DEFAULT = "0";
- public static final String SERVER_DB_NAME_KEY = "server.jdbc.database_name";
- public static final String SERVER_DB_NAME_DEFAULT = "ambari";
- public static final String REQUEST_READ_TIMEOUT = "views.request.read.timeout.millis";
- public static final String REQUEST_READ_TIMEOUT_DEFAULT= "10000";
- public static final String REQUEST_CONNECT_TIMEOUT = "views.request.connect.timeout.millis";
- public static final String REQUEST_CONNECT_TIMEOUT_DEFAULT = "5000";
- public static final String AMBARI_REQUEST_READ_TIMEOUT = "views.ambari.request.read.timeout.millis";
- public static final String AMBARI_REQUEST_READ_TIMEOUT_DEFAULT= "45000";
- public static final String AMBARI_REQUEST_CONNECT_TIMEOUT = "views.ambari.request.connect.timeout.millis";
- public static final String AMBARI_REQUEST_CONNECT_TIMEOUT_DEFAULT = "30000";
- public static final String SERVER_JDBC_POSTGRES_SCHEMA_NAME = "server.jdbc.postgres.schema";
- public static final String OJDBC_JAR_NAME_KEY = "db.oracle.jdbc.name";
- public static final String OJDBC_JAR_NAME_DEFAULT = "ojdbc6.jar";
- public static final String MYSQL_JAR_NAME_KEY = "db.mysql.jdbc.name";
- public static final String MYSQL_JAR_NAME_DEFAULT = "mysql-connector-java.jar";
- public static final String IS_LDAP_CONFIGURED = "ambari.ldap.isConfigured";
- public static final String LDAP_USE_SSL_KEY = "authentication.ldap.useSSL";
- public static final String LDAP_PRIMARY_URL_KEY = "authentication.ldap.primaryUrl";
- public static final String LDAP_SECONDARY_URL_KEY = "authentication.ldap.secondaryUrl";
- public static final String LDAP_BASE_DN_KEY = "authentication.ldap.baseDn";
- public static final String LDAP_BIND_ANONYMOUSLY_KEY = "authentication.ldap.bindAnonymously";
- public static final String LDAP_MANAGER_DN_KEY = "authentication.ldap.managerDn";
- public static final String LDAP_MANAGER_PASSWORD_KEY = "authentication.ldap.managerPassword";
- public static final String LDAP_DN_ATTRIBUTE_KEY = "authentication.ldap.dnAttribute";
- public static final String LDAP_USERNAME_ATTRIBUTE_KEY = "authentication.ldap.usernameAttribute";
- public static final String LDAP_USER_BASE_KEY = "authentication.ldap.userBase";
- public static final String LDAP_USER_OBJECT_CLASS_KEY = "authentication.ldap.userObjectClass";
- public static final String LDAP_GROUP_BASE_KEY = "authentication.ldap.groupBase";
- public static final String LDAP_GROUP_OBJECT_CLASS_KEY = "authentication.ldap.groupObjectClass";
- public static final String LDAP_GROUP_NAMING_ATTR_KEY = "authentication.ldap.groupNamingAttr";
- public static final String LDAP_GROUP_MEMEBERSHIP_ATTR_KEY = "authentication.ldap.groupMembershipAttr";
- public static final String LDAP_ADMIN_GROUP_MAPPING_RULES_KEY = "authorization.ldap.adminGroupMappingRules";
- public static final String LDAP_ADMIN_GROUP_MAPPING_MEMBER_ATTR_KEY = "authorization.ldap.adminGroupMappingMemberAttr";
- /**
- * When authentication through LDAP is enabled then Ambari Server uses this filter to lookup
- * the user in LDAP based on the provided ambari user name.
- *
- * If it is not set then the default {@link #LDAP_USER_SEARCH_FILTER_DEFAULT} is used.
- */
- public static final String LDAP_USER_SEARCH_FILTER_KEY = "authentication.ldap.userSearchFilter";
-
- /**
- * This configuration controls whether the use of alternate user search filter is enabled.
+ /**
*
- * If it is not set then the default
*/
- public static final String LDAP_ALT_USER_SEARCH_ENABLED_KEY = "authentication.ldap.alternateUserSearchEnabled";
+ public static final ConfigurationProperty<String> KERBEROSTAB_CACHE_DIR = new ConfigurationProperty<>(
+ "kerberos.keytab.cache.dir", AmbariPath.getPath("/var/lib/ambari-server/data/cache"));
/**
- * When authentication through LDAP is enabled there might be cases when {@link #LDAP_USER_SEARCH_FILTER_KEY}
- * may match multiple users in LDAP. In such cases the user is prompted to provide additional info, e.g. the domain
- * he or she wants ot log in upon login beside the username. This filter will be used by Ambari Server to lookup
- * users in LDAP if the login name the user logs in contains additional information beside ambari user name.
*
- * If it is not not set then the default {@link #LDAP_ALT_USER_SEARCH_FILTER_DEFAULT} is used.
+ */
+ public static final ConfigurationProperty<Boolean> KERBEROS_CHECK_JAAS_CONFIGURATION = new ConfigurationProperty<>(
+ "kerberos.check.jaas.configuration", Boolean.FALSE);
+
+ /**
*
- * <p>
- * Note: Currently this filter will only be used by Ambari Server if the user login name
- * is in the username@domain format (e.g. user1@x.y.com) which is the userPrincipalName
- * format used in AD.
- * </p>
*/
- public static final String LDAP_ALT_USER_SEARCH_FILTER_KEY = "authentication.ldap.alternateUserSearchFilter"; //TODO: we'll need a more generic solution to support any login name format
-
- public static final String LDAP_GROUP_SEARCH_FILTER_KEY = "authorization.ldap.groupSearchFilter";
- public static final String LDAP_REFERRAL_KEY = "authentication.ldap.referral";
- public static final String LDAP_PAGINATION_ENABLED_KEY = "authentication.ldap.pagination.enabled";
- public static final String LDAP_SYCN_USER_MEMBER_REPLACE_PATTERN = "authentication.ldap.sync.userMemberReplacePattern";
- public static final String LDAP_SYCN_GROUP_MEMBER_REPLACE_PATTERN = "authentication.ldap.sync.groupMemberReplacePattern";
- public static final String LDAP_SYCN_USER_MEMBER_FILTER = "authentication.ldap.sync.userMemberFilter";
- public static final String LDAP_SYCN_GROUP_MEMBER_FILTER = "authentication.ldap.sync.groupMemberFilter";
- public static final String SERVER_EC_CACHE_SIZE = "server.ecCacheSize";
- public static final String SERVER_HRC_STATUS_SUMMARY_CACHE_ENABLED = "server.hrcStatusSummary.cache.enabled";
- public static final String SERVER_HRC_STATUS_SUMMARY_CACHE_SIZE = "server.hrcStatusSummary.cache.size";
- public static final String SERVER_HRC_STATUS_SUMMARY_CACHE_EXPIRY_DURATION = "server.hrcStatusSummary.cache.expiryDuration";
- public static final String SERVER_STALE_CONFIG_CACHE_ENABLED_KEY = "server.cache.isStale.enabled";
- public static final String SERVER_STALE_CONFIG_CACHE_EXPIRATION_KEY = "server.cache.isStale.expiration";
- public static final String SERVER_PERSISTENCE_TYPE_KEY = "server.persistence.type";
- public static final String SERVER_JDBC_USER_NAME_KEY = "server.jdbc.user.name";
- public static final String SERVER_JDBC_USER_PASSWD_KEY = "server.jdbc.user.passwd";
- public static final String SERVER_JDBC_DRIVER_KEY = "server.jdbc.driver";
- public static final String SERVER_JDBC_URL_KEY = "server.jdbc.url";
- public static final String SERVER_JDBC_PROPERTIES_PREFIX = "server.jdbc.properties.";
- public static final String SERVER_PERSISTENCE_PROPERTIES_PREFIX = "server.persistence.properties.";
+ public static final ConfigurationProperty<String> RECOVERY_TYPE = new ConfigurationProperty<>(
+ "recovery.type", null);
+
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> RECOVERY_LIFETIME_MAX_COUNT = new ConfigurationProperty<>(
+ "recovery.lifetime_max_count", null);
+
+ public static final ConfigurationProperty<String> RECOVERY_MAX_COUNT = new ConfigurationProperty<>(
+ "recovery.max_count", null);
- public static final String SERVER_HTTP_REQUEST_HEADER_SIZE = "server.http.request.header.size";
- public static final String SERVER_HTTP_RESPONSE_HEADER_SIZE = "server.http.response.header.size";
- public static final int SERVER_HTTP_REQUEST_HEADER_SIZE_DEFAULT = 64*1024;
- public static final int SERVER_HTTP_RESPONSE_HEADER_SIZE_DEFAULT = 64*1024;
+ public static final ConfigurationProperty<String> RECOVERY_WINDOW_IN_MIN = new ConfigurationProperty<>(
+ "recovery.window_in_minutes", null);
- // Properties for stack upgrade (Rolling, Express)
- public static final String ROLLING_UPGRADE_SKIP_PACKAGES_PREFIXES_KEY = "rolling.upgrade.skip.packages.prefixes";
- public static final String ROLLING_UPGRADE_SKIP_PACKAGES_PREFIXES_DEFAULT = "";
+ public static final ConfigurationProperty<String> RECOVERY_RETRY_GAP = new ConfigurationProperty<>(
+ "recovery.retry_interval", null);
- public static final String STACK_UPGRADE_BYPASS_PRECHECKS_KEY = "stack.upgrade.bypass.prechecks";
- public static final String STACK_UPGRADE_BYPASS_PRECHECKS_DEFAULT = "false";
+ public static final ConfigurationProperty<String> RECOVERY_DISABLED_COMPONENTS = new ConfigurationProperty<>(
+ "recovery.disabled_components", null);
+
+ public static final ConfigurationProperty<String> RECOVERY_ENABLED_COMPONENTS = new ConfigurationProperty<>(
+ "recovery.enabled_components", null);
/**
- * If a host is shutdown or ambari-agent is stopped, then Ambari Server will still keep waiting til the task timesout,
- * say 10-20 mins. If the host comes back online and ambari-agent is started, then need this retry property
- * to be greater; ideally, it should be greater than 2 * command_timeout in order to retry at least
- * 3 times in that amount of mins.
- * Suggested value is 15-30 mins.
+ * Allow proxy calls to these hosts and ports only
*/
- public static final String STACK_UPGRADE_AUTO_RETRY_TIMEOUT_MINS_KEY = "stack.upgrade.auto.retry.timeout.mins";
- public static final String STACK_UPGRADE_AUTO_RETRY_TIMEOUT_MINS_DEFAULT = "0";
+ public static final ConfigurationProperty<String> PROXY_ALLOWED_HOST_PORTS = new ConfigurationProperty<>(
+ "proxy.allowed.hostports", "*:*");
/**
- * If the stack.upgrade.auto.retry.timeout.mins property is positive, then run RetryUpgradeActionService every x
- * seconds.
+ * This key defines whether stages of parallel requests are executed in
+ * parallel or sequentally. Only stages from different requests
+ * running on not interfering host sets may be executed in parallel.
*/
- public static final String STACK_UPGRADE_AUTO_RETRY_CHECK_INTERVAL_SECS_KEY = "stack.upgrade.auto.retry.check.interval.secs";
- public static final String STACK_UPGRADE_AUTO_RETRY_CHECK_INTERVAL_SECS_DEFAULT = "20";
+ public static final ConfigurationProperty<Boolean> PARALLEL_STAGE_EXECUTION = new ConfigurationProperty<>(
+ "server.stages.parallel", Boolean.TRUE);
/**
- * If auto-retry during stack upgrade is enabled, skip any tasks whose custom command name contains at least one
- * of the strings in the following CSV property. Note that values have to be enclosed in quotes and separated by commas.
+ *
*/
- public static final String STACK_UPGRADE_AUTO_RETRY_CUSTOM_COMMAND_NAMES_TO_IGNORE_KEY = "stack.upgrade.auto.retry.command.names.to.ignore";
- public static final String STACK_UPGRADE_AUTO_RETRY_CUSTOM_COMMAND_NAMES_TO_IGNORE_DEFAULT = "\"ComponentVersionCheckAction\",\"FinalizeUpgradeAction\"";
+ public static final ConfigurationProperty<Long> AGENT_TASK_TIMEOUT = new ConfigurationProperty<>(
+ "agent.task.timeout", 900L);
/**
- * If auto-retry during stack upgrade is enabled, skip any tasks whose command details contains at least one
- * of the strings in the following CSV property. Note that values have to be enclosed in quotes and separated by commas.
+ *
*/
- public static final String STACK_UPGRADE_AUTO_RETRY_COMMAND_DETAILS_TO_IGNORE_KEY = "stack.upgrade.auto.retry.command.details.to.ignore";
- public static final String STACK_UPGRADE_AUTO_RETRY_COMMAND_DETAILS_TO_IGNORE_DEFAULT = "\"Execute HDFS Finalize\"";
-
- public static final String JWT_AUTH_ENBABLED = "authentication.jwt.enabled";
- public static final String JWT_AUTH_PROVIDER_URL = "authentication.jwt.providerUrl";
- public static final String JWT_PUBLIC_KEY = "authentication.jwt.publicKey";
- public static final String JWT_AUDIENCES = "authentication.jwt.audiences";
- public static final String JWT_COOKIE_NAME = "authentication.jwt.cookieName";
- public static final String JWT_ORIGINAL_URL_QUERY_PARAM = "authentication.jwt.originalUrlParamName";
- public static final String JWT_COOKIE_NAME_DEFAULT = "hadoop-jwt";
- public static final String JWT_ORIGINAL_URL_QUERY_PARAM_DEFAULT = "originalUrl";
-
- public static final String SERVER_JDBC_CONNECTION_POOL = "server.jdbc.connection-pool";
- public static final String SERVER_JDBC_CONNECTION_POOL_MIN_SIZE = "server.jdbc.connection-pool.min-size";
- public static final String SERVER_JDBC_CONNECTION_POOL_MAX_SIZE = "server.jdbc.connection-pool.max-size";
- public static final String SERVER_JDBC_CONNECTION_POOL_AQUISITION_SIZE = "server.jdbc.connection-pool.acquisition-size";
- public static final String SERVER_JDBC_CONNECTION_POOL_MAX_AGE = "server.jdbc.connection-pool.max-age";
- public static final String SERVER_JDBC_CONNECTION_POOL_MAX_IDLE_TIME = "server.jdbc.connection-pool.max-idle-time";
- public static final String SERVER_JDBC_CONNECTION_POOL_MAX_IDLE_TIME_EXCESS = "server.jdbc.connection-pool.max-idle-time-excess";
- public static final String SERVER_JDBC_CONNECTION_POOL_IDLE_TEST_INTERVAL = "server.jdbc.connection-pool.idle-test-interval";
- public static final String SERVER_JDBC_CONNECTION_POOL_ACQUISITION_RETRY_ATTEMPTS = "server.jdbc.connection-pool.acquisition-retry-attempts";
- public static final String SERVER_JDBC_CONNECTION_POOL_ACQUISITION_RETRY_DELAY = "server.jdbc.connection-pool.acquisition-retry-delay";
-
- public static final String OPERATIONS_RETRY_ATTEMPTS_KEY = "server.operations.retry-attempts";
- public static final String OPERATIONS_RETRY_ATTEMPTS_DEFAULT = "0";
- public static final int RETRY_ATTEMPTS_LIMIT = 10;
-
- public static final String AMBARI_SERVER_USER = "ambari-server.user";
-
- public static final String SERVER_JDBC_RCA_USER_NAME_KEY = "server.jdbc.rca.user.name";
- public static final String SERVER_JDBC_RCA_USER_PASSWD_KEY = "server.jdbc.rca.user.passwd";
- public static final String SERVER_JDBC_RCA_DRIVER_KEY = "server.jdbc.rca.driver";
- public static final String SERVER_JDBC_RCA_URL_KEY = "server.jdbc.rca.url";
- public static final String SERVER_JDBC_GENERATE_TABLES_KEY = "server.jdbc.generateTables";
- public static final String JDBC_UNIT_NAME = "ambari-server";
- public static final String JDBC_LOCAL_URL = "jdbc:postgresql://localhost/";
- public static final String JDBC_LOCAL_DRIVER = "org.postgresql.Driver";
- public static final String DEFAULT_DERBY_SCHEMA = "ambari";
- public static final String JDBC_IN_MEMORY_URL = String.format("jdbc:derby:memory:myDB/%s;create=true", DEFAULT_DERBY_SCHEMA);
- public static final String JDBC_IN_MEMROY_DRIVER = "org.apache.derby.jdbc.EmbeddedDriver";
- public static final String HOSTNAME_MACRO = "{hostname}";
- public static final String JDBC_RCA_LOCAL_URL = "jdbc:postgresql://" + HOSTNAME_MACRO + "/ambarirca";
- public static final String JDBC_RCA_LOCAL_DRIVER = "org.postgresql.Driver";
- public static final String OS_FAMILY_KEY = "server.os_family";
- public static final String OS_VERSION_KEY = "server.os_type";
- public static final String SRVR_HOSTS_MAPPING = "server.hosts.mapping";
- // Command parameter names
- public static final String UPGRADE_FROM_STACK = "source_stack_version";
- public static final String UPGRADE_TO_STACK = "target_stack_version";
- public static final String SSL_TRUSTSTORE_PATH_KEY = "ssl.trustStore.path";
- public static final String SSL_TRUSTSTORE_PASSWORD_KEY = "ssl.trustStore.password";
- public static final String SSL_TRUSTSTORE_TYPE_KEY = "ssl.trustStore.type";
- public static final String JAVAX_SSL_TRUSTSTORE = "javax.net.ssl.trustStore";
- public static final String JAVAX_SSL_TRUSTSTORE_PASSWORD = "javax.net.ssl.trustStorePassword";
- public static final String JAVAX_SSL_TRUSTSTORE_TYPE = "javax.net.ssl.trustStoreType";
- public static final String SRVR_TWO_WAY_SSL_PORT_DEFAULT = "8441";
- public static final String SRVR_ONE_WAY_SSL_PORT_DEFAULT = "8440";
- public static final String SRVR_CRT_NAME_DEFAULT = "ca.crt";
- public static final String SRVR_KEY_NAME_DEFAULT = "ca.key";
- public static final String SRVR_CSR_NAME_DEFAULT = "ca.csr";
- public static final String KSTR_NAME_DEFAULT = "keystore.p12";
- public static final String KSTR_TYPE_DEFAULT = "PKCS12";
- // By default self-signed certificates are used and we can use keystore as truststore in PKCS12 format
- // When CA signed certificates are used truststore should be created in JKS format (truststore.jks)
- public static final String TSTR_NAME_DEFAULT = "keystore.p12";
- public static final String TSTR_TYPE_DEFAULT = "PKCS12";
- public static final String CLIENT_API_SSL_KSTR_NAME_DEFAULT = "https.keystore.p12";
- public static final String CLIENT_API_SSL_KSTR_TYPE_DEFAULT = "PKCS12";
- // By default self-signed certificates are used and we can use keystore as truststore in PKCS12 format
- // When CA signed certificates are used truststore should be created in JKS format (truststore.jks)
- public static final String CLIENT_API_SSL_TSTR_NAME_DEFAULT = "https.keystore.p12";
- public static final String CLIENT_API_SSL_TSTR_TYPE_DEFAULT = "PKCS12";
- public static final String CLIENT_API_SSL_CRT_PASS_FILE_NAME_DEFAULT = "https.pass.txt";
- public static final String CLIENT_API_SSL_KEY_NAME_DEFAULT = "https.key";
- public static final String CLIENT_API_SSL_CRT_NAME_DEFAULT = "https.crt";
- public static final String GLOBAL_CONFIG_TAG = "global";
- public static final String MAPREDUCE2_LOG4J_CONFIG_TAG = "mapreduce2-log4j";
- public static final String RCA_ENABLED_PROPERTY = "rca_enabled";
- public static final String HIVE_CONFIG_TAG = "hive-site";
- public static final String HIVE_METASTORE_PASSWORD_PROPERTY = "javax.jdo.option.ConnectionPassword";
- public static final String MASTER_KEY_PERSISTED = "security.master.key.ispersisted";
- public static final String MASTER_KEY_LOCATION = "security.master.key.location";
- public static final String MASTER_KEYSTORE_LOCATION = "security.master.keystore.location";
- public static final String MASTER_KEY_ENV_PROP = "AMBARI_SECURITY_MASTER_KEY";
- public static final String MASTER_KEY_FILENAME_DEFAULT = "master";
- public static final String MASTER_KEYSTORE_FILENAME_DEFAULT = "credentials.jceks";
- public static final String TEMPORARY_KEYSTORE_RETENTION_MINUTES = "security.temporary.keystore.retention.minutes";
- public static final long TEMPORARY_KEYSTORE_RETENTION_MINUTES_DEFAULT = 90;
- public static final String TEMPORARY_KEYSTORE_ACTIVELY_PURGE = "security.temporary.keystore.actibely.purge";
- public static final boolean TEMPORARY_KEYSTORE_ACTIVELY_PURGE_DEFAULT = true;
-
- // Alerts notifications properties
- public static final String AMBARI_DISPLAY_URL = "ambari.display.url";
+ public static final ConfigurationProperty<Long> AGENT_PACKAGE_INSTALL_TASK_TIMEOUT = new ConfigurationProperty<>(
+ "agent.package.install.task.timeout", 1800L);
/**
- * Key for repo validation suffixes.
+ * Max number of tasks that may be executed within a single stage.
+ * This limitation is used for tasks that when executed in a 1000+ node cluster,
+ * may DDOS servers providing downloadable resources
*/
- public static final String REPO_SUFFIX_KEY_UBUNTU = "repo.validation.suffixes.ubuntu";
- public static final String REPO_SUFFIX_KEY_DEFAULT = "repo.validation.suffixes.default";
-
- public static final String EXECUTION_SCHEDULER_CLUSTERED_KEY = "server.execution.scheduler.isClustered";
- public static final String EXECUTION_SCHEDULER_THREADS_KEY = "server.execution.scheduler.maxThreads";
- public static final String EXECUTION_SCHEDULER_CONNECTIONS_KEY = "server.execution.scheduler.maxDbConnections";
- public static final String EXECUTION_SCHEDULER_MISFIRE_TOLERATION_KEY = "server.execution.scheduler.misfire.toleration.minutes";
- public static final String EXECUTION_SCHEDULER_START_DELAY_KEY = "server.execution.scheduler.start.delay.seconds";
- public static final String EXECUTION_SCHEDULER_WAIT_KEY = "server.execution.scheduler.wait";
- public static final String DEFAULT_SCHEDULER_THREAD_COUNT = "5";
- public static final String DEFAULT_SCHEDULER_MAX_CONNECTIONS = "5";
- public static final String DEFAULT_EXECUTION_SCHEDULER_MISFIRE_TOLERATION = "480";
- public static final String DEFAULT_SCHEDULER_START_DELAY_SECONDS = "120";
- public static final String DEFAULT_EXECUTION_SCHEDULER_WAIT_SECONDS = "1";
- public static final String SERVER_TMP_DIR_KEY = "server.tmp.dir";
- public static final String SERVER_TMP_DIR_DEFAULT = AmbariPath.getPath("/var/lib/ambari-server/tmp");
- public static final String EXTERNAL_SCRIPT_TIMEOUT_KEY = "server.script.timeout";
- public static final String EXTERNAL_SCRIPT_TIMEOUT_DEFAULT = "5000";
- public static final String DEF_ARCHIVE_EXTENSION;
- public static final String DEF_ARCHIVE_CONTENT_TYPE;
+ public static final ConfigurationProperty<Integer> AGENT_PACKAGE_PARALLEL_COMMANDS_LIMIT = new ConfigurationProperty<>(
+ "agent.package.parallel.commands.limit", 100);
/**
- * Kerberos related configuration options
+ * Server side task (default) timeout value
*/
- public static final String KDC_PORT_KEY = "default.kdcserver.port";
- public static final String KDC_PORT_KEY_DEFAULT = "88";
- public static final String KDC_CONNECTION_CHECK_TIMEOUT_KEY = "kdcserver.connection.check.timeout";
- public static final String KDC_CONNECTION_CHECK_TIMEOUT_DEFAULT = "10000";
- public static final String KERBEROS_KEYTAB_CACHE_DIR_KEY = "kerberos.keytab.cache.dir";
- public static final String KERBEROS_KEYTAB_CACHE_DIR_DEFAULT = AmbariPath.getPath("/var/lib/ambari-server/data/cache");
- public static final String KERBEROS_CHECK_JAAS_CONFIGURATION_KEY = "kerberos.check.jaas.configuration";
- public static final String KERBEROS_CHECK_JAAS_CONFIGURATION_DEFAULT = "false";
+ public static final ConfigurationProperty<Integer> SERVER_TASK_TIMEOUT = new ConfigurationProperty<>(
+ "server.task.timeout", 1200);
/**
- * Recovery related configuration
+ *
*/
- public static final String RECOVERY_TYPE_KEY = "recovery.type";
- public static final String RECOVERY_LIFETIME_MAX_COUNT_KEY = "recovery.lifetime_max_count";
- public static final String RECOVERY_MAX_COUNT_KEY = "recovery.max_count";
- public static final String RECOVERY_WINDOW_IN_MIN_KEY = "recovery.window_in_minutes";
- public static final String RECOVERY_RETRY_GAP_KEY = "recovery.retry_interval";
- public static final String RECOVERY_DISABLED_COMPONENTS_KEY = "recovery.disabled_components";
- public static final String RECOVERY_ENABLED_COMPONENTS_KEY = "recovery.enabled_components";
+ public static final ConfigurationProperty<String> CUSTOM_ACTION_DEFINITION = new ConfigurationProperty<>(
+ "custom.action.definitions",
+ AmbariPath.getPath("/var/lib/ambari-server/resources/custom_action_definitions"));
/**
- * Allow proxy calls to these hosts and ports only
+ *
*/
- public static final String PROXY_ALLOWED_HOST_PORTS = "proxy.allowed.hostports";
- public static final String PROXY_ALLOWED_HOST_PORTS_DEFAULT = "*:*";
+ public static final ConfigurationProperty<String> SHARED_RESOURCES_DIR = new ConfigurationProperty<>(
+ "shared.resources.dir",
+ AmbariPath.getPath("/usr/lib/ambari-server/lib/ambari_commons/resources"));
/**
- * This key defines whether stages of parallel requests are executed in
- * parallel or sequentally. Only stages from different requests
- * running on not interfering host sets may be executed in parallel.
+ *
*/
- public static final String PARALLEL_STAGE_EXECUTION_KEY = "server.stages.parallel";
- public static final String AGENT_TASK_TIMEOUT_KEY = "agent.task.timeout";
- public static final String AGENT_PACKAGE_INSTALL_TASK_TIMEOUT_KEY = "agent.package.install.task.timeout";
+ public static final ConfigurationProperty<String> ANONYMOUS_AUDIT_NAME = new ConfigurationProperty<>(
+ "anonymous.audit.name", "_anonymous");
/**
- * Max number of tasks that may be executed within a single stage.
- * This limitation is used for tasks that when executed in a 1000+ node cluster,
- * may DDOS servers providing downloadable resources
+ * Indicator for sys prepped host
+ * It is possible the some nodes are sys prepped and some are not. This can be enabled later
+ * by agent over-writing global indicator from ambari-server
*/
- public static final String AGENT_PACKAGE_PARALLEL_COMMANDS_LIMIT_KEY = "agent.package.parallel.commands.limit";
- public static final String AGENT_PACKAGE_PARALLEL_COMMANDS_LIMIT_DEFAULT = "100";
+ public static final ConfigurationProperty<String> SYS_PREPPED_HOSTS = new ConfigurationProperty<>(
+ "packages.pre.installed", "false");
- public static final String AGENT_TASK_TIMEOUT_DEFAULT = "900";
- public static final String AGENT_PACKAGE_INSTALL_TASK_TIMEOUT_DEFAULT = "1800";
+ /**
+ *
+ */
+ public static final ConfigurationProperty<Boolean> BLUEPRINT_SKIP_INSTALL_TASKS = new ConfigurationProperty<>(
+ "blueprint.skip_install_tasks", Boolean.FALSE);
/**
- * Server side task (default) timeout value
+ *
*/
- public static final String SERVER_TASK_TIMEOUT_KEY = "server.task.timeout";
- public static final String SERVER_TASK_TIMEOUT_DEFAULT = "1200";
-
- public static final String CUSTOM_ACTION_DEFINITION_KEY = "custom.action.definitions";
- public static final String SHARED_RESOURCES_DIR_KEY = "shared.resources.dir";
-
- protected static final boolean SERVER_HRC_STATUS_SUMMARY_CACHE_ENABLED_DEFAULT = true;
- protected static final long SERVER_HRC_STATUS_SUMMARY_CACHE_SIZE_DEFAULT = 10000L;
- protected static final long SERVER_HRC_STATUS_SUMMARY_CACHE_EXPIRY_DURATION_DEFAULT = 30; //minutes
-
- private static final String CUSTOM_ACTION_DEFINITION_DEF_VALUE = AmbariPath.getPath("/var/lib/ambari-server/resources/custom_action_definitions");
-
- private static final long SERVER_EC_CACHE_SIZE_DEFAULT = 10000L;
- private static final String SERVER_STALE_CONFIG_CACHE_ENABLED_DEFAULT = "true";
- private static final String SERVER_STALE_CONFIG_CACHE_EXPIRATION_DEFAULT = "600";
- private static final String SERVER_JDBC_USER_NAME_DEFAULT = "ambari";
- private static final String SERVER_JDBC_USER_PASSWD_DEFAULT = "bigdata";
- private static final String SERVER_JDBC_RCA_USER_NAME_DEFAULT = "mapred";
- private static final String SERVER_JDBC_RCA_USER_PASSWD_DEFAULT = "mapred";
- private static final String SRVR_AGENT_HOSTNAME_VALIDATE_DEFAULT = "true";
- private static final String SRVR_TWO_WAY_SSL_DEFAULT = "false";
- private static final String SRVR_KSTR_DIR_DEFAULT = ".";
- private static final String API_CSRF_PREVENTION_DEFAULT = "true";
- private static final String API_GZIP_COMPRESSION_ENABLED_DEFAULT = "true";
- private static final String API_GZIP_MIN_COMPRESSION_SIZE_DEFAULT = "10240";
- private static final String SRVR_CRT_PASS_FILE_DEFAULT = "pass.txt";
- private static final String SRVR_CRT_PASS_LEN_DEFAULT = "50";
- private static final String SRVR_DISABLED_CIPHERS_DEFAULT = "";
- private static final String SRVR_DISABLED_PROTOCOLS_DEFAULT = "";
- private static final String PASSPHRASE_ENV_DEFAULT = "AMBARI_PASSPHRASE";
- private static final String RESOURCES_DIR_DEFAULT = AmbariPath.getPath("/var/lib/ambari-server/resources/");
- private static final String SHARED_RESOURCES_DIR_DEFAULT = AmbariPath.getPath("/usr/lib/ambari-server/lib/ambari_commons/resources");
- private static final String ANONYMOUS_AUDIT_NAME_KEY = "anonymous.audit.name";
-
- private static final int CLIENT_API_PORT_DEFAULT = 8080;
- private static final int CLIENT_API_SSL_PORT_DEFAULT = 8443;
- private static final String LDAP_BIND_ANONYMOUSLY_DEFAULT = "true";
- private static final String LDAP_PAGINATION_ENABLED_DEFAULT = "true";
+ private static final String LDAP_ADMIN_GROUP_MAPPING_MEMBER_ATTR_DEFAULT = "";
/**
- * Indicator for sys prepped host
- * It is possible the some nodes are sys prepped and some are not. This can be enabled later
- * by agent over-writing global indicator from ambari-server
+ *
*/
- public static final String SYS_PREPPED_HOSTS_KEY = "packages.pre.installed";
- public static final String SYS_PREPPED_HOSTS_DEFAULT = "false";
+ public static final ConfigurationProperty<Integer> SERVER_CONNECTION_MAX_IDLE_TIME = new ConfigurationProperty<>(
+ "server.connection.max.idle.millis", 900000);
- public static final String BLUEPRINT_SKIP_INSTALL_TASKS_KEY = "blueprint.skip_install_tasks";
- public static final String BLUEPRINT_SKIP_INSTALL_TASKS_DEFAULT = "false";
+ /**
+ *
+ */
+ public static final ConfigurationProperty<Integer> CLIENT_THREADPOOL_SIZE = new ConfigurationProperty<>(
+ "client.threadpool.size.max", 25);
/**
- * !!! TODO: For embedded server only - should be removed later
+ *
*/
- private static final String LDAP_PRIMARY_URL_DEFAULT = "localhost:33389";
- private static final String LDAP_BASE_DN_DEFAULT = "dc=ambari,dc=apache,dc=org";
- private static final String LDAP_USERNAME_ATTRIBUTE_DEFAULT = "uid";
- private static final String LDAP_DN_ATTRIBUTE_DEFAULT = "dn";
- private static final String LDAP_USER_BASE_DEFAULT = "ou=people,dc=ambari,dc=apache,dc=org";
- private static final String LDAP_USER_OBJECT_CLASS_DEFAULT = "person";
- private static final String LDAP_GROUP_BASE_DEFAULT = "ou=groups,dc=ambari,dc=apache,dc=org";
- private static final String LDAP_GROUP_OBJECT_CLASS_DEFAULT = "group";
- private static final String LDAP_GROUP_NAMING_ATTR_DEFAULT = "cn";
- private static final String LDAP_GROUP_MEMBERSHIP_ATTR_DEFAULT = "member";
- private static final String LDAP_ADMIN_GROUP_MAPPING_RULES_DEFAULT = "Ambari Administrators";
- private static final String LDAP_ADMIN_GROUP_MAPPING_MEMBER_ATTR_DEFAULT = "";
+ public static final ConfigurationProperty<Integer> AGENT_THREADPOOL_SIZE = new ConfigurationProperty<>(
+ "agent.threadpool.size.max", 25);
+
/**
- * If the default LDAP user search filter is not able to find the authenticating user
- * in LDAP than Ambari can fall back an alternative user search filter if this
- * functionality is enabled. Whether this functionality is enabled or disabled
- * can be controlled via {@link #LDAP_ALT_USER_SEARCH_ENABLED_KEY}.
*
- * If {@link #LDAP_ALT_USER_SEARCH_ENABLED_KEY} not provided in ambari properties
- * than the functionality is disabled by default.
+ */
+ public static final ConfigurationProperty<Integer> VIEW_EXTRACTION_THREADPOOL_MAX_SIZE = new ConfigurationProperty<>(
+ "view.extraction.threadpool.size.max", 20);
+
+ /**
*
*/
- protected static final String LDAP_ALT_USER_SEARCH_ENABLED_DEFAULT = "false";
+ public static final ConfigurationProperty<Integer> VIEW_EXTRACTION_THREADPOOL_CORE_SIZE = new ConfigurationProperty<>(
+ "view.extraction.threadpool.size.core", 10);
/**
- * When authentication through LDAP is enabled then Ambari Server uses this filter by default to lookup
- * the user in LDAP if one not provided in the config via {@link #LDAP_USER_SEARCH_FILTER_KEY}.
+ *
*/
- protected static final String LDAP_USER_SEARCH_FILTER_DEFAULT = "(&({usernameAttribute}={0})(objectClass={userObjectClass}))";
+ public static final ConfigurationProperty<Long> VIEW_EXTRACTION_THREADPOOL_TIMEOUT = new ConfigurationProperty<>(
+ "view.extraction.threadpool.timeout", 100000L);
/**
- * When authentication through LDAP is enabled Ambari Server uses this filter by default to lookup
- * the user in LDAP when the user provides beside user name additional information.
- * This filter can be overridden through {@link #LDAP_ALT_USER_SEARCH_FILTER_KEY}.
*
- * <p>
- * Note: Currently the use of alternate user search filter is triggered only if the user login name
- * is in the username@domain format (e.g. user1@x.y.com) which is the userPrincipalName
- * format used in AD.
- * </p>
*/
- protected static final String LDAP_ALT_USER_SEARCH_FILTER_DEFAULT = "(&(userPrincipalName={0})(objectClass={userObjectClass}))"; //TODO: we'll need a more generic solution to support any login name format
+ public static final ConfigurationProperty<Integer> VIEW_REQUEST_THREADPOOL_MAX_SIZE = new ConfigurationProperty<>(
+ "view.request.threadpool.size.max", 0);
- private static final String LDAP_GROUP_SEARCH_FILTER_DEFAULT = "";
- private static final String LDAP_REFERRAL_DEFAULT = "follow";
+ /**
+ *
+ */
+ public static final ConfigurationProperty<Integer> VIEW_REQUEST_THREADPOOL_TIMEOUT = new ConfigurationProperty<>(
+ "view.request.threadpool.timeout", 2000);
- private static final String LDAP_SYNC_MEMBER_REPLACE_PATTERN_DEFAULT = "";
- private static final String LDAP_SYNC_MEMBER_FILTER_DEFAULT = "";
+ /**
+ *
+ */
+ public static final ConfigurationProperty<Integer> PROPERTY_PROVIDER_THREADPOOL_MAX_SIZE = new ConfigurationProperty<>(
+ "server.property-provider.threadpool.size.max", PROCESSOR_BASED_THREADPOOL_MAX_SIZE_DEFAULT);
/**
- * !!! TODO: for development purposes only, should be changed to 'false'
+ *
*/
- private static final String IS_LDAP_CONFIGURED_DEFAULT = "false";
+ public static final ConfigurationProperty<Integer> PROPERTY_PROVIDER_THREADPOOL_CORE_SIZE = new ConfigurationProperty<>(
+ "server.property-provider.threadpool.size.core",
+ PROCESSOR_BASED_THREADPOOL_CORE_SIZE_DEFAULT);
- private static final String SERVER_PERSISTENCE_TYPE_DEFAULT = "local";
- private static final String SERVER_CONNECTION_MAX_IDLE_TIME = "server.connection.max.idle.millis";
+ /**
+ *
+ */
+ public static final ConfigurationProperty<Integer> PROPERTY_PROVIDER_THREADPOOL_WORKER_QUEUE_SIZE = new ConfigurationProperty<>(
+ "server.property-provider.threadpool.worker.size", Integer.MAX_VALUE);
/**
- * Default for repo validation suffixes.
+ *
*/
- private static final String REPO_SUFFIX_DEFAULT = "/repodata/repomd.xml";
- private static final String REPO_SUFFIX_UBUNTU = "/dists/%s/Release";
+ public static final ConfigurationProperty<Long> PROPERTY_PROVIDER_THREADPOOL_COMPLETION_TIMEOUT = new ConfigurationProperty<>(
+ "server.property-provider.threadpool.completion.timeout", 5000L);
- private static final String PARALLEL_STAGE_EXECUTION_DEFAULT = "true";
+ /**
+ * The time, in {@link TimeUnit#SECONDS}, that HTTP requests remain valid when
+ * inactive.
+ */
+ public static final ConfigurationProperty<Integer> SERVER_HTTP_SESSION_INACTIVE_TIMEOUT = new ConfigurationProperty<>(
+ "server.http.session.inactive_timeout", 1800);
- private static final String CLIENT_THREADPOOL_SIZE_KEY = "client.threadpool.size.max";
- private static final int CLIENT_THREADPOOL_SIZE_DEFAULT = 25;
- private static final String AGENT_THREADPOOL_SIZE_KEY = "agent.threadpool.size.max";
- private static final int AGENT_THREADPOOL_SIZE_DEFAULT = 25;
+ /**
+ *
+ */
+ public static final ConfigurationProperty<Boolean> TIMELINE_METRICS_CACHE_DISABLE = new ConfigurationProperty<>(
+ "server.timeline.metrics.cache.disabled", Boolean.FALSE);
- private static final String VIEW_EXTRACTION_THREADPOOL_MAX_SIZE_KEY = "view.extraction.threadpool.size.max";
- private static final int VIEW_EXTRACTION_THREADPOOL_MAX_SIZE_DEFAULT = 20;
- private static final String VIEW_EXTRACTION_THREADPOOL_CORE_SIZE_KEY = "view.extraction.threadpool.size.core";
- private static final int VIEW_EXTRACTION_THREADPOOL_CORE_SIZE_DEFAULT = 10;
- private static final String VIEW_EXTRACTION_THREADPOOL_TIMEOUT_KEY = "view.extraction.threadpool.timeout";
- private static final long VIEW_EXTRACTION_THREADPOOL_TIMEOUT_DEFAULT = 100000L;
- private static final String VIEW_REQUEST_THREADPOOL_MAX_SIZE_KEY = "view.request.threadpool.size.max";
- private static final int VIEW_REQUEST_THREADPOOL_MAX_SIZE_DEFAULT = 0;
- private static final String VIEW_REQUEST_THREADPOOL_TIMEOUT_KEY = "view.request.threadpool.timeout";
- private static final int VIEW_REQUEST_THREADPOOL_TIMEOUT_DEFAULT = 2000;
+ /**
+ *
+ */
+ public static final ConfigurationProperty<Integer> TIMELINE_METRICS_CACHE_TTL = new ConfigurationProperty<>(
+ "server.timeline.metrics.cache.entry.ttl.seconds", 3600);
+ /**
+ *
+ */
+ public static final ConfigurationProperty<Integer> TIMELINE_METRICS_CACHE_IDLE_TIME = new ConfigurationProperty<>(
+ "server.timeline.metrics.cache.entry.idle.seconds", 1800);
/**
- * Threadpool sizing based on the number of available processors multiplied by 2.
+ *
*/
- public static final int PROCESSOR_BASED_THREADPOOL_CORE_SIZE_DEFAULT = 2 * Runtime.getRuntime().availableProcessors();
+ public static final ConfigurationProperty<Integer> TIMELINE_METRICS_REQUEST_READ_TIMEOUT = new ConfigurationProperty<>(
+ "server.timeline.metrics.cache.read.timeout.millis", 10000);
/**
- * Threadpool sizing based on the number of available processors multiplied by 4.
+ *
*/
- public static final int PROCESSOR_BASED_THREADPOOL_MAX_SIZE_DEFAULT = 4 * Runtime.getRuntime().availableProcessors();
+ public static final ConfigurationProperty<Integer> TIMELINE_METRICS_REQUEST_INTERVAL_READ_TIMEOUT = new ConfigurationProperty<>(
+ "server.timeline.metrics.cache.interval.read.timeout.millis", 10000);
- public static final String PROPERTY_PROVIDER_THREADPOOL_MAX_SIZE_KEY = "server.property-provider.threadpool.size.max";
- public static final String PROPERTY_PROVIDER_THREADPOOL_CORE_SIZE_KEY = "server.property-provider.threadpool.size.core";
- public static final String PROPERTY_PROVIDER_THREADPOOL_WORKER_QUEUE_SIZE = "server.property-provider.threadpool.worker.size";
- public static final String PROPERTY_PROVIDER_THREADPOOL_COMPLETION_TIMEOUT = "server.property-provider.threadpool.completion.timeout";
+ /**
+ *
+ */
+ public static final ConfigurationProperty<Integer> TIMELINE_METRICS_REQUEST_CONNECT_TIMEOUT = new ConfigurationProperty<>(
+ "server.timeline.metrics.cache.connect.timeout.millis", 5000);
- private static final String SERVER_HTTP_SESSION_INACTIVE_TIMEOUT = "server.http.session.inactive_timeout";
+ /**
+ *
+ */
+ public static final ConfigurationProperty<Long> TIMELINE_METRICS_REQUEST_CATCHUP_INTERVAL = new ConfigurationProperty<>(
+ "server.timeline.metrics.cache.catchup.interval", 300000L);
- // database pooling defaults
- private static final String DEFAULT_JDBC_POOL_MIN_CONNECTIONS = "5";
- private static final String DEFAULT_JDBC_POOL_MAX_CONNECTIONS = "32";
- private static final String DEFAULT_JDBC_POOL_ACQUISITION_SIZE = "5";
- private static final String DEFAULT_JDBC_POOL_MAX_IDLE_TIME_SECONDS = "14400";
- private static final String DEFAULT_JDBC_POOL_EXCESS_MAX_IDLE_TIME_SECONDS = "0";
- private static final String DEFAULT_JDBC_POOL_MAX_AGE_SECONDS = "0";
- private static final String DEFAULT_JDBC_POOL_IDLE_TEST_INTERVAL = "7200";
- private static final String DEFAULT_JDBC_POOL_ACQUISITION_RETRY_ATTEMPTS = "30";
- private static final String DEFAULT_JDBC_POOL_ACQUISITION_RETRY_DELAY = "1000";
+ /**
+ *
+ */
+ public static final ConfigurationProperty<String> TIMELINE_METRICS_CACHE_HEAP_PERCENT = new ConfigurationProperty<>(
+ "server.timeline.metrics.cache.heap.percent", "15%");
- // Timeline Metrics Cache settings
- private static final String TIMELINE_METRICS_CACHE_DISABLE = "server.timeline.metrics.cache.disabled";
- private static final String TIMELINE_METRICS_CACHE_MAX_ENTRIES = "server.timeline.metrics.cache.max.entries";
- private static final String DEFAULT_TIMELINE_METRICS_CACHE_MAX_ENTRIES = "50";
- private static final String TIMELINE_METRICS_CACHE_TTL = "server.timeline.metrics.cache.entry.ttl.seconds";
- private static final String DEFAULT_TIMELINE_METRICS_CACHE_TTL = "3600";
- private static final String TIMELINE_METRICS_CACHE_IDLE_TIME = "server.timeline.metrics.cache.entry.idle.seconds";
- private static final String DEFAULT_TIMELINE_METRICS_CACHE_IDLE_TIME = "1800";
- private static final String TIMELINE_METRICS_REQUEST_READ_TIMEOUT = "server.timeline.metrics.cache.read.timeout.millis";
- private static final String DEFAULT_TIMELINE_METRICS_REQUEST_READ_TIMEOUT = "10000";
- private static final String TIMELINE_METRICS_REQUEST_INTERVAL_READ_TIMEOUT = "server.timeline.metrics.cache.interval.read.timeout.millis";
- private static final String DEFAULT_TIMELINE_METRICS_REQUEST_INTERVAL_READ_TIMEOUT = "10000";
- private static final String TIMELINE_METRICS_REQUEST_CONNECT_TIMEOUT = "server.timeline.metrics.cache.connect.timeout.millis";
- private static final String DEFAULT_TIMELINE_METRICS_REQUEST_CONNECT_TIMEOUT = "5000";
- private static final String TIMELINE_METRICS_REQUEST_CATCHUP_INTERVAL = "server.timeline.metrics.cache.catchup.interval";
- private static final String DEFAULT_TIMELINE_METRICS_REQUEST_CATCHUP_INTERVAL = "300000";
- private static final String TIMELINE_METRICS_CACHE_HEAP_PERCENT = "server.timeline.metrics.cache.heap.percent";
- private static final String DEFAULT_TIMELINE_METRICS_CACHE_HEAP_PERCENT = "15%";
- private static final String TIMELINE_METRICS_CACHE_USE_CUSTOM_SIZING_ENGINE = "server.timeline.metrics.cache.use.custom.sizing.engine";
+ /**
+ *
+ */
+ public static final ConfigurationProperty<Boolean> TIMELINE_METRICS_CACHE_USE_CUSTOM_SIZING_ENGINE = new ConfigurationProperty<>(
+ "server.timeline.metrics.cache.use.custom.sizing.engine", Boolean.TRUE);
- // Timeline Metrics SSL settings
- public static final String AMRABI_METRICS_HTTPS_ENABLED_KEY = "server.timeline.metrics.https.enabled";
+ /**
+ * Timeline Metrics SSL settings
+ */
+ public static final ConfigurationProperty<Boolean> AMBARI_METRICS_HTTPS_ENABLED = new ConfigurationProperty<>(
+ "server.timeline.metrics.https.enabled", Boolean.FALSE);
/**
* Governs the use of {@link Parallel} to process {@link StageEntity}
* instances into {@link Stage}.
*/
- protected static final String EXPERIMENTAL_CONCURRENCY_STAGE_PROCESSING_ENABLED = "experimental.concurrency.stage_processing.enabled";
+ public static final ConfigurationProperty<Boolean> EXPERIMENTAL_CONCURRENCY_STAGE_PROCESSING_ENABLED = new ConfigurationProperty<>(
+ "experimental.concurrency.stage_processing.enabled", Boolean.FALSE);
/**
* The full path to the XML file that describes the different alert templates.
*/
- private static final String ALERT_TEMPLATE_FILE = "alerts.template.file";
+ @Markdown(description="The full path to the XML file that describes the different alert templates.")
+ public static final ConfigurationProperty<String> ALERT_TEMPLATE_FILE = new ConfigurationProperty<>(
+ "alerts.template.file", null);
/**
* The maximum number of threads which will handle published alert events.
*/
- public static final String ALERTS_EXECUTION_SCHEDULER_THREADS_KEY = "alerts.execution.scheduler.maxThreads";
-
- /**
- * The default core threads for handling published ale
<TRUNCATED>