ambari git commit: AMBARI-13427: NAMENODE START failed with both NN's being passive (jluniya)
Repository: ambari Updated Branches: refs/heads/branch-2.1 61bf60bb7 -> 39b8e5fa4 AMBARI-13427: NAMENODE START failed with both NN's being passive (jluniya) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/39b8e5fa Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/39b8e5fa Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/39b8e5fa Branch: refs/heads/branch-2.1 Commit: 39b8e5fa46d29a375981fd225b3c9102d5d6dade Parents: 61bf60b Author: Jayush LuniyaAuthored: Fri Oct 16 11:30:38 2015 -0700 Committer: Jayush Luniya Committed: Fri Oct 16 11:31:44 2015 -0700 -- .../libraries/functions/decorator.py| 5 ++-- .../libraries/functions/namenode_ha_utils.py| 27 ++-- .../python/stacks/2.0.6/HDFS/test_namenode.py | 17 +++- 3 files changed, 44 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/39b8e5fa/ambari-common/src/main/python/resource_management/libraries/functions/decorator.py -- diff --git a/ambari-common/src/main/python/resource_management/libraries/functions/decorator.py b/ambari-common/src/main/python/resource_management/libraries/functions/decorator.py index cd653e5..1b45981 100644 --- a/ambari-common/src/main/python/resource_management/libraries/functions/decorator.py +++ b/ambari-common/src/main/python/resource_management/libraries/functions/decorator.py @@ -26,7 +26,7 @@ __all__ = ['retry', ] from resource_management.core.logger import Logger -def retry(times=3, sleep_time=1, backoff_factor=1, err_class=Exception): +def retry(times=3, sleep_time=1, max_sleep_time=8, backoff_factor=1, err_class=Exception): """ Retry decorator for improved robustness of functions. :param times: Number of times to attempt to call the function. @@ -44,12 +44,13 @@ def retry(times=3, sleep_time=1, backoff_factor=1, err_class=Exception): while _times > 1: _times -= 1 -_sleep_time *= _backoff_factor try: return function(*args, **kwargs) except _err_class, err: Logger.info("Will retry %d time(s), caught exception: %s. Sleeping for %d sec(s)" % (_times, str(err), _sleep_time)) time.sleep(_sleep_time) +if(_sleep_time * _backoff_factor <= max_sleep_time): + _sleep_time *= _backoff_factor return function(*args, **kwargs) return wrapper http://git-wip-us.apache.org/repos/asf/ambari/blob/39b8e5fa/ambari-common/src/main/python/resource_management/libraries/functions/namenode_ha_utils.py -- diff --git a/ambari-common/src/main/python/resource_management/libraries/functions/namenode_ha_utils.py b/ambari-common/src/main/python/resource_management/libraries/functions/namenode_ha_utils.py index 99f90b8..0920e85 100644 --- a/ambari-common/src/main/python/resource_management/libraries/functions/namenode_ha_utils.py +++ b/ambari-common/src/main/python/resource_management/libraries/functions/namenode_ha_utils.py @@ -23,6 +23,8 @@ from resource_management.libraries.functions.format import format from resource_management.libraries.functions.jmx import get_value_from_jmx from resource_management.core.base import Fail from resource_management.core import shell +from resource_management.core.logger import Logger +from resource_management.libraries.functions.decorator import retry __all__ = ["get_namenode_states", "get_active_namenode", "get_property_for_active_namenode"] @@ -32,8 +34,29 @@ HDFS_NN_STATE_STANDBY = 'standby' NAMENODE_HTTP_FRAGMENT = 'dfs.namenode.http-address.{0}.{1}' NAMENODE_HTTPS_FRAGMENT = 'dfs.namenode.https-address.{0}.{1}' JMX_URI_FRAGMENT = "{0}://{1}/jmx?qry=Hadoop:service=NameNode,name=FSNamesystem" - -def get_namenode_states(hdfs_site, security_enabled, run_user): + +def get_namenode_states(hdfs_site, security_enabled, run_user, times=10, sleep_time=1, backoff_factor=2): + """ + return format [('nn1', 'hdfs://hostname1:port1'), ('nn2', 'hdfs://hostname2:port2')] , [], [] + """ + @retry(times=times, sleep_time=sleep_time, backoff_factor=backoff_factor, err_class=Fail) + def doRetries(hdfs_site, security_enabled, run_user): +doRetries.attempt += 1 +active_namenodes, standby_namenodes, unknown_namenodes = get_namenode_states_noretries(hdfs_site, security_enabled, run_user) +Logger.info( + "NameNode HA states: active_namenodes = {0}, standby_namenodes = {1}, unknown_namenodes = {2}".format( +active_namenodes, standby_namenodes, unknown_namenodes)) +if active_namenodes: + return active_namenodes, standby_namenodes, unknown_namenodes +elif
ambari git commit: AMBARI-13418. Stop-and-Start Upgrade: Upgrade START call cannot find upgrade pack to use (alejandro)
Repository: ambari Updated Branches: refs/heads/trunk 3318eb682 -> 1d61e6662 AMBARI-13418. Stop-and-Start Upgrade: Upgrade START call cannot find upgrade pack to use (alejandro) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/1d61e666 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/1d61e666 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/1d61e666 Branch: refs/heads/trunk Commit: 1d61e6662942902c721df03b306ef02fd958a1f1 Parents: 3318eb6 Author: Alejandro FernandezAuthored: Fri Oct 16 11:58:54 2015 -0700 Committer: Alejandro Fernandez Committed: Fri Oct 16 11:58:54 2015 -0700 -- .../java/org/apache/ambari/server/state/UpgradeHelperTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/1d61e666/ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java -- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java index 77595a3..1cc67ef 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java @@ -160,7 +160,7 @@ public class UpgradeHelperTest { makeCluster(); try { - String preferredUpgradePackName = null; + String preferredUpgradePackName = "upgrade_test"; UpgradePack up = m_upgradeHelper.suggestUpgradePack(clusterName, upgradeFromVersion, upgradeToVersion, upgradeDirection, upgradeType, preferredUpgradePackName); assertEquals(upgradeType, up.getType()); } catch (AmbariException e){
ambari git commit: AMBARI-13427: NAMENODE START failed with both NN's being passive (jluniya)
Repository: ambari Updated Branches: refs/heads/trunk dec7c8eed -> 3318eb682 AMBARI-13427: NAMENODE START failed with both NN's being passive (jluniya) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/3318eb68 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/3318eb68 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/3318eb68 Branch: refs/heads/trunk Commit: 3318eb682611fffbe817815cdffdf6aca2aacfa2 Parents: dec7c8e Author: Jayush LuniyaAuthored: Fri Oct 16 11:30:38 2015 -0700 Committer: Jayush Luniya Committed: Fri Oct 16 11:30:38 2015 -0700 -- .../libraries/functions/decorator.py| 5 ++-- .../libraries/functions/namenode_ha_utils.py| 27 ++-- .../python/stacks/2.0.6/HDFS/test_namenode.py | 17 +++- 3 files changed, 44 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/3318eb68/ambari-common/src/main/python/resource_management/libraries/functions/decorator.py -- diff --git a/ambari-common/src/main/python/resource_management/libraries/functions/decorator.py b/ambari-common/src/main/python/resource_management/libraries/functions/decorator.py index cd653e5..1b45981 100644 --- a/ambari-common/src/main/python/resource_management/libraries/functions/decorator.py +++ b/ambari-common/src/main/python/resource_management/libraries/functions/decorator.py @@ -26,7 +26,7 @@ __all__ = ['retry', ] from resource_management.core.logger import Logger -def retry(times=3, sleep_time=1, backoff_factor=1, err_class=Exception): +def retry(times=3, sleep_time=1, max_sleep_time=8, backoff_factor=1, err_class=Exception): """ Retry decorator for improved robustness of functions. :param times: Number of times to attempt to call the function. @@ -44,12 +44,13 @@ def retry(times=3, sleep_time=1, backoff_factor=1, err_class=Exception): while _times > 1: _times -= 1 -_sleep_time *= _backoff_factor try: return function(*args, **kwargs) except _err_class, err: Logger.info("Will retry %d time(s), caught exception: %s. Sleeping for %d sec(s)" % (_times, str(err), _sleep_time)) time.sleep(_sleep_time) +if(_sleep_time * _backoff_factor <= max_sleep_time): + _sleep_time *= _backoff_factor return function(*args, **kwargs) return wrapper http://git-wip-us.apache.org/repos/asf/ambari/blob/3318eb68/ambari-common/src/main/python/resource_management/libraries/functions/namenode_ha_utils.py -- diff --git a/ambari-common/src/main/python/resource_management/libraries/functions/namenode_ha_utils.py b/ambari-common/src/main/python/resource_management/libraries/functions/namenode_ha_utils.py index 99f90b8..0920e85 100644 --- a/ambari-common/src/main/python/resource_management/libraries/functions/namenode_ha_utils.py +++ b/ambari-common/src/main/python/resource_management/libraries/functions/namenode_ha_utils.py @@ -23,6 +23,8 @@ from resource_management.libraries.functions.format import format from resource_management.libraries.functions.jmx import get_value_from_jmx from resource_management.core.base import Fail from resource_management.core import shell +from resource_management.core.logger import Logger +from resource_management.libraries.functions.decorator import retry __all__ = ["get_namenode_states", "get_active_namenode", "get_property_for_active_namenode"] @@ -32,8 +34,29 @@ HDFS_NN_STATE_STANDBY = 'standby' NAMENODE_HTTP_FRAGMENT = 'dfs.namenode.http-address.{0}.{1}' NAMENODE_HTTPS_FRAGMENT = 'dfs.namenode.https-address.{0}.{1}' JMX_URI_FRAGMENT = "{0}://{1}/jmx?qry=Hadoop:service=NameNode,name=FSNamesystem" - -def get_namenode_states(hdfs_site, security_enabled, run_user): + +def get_namenode_states(hdfs_site, security_enabled, run_user, times=10, sleep_time=1, backoff_factor=2): + """ + return format [('nn1', 'hdfs://hostname1:port1'), ('nn2', 'hdfs://hostname2:port2')] , [], [] + """ + @retry(times=times, sleep_time=sleep_time, backoff_factor=backoff_factor, err_class=Fail) + def doRetries(hdfs_site, security_enabled, run_user): +doRetries.attempt += 1 +active_namenodes, standby_namenodes, unknown_namenodes = get_namenode_states_noretries(hdfs_site, security_enabled, run_user) +Logger.info( + "NameNode HA states: active_namenodes = {0}, standby_namenodes = {1}, unknown_namenodes = {2}".format( +active_namenodes, standby_namenodes, unknown_namenodes)) +if active_namenodes: + return active_namenodes, standby_namenodes, unknown_namenodes +elif
ambari git commit: AMBARI-13455. Ambari QE Deploy Test - Kerberos service check fails. Additional changes. (akovalenko)
Repository: ambari Updated Branches: refs/heads/trunk 1d61e6662 -> 4023dcf9e AMBARI-13455. Ambari QE Deploy Test - Kerberos service check fails. Additional changes. (akovalenko) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/4023dcf9 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/4023dcf9 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/4023dcf9 Branch: refs/heads/trunk Commit: 4023dcf9ece78995fde9dbb2e70644489aaad01f Parents: 1d61e66 Author: Aleksandr KovalenkoAuthored: Fri Oct 16 22:18:37 2015 +0300 Committer: Aleksandr Kovalenko Committed: Fri Oct 16 22:19:27 2015 +0300 -- .../main/admin/kerberos/wizard_controller.js| 16 1 file changed, 16 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/4023dcf9/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js -- diff --git a/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js b/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js index cb7ae74..4541914 100644 --- a/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js +++ b/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js @@ -263,22 +263,6 @@ App.KerberosWizardController = App.WizardController.extend(App.InstallComponent, }, this); } } - }, - { -type: 'async', -callback: function() { - var self = this; - var dfd = $.Deferred(); - if (App.get('supports.storeKDCCredentials')) { - credentialsUtils.isStorePersisted(App.get('clusterName')).then(function(isPersisted) { - self.set('content.secureStoragePersisted', isPersisted); - dfd.resolve(); -}); - } else { -dfd.resolve(); - } - return dfd.promise(); -} } ], '3': [
ambari git commit: AMBARI-13418. Stop-and-Start Upgrade: Upgrade START call cannot find upgrade pack to use (alejandro)
Repository: ambari Updated Branches: refs/heads/branch-2.1 39b8e5fa4 -> d64e148b2 AMBARI-13418. Stop-and-Start Upgrade: Upgrade START call cannot find upgrade pack to use (alejandro) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/d64e148b Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/d64e148b Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/d64e148b Branch: refs/heads/branch-2.1 Commit: d64e148b212e72300b9c9a7810d011970ffe8ec6 Parents: 39b8e5f Author: Alejandro FernandezAuthored: Fri Oct 16 12:17:02 2015 -0700 Committer: Alejandro Fernandez Committed: Fri Oct 16 12:17:02 2015 -0700 -- .../java/org/apache/ambari/server/state/UpgradeHelperTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/d64e148b/ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java -- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java index 2e25233..6099e16 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java @@ -160,7 +160,7 @@ public class UpgradeHelperTest { makeCluster(); try { - String preferredUpgradePackName = null; + String preferredUpgradePackName = "upgrade_test"; UpgradePack up = m_upgradeHelper.suggestUpgradePack(clusterName, upgradeFromVersion, upgradeToVersion, upgradeDirection, upgradeType, preferredUpgradePackName); assertEquals(upgradeType, up.getType()); } catch (AmbariException e){
ambari git commit: AMBARI-13459 - Hive Metastore Upgrade Retry Fails Because Of Driver Copy Issue (jonathanhurley)
Repository: ambari Updated Branches: refs/heads/branch-2.1.2 8a800741e -> 79dc49ae0 AMBARI-13459 - Hive Metastore Upgrade Retry Fails Because Of Driver Copy Issue (jonathanhurley) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/79dc49ae Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/79dc49ae Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/79dc49ae Branch: refs/heads/branch-2.1.2 Commit: 79dc49ae03d7c59568e445261132ae52ace8f719 Parents: 8a80074 Author: Jonathan HurleyAuthored: Fri Oct 16 14:09:26 2015 -0400 Committer: Jonathan Hurley Committed: Fri Oct 16 16:08:51 2015 -0400 -- .../package/scripts/hive_metastore.py | 30 +--- .../stacks/2.1/HIVE/test_hive_metastore.py | 8 -- 2 files changed, 24 insertions(+), 14 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/79dc49ae/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_metastore.py -- diff --git a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_metastore.py b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_metastore.py index 796ec18..8a3833b 100644 --- a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_metastore.py +++ b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_metastore.py @@ -33,7 +33,6 @@ from resource_management.libraries.functions.security_commons import get_params_ from resource_management.libraries.functions.security_commons import validate_security_config_properties from resource_management.libraries.functions.security_commons import FILE_TYPE_XML from resource_management.core.resources.system import File -from resource_management.core.shell import as_sudo from hive import hive from hive import jdbc_connector @@ -155,7 +154,7 @@ class HiveMetastoreDefault(HiveMetastore): """ Executes the schema upgrade binary. This is its own function because it could be called as a standalone task from the upgrade pack, but is safe to run it for each -metastore instance. +metastore instance. The schema upgrade on an already upgraded metastore is a NOOP. The metastore schema upgrade requires a database driver library for most databases. During an upgrade, it's possible that the library is not present, @@ -173,28 +172,36 @@ class HiveMetastoreDefault(HiveMetastore): # present, then download it first if params.hive_jdbc_driver in params.hive_jdbc_drivers_list and params.hive_use_existing_db: target_directory = format("/usr/hdp/{version}/hive/lib") - if not os.path.exists(params.target): -# download it + + # normally, the JDBC driver would be referenced by /usr/hdp/current/.../foo.jar + # but if hdp-select is called and the restart fails, then this means that current pointer + # is now pointing to the upgraded version location; that's bad for the cp command + source_jdbc_file = format(params.target.replace("/usr/hdp/current", "/usr/hdp/{current_version}")) + + # download it if it does not exist + if not os.path.exists(source_jdbc_file): jdbc_connector() + target_directory_and_filename = os.path.join(target_directory, os.path.basename(source_jdbc_file)) + if params.sqla_db_used: target_native_libs_directory = format("{target_directory}/native/lib64") Execute(format("yes | {sudo} cp {jars_in_hive_lib} {target_directory}")) -Directory(target_native_libs_directory, - recursive=True) +Directory(target_native_libs_directory, recursive=True) Execute(format("yes | {sudo} cp {libs_in_hive_lib} {target_native_libs_directory}")) Execute(format("{sudo} chown -R {hive_user}:{user_group} {hive_lib}/*")) else: -Execute(('cp', params.target, target_directory), -path=["/bin", "/usr/bin/"], sudo = True) +# copy the JDBC driver from the older metastore location to the new location only +# if it does not already exist +if not os.path.exists(target_directory_and_filename): + Execute(('cp', source_jdbc_file, target_directory), +path=["/bin", "/usr/bin/"], sudo = True) - File(os.path.join(target_directory, os.path.basename(params.target)), -mode = 0644, - ) + File(target_directory_and_filename, mode = 0644) # build the schema tool command binary = format("/usr/hdp/{version}/hive/bin/schematool") @@ -215,5 +222,6 @@ class HiveMetastoreDefault(HiveMetastore):
ambari git commit: AMBARI-13457: RU API Enhancement: Add handsfree execution mode (jluniya)
Repository: ambari Updated Branches: refs/heads/branch-2.1 f6cc06824 -> 5af5f737a AMBARI-13457: RU API Enhancement: Add handsfree execution mode (jluniya) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/5af5f737 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/5af5f737 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/5af5f737 Branch: refs/heads/branch-2.1 Commit: 5af5f737a8da333fd978c30a5a3f57e79960824c Parents: f6cc068 Author: Jayush LuniyaAuthored: Fri Oct 16 14:53:41 2015 -0700 Committer: Jayush Luniya Committed: Fri Oct 16 14:55:53 2015 -0700 -- .../internal/UpgradeResourceProvider.java | 30 +++-- .../ambari/server/state/UpgradeContext.java | 25 +++- .../internal/UpgradeResourceProviderTest.java | 122 ++- 3 files changed, 165 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/5af5f737/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java -- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java index a31f805..27e3377 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java @@ -141,6 +141,11 @@ public class UpgradeResourceProvider extends AbstractControllerResourceProvider */ protected static final String UPGRADE_SKIP_SC_FAILURES = "Upgrade/skip_service_check_failures"; + /** + * Skip manual verification tasks for hands-free upgrade/downgrade experience. + */ + protected static final String UPGRADE_SKIP_MANUAL_VERIFICATION = "Upgrade/skip_manual_verification"; + /* * Lifted from RequestResourceProvider */ @@ -237,6 +242,7 @@ public class UpgradeResourceProvider extends AbstractControllerResourceProvider PROPERTY_IDS.add(UPGRADE_DIRECTION); PROPERTY_IDS.add(UPGRADE_SKIP_FAILURES); PROPERTY_IDS.add(UPGRADE_SKIP_SC_FAILURES); +PROPERTY_IDS.add(UPGRADE_SKIP_MANUAL_VERIFICATION); PROPERTY_IDS.add(UPGRADE_SKIP_PREREQUISITE_CHECKS); PROPERTY_IDS.add(UPGRADE_FAIL_ON_CHECK_WARNINGS); @@ -475,8 +481,6 @@ public class UpgradeResourceProvider extends AbstractControllerResourceProvider String clusterName = (String) requestMap.get(UPGRADE_CLUSTER_NAME); String version = (String) requestMap.get(UPGRADE_VERSION); String versionForUpgradePack = (String) requestMap.get(UPGRADE_FROM_VERSION); -boolean skipPrereqChecks = Boolean.parseBoolean((String) requestMap.get(UPGRADE_SKIP_PREREQUISITE_CHECKS)); -boolean failOnCheckWarnings = Boolean.parseBoolean((String) requestMap.get(UPGRADE_FAIL_ON_CHECK_WARNINGS)); /** * For the unit tests tests, there are multiple upgrade packs for the same type, so @@ -685,8 +689,14 @@ public class UpgradeResourceProvider extends AbstractControllerResourceProvider (String) requestMap.get(UPGRADE_SKIP_SC_FAILURES)); } +boolean skipManualVerification = false; +if(requestMap.containsKey(UPGRADE_SKIP_MANUAL_VERIFICATION)) { + skipManualVerification = Boolean.parseBoolean((String) requestMap.get(UPGRADE_SKIP_MANUAL_VERIFICATION)); +} + ctx.setAutoSkipComponentFailures(skipComponentFailures); ctx.setAutoSkipServiceCheckFailures(skipServiceCheckFailures); +ctx.setAutoSkipManualVerification(skipManualVerification); List groups = s_upgradeHelper.createSequence(pack, ctx); @@ -732,14 +742,10 @@ public class UpgradeResourceProvider extends AbstractControllerResourceProvider } for (UpgradeGroupHolder group : groups) { - UpgradeGroupEntity groupEntity = new UpgradeGroupEntity(); - groupEntity.setName(group.name); - groupEntity.setTitle(group.title); boolean skippable = group.skippable; boolean allowRetry = group.allowRetry; List itemEntities = new ArrayList(); - for (StageWrapper wrapper : group.items) { if (wrapper.getType() == StageWrapper.Type.SERVER_SIDE_ACTION) { // !!! each stage is guaranteed to be of one type. but because there @@ -747,6 +753,9 @@ public class UpgradeResourceProvider extends AbstractControllerResourceProvider // the same host, break them out into individual stages. for (TaskWrapper taskWrapper : wrapper.getTasks()) { for (Task task : taskWrapper.getTasks()) { + if(ctx.isManualVerificationAutoSkipped() &&
ambari git commit: AMBARI-13457: RU API Enhancement: Add handsfree execution mode (jluniya)
Repository: ambari Updated Branches: refs/heads/trunk d8d19268a -> f6ff71b8c AMBARI-13457: RU API Enhancement: Add handsfree execution mode (jluniya) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/f6ff71b8 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/f6ff71b8 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/f6ff71b8 Branch: refs/heads/trunk Commit: f6ff71b8cb4d9d2b5dc0acd98eb8d27865302cc8 Parents: d8d1926 Author: Jayush LuniyaAuthored: Fri Oct 16 14:53:41 2015 -0700 Committer: Jayush Luniya Committed: Fri Oct 16 14:53:41 2015 -0700 -- .../internal/UpgradeResourceProvider.java | 30 +++-- .../ambari/server/state/UpgradeContext.java | 25 +++- .../internal/UpgradeResourceProviderTest.java | 123 ++- 3 files changed, 165 insertions(+), 13 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/f6ff71b8/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java -- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java index 109f29b..3a52025 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java @@ -139,6 +139,11 @@ public class UpgradeResourceProvider extends AbstractControllerResourceProvider */ protected static final String UPGRADE_SKIP_SC_FAILURES = "Upgrade/skip_service_check_failures"; + /** + * Skip manual verification tasks for hands-free upgrade/downgrade experience. + */ + protected static final String UPGRADE_SKIP_MANUAL_VERIFICATION = "Upgrade/skip_manual_verification"; + /* * Lifted from RequestResourceProvider */ @@ -235,6 +240,7 @@ public class UpgradeResourceProvider extends AbstractControllerResourceProvider PROPERTY_IDS.add(UPGRADE_DIRECTION); PROPERTY_IDS.add(UPGRADE_SKIP_FAILURES); PROPERTY_IDS.add(UPGRADE_SKIP_SC_FAILURES); +PROPERTY_IDS.add(UPGRADE_SKIP_MANUAL_VERIFICATION); PROPERTY_IDS.add(UPGRADE_SKIP_PREREQUISITE_CHECKS); PROPERTY_IDS.add(UPGRADE_FAIL_ON_CHECK_WARNINGS); @@ -473,8 +479,6 @@ public class UpgradeResourceProvider extends AbstractControllerResourceProvider String clusterName = (String) requestMap.get(UPGRADE_CLUSTER_NAME); String version = (String) requestMap.get(UPGRADE_VERSION); String versionForUpgradePack = (String) requestMap.get(UPGRADE_FROM_VERSION); -boolean skipPrereqChecks = Boolean.parseBoolean((String) requestMap.get(UPGRADE_SKIP_PREREQUISITE_CHECKS)); -boolean failOnCheckWarnings = Boolean.parseBoolean((String) requestMap.get(UPGRADE_FAIL_ON_CHECK_WARNINGS)); /** * For the unit tests tests, there are multiple upgrade packs for the same type, so @@ -683,8 +687,14 @@ public class UpgradeResourceProvider extends AbstractControllerResourceProvider (String) requestMap.get(UPGRADE_SKIP_SC_FAILURES)); } +boolean skipManualVerification = false; +if(requestMap.containsKey(UPGRADE_SKIP_MANUAL_VERIFICATION)) { + skipManualVerification = Boolean.parseBoolean((String) requestMap.get(UPGRADE_SKIP_MANUAL_VERIFICATION)); +} + ctx.setAutoSkipComponentFailures(skipComponentFailures); ctx.setAutoSkipServiceCheckFailures(skipServiceCheckFailures); +ctx.setAutoSkipManualVerification(skipManualVerification); List groups = s_upgradeHelper.createSequence(pack, ctx); @@ -730,14 +740,10 @@ public class UpgradeResourceProvider extends AbstractControllerResourceProvider } for (UpgradeGroupHolder group : groups) { - UpgradeGroupEntity groupEntity = new UpgradeGroupEntity(); - groupEntity.setName(group.name); - groupEntity.setTitle(group.title); boolean skippable = group.skippable; boolean allowRetry = group.allowRetry; List itemEntities = new ArrayList(); - for (StageWrapper wrapper : group.items) { if (wrapper.getType() == StageWrapper.Type.SERVER_SIDE_ACTION) { // !!! each stage is guaranteed to be of one type. but because there @@ -745,6 +751,9 @@ public class UpgradeResourceProvider extends AbstractControllerResourceProvider // the same host, break them out into individual stages. for (TaskWrapper taskWrapper : wrapper.getTasks()) { for (Task task : taskWrapper.getTasks()) { + if(ctx.isManualVerificationAutoSkipped() &&
[2/2] ambari git commit: AMBARI-13434. Expose Alert Grace Period Setting in Agents (aonishuk)
AMBARI-13434. Expose Alert Grace Period Setting in Agents (aonishuk) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/86431d52 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/86431d52 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/86431d52 Branch: refs/heads/branch-2.1 Commit: 86431d5215a3441e8bdbadaca4d360d88ed2d3dc Parents: 119a50f Author: Andrew OnishukAuthored: Fri Oct 16 13:07:44 2015 +0300 Committer: Andrew Onishuk Committed: Fri Oct 16 13:07:44 2015 +0300 -- ambari-agent/conf/unix/ambari-agent.ini | 1 + ambari-agent/conf/windows/ambari-agent.ini | 1 + .../ambari_agent/AlertSchedulerHandler.py | 21 ++- .../src/main/python/ambari_agent/Controller.py | 4 +++- .../ambari_agent/TestAlertSchedulerHandler.py | 22 ++-- .../src/test/python/ambari_agent/TestAlerts.py | 8 +++ 6 files changed, 31 insertions(+), 26 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/86431d52/ambari-agent/conf/unix/ambari-agent.ini -- diff --git a/ambari-agent/conf/unix/ambari-agent.ini b/ambari-agent/conf/unix/ambari-agent.ini index 3b7631c..80afdb2 100644 --- a/ambari-agent/conf/unix/ambari-agent.ini +++ b/ambari-agent/conf/unix/ambari-agent.ini @@ -29,6 +29,7 @@ cache_dir=/var/lib/ambari-agent/cache tolerate_download_failures=true run_as_user=root parallel_execution=0 +alert_grace_period=5 [security] keysdir=/var/lib/ambari-agent/keys http://git-wip-us.apache.org/repos/asf/ambari/blob/86431d52/ambari-agent/conf/windows/ambari-agent.ini -- diff --git a/ambari-agent/conf/windows/ambari-agent.ini b/ambari-agent/conf/windows/ambari-agent.ini index 972e11e..1b24f25 100644 --- a/ambari-agent/conf/windows/ambari-agent.ini +++ b/ambari-agent/conf/windows/ambari-agent.ini @@ -29,6 +29,7 @@ ping_port=8670 cache_dir=cache tolerate_download_failures=true parallel_execution=0 +alert_grace_period=5 [security] keysdir=keys http://git-wip-us.apache.org/repos/asf/ambari/blob/86431d52/ambari-agent/src/main/python/ambari_agent/AlertSchedulerHandler.py -- diff --git a/ambari-agent/src/main/python/ambari_agent/AlertSchedulerHandler.py b/ambari-agent/src/main/python/ambari_agent/AlertSchedulerHandler.py index cddee57..d3aab87 100644 --- a/ambari-agent/src/main/python/ambari_agent/AlertSchedulerHandler.py +++ b/ambari-agent/src/main/python/ambari_agent/AlertSchedulerHandler.py @@ -43,14 +43,8 @@ class AlertSchedulerHandler(): TYPE_SCRIPT = 'SCRIPT' TYPE_WEB = 'WEB' - APS_CONFIG = { -'threadpool.core_threads': 3, -'coalesce': True, -'standalone': False - } - def __init__(self, cachedir, stacks_dir, common_services_dir, host_scripts_dir, - cluster_configuration, config, in_minutes=True): + alert_grace_period, cluster_configuration, config, in_minutes=True): self.cachedir = cachedir self.stacks_dir = stacks_dir @@ -65,8 +59,15 @@ class AlertSchedulerHandler(): except: logger.critical("[AlertScheduler] Could not create the cache directory {0}".format(cachedir)) +self.APS_CONFIG = { + 'apscheduler.threadpool.core_threads': 3, + 'apscheduler.coalesce': True, + 'apscheduler.standalone': False, + 'apscheduler.misfire_grace_time': alert_grace_period +} + self._collector = AlertCollector() -self.__scheduler = Scheduler(AlertSchedulerHandler.APS_CONFIG) +self.__scheduler = Scheduler(self.APS_CONFIG) self.__in_minutes = in_minutes self.config = config @@ -122,7 +123,7 @@ class AlertSchedulerHandler(): if self.__scheduler.running: self.__scheduler.shutdown(wait=False) - self.__scheduler = Scheduler(AlertSchedulerHandler.APS_CONFIG) + self.__scheduler = Scheduler(self.APS_CONFIG) alert_callables = self.__load_definitions() @@ -139,7 +140,7 @@ class AlertSchedulerHandler(): def stop(self): if not self.__scheduler is None: self.__scheduler.shutdown(wait=False) - self.__scheduler = Scheduler(AlertSchedulerHandler.APS_CONFIG) + self.__scheduler = Scheduler(self.APS_CONFIG) logger.info("[AlertScheduler] Stopped the alert scheduler.") http://git-wip-us.apache.org/repos/asf/ambari/blob/86431d52/ambari-agent/src/main/python/ambari_agent/Controller.py -- diff --git a/ambari-agent/src/main/python/ambari_agent/Controller.py b/ambari-agent/src/main/python/ambari_agent/Controller.py index 74a8eac..4ba5c45 100644 ---
ambari git commit: AMBARI-13447 Redirect to Admin View after navigating to Install Wizard. (atkach)
Repository: ambari Updated Branches: refs/heads/trunk 1076ec760 -> c402daed9 AMBARI-13447 Redirect to Admin View after navigating to Install Wizard. (atkach) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/c402daed Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/c402daed Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/c402daed Branch: refs/heads/trunk Commit: c402daed925c8b1f6085cca154fa737567b377ba Parents: 1076ec7 Author: Andrii TkachAuthored: Fri Oct 16 13:42:09 2015 +0300 Committer: Andrii Tkach Committed: Fri Oct 16 13:42:09 2015 +0300 -- ambari-web/app/router.js | 116 +++--- ambari-web/test/router_test.js | 238 2 files changed, 310 insertions(+), 44 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/c402daed/ambari-web/app/router.js -- diff --git a/ambari-web/app/router.js b/ambari-web/app/router.js index 462ae66..934d434 100644 --- a/ambari-web/app/router.js +++ b/ambari-web/app/router.js @@ -313,57 +313,81 @@ App.Router = Em.Router.extend({ }, + /** + * success callback of login request + * @param {object} clustersData + * @param {object} opt + * @param {object} params + */ loginGetClustersSuccessCallback: function (clustersData, opt, params) { -var loginController = this.get('loginController'); -var loginData = params.loginData; -var privileges = loginData.privileges || []; +var privileges = params.loginData.privileges || []; var router = this; -var permissionList = privileges.mapProperty('PrivilegeInfo.permission_name'); - var isAdmin = permissionList.contains('AMBARI.ADMIN'); - var transitionToApp = false; - if (isAdmin) { -App.set('isAdmin', true); -if (clustersData.items.length) { - router.setClusterInstalled(clustersData); - transitionToApp = true; -} else { - App.ajax.send({ -name: 'ambari.service.load_server_version', -sender: this, -success: 'adminViewInfoSuccessCallback' - }); -} +var isAdmin = privileges.mapProperty('PrivilegeInfo.permission_name').contains('AMBARI.ADMIN'); + +App.set('isAdmin', isAdmin); + +if (clustersData.items.length) { + var clusterPermissions = privileges. +filterProperty('PrivilegeInfo.cluster_name', clustersData.items[0].Clusters.cluster_name). +mapProperty('PrivilegeInfo.permission_name'); + + //cluster installed + router.setClusterInstalled(clustersData); + if (clusterPermissions.contains('CLUSTER.OPERATE')) { +App.setProperties({ + isAdmin: true, + isOperator: true +}); + } + if (isAdmin || clusterPermissions.contains('CLUSTER.READ') || clusterPermissions.contains('CLUSTER.OPERATE')) { +router.transitionToApp(); } else { -if (clustersData.items.length) { - router.setClusterInstalled(clustersData); - //TODO: Iterate over clusters - var clusterName = clustersData.items[0].Clusters.cluster_name; - var clusterPermissions = privileges.filterProperty('PrivilegeInfo.cluster_name', clusterName).mapProperty('PrivilegeInfo.permission_name'); - if (clusterPermissions.contains('CLUSTER.OPERATE')) { -App.setProperties({ - isAdmin: true, - isOperator: true -}); -transitionToApp = true; - } else if (clusterPermissions.contains('CLUSTER.READ')) { -transitionToApp = true; - } -} +router.transitionToViews(); } - App.set('isPermissionDataLoaded', true); - if (transitionToApp) { -if (!router.restorePreferedPath()) { - router.getSection(function (route) { -router.transitionTo(route); -loginController.postLogin(true, true); - }); -} +} else { + if (isAdmin) { +router.transitionToAdminView(); } else { -App.router.get('mainViewsController').loadAmbariViews(); -router.transitionTo('main.views.index'); -loginController.postLogin(true,true); +router.transitionToViews(); } +} +App.set('isPermissionDataLoaded', true); +App.router.get('userSettingsController').dataLoading(); }, + + /** + * redirect user to Admin View + * @returns {$.ajax} + */ + transitionToAdminView: function() { +return App.ajax.send({ + name: 'ambari.service.load_server_version', + sender: this, + success: 'adminViewInfoSuccessCallback', + error: 'adminViewInfoErrorCallback' +}); +
ambari git commit: AMBARI-13447 Redirect to Admin View after navigating to Install Wizard. (atkach)
Repository: ambari Updated Branches: refs/heads/branch-2.1 86431d521 -> b404e04c8 AMBARI-13447 Redirect to Admin View after navigating to Install Wizard. (atkach) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/b404e04c Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/b404e04c Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/b404e04c Branch: refs/heads/branch-2.1 Commit: b404e04c89b45c31644786b34ec5924fe4401c14 Parents: 86431d5 Author: Andrii TkachAuthored: Fri Oct 16 12:49:09 2015 +0300 Committer: Andrii Tkach Committed: Fri Oct 16 13:38:38 2015 +0300 -- ambari-web/app/router.js | 116 +++--- ambari-web/test/router_test.js | 238 2 files changed, 310 insertions(+), 44 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/b404e04c/ambari-web/app/router.js -- diff --git a/ambari-web/app/router.js b/ambari-web/app/router.js index f6ffc41..f3bcbfe 100644 --- a/ambari-web/app/router.js +++ b/ambari-web/app/router.js @@ -313,57 +313,81 @@ App.Router = Em.Router.extend({ }, + /** + * success callback of login request + * @param {object} clustersData + * @param {object} opt + * @param {object} params + */ loginGetClustersSuccessCallback: function (clustersData, opt, params) { -var loginController = this.get('loginController'); -var loginData = params.loginData; -var privileges = loginData.privileges || []; +var privileges = params.loginData.privileges || []; var router = this; -var permissionList = privileges.mapProperty('PrivilegeInfo.permission_name'); - var isAdmin = permissionList.contains('AMBARI.ADMIN'); - var transitionToApp = false; - if (isAdmin) { -App.set('isAdmin', true); -if (clustersData.items.length) { - router.setClusterInstalled(clustersData); - transitionToApp = true; -} else { - App.ajax.send({ -name: 'ambari.service.load_server_version', -sender: this, -success: 'adminViewInfoSuccessCallback' - }); -} +var isAdmin = privileges.mapProperty('PrivilegeInfo.permission_name').contains('AMBARI.ADMIN'); + +App.set('isAdmin', isAdmin); + +if (clustersData.items.length) { + var clusterPermissions = privileges. +filterProperty('PrivilegeInfo.cluster_name', clustersData.items[0].Clusters.cluster_name). +mapProperty('PrivilegeInfo.permission_name'); + + //cluster installed + router.setClusterInstalled(clustersData); + if (clusterPermissions.contains('CLUSTER.OPERATE')) { +App.setProperties({ + isAdmin: true, + isOperator: true +}); + } + if (isAdmin || clusterPermissions.contains('CLUSTER.READ') || clusterPermissions.contains('CLUSTER.OPERATE')) { +router.transitionToApp(); } else { -if (clustersData.items.length) { - router.setClusterInstalled(clustersData); - //TODO: Iterate over clusters - var clusterName = clustersData.items[0].Clusters.cluster_name; - var clusterPermissions = privileges.filterProperty('PrivilegeInfo.cluster_name', clusterName).mapProperty('PrivilegeInfo.permission_name'); - if (clusterPermissions.contains('CLUSTER.OPERATE')) { -App.setProperties({ - isAdmin: true, - isOperator: true -}); -transitionToApp = true; - } else if (clusterPermissions.contains('CLUSTER.READ')) { -transitionToApp = true; - } -} +router.transitionToViews(); } - App.set('isPermissionDataLoaded', true); - if (transitionToApp) { -if (!router.restorePreferedPath()) { - router.getSection(function (route) { -router.transitionTo(route); -loginController.postLogin(true, true); - }); -} +} else { + if (isAdmin) { +router.transitionToAdminView(); } else { -App.router.get('mainViewsController').loadAmbariViews(); -router.transitionTo('main.views.index'); -loginController.postLogin(true,true); +router.transitionToViews(); } +} +App.set('isPermissionDataLoaded', true); +App.router.get('userSettingsController').dataLoading(); }, + + /** + * redirect user to Admin View + * @returns {$.ajax} + */ + transitionToAdminView: function() { +return App.ajax.send({ + name: 'ambari.service.load_server_version', + sender: this, + success: 'adminViewInfoSuccessCallback', + error: 'adminViewInfoErrorCallback'
[1/2] ambari git commit: AMBARI-13449. FE changes for persisting/updating/removing KDC admin credentials.
Repository: ambari Updated Branches: refs/heads/trunk a509510ee -> 1076ec760 AMBARI-13449. FE changes for persisting/updating/removing KDC admin credentials. Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/1076ec76 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/1076ec76 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/1076ec76 Branch: refs/heads/trunk Commit: 1076ec760bdafae4de876e66e39acad4f26c0b7e Parents: 4a95428 Author: Alex AntonenkoAuthored: Fri Oct 16 13:13:53 2015 +0300 Committer: Alex Antonenko Committed: Fri Oct 16 13:38:21 2015 +0300 -- ambari-web/app/assets/test/tests.js | 1 + .../app/controllers/main/admin/kerberos.js | 5 + .../main/admin/kerberos/wizard_controller.js| 10 +- ambari-web/app/messages.js | 3 + .../common/kdc_credentials_controller_mixin.js | 5 +- ambari-web/app/styles/common.less | 8 +- .../common/form/manage_credentilas_form.hbs | 58 + .../app/templates/main/admin/kerberos.hbs | 3 + ambari-web/app/utils/ajax/ajax.js | 2 +- ambari-web/app/utils/credentials.js | 47 - ambari-web/app/views.js | 2 + .../common/form/manage_credentials_form_view.js | 209 +++ .../common/modal_popups/invalid_KDC_popup.js| 2 +- .../manage_kdc_credentials_popup.js | 58 + .../form/manage_kdc_credentials_form_test.js| 138 15 files changed, 535 insertions(+), 16 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/1076ec76/ambari-web/app/assets/test/tests.js -- diff --git a/ambari-web/app/assets/test/tests.js b/ambari-web/app/assets/test/tests.js index 5b5f588..b59f91f 100644 --- a/ambari-web/app/assets/test/tests.js +++ b/ambari-web/app/assets/test/tests.js @@ -273,6 +273,7 @@ var files = [ 'test/views/common/controls_view_test', 'test/views/common/configs/widgets/time_interval_spinner_view_test', 'test/views/common/form/spinner_input_view_test', + 'test/views/common/form/manage_kdc_credentials_form_test', 'test/views/wizard/step3/hostLogPopupBody_view_test', 'test/views/wizard/step3/hostWarningPopupBody_view_test', 'test/views/wizard/step3/hostWarningPopupFooter_view_test', http://git-wip-us.apache.org/repos/asf/ambari/blob/1076ec76/ambari-web/app/controllers/main/admin/kerberos.js -- diff --git a/ambari-web/app/controllers/main/admin/kerberos.js b/ambari-web/app/controllers/main/admin/kerberos.js index ca2f0dc..d339f63 100644 --- a/ambari-web/app/controllers/main/admin/kerberos.js +++ b/ambari-web/app/controllers/main/admin/kerberos.js @@ -582,5 +582,10 @@ App.MainAdminKerberosController = App.KerberosWizardStep4Controller.extend({ dfd.reject(); }, Em.I18n.t('common.warning'), Em.I18n.t('common.proceedAnyway')); } + }, + + showManageKDCCredentialsPopup: function() { +return App.showManageCredentialsPopup(); } + }); http://git-wip-us.apache.org/repos/asf/ambari/blob/1076ec76/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js -- diff --git a/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js b/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js index 6209f29..e0e146a 100644 --- a/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js +++ b/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js @@ -263,10 +263,14 @@ App.KerberosWizardController = App.WizardController.extend(App.InstallComponent, callback: function() { var self = this; var dfd = $.Deferred(); - credentialsUtils.isStorePersisted(App.get('clusterName')).then(function(isPersisted) { -self.set('content.secureStoragePersisted', isPersisted); + if (App.get('supports.storeKDCCredentials')) { + credentialsUtils.isStorePersisted(App.get('clusterName')).then(function(isPersisted) { + self.set('content.secureStoragePersisted', isPersisted); + dfd.resolve(); +}); + } else { dfd.resolve(); - }); + } return dfd.promise(); } } http://git-wip-us.apache.org/repos/asf/ambari/blob/1076ec76/ambari-web/app/messages.js -- diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js index 6437ee9..5df161b 100644 --- a/ambari-web/app/messages.js +++ b/ambari-web/app/messages.js @@
[1/2] ambari git commit: AMBARI-13434. Expose Alert Grace Period Setting in Agents (aonishuk)
Repository: ambari Updated Branches: refs/heads/branch-2.1 119a50fcf -> 86431d521 refs/heads/trunk 082db1cc2 -> a509510ee AMBARI-13434. Expose Alert Grace Period Setting in Agents (aonishuk) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/a509510e Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/a509510e Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/a509510e Branch: refs/heads/trunk Commit: a509510ee7fca526178afbed93847112b510b59d Parents: 082db1c Author: Andrew OnishukAuthored: Fri Oct 16 13:07:42 2015 +0300 Committer: Andrew Onishuk Committed: Fri Oct 16 13:07:42 2015 +0300 -- ambari-agent/conf/unix/ambari-agent.ini | 1 + ambari-agent/conf/windows/ambari-agent.ini | 1 + .../ambari_agent/AlertSchedulerHandler.py | 21 ++- .../src/main/python/ambari_agent/Controller.py | 4 +++- .../ambari_agent/TestAlertSchedulerHandler.py | 22 ++-- .../src/test/python/ambari_agent/TestAlerts.py | 8 +++ 6 files changed, 31 insertions(+), 26 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/a509510e/ambari-agent/conf/unix/ambari-agent.ini -- diff --git a/ambari-agent/conf/unix/ambari-agent.ini b/ambari-agent/conf/unix/ambari-agent.ini index 3b7631c..80afdb2 100644 --- a/ambari-agent/conf/unix/ambari-agent.ini +++ b/ambari-agent/conf/unix/ambari-agent.ini @@ -29,6 +29,7 @@ cache_dir=/var/lib/ambari-agent/cache tolerate_download_failures=true run_as_user=root parallel_execution=0 +alert_grace_period=5 [security] keysdir=/var/lib/ambari-agent/keys http://git-wip-us.apache.org/repos/asf/ambari/blob/a509510e/ambari-agent/conf/windows/ambari-agent.ini -- diff --git a/ambari-agent/conf/windows/ambari-agent.ini b/ambari-agent/conf/windows/ambari-agent.ini index 972e11e..1b24f25 100644 --- a/ambari-agent/conf/windows/ambari-agent.ini +++ b/ambari-agent/conf/windows/ambari-agent.ini @@ -29,6 +29,7 @@ ping_port=8670 cache_dir=cache tolerate_download_failures=true parallel_execution=0 +alert_grace_period=5 [security] keysdir=keys http://git-wip-us.apache.org/repos/asf/ambari/blob/a509510e/ambari-agent/src/main/python/ambari_agent/AlertSchedulerHandler.py -- diff --git a/ambari-agent/src/main/python/ambari_agent/AlertSchedulerHandler.py b/ambari-agent/src/main/python/ambari_agent/AlertSchedulerHandler.py index cddee57..d3aab87 100644 --- a/ambari-agent/src/main/python/ambari_agent/AlertSchedulerHandler.py +++ b/ambari-agent/src/main/python/ambari_agent/AlertSchedulerHandler.py @@ -43,14 +43,8 @@ class AlertSchedulerHandler(): TYPE_SCRIPT = 'SCRIPT' TYPE_WEB = 'WEB' - APS_CONFIG = { -'threadpool.core_threads': 3, -'coalesce': True, -'standalone': False - } - def __init__(self, cachedir, stacks_dir, common_services_dir, host_scripts_dir, - cluster_configuration, config, in_minutes=True): + alert_grace_period, cluster_configuration, config, in_minutes=True): self.cachedir = cachedir self.stacks_dir = stacks_dir @@ -65,8 +59,15 @@ class AlertSchedulerHandler(): except: logger.critical("[AlertScheduler] Could not create the cache directory {0}".format(cachedir)) +self.APS_CONFIG = { + 'apscheduler.threadpool.core_threads': 3, + 'apscheduler.coalesce': True, + 'apscheduler.standalone': False, + 'apscheduler.misfire_grace_time': alert_grace_period +} + self._collector = AlertCollector() -self.__scheduler = Scheduler(AlertSchedulerHandler.APS_CONFIG) +self.__scheduler = Scheduler(self.APS_CONFIG) self.__in_minutes = in_minutes self.config = config @@ -122,7 +123,7 @@ class AlertSchedulerHandler(): if self.__scheduler.running: self.__scheduler.shutdown(wait=False) - self.__scheduler = Scheduler(AlertSchedulerHandler.APS_CONFIG) + self.__scheduler = Scheduler(self.APS_CONFIG) alert_callables = self.__load_definitions() @@ -139,7 +140,7 @@ class AlertSchedulerHandler(): def stop(self): if not self.__scheduler is None: self.__scheduler.shutdown(wait=False) - self.__scheduler = Scheduler(AlertSchedulerHandler.APS_CONFIG) + self.__scheduler = Scheduler(self.APS_CONFIG) logger.info("[AlertScheduler] Stopped the alert scheduler.") http://git-wip-us.apache.org/repos/asf/ambari/blob/a509510e/ambari-agent/src/main/python/ambari_agent/Controller.py -- diff --git
[1/2] ambari git commit: AMBARI-13449. FE changes for persisting/updating/removing KDC admin credentials.
Repository: ambari Updated Branches: refs/heads/branch-2.1 b404e04c8 -> 70d72f1c8 AMBARI-13449. FE changes for persisting/updating/removing KDC admin credentials. Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/70d72f1c Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/70d72f1c Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/70d72f1c Branch: refs/heads/branch-2.1 Commit: 70d72f1c8d581ac6c69440d81bb0f122bb07865e Parents: c1436d0 Author: Alex AntonenkoAuthored: Fri Oct 16 13:13:53 2015 +0300 Committer: Alex Antonenko Committed: Fri Oct 16 13:40:31 2015 +0300 -- ambari-web/app/assets/test/tests.js | 1 + .../app/controllers/main/admin/kerberos.js | 5 + .../main/admin/kerberos/wizard_controller.js| 10 +- ambari-web/app/messages.js | 3 + .../common/kdc_credentials_controller_mixin.js | 5 +- ambari-web/app/styles/common.less | 8 +- .../common/form/manage_credentilas_form.hbs | 58 + .../app/templates/main/admin/kerberos.hbs | 3 + ambari-web/app/utils/ajax/ajax.js | 2 +- ambari-web/app/utils/credentials.js | 47 - ambari-web/app/views.js | 2 + .../common/form/manage_credentials_form_view.js | 209 +++ .../common/modal_popups/invalid_KDC_popup.js| 2 +- .../manage_kdc_credentials_popup.js | 58 + .../form/manage_kdc_credentials_form_test.js| 138 15 files changed, 535 insertions(+), 16 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/70d72f1c/ambari-web/app/assets/test/tests.js -- diff --git a/ambari-web/app/assets/test/tests.js b/ambari-web/app/assets/test/tests.js index dfb9c91..9eee1fc 100644 --- a/ambari-web/app/assets/test/tests.js +++ b/ambari-web/app/assets/test/tests.js @@ -272,6 +272,7 @@ var files = ['test/init_model_test', 'test/views/common/controls_view_test', 'test/views/common/configs/widgets/time_interval_spinner_view_test', 'test/views/common/form/spinner_input_view_test', + 'test/views/common/form/manage_kdc_credentials_form_test', 'test/views/wizard/step3/hostLogPopupBody_view_test', 'test/views/wizard/step3/hostWarningPopupBody_view_test', 'test/views/wizard/step3/hostWarningPopupFooter_view_test', http://git-wip-us.apache.org/repos/asf/ambari/blob/70d72f1c/ambari-web/app/controllers/main/admin/kerberos.js -- diff --git a/ambari-web/app/controllers/main/admin/kerberos.js b/ambari-web/app/controllers/main/admin/kerberos.js index 52ba513..95d6d50 100644 --- a/ambari-web/app/controllers/main/admin/kerberos.js +++ b/ambari-web/app/controllers/main/admin/kerberos.js @@ -582,5 +582,10 @@ App.MainAdminKerberosController = App.KerberosWizardStep4Controller.extend({ dfd.reject(); }, Em.I18n.t('common.warning'), Em.I18n.t('common.proceedAnyway')); } + }, + + showManageKDCCredentialsPopup: function() { +return App.showManageCredentialsPopup(); } + }); http://git-wip-us.apache.org/repos/asf/ambari/blob/70d72f1c/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js -- diff --git a/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js b/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js index faae674..2f15221 100644 --- a/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js +++ b/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js @@ -258,10 +258,14 @@ App.KerberosWizardController = App.WizardController.extend(App.InstallComponent, callback: function() { var self = this; var dfd = $.Deferred(); - credentialsUtils.isStorePersisted(App.get('clusterName')).then(function(isPersisted) { -self.set('content.secureStoragePersisted', isPersisted); + if (App.get('supports.storeKDCCredentials')) { + credentialsUtils.isStorePersisted(App.get('clusterName')).then(function(isPersisted) { + self.set('content.secureStoragePersisted', isPersisted); + dfd.resolve(); +}); + } else { dfd.resolve(); - }); + } return dfd.promise(); } } http://git-wip-us.apache.org/repos/asf/ambari/blob/70d72f1c/ambari-web/app/messages.js -- diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js index c059930..0d0ff4e 100644 --- a/ambari-web/app/messages.js +++
[2/2] ambari git commit: AMBARI-13448. CSV export: downloaded data does not reflect what's shown in the chart
AMBARI-13448. CSV export: downloaded data does not reflect what's shown in the chart Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/c1436d0f Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/c1436d0f Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/c1436d0f Branch: refs/heads/branch-2.1 Commit: c1436d0f37bcf1bc75d5a2bc1085a77cccef3b94 Parents: b404e04 Author: Alex AntonenkoAuthored: Fri Oct 16 13:08:00 2015 +0300 Committer: Alex Antonenko Committed: Fri Oct 16 13:40:31 2015 +0300 -- .../views/common/widget/graph_widget_view.js| 2 +- .../common/widget/graph_widget_view_test.js | 112 +++ 2 files changed, 113 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/c1436d0f/ambari-web/app/views/common/widget/graph_widget_view.js -- diff --git a/ambari-web/app/views/common/widget/graph_widget_view.js b/ambari-web/app/views/common/widget/graph_widget_view.js index fb8e754..1ed20d2 100644 --- a/ambari-web/app/views/common/widget/graph_widget_view.js +++ b/ambari-web/app/views/common/widget/graph_widget_view.js @@ -313,7 +313,7 @@ App.GraphWidgetView = Em.View.extend(App.WidgetMixin, App.ExportMetricsMixin, { isCSV = !!event.context, fileType = isCSV ? 'csv' : 'json', fileName = 'data.' + fileType, - metrics = this.get('content.metrics'), + metrics = this.get('data'), hasData = Em.isArray(metrics) && metrics.some(function (item) { return Em.isArray(item.data); }); http://git-wip-us.apache.org/repos/asf/ambari/blob/c1436d0f/ambari-web/test/views/common/widget/graph_widget_view_test.js -- diff --git a/ambari-web/test/views/common/widget/graph_widget_view_test.js b/ambari-web/test/views/common/widget/graph_widget_view_test.js index deccce5..7215128 100644 --- a/ambari-web/test/views/common/widget/graph_widget_view_test.js +++ b/ambari-web/test/views/common/widget/graph_widget_view_test.js @@ -18,6 +18,7 @@ var App = require('app'); require('views/common/widget/graph_widget_view'); +var fileUtils = require('utils/file_utils'); describe('App.GraphWidgetView', function () { var view = App.GraphWidgetView.create(); @@ -126,4 +127,115 @@ describe('App.GraphWidgetView', function () { }); }); + describe('#exportGraphData', function () { + +var cases = [ + { +data: null, +prepareCSVCallCount: 0, +prepareJSONCallCount: 0, +downloadTextFileCallCount: 0, +showAlertPopupCallCount: 1, +title: 'no data' + }, + { +data: {}, +prepareCSVCallCount: 0, +prepareJSONCallCount: 0, +downloadTextFileCallCount: 0, +showAlertPopupCallCount: 1, +title: 'invalid data' + }, + { +data: [ + { +data: null + } +], +prepareCSVCallCount: 0, +prepareJSONCallCount: 0, +downloadTextFileCallCount: 0, +showAlertPopupCallCount: 1, +title: 'empty data' + }, + { +data: [ + { +data: {} + } +], +prepareCSVCallCount: 0, +prepareJSONCallCount: 0, +downloadTextFileCallCount: 0, +showAlertPopupCallCount: 1, +title: 'malformed data' + }, + { +data: [ + { +data: [ + { +key: 'value' + } +] + } +], +prepareCSVCallCount: 0, +prepareJSONCallCount: 1, +downloadTextFileCallCount: 1, +showAlertPopupCallCount: 0, +title: 'JSON export' + }, + { +data: [ + { +data: [ + { +key: 'value' + } +] + } +], +event: { + context: true +}, +prepareCSVCallCount: 1, +prepareJSONCallCount: 0, +downloadTextFileCallCount: 1, +showAlertPopupCallCount: 0, +title: 'CSV export' + } +]; + +beforeEach(function () { + sinon.stub(view, 'prepareCSV').returns([]); + sinon.stub(view, 'prepareJSON').returns([]); + sinon.stub(fileUtils, 'downloadTextFile', Em.K); + sinon.stub(App, 'showAlertPopup', Em.K); +}); + +afterEach(function () { + view.prepareCSV.restore(); + view.prepareJSON.restore(); + fileUtils.downloadTextFile.restore(); + App.showAlertPopup.restore(); +}); + +cases.forEach(function (item) { + it(item.title, function () { +view.set('data', item.data); +
[1/2] ambari git commit: AMBARI-13451. Timezone select list needs to be user friendly (onechiporenko)
Repository: ambari Updated Branches: refs/heads/branch-2.1 cbec44688 -> d1361f716 http://git-wip-us.apache.org/repos/asf/ambari/blob/d1361f71/ambari-web/vendor/scripts/moment-timezone-with-data-2010-2020.js -- diff --git a/ambari-web/vendor/scripts/moment-timezone-with-data-2010-2020.js b/ambari-web/vendor/scripts/moment-timezone-with-data-2010-2020.js index cbfdf1b..5d4a1d1 100644 --- a/ambari-web/vendor/scripts/moment-timezone-with-data-2010-2020.js +++ b/ambari-web/vendor/scripts/moment-timezone-with-data-2010-2020.js @@ -433,49 +433,30 @@ "Africa/Ceuta|CET CEST|-10 -20|01010101010101010101010|1BWp0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00", "Africa/Johannesburg|SAST|-20|0|", "Africa/Tripoli|EET CET CEST|-20 -10 -20|0120|1IlA0 TA0 1o00", - "Africa/Windhoek|WAST WAT|-20 -10|01010101010101010101010|1C1c0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0", "America/Adak|HST HDT|a0 90|01010101010101010101010|1BR00 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0", "America/Anchorage|AKST AKDT|90 80|01010101010101010101010|1BQX0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0", "America/Anguilla|AST|40|0|", - "America/Araguaina|BRT BRST|30 20|010|1IdD0 Lz0", "America/Argentina/Buenos_Aires|ART|30|0|", - "America/Asuncion|PYST PYT|30 40|01010101010101010101010|1C430 1a10 1fz0 1a10 1fz0 1cN0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0", "America/Atikokan|EST|50|0|", - "America/Bahia|BRT BRST|30 20|010|1FJf0 Rb0", - "America/Bahia_Banderas|MST CDT CST|70 50 60|01212121212121212121212|1C1l0 1nW0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0", - "America/Belem|BRT|30|0|", "America/Belize|CST|60|0|", "America/Boa_Vista|AMT|40|0|", "America/Bogota|COT|50|0|", "America/Boise|MST MDT|70 60|01010101010101010101010|1BQV0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0", - "America/Campo_Grande|AMST AMT|30 40|01010101010101010101010|1BIr0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1C10 Lz0 1C10 Lz0 1C10", "America/Cancun|CST CDT EST|60 50 50|010101010102|1C1k0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 Dd0", "America/Caracas|VET|4u|0|", - "America/Cayenne|GFT|30|0|", "America/Chicago|CST CDT|60 50|01010101010101010101010|1BQU0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0", "America/Chihuahua|MST MDT|70 60|01010101010101010101010|1C1l0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0", "America/Creston|MST|70|0|", "America/Dawson|PST PDT|80 70|01010101010101010101010|1BQW0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0", "America/Detroit|EST EDT|50 40|01010101010101010101010|1BQT0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0", - "America/Eirunepe|AMT ACT|40 50|01|1KLE0", - "America/Glace_Bay|AST ADT|40 30|01010101010101010101010|1BQS0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0", "America/Godthab|WGT WGST|30 20|01010101010101010101010|1BWp0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00", - "America/Goose_Bay|AST ADT|40 30|01010101010101010101010|1BQQ1 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0", - "America/Grand_Turk|EST EDT AST|50 40 40|0101010101012|1BQT0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0", - "America/Guayaquil|ECT|50|0|", - "America/Guyana|GYT|40|0|", "America/Havana|CST CDT|50 40|01010101010101010101010|1BQR0 1wo0 U00 1zc0 U00 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0", - "America/La_Paz|BOT|40|0|",
[2/2] ambari git commit: AMBARI-13451. Timezone select list needs to be user friendly (onechiporenko)
AMBARI-13451. Timezone select list needs to be user friendly (onechiporenko) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/34082a5a Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/34082a5a Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/34082a5a Branch: refs/heads/trunk Commit: 34082a5a7aa90f4c937b46c133629b26aba5e909 Parents: 2fbbadf Author: Oleg NechiporenkoAuthored: Fri Oct 16 15:51:44 2015 +0300 Committer: Oleg Nechiporenko Committed: Fri Oct 16 15:51:44 2015 +0300 -- ambari-web/app/assets/test/tests.js | 3 +- .../global/user_settings_controller.js | 166 +- .../charts/heatmap_metrics/heatmap_metric.js| 4 +- .../app/mappers/service_metrics_mapper.js | 4 +- .../app/models/alerts/alert_definition.js | 2 +- ambari-web/app/models/alerts/alert_instance.js | 2 +- .../models/configs/service_config_version.js| 2 +- ambari-web/app/templates/common/settings.hbs| 4 +- ambari-web/app/utils/data_manipulation.js | 2 +- ambari-web/app/utils/date.js| 242 --- ambari-web/app/utils/date/date.js | 215 + ambari-web/app/utils/date/timezone.js | 226 ++ ambari-web/app/utils/helper.js | 4 +- ambari-web/app/utils/host_progress_popup.js | 2 +- .../app/views/common/chart/linear_time.js | 2 +- .../app/views/main/alert_definitions_view.js| 2 +- ambari-web/app/views/main/alerts.js | 2 +- .../views/main/charts/heatmap/heatmap_host.js | 4 +- .../main/dashboard/widgets/links_widget.js | 2 +- .../widgets/resource_manager_uptime.js | 2 +- .../views/main/dashboard/widgets/text_widget.js | 2 +- .../dashboard/widgets/uptime_text_widget.js | 2 +- ambari-web/app/views/main/host.js | 2 +- ambari-web/app/views/main/host/configs.js | 2 +- ambari-web/app/views/main/host/details.js | 2 +- .../app/views/main/service/services/flume.js| 2 +- .../app/views/main/service/services/hbase.js| 2 +- .../app/views/main/service/services/hdfs.js | 2 +- .../app/views/main/service/services/storm.js| 2 +- .../app/views/main/service/services/yarn.js | 2 +- .../views/wizard/step9/hostLogPopupBody_view.js | 4 +- ambari-web/app/views/wizard/step9_view.js | 2 +- .../heatmap_metrics/heatmap_metric_test.js | 2 +- ambari-web/test/utils/date/date_test.js | 185 ambari-web/test/utils/date/timezone_test.js | 175 +++ ambari-web/test/utils/date_test.js | 185 .../test/views/common/chart/linear_time_test.js | 2 +- .../moment-timezone-with-data-2010-2020.js | 299 +-- 38 files changed, 911 insertions(+), 855 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/34082a5a/ambari-web/app/assets/test/tests.js -- diff --git a/ambari-web/app/assets/test/tests.js b/ambari-web/app/assets/test/tests.js index b59f91f..f79658c 100644 --- a/ambari-web/app/assets/test/tests.js +++ b/ambari-web/app/assets/test/tests.js @@ -163,7 +163,8 @@ var files = [ 'test/utils/batch_scheduled_requests_test', 'test/utils/blueprint_test', 'test/utils/config_test', - 'test/utils/date_test', + 'test/utils/date/date_test', + 'test/utils/date/timezone_test', 'test/utils/data_manipulation_test', 'test/utils/config_test', 'test/utils/form_field_test', http://git-wip-us.apache.org/repos/asf/ambari/blob/34082a5a/ambari-web/app/controllers/global/user_settings_controller.js -- diff --git a/ambari-web/app/controllers/global/user_settings_controller.js b/ambari-web/app/controllers/global/user_settings_controller.js index ef53d81..4ad7786 100644 --- a/ambari-web/app/controllers/global/user_settings_controller.js +++ b/ambari-web/app/controllers/global/user_settings_controller.js @@ -18,7 +18,7 @@ var App = require('app'); -var dateUtils = require('utils/date'); +var timezoneUtils = require('utils/date/timezone'); /** * Controller for user settings @@ -49,47 +49,11 @@ App.UserSettingsController = Em.Controller.extend(App.UserPref, { }, timezone: { name: prefix + 'timezone-' + loginName, -defaultValue: dateUtils.detectUserTimezone() +defaultValue: timezoneUtils.detectUserTimezone() } }; }.property('App.router.loginName'), - init: function () { -this.set('timezonesFormatted', this._parseTimezones()); -this._super(); - }, - - /** - * - * @private - * @method
[1/2] ambari git commit: AMBARI-13452. RegionServer Upgrade verification is not case sensitive (aonishuk)
Repository: ambari Updated Branches: refs/heads/branch-2.1 d1361f716 -> 66251218c refs/heads/trunk 34082a5a7 -> 8bb2b14fb AMBARI-13452. RegionServer Upgrade verification is not case sensitive (aonishuk) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/8bb2b14f Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/8bb2b14f Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/8bb2b14f Branch: refs/heads/trunk Commit: 8bb2b14fb3ac7d80031d618767e3b43972ad0f0f Parents: 34082a5 Author: Andrew OnishukAuthored: Fri Oct 16 16:01:05 2015 +0300 Committer: Andrew Onishuk Committed: Fri Oct 16 16:01:05 2015 +0300 -- .../common-services/HBASE/0.96.0.2.0/package/scripts/upgrade.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/8bb2b14f/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/upgrade.py -- diff --git a/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/upgrade.py b/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/upgrade.py index 44bf958..a9ccede 100644 --- a/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/upgrade.py +++ b/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/upgrade.py @@ -40,8 +40,7 @@ def post_regionserver(env): check_cmd = "echo 'status \"simple\"' | {0} shell".format(params.hbase_cmd) exec_cmd = "{0} {1}".format(params.kinit_cmd, check_cmd) - call_and_match(exec_cmd, params.hbase_user, params.hostname.lower() + ":") - + call_and_match(exec_cmd, params.hbase_user, params.hostname + ":") @retry(times=15, sleep_time=2, err_class=Fail) def call_and_match(cmd, user, regex):
ambari git commit: AMBARI-13446 Subsection tab having visible invalid property should show error count next to subsection tab label. (ababiichuk)
Repository: ambari Updated Branches: refs/heads/branch-2.1 70d72f1c8 -> cbec44688 AMBARI-13446 Subsection tab having visible invalid property should show error count next to subsection tab label. (ababiichuk) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/cbec4468 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/cbec4468 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/cbec4468 Branch: refs/heads/branch-2.1 Commit: cbec44688f7af9f8582acb13203237a931dd1bb7 Parents: 70d72f1 Author: aBabiichukAuthored: Fri Oct 16 11:54:32 2015 +0300 Committer: aBabiichuk Committed: Fri Oct 16 14:36:04 2015 +0300 -- .../app/templates/common/configs/service_config_layout_tab.hbs| 3 +++ 1 file changed, 3 insertions(+) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/cbec4468/ambari-web/app/templates/common/configs/service_config_layout_tab.hbs -- diff --git a/ambari-web/app/templates/common/configs/service_config_layout_tab.hbs b/ambari-web/app/templates/common/configs/service_config_layout_tab.hbs index c1bb92b..4c9dccf 100644 --- a/ambari-web/app/templates/common/configs/service_config_layout_tab.hbs +++ b/ambari-web/app/templates/common/configs/service_config_layout_tab.hbs @@ -53,6 +53,9 @@ {{subSectionTab.displayName}} + {{#if subSectionTab.errorsCount}} +{{subSectionTab.errorsCount}} + {{/if}} {{/each}}
[2/2] ambari git commit: AMBARI-13452. RegionServer Upgrade verification is not case sensitive (aonishuk)
AMBARI-13452. RegionServer Upgrade verification is not case sensitive (aonishuk) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/66251218 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/66251218 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/66251218 Branch: refs/heads/branch-2.1 Commit: 66251218c7fcbcde3cbef781f5cfebeec8f8ba32 Parents: d1361f7 Author: Andrew OnishukAuthored: Fri Oct 16 16:01:12 2015 +0300 Committer: Andrew Onishuk Committed: Fri Oct 16 16:01:12 2015 +0300 -- .../common-services/HBASE/0.96.0.2.0/package/scripts/upgrade.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/66251218/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/upgrade.py -- diff --git a/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/upgrade.py b/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/upgrade.py index 44bf958..a9ccede 100644 --- a/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/upgrade.py +++ b/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/upgrade.py @@ -40,8 +40,7 @@ def post_regionserver(env): check_cmd = "echo 'status \"simple\"' | {0} shell".format(params.hbase_cmd) exec_cmd = "{0} {1}".format(params.kinit_cmd, check_cmd) - call_and_match(exec_cmd, params.hbase_user, params.hostname.lower() + ":") - + call_and_match(exec_cmd, params.hbase_user, params.hostname + ":") @retry(times=15, sleep_time=2, err_class=Fail) def call_and_match(cmd, user, regex):
ambari git commit: AMBARI-13446 Subsection tab having visible invalid property should show error count next to subsection tab label. (ababiichuk)
Repository: ambari Updated Branches: refs/heads/trunk c402daed9 -> 2fbbadf85 AMBARI-13446 Subsection tab having visible invalid property should show error count next to subsection tab label. (ababiichuk) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/2fbbadf8 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/2fbbadf8 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/2fbbadf8 Branch: refs/heads/trunk Commit: 2fbbadf85d86004b0df97747cbf3f46e7a904a2e Parents: c402dae Author: aBabiichukAuthored: Fri Oct 16 11:54:32 2015 +0300 Committer: aBabiichuk Committed: Fri Oct 16 14:36:48 2015 +0300 -- .../app/templates/common/configs/service_config_layout_tab.hbs| 3 +++ 1 file changed, 3 insertions(+) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/2fbbadf8/ambari-web/app/templates/common/configs/service_config_layout_tab.hbs -- diff --git a/ambari-web/app/templates/common/configs/service_config_layout_tab.hbs b/ambari-web/app/templates/common/configs/service_config_layout_tab.hbs index c1bb92b..4c9dccf 100644 --- a/ambari-web/app/templates/common/configs/service_config_layout_tab.hbs +++ b/ambari-web/app/templates/common/configs/service_config_layout_tab.hbs @@ -53,6 +53,9 @@ {{subSectionTab.displayName}} + {{#if subSectionTab.errorsCount}} +{{subSectionTab.errorsCount}} + {{/if}} {{/each}}
[1/2] ambari git commit: AMBARI-13451. Timezone select list needs to be user friendly (onechiporenko)
Repository: ambari Updated Branches: refs/heads/trunk 2fbbadf85 -> 34082a5a7 http://git-wip-us.apache.org/repos/asf/ambari/blob/34082a5a/ambari-web/vendor/scripts/moment-timezone-with-data-2010-2020.js -- diff --git a/ambari-web/vendor/scripts/moment-timezone-with-data-2010-2020.js b/ambari-web/vendor/scripts/moment-timezone-with-data-2010-2020.js index cbfdf1b..5d4a1d1 100644 --- a/ambari-web/vendor/scripts/moment-timezone-with-data-2010-2020.js +++ b/ambari-web/vendor/scripts/moment-timezone-with-data-2010-2020.js @@ -433,49 +433,30 @@ "Africa/Ceuta|CET CEST|-10 -20|01010101010101010101010|1BWp0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00", "Africa/Johannesburg|SAST|-20|0|", "Africa/Tripoli|EET CET CEST|-20 -10 -20|0120|1IlA0 TA0 1o00", - "Africa/Windhoek|WAST WAT|-20 -10|01010101010101010101010|1C1c0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0", "America/Adak|HST HDT|a0 90|01010101010101010101010|1BR00 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0", "America/Anchorage|AKST AKDT|90 80|01010101010101010101010|1BQX0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0", "America/Anguilla|AST|40|0|", - "America/Araguaina|BRT BRST|30 20|010|1IdD0 Lz0", "America/Argentina/Buenos_Aires|ART|30|0|", - "America/Asuncion|PYST PYT|30 40|01010101010101010101010|1C430 1a10 1fz0 1a10 1fz0 1cN0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0", "America/Atikokan|EST|50|0|", - "America/Bahia|BRT BRST|30 20|010|1FJf0 Rb0", - "America/Bahia_Banderas|MST CDT CST|70 50 60|01212121212121212121212|1C1l0 1nW0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0", - "America/Belem|BRT|30|0|", "America/Belize|CST|60|0|", "America/Boa_Vista|AMT|40|0|", "America/Bogota|COT|50|0|", "America/Boise|MST MDT|70 60|01010101010101010101010|1BQV0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0", - "America/Campo_Grande|AMST AMT|30 40|01010101010101010101010|1BIr0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1C10 Lz0 1C10 Lz0 1C10", "America/Cancun|CST CDT EST|60 50 50|010101010102|1C1k0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 Dd0", "America/Caracas|VET|4u|0|", - "America/Cayenne|GFT|30|0|", "America/Chicago|CST CDT|60 50|01010101010101010101010|1BQU0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0", "America/Chihuahua|MST MDT|70 60|01010101010101010101010|1C1l0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0", "America/Creston|MST|70|0|", "America/Dawson|PST PDT|80 70|01010101010101010101010|1BQW0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0", "America/Detroit|EST EDT|50 40|01010101010101010101010|1BQT0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0", - "America/Eirunepe|AMT ACT|40 50|01|1KLE0", - "America/Glace_Bay|AST ADT|40 30|01010101010101010101010|1BQS0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0", "America/Godthab|WGT WGST|30 20|01010101010101010101010|1BWp0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00", - "America/Goose_Bay|AST ADT|40 30|01010101010101010101010|1BQQ1 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0", - "America/Grand_Turk|EST EDT AST|50 40 40|0101010101012|1BQT0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0", - "America/Guayaquil|ECT|50|0|", - "America/Guyana|GYT|40|0|", "America/Havana|CST CDT|50 40|01010101010101010101010|1BQR0 1wo0 U00 1zc0 U00 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0", - "America/La_Paz|BOT|40|0|",
ambari git commit: AMBARI-13453. Fix UI unit tests for admin-view
Repository: ambari Updated Branches: refs/heads/trunk 8bb2b14fb -> 88175691e AMBARI-13453. Fix UI unit tests for admin-view Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/88175691 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/88175691 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/88175691 Branch: refs/heads/trunk Commit: 88175691e6d414ccca6d07fb33cf7412419b913d Parents: 8bb2b14 Author: Alex AntonenkoAuthored: Fri Oct 16 16:34:58 2015 +0300 Committer: Alex Antonenko Committed: Fri Oct 16 16:39:57 2015 +0300 -- .../unit/controllers/CreateViewInstanceCtrl.js | 14 +- .../test/unit/controllers/mainCtrl_test.js | 17 +++-- 2 files changed, 28 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/88175691/ambari-admin/src/main/resources/ui/admin-web/test/unit/controllers/CreateViewInstanceCtrl.js -- diff --git a/ambari-admin/src/main/resources/ui/admin-web/test/unit/controllers/CreateViewInstanceCtrl.js b/ambari-admin/src/main/resources/ui/admin-web/test/unit/controllers/CreateViewInstanceCtrl.js index cd71d11..35ddc16 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/test/unit/controllers/CreateViewInstanceCtrl.js +++ b/ambari-admin/src/main/resources/ui/admin-web/test/unit/controllers/CreateViewInstanceCtrl.js @@ -53,6 +53,7 @@ describe('#CreateViewInstanceCtrl', function () { } }; $httpBackend.flush(); +scope.instance = {}; scope.save(); expect(View.createInstance).toHaveBeenCalled(); }); @@ -63,11 +64,22 @@ describe('#CreateViewInstanceCtrl', function () { $dirty: true } }; +scope.instance = {}; scope.version = '1.0.0'; $httpBackend.expectGET('template/modal/backdrop.html'); $httpBackend.expectGET('template/modal/window.html'); +$httpBackend.whenGET(/\/api\/v1\/clusters\?_=\d+/).respond(200, { + "items" : [ +{ + "Clusters" : { +"cluster_name" : "c1", +"version" : "HDP-2.2" + } +} + ] +}); scope.$digest(); $httpBackend.flush(); chai.expect(scope.view.ViewVersionInfo.parameters[0].value).to.equal('d'); }); -}); \ No newline at end of file +}); http://git-wip-us.apache.org/repos/asf/ambari/blob/88175691/ambari-admin/src/main/resources/ui/admin-web/test/unit/controllers/mainCtrl_test.js -- diff --git a/ambari-admin/src/main/resources/ui/admin-web/test/unit/controllers/mainCtrl_test.js b/ambari-admin/src/main/resources/ui/admin-web/test/unit/controllers/mainCtrl_test.js index 0ba01a3..8d748d2 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/test/unit/controllers/mainCtrl_test.js +++ b/ambari-admin/src/main/resources/ui/admin-web/test/unit/controllers/mainCtrl_test.js @@ -39,6 +39,15 @@ describe('#Auth', function () { }); $window = _$window_; $httpBackend = _$httpBackend_; + var re = /api\/v1\/services\/AMBARI\/components\/AMBARI_SERVER.+/; + $httpBackend.whenGET(re).respond(200, { + RootServiceComponents: { +component_version: 2.2, +properties: { + 'user.inactivity.timeout.default': 20 +} + } + }); $httpBackend.whenGET(/\/api\/v1\/logout\?_=\d+/).respond(200,{message: "successfully logged out"}); $httpBackend.whenGET(/\/api\/v1\/views.+/) .respond(200,{ @@ -95,7 +104,11 @@ describe('#Auth', function () { it('should reset window.location and ambari localstorage', function () { scope.signOut(); - chai.expect($window.location.pathname).to.be.empty; + + runs(function() { +chai.expect($window.location.pathname).to.be.empty; + }); + var data = JSON.parse(localStorage.ambari); chai.expect(data.app.authenticated).to.equal(undefined); chai.expect(data.app.loginName).to.equal(undefined); @@ -110,4 +123,4 @@ describe('#Auth', function () { chai.expect(scope.viewInstances[0].instance_name).to.equal('VisibleInstance'); }); }); -}); \ No newline at end of file +});
ambari git commit: AMBARI-13455. Ambari QE Deploy Test - Kerberos service check fails (akovalenko)
Repository: ambari Updated Branches: refs/heads/trunk e89a0036a -> 2f7184af4 AMBARI-13455. Ambari QE Deploy Test - Kerberos service check fails (akovalenko) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/2f7184af Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/2f7184af Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/2f7184af Branch: refs/heads/trunk Commit: 2f7184af40599922e1e23b0150cf9c9c9d78cfc3 Parents: e89a003 Author: Aleksandr KovalenkoAuthored: Fri Oct 16 18:17:25 2015 +0300 Committer: Aleksandr Kovalenko Committed: Fri Oct 16 18:17:25 2015 +0300 -- .../app/controllers/main/admin/kerberos/wizard_controller.js | 6 ++ 1 file changed, 6 insertions(+) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/2f7184af/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js -- diff --git a/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js b/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js index e0e146a..cb7ae74 100644 --- a/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js +++ b/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js @@ -241,7 +241,13 @@ App.KerberosWizardController = App.WizardController.extend(App.InstallComponent, { type: 'sync', callback: function () { + var self = this; this.loadKerberosOption(); + if (App.get('supports.storeKDCCredentials')) { + credentialsUtils.isStorePersisted(App.get('clusterName')).then(function(isPersisted) { + self.set('content.secureStoragePersisted', isPersisted); +}); + } } } ],
ambari git commit: AMBARI-13455. Ambari QE Deploy Test - Kerberos service check fails (akovalenko)
Repository: ambari Updated Branches: refs/heads/branch-2.1 60ae0778c -> 43251da19 AMBARI-13455. Ambari QE Deploy Test - Kerberos service check fails (akovalenko) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/43251da1 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/43251da1 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/43251da1 Branch: refs/heads/branch-2.1 Commit: 43251da1998cf1c321162448f30dca1276d71cb0 Parents: 60ae077 Author: Aleksandr KovalenkoAuthored: Fri Oct 16 18:03:27 2015 +0300 Committer: Aleksandr Kovalenko Committed: Fri Oct 16 18:04:19 2015 +0300 -- .../main/admin/kerberos/wizard_controller.js| 22 ++-- 1 file changed, 6 insertions(+), 16 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/43251da1/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js -- diff --git a/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js b/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js index 2f15221..71095da 100644 --- a/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js +++ b/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js @@ -236,7 +236,13 @@ App.KerberosWizardController = App.WizardController.extend(App.InstallComponent, { type: 'sync', callback: function () { + var self = this; this.loadKerberosOption(); + if (App.get('supports.storeKDCCredentials')) { + credentialsUtils.isStorePersisted(App.get('clusterName')).then(function(isPersisted) { + self.set('content.secureStoragePersisted', isPersisted); +}); + } } } ], @@ -252,22 +258,6 @@ App.KerberosWizardController = App.WizardController.extend(App.InstallComponent, }, this); } } - }, - { -type: 'async', -callback: function() { - var self = this; - var dfd = $.Deferred(); - if (App.get('supports.storeKDCCredentials')) { - credentialsUtils.isStorePersisted(App.get('clusterName')).then(function(isPersisted) { - self.set('content.secureStoragePersisted', isPersisted); - dfd.resolve(); -}); - } else { -dfd.resolve(); - } - return dfd.promise(); -} } ], '3': [
ambari git commit: AMBARI-13427: NAMENODE START failed with both NN's being passive (jluniya)
Repository: ambari Updated Branches: refs/heads/trunk 2f7184af4 -> ce356ddc8 AMBARI-13427: NAMENODE START failed with both NN's being passive (jluniya) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/ce356ddc Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/ce356ddc Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/ce356ddc Branch: refs/heads/trunk Commit: ce356ddc8ca233737e270fec097381192bc4bcb8 Parents: 2f7184a Author: Jayush LuniyaAuthored: Fri Oct 16 08:43:13 2015 -0700 Committer: Jayush Luniya Committed: Fri Oct 16 08:43:13 2015 -0700 -- .../libraries/functions/namenode_ha_utils.py| 27 ++-- 1 file changed, 25 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/ce356ddc/ambari-common/src/main/python/resource_management/libraries/functions/namenode_ha_utils.py -- diff --git a/ambari-common/src/main/python/resource_management/libraries/functions/namenode_ha_utils.py b/ambari-common/src/main/python/resource_management/libraries/functions/namenode_ha_utils.py index 99f90b8..0920e85 100644 --- a/ambari-common/src/main/python/resource_management/libraries/functions/namenode_ha_utils.py +++ b/ambari-common/src/main/python/resource_management/libraries/functions/namenode_ha_utils.py @@ -23,6 +23,8 @@ from resource_management.libraries.functions.format import format from resource_management.libraries.functions.jmx import get_value_from_jmx from resource_management.core.base import Fail from resource_management.core import shell +from resource_management.core.logger import Logger +from resource_management.libraries.functions.decorator import retry __all__ = ["get_namenode_states", "get_active_namenode", "get_property_for_active_namenode"] @@ -32,8 +34,29 @@ HDFS_NN_STATE_STANDBY = 'standby' NAMENODE_HTTP_FRAGMENT = 'dfs.namenode.http-address.{0}.{1}' NAMENODE_HTTPS_FRAGMENT = 'dfs.namenode.https-address.{0}.{1}' JMX_URI_FRAGMENT = "{0}://{1}/jmx?qry=Hadoop:service=NameNode,name=FSNamesystem" - -def get_namenode_states(hdfs_site, security_enabled, run_user): + +def get_namenode_states(hdfs_site, security_enabled, run_user, times=10, sleep_time=1, backoff_factor=2): + """ + return format [('nn1', 'hdfs://hostname1:port1'), ('nn2', 'hdfs://hostname2:port2')] , [], [] + """ + @retry(times=times, sleep_time=sleep_time, backoff_factor=backoff_factor, err_class=Fail) + def doRetries(hdfs_site, security_enabled, run_user): +doRetries.attempt += 1 +active_namenodes, standby_namenodes, unknown_namenodes = get_namenode_states_noretries(hdfs_site, security_enabled, run_user) +Logger.info( + "NameNode HA states: active_namenodes = {0}, standby_namenodes = {1}, unknown_namenodes = {2}".format( +active_namenodes, standby_namenodes, unknown_namenodes)) +if active_namenodes: + return active_namenodes, standby_namenodes, unknown_namenodes +elif doRetries.attempt == times: + Logger.warning("No active NameNode was found after {0} retries. Will return current NameNode HA states".format(times)) + return active_namenodes, standby_namenodes, unknown_namenodes +raise Fail('No active NameNode was found.') + + doRetries.attempt = 0 + return doRetries(hdfs_site, security_enabled, run_user) + +def get_namenode_states_noretries(hdfs_site, security_enabled, run_user): """ return format [('nn1', 'hdfs://hostname1:port1'), ('nn2', 'hdfs://hostname2:port2')] , [], [] """
[1/2] ambari git commit: AMBARI-13454. Make HDP 2.0 stack inactive for Ambari 2.1.3 (aonishuk)
Repository: ambari Updated Branches: refs/heads/branch-2.1 05c000b8c -> ce74af8aa refs/heads/trunk 88175691e -> e3958e2da AMBARI-13454. Make HDP 2.0 stack inactive for Ambari 2.1.3 (aonishuk) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/e3958e2d Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/e3958e2d Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/e3958e2d Branch: refs/heads/trunk Commit: e3958e2da099f783ce637a57d752353fafd3f5b9 Parents: 8817569 Author: Andrew OnishukAuthored: Fri Oct 16 17:25:05 2015 +0300 Committer: Andrew Onishuk Committed: Fri Oct 16 17:25:05 2015 +0300 -- .../2.1.0.2.0/package/scripts/params_linux.py | 7 +- .../0.12.0.2.0/package/scripts/params_linux.py | 20 +--- .../4.0.0.2.0/package/scripts/params_linux.py | 2 +- .../2.0.6/hooks/after-INSTALL/scripts/params.py | 6 + .../2.0.6/hooks/before-ANY/scripts/params.py| 6 + .../2.0.6/hooks/before-START/scripts/params.py | 6 + .../main/resources/stacks/HDP/2.0/metainfo.xml | 2 +- .../stacks/2.0.6/HIVE/test_hcat_client.py | 8 +++ .../stacks/2.0.6/HIVE/test_hive_metastore.py| 8 +++ .../stacks/2.0.6/HIVE/test_webhcat_server.py| 24 ++-- 10 files changed, 36 insertions(+), 53 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/e3958e2d/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/params_linux.py -- diff --git a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/params_linux.py b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/params_linux.py index 38eac2e..4cbce34 100644 --- a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/params_linux.py +++ b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/params_linux.py @@ -106,12 +106,7 @@ hdfs_user_nofile_limit = default("/configurations/hadoop-env/hdfs_user_nofile_li hdfs_user_nproc_limit = default("/configurations/hadoop-env/hdfs_user_nproc_limit", "65536") create_lib_snappy_symlinks = not Script.is_hdp_stack_greater_or_equal("2.2") - -if Script.is_hdp_stack_greater_or_equal("2.0") and Script.is_hdp_stack_less_than("2.1") and not OSCheck.is_suse_family(): - # deprecated rhel jsvc_path - jsvc_path = "/usr/libexec/bigtop-utils" -else: - jsvc_path = "/usr/lib/bigtop-utils" +jsvc_path = "/usr/lib/bigtop-utils" execute_path = os.environ['PATH'] + os.pathsep + hadoop_bin_dir ulimit_cmd = "ulimit -c unlimited ; " http://git-wip-us.apache.org/repos/asf/ambari/blob/e3958e2d/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py -- diff --git a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py index e16df78..14cf1ac 100644 --- a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py +++ b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py @@ -49,7 +49,7 @@ hostname = config["hostname"] # This is expected to be of the form #.#.#.# stack_version_unformatted = str(config['hostLevelParams']['stack_version']) hdp_stack_version_major = format_hdp_stack_version(stack_version_unformatted) -stack_is_hdp21 = Script.is_hdp_stack_greater_or_equal("2.0") and Script.is_hdp_stack_less_than("2.2") +stack_is_hdp21 = Script.is_hdp_stack_less_than("2.2") # this is not available on INSTALL action because hdp-select is not available hdp_stack_version = functions.get_hdp_version('hive-server2') @@ -83,10 +83,6 @@ sqoop_tar_file = '/usr/share/HDP-webhcat/sqoop*.tar.gz' hive_specific_configs_supported = False hive_etc_dir_prefix = "/etc/hive" limits_conf_dir = "/etc/security/limits.d" -hcat_conf_dir = '/etc/hcatalog/conf' -config_dir = '/etc/hcatalog/conf' -hcat_lib = '/usr/lib/hcatalog/share/hcatalog' -webhcat_bin_dir = '/usr/lib/hcatalog/sbin' hive_user_nofile_limit = default("/configurations/hive-env/hive_user_nofile_limit", "32000") hive_user_nproc_limit = default("/configurations/hive-env/hive_user_nproc_limit", "16000") @@ -101,11 +97,10 @@ hive_config_dir = status_params.hive_config_dir hive_client_conf_dir = status_params.hive_client_conf_dir hive_server_conf_dir = status_params.hive_server_conf_dir -if Script.is_hdp_stack_greater_or_equal("2.1"): - hcat_conf_dir = '/etc/hive-hcatalog/conf' - config_dir =
[1/2] ambari git commit: AMBARI-13452. RegionServer Upgrade verification is not case sensitive (aonishuk)
Repository: ambari Updated Branches: refs/heads/branch-2.1 ce74af8aa -> 60ae0778c refs/heads/trunk e3958e2da -> e89a0036a AMBARI-13452. RegionServer Upgrade verification is not case sensitive (aonishuk) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/e89a0036 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/e89a0036 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/e89a0036 Branch: refs/heads/trunk Commit: e89a0036a4155e40ee53c3efa6b77defcbd2aece Parents: e3958e2 Author: Andrew OnishukAuthored: Fri Oct 16 17:59:01 2015 +0300 Committer: Andrew Onishuk Committed: Fri Oct 16 17:59:01 2015 +0300 -- .../HBASE/0.96.0.2.0/package/scripts/upgrade.py| 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/e89a0036/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/upgrade.py -- diff --git a/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/upgrade.py b/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/upgrade.py index a9ccede..00040fa 100644 --- a/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/upgrade.py +++ b/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/upgrade.py @@ -40,12 +40,12 @@ def post_regionserver(env): check_cmd = "echo 'status \"simple\"' | {0} shell".format(params.hbase_cmd) exec_cmd = "{0} {1}".format(params.kinit_cmd, check_cmd) - call_and_match(exec_cmd, params.hbase_user, params.hostname + ":") + call_and_match(exec_cmd, params.hbase_user, params.hostname + ":", re.IGNORECASE) @retry(times=15, sleep_time=2, err_class=Fail) -def call_and_match(cmd, user, regex): +def call_and_match(cmd, user, regex, regex_search_flags): code, out = shell.call(cmd, user=user) - if not (out and re.search(regex, out)): + if not (out and re.search(regex, out, regex_search_flags)): raise Fail("Could not verify RS available")
[2/2] ambari git commit: AMBARI-13452. RegionServer Upgrade verification is not case sensitive (aonishuk)
AMBARI-13452. RegionServer Upgrade verification is not case sensitive (aonishuk) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/60ae0778 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/60ae0778 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/60ae0778 Branch: refs/heads/branch-2.1 Commit: 60ae0778c6e165a3b4ecc23f76f66c20893e3b59 Parents: ce74af8 Author: Andrew OnishukAuthored: Fri Oct 16 17:59:03 2015 +0300 Committer: Andrew Onishuk Committed: Fri Oct 16 17:59:03 2015 +0300 -- .../HBASE/0.96.0.2.0/package/scripts/upgrade.py| 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/60ae0778/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/upgrade.py -- diff --git a/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/upgrade.py b/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/upgrade.py index a9ccede..00040fa 100644 --- a/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/upgrade.py +++ b/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/upgrade.py @@ -40,12 +40,12 @@ def post_regionserver(env): check_cmd = "echo 'status \"simple\"' | {0} shell".format(params.hbase_cmd) exec_cmd = "{0} {1}".format(params.kinit_cmd, check_cmd) - call_and_match(exec_cmd, params.hbase_user, params.hostname + ":") + call_and_match(exec_cmd, params.hbase_user, params.hostname + ":", re.IGNORECASE) @retry(times=15, sleep_time=2, err_class=Fail) -def call_and_match(cmd, user, regex): +def call_and_match(cmd, user, regex, regex_search_flags): code, out = shell.call(cmd, user=user) - if not (out and re.search(regex, out)): + if not (out and re.search(regex, out, regex_search_flags)): raise Fail("Could not verify RS available")
ambari git commit: AMBARI-13427: NAMENODE START failed with both NN's being passive (jluniya)
Repository: ambari Updated Branches: refs/heads/branch-2.1 43251da19 -> e0c8707bd AMBARI-13427: NAMENODE START failed with both NN's being passive (jluniya) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/e0c8707b Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/e0c8707b Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/e0c8707b Branch: refs/heads/branch-2.1 Commit: e0c8707bd16ea26e487e0136dc84e6c8b817f015 Parents: 43251da Author: Jayush LuniyaAuthored: Fri Oct 16 08:43:13 2015 -0700 Committer: Jayush Luniya Committed: Fri Oct 16 08:44:55 2015 -0700 -- .../libraries/functions/namenode_ha_utils.py| 27 ++-- 1 file changed, 25 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/e0c8707b/ambari-common/src/main/python/resource_management/libraries/functions/namenode_ha_utils.py -- diff --git a/ambari-common/src/main/python/resource_management/libraries/functions/namenode_ha_utils.py b/ambari-common/src/main/python/resource_management/libraries/functions/namenode_ha_utils.py index 99f90b8..0920e85 100644 --- a/ambari-common/src/main/python/resource_management/libraries/functions/namenode_ha_utils.py +++ b/ambari-common/src/main/python/resource_management/libraries/functions/namenode_ha_utils.py @@ -23,6 +23,8 @@ from resource_management.libraries.functions.format import format from resource_management.libraries.functions.jmx import get_value_from_jmx from resource_management.core.base import Fail from resource_management.core import shell +from resource_management.core.logger import Logger +from resource_management.libraries.functions.decorator import retry __all__ = ["get_namenode_states", "get_active_namenode", "get_property_for_active_namenode"] @@ -32,8 +34,29 @@ HDFS_NN_STATE_STANDBY = 'standby' NAMENODE_HTTP_FRAGMENT = 'dfs.namenode.http-address.{0}.{1}' NAMENODE_HTTPS_FRAGMENT = 'dfs.namenode.https-address.{0}.{1}' JMX_URI_FRAGMENT = "{0}://{1}/jmx?qry=Hadoop:service=NameNode,name=FSNamesystem" - -def get_namenode_states(hdfs_site, security_enabled, run_user): + +def get_namenode_states(hdfs_site, security_enabled, run_user, times=10, sleep_time=1, backoff_factor=2): + """ + return format [('nn1', 'hdfs://hostname1:port1'), ('nn2', 'hdfs://hostname2:port2')] , [], [] + """ + @retry(times=times, sleep_time=sleep_time, backoff_factor=backoff_factor, err_class=Fail) + def doRetries(hdfs_site, security_enabled, run_user): +doRetries.attempt += 1 +active_namenodes, standby_namenodes, unknown_namenodes = get_namenode_states_noretries(hdfs_site, security_enabled, run_user) +Logger.info( + "NameNode HA states: active_namenodes = {0}, standby_namenodes = {1}, unknown_namenodes = {2}".format( +active_namenodes, standby_namenodes, unknown_namenodes)) +if active_namenodes: + return active_namenodes, standby_namenodes, unknown_namenodes +elif doRetries.attempt == times: + Logger.warning("No active NameNode was found after {0} retries. Will return current NameNode HA states".format(times)) + return active_namenodes, standby_namenodes, unknown_namenodes +raise Fail('No active NameNode was found.') + + doRetries.attempt = 0 + return doRetries(hdfs_site, security_enabled, run_user) + +def get_namenode_states_noretries(hdfs_site, security_enabled, run_user): """ return format [('nn1', 'hdfs://hostname1:port1'), ('nn2', 'hdfs://hostname2:port2')] , [], [] """
ambari git commit: AMBARI-13444. Add a constant poller for admin web (rzang)
Repository: ambari Updated Branches: refs/heads/branch-2.1 5af5f737a -> ca9584d78 AMBARI-13444. Add a constant poller for admin web (rzang) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/ca9584d7 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/ca9584d7 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/ca9584d7 Branch: refs/heads/branch-2.1 Commit: ca9584d783963db93fe677e0a1b6e934352c6a22 Parents: 5af5f73 Author: Richard ZangAuthored: Fri Oct 16 15:22:30 2015 -0700 Committer: Richard Zang Committed: Fri Oct 16 15:23:52 2015 -0700 -- .../ui/admin-web/app/scripts/controllers/mainCtrl.js | 8 1 file changed, 8 insertions(+) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/ca9584d7/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/mainCtrl.js -- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/mainCtrl.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/mainCtrl.js index e16d1dc..2c9e1c9 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/mainCtrl.js +++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/mainCtrl.js @@ -118,11 +118,19 @@ angular.module('ambariAdminConsole') $rootScope.userActivityTimeoutInterval = window.setInterval(checkActiveness, 1000); }; + // Send noop requests every 10 seconds just to keep backend session alive + $scope.startNoopPolling = function() { +$rootScope.noopPollingInterval = setInterval(Cluster.getAmbariTimeout, 1); + }; + if (!$rootScope.userActivityTimeoutInterval) { Cluster.getAmbariTimeout().then(function(timeout) { if (Number(timeout) > 0) $scope.startInactiveTimeoutMonitoring(timeout * 1000); }); } + if (!$rootScope.noopPollingInterval) { +$scope.startNoopPolling(); + } $scope.updateInstances(); }]);
ambari git commit: AMBARI-13444. Add a constant poller for admin web (rzang)
Repository: ambari Updated Branches: refs/heads/trunk f6ff71b8c -> c9085317b AMBARI-13444. Add a constant poller for admin web (rzang) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/c9085317 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/c9085317 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/c9085317 Branch: refs/heads/trunk Commit: c9085317bd65c100741a5655c59188df329128cc Parents: f6ff71b Author: Richard ZangAuthored: Fri Oct 16 15:22:30 2015 -0700 Committer: Richard Zang Committed: Fri Oct 16 15:22:30 2015 -0700 -- .../ui/admin-web/app/scripts/controllers/mainCtrl.js | 8 1 file changed, 8 insertions(+) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/c9085317/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/mainCtrl.js -- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/mainCtrl.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/mainCtrl.js index e16d1dc..2c9e1c9 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/mainCtrl.js +++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/mainCtrl.js @@ -118,11 +118,19 @@ angular.module('ambariAdminConsole') $rootScope.userActivityTimeoutInterval = window.setInterval(checkActiveness, 1000); }; + // Send noop requests every 10 seconds just to keep backend session alive + $scope.startNoopPolling = function() { +$rootScope.noopPollingInterval = setInterval(Cluster.getAmbariTimeout, 1); + }; + if (!$rootScope.userActivityTimeoutInterval) { Cluster.getAmbariTimeout().then(function(timeout) { if (Number(timeout) > 0) $scope.startInactiveTimeoutMonitoring(timeout * 1000); }); } + if (!$rootScope.noopPollingInterval) { +$scope.startNoopPolling(); + } $scope.updateInstances(); }]);
ambari git commit: Revert "AMBARI-13427: NAMENODE START failed with both NN's being passive (jluniya)"
Repository: ambari Updated Branches: refs/heads/branch-2.1 e0c8707bd -> 61bf60bb7 Revert "AMBARI-13427: NAMENODE START failed with both NN's being passive (jluniya)" This reverts commit e0c8707bd16ea26e487e0136dc84e6c8b817f015. Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/61bf60bb Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/61bf60bb Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/61bf60bb Branch: refs/heads/branch-2.1 Commit: 61bf60bb7b78479af98964f42cc47a0f9142704f Parents: e0c8707 Author: Jayush LuniyaAuthored: Fri Oct 16 09:28:09 2015 -0700 Committer: Jayush Luniya Committed: Fri Oct 16 09:28:09 2015 -0700 -- .../libraries/functions/namenode_ha_utils.py| 27 ++-- 1 file changed, 2 insertions(+), 25 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/61bf60bb/ambari-common/src/main/python/resource_management/libraries/functions/namenode_ha_utils.py -- diff --git a/ambari-common/src/main/python/resource_management/libraries/functions/namenode_ha_utils.py b/ambari-common/src/main/python/resource_management/libraries/functions/namenode_ha_utils.py index 0920e85..99f90b8 100644 --- a/ambari-common/src/main/python/resource_management/libraries/functions/namenode_ha_utils.py +++ b/ambari-common/src/main/python/resource_management/libraries/functions/namenode_ha_utils.py @@ -23,8 +23,6 @@ from resource_management.libraries.functions.format import format from resource_management.libraries.functions.jmx import get_value_from_jmx from resource_management.core.base import Fail from resource_management.core import shell -from resource_management.core.logger import Logger -from resource_management.libraries.functions.decorator import retry __all__ = ["get_namenode_states", "get_active_namenode", "get_property_for_active_namenode"] @@ -34,29 +32,8 @@ HDFS_NN_STATE_STANDBY = 'standby' NAMENODE_HTTP_FRAGMENT = 'dfs.namenode.http-address.{0}.{1}' NAMENODE_HTTPS_FRAGMENT = 'dfs.namenode.https-address.{0}.{1}' JMX_URI_FRAGMENT = "{0}://{1}/jmx?qry=Hadoop:service=NameNode,name=FSNamesystem" - -def get_namenode_states(hdfs_site, security_enabled, run_user, times=10, sleep_time=1, backoff_factor=2): - """ - return format [('nn1', 'hdfs://hostname1:port1'), ('nn2', 'hdfs://hostname2:port2')] , [], [] - """ - @retry(times=times, sleep_time=sleep_time, backoff_factor=backoff_factor, err_class=Fail) - def doRetries(hdfs_site, security_enabled, run_user): -doRetries.attempt += 1 -active_namenodes, standby_namenodes, unknown_namenodes = get_namenode_states_noretries(hdfs_site, security_enabled, run_user) -Logger.info( - "NameNode HA states: active_namenodes = {0}, standby_namenodes = {1}, unknown_namenodes = {2}".format( -active_namenodes, standby_namenodes, unknown_namenodes)) -if active_namenodes: - return active_namenodes, standby_namenodes, unknown_namenodes -elif doRetries.attempt == times: - Logger.warning("No active NameNode was found after {0} retries. Will return current NameNode HA states".format(times)) - return active_namenodes, standby_namenodes, unknown_namenodes -raise Fail('No active NameNode was found.') - - doRetries.attempt = 0 - return doRetries(hdfs_site, security_enabled, run_user) - -def get_namenode_states_noretries(hdfs_site, security_enabled, run_user): + +def get_namenode_states(hdfs_site, security_enabled, run_user): """ return format [('nn1', 'hdfs://hostname1:port1'), ('nn2', 'hdfs://hostname2:port2')] , [], [] """
ambari git commit: Revert "AMBARI-13427: NAMENODE START failed with both NN's being passive (jluniya)"
Repository: ambari Updated Branches: refs/heads/trunk ce356ddc8 -> dec7c8eed Revert "AMBARI-13427: NAMENODE START failed with both NN's being passive (jluniya)" This reverts commit ce356ddc8ca233737e270fec097381192bc4bcb8. Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/dec7c8ee Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/dec7c8ee Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/dec7c8ee Branch: refs/heads/trunk Commit: dec7c8eed63393e8fbc5e3114695eb6b43b6c25e Parents: ce356dd Author: Jayush LuniyaAuthored: Fri Oct 16 09:26:20 2015 -0700 Committer: Jayush Luniya Committed: Fri Oct 16 09:26:20 2015 -0700 -- .../libraries/functions/namenode_ha_utils.py| 27 ++-- 1 file changed, 2 insertions(+), 25 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/dec7c8ee/ambari-common/src/main/python/resource_management/libraries/functions/namenode_ha_utils.py -- diff --git a/ambari-common/src/main/python/resource_management/libraries/functions/namenode_ha_utils.py b/ambari-common/src/main/python/resource_management/libraries/functions/namenode_ha_utils.py index 0920e85..99f90b8 100644 --- a/ambari-common/src/main/python/resource_management/libraries/functions/namenode_ha_utils.py +++ b/ambari-common/src/main/python/resource_management/libraries/functions/namenode_ha_utils.py @@ -23,8 +23,6 @@ from resource_management.libraries.functions.format import format from resource_management.libraries.functions.jmx import get_value_from_jmx from resource_management.core.base import Fail from resource_management.core import shell -from resource_management.core.logger import Logger -from resource_management.libraries.functions.decorator import retry __all__ = ["get_namenode_states", "get_active_namenode", "get_property_for_active_namenode"] @@ -34,29 +32,8 @@ HDFS_NN_STATE_STANDBY = 'standby' NAMENODE_HTTP_FRAGMENT = 'dfs.namenode.http-address.{0}.{1}' NAMENODE_HTTPS_FRAGMENT = 'dfs.namenode.https-address.{0}.{1}' JMX_URI_FRAGMENT = "{0}://{1}/jmx?qry=Hadoop:service=NameNode,name=FSNamesystem" - -def get_namenode_states(hdfs_site, security_enabled, run_user, times=10, sleep_time=1, backoff_factor=2): - """ - return format [('nn1', 'hdfs://hostname1:port1'), ('nn2', 'hdfs://hostname2:port2')] , [], [] - """ - @retry(times=times, sleep_time=sleep_time, backoff_factor=backoff_factor, err_class=Fail) - def doRetries(hdfs_site, security_enabled, run_user): -doRetries.attempt += 1 -active_namenodes, standby_namenodes, unknown_namenodes = get_namenode_states_noretries(hdfs_site, security_enabled, run_user) -Logger.info( - "NameNode HA states: active_namenodes = {0}, standby_namenodes = {1}, unknown_namenodes = {2}".format( -active_namenodes, standby_namenodes, unknown_namenodes)) -if active_namenodes: - return active_namenodes, standby_namenodes, unknown_namenodes -elif doRetries.attempt == times: - Logger.warning("No active NameNode was found after {0} retries. Will return current NameNode HA states".format(times)) - return active_namenodes, standby_namenodes, unknown_namenodes -raise Fail('No active NameNode was found.') - - doRetries.attempt = 0 - return doRetries(hdfs_site, security_enabled, run_user) - -def get_namenode_states_noretries(hdfs_site, security_enabled, run_user): + +def get_namenode_states(hdfs_site, security_enabled, run_user): """ return format [('nn1', 'hdfs://hostname1:port1'), ('nn2', 'hdfs://hostname2:port2')] , [], [] """