Repository: ambari Updated Branches: refs/heads/trunk 0b641b8d7 -> 88acfa0c9
AMBARI-5404. Fix UI Unit tests. (onechiporenko) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/88acfa0c Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/88acfa0c Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/88acfa0c Branch: refs/heads/trunk Commit: 88acfa0c93f494a092bbcefc768fa963a495413c Parents: 0b641b8 Author: Oleg Nechiporenko <[email protected]> Authored: Wed Apr 9 14:38:12 2014 +0300 Committer: Oleg Nechiporenko <[email protected]> Committed: Wed Apr 9 14:40:18 2014 +0300 ---------------------------------------------------------------------- ambari-web/app/app.js | 2 +- ambari-web/app/assets/test/tests.js | 15 + .../mappers/stack_service_component_mapper.js | 2 +- .../yarn_defaults_provider.js | 30 +- ambari-web/test/app_test.js | 3 +- ambari-web/test/installer/step9_test.js | 59 -- ambari-web/test/service_components.js | 682 +++++++++++++++++++ .../hive_defaults_provider_test.js | 40 +- .../tez_defaults_provider_test.js | 32 +- .../yarn_defaults_provider_test.js | 23 +- ambari-web/test/views/main/host/summary_test.js | 2 - ambari-web/test/views/wizard/step1_view_test.js | 19 +- 12 files changed, 780 insertions(+), 129 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/88acfa0c/ambari-web/app/app.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/app.js b/ambari-web/app/app.js index 628f19e..fb4476a 100644 --- a/ambari-web/app/app.js +++ b/ambari-web/app/app.js @@ -234,7 +234,7 @@ module.exports = Em.Application.create({ rollinRestartAllowed: self.StackServiceComponent.find().filterProperty('isRollinRestartAllowed',true).mapProperty('componentName'), decommissionAllowed: self.StackServiceComponent.find().filterProperty('isDecommissionAllowed',true).mapProperty('componentName'), addableToHost: self.StackServiceComponent.find().filterProperty('isAddableToHost',true).mapProperty('componentName'), - slaves: self.StackServiceComponent.find().filterProperty('isSlave',true).mapProperty('componentName'), + slaves: self.StackServiceComponent.find().filterProperty('isMaster',false).filterProperty('isClient',false).mapProperty('componentName'), masters: self.StackServiceComponent.find().filterProperty('isMaster',true).mapProperty('componentName'), clients: self.StackServiceComponent.find().filterProperty('isClient',true).mapProperty('componentName') }) http://git-wip-us.apache.org/repos/asf/ambari/blob/88acfa0c/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 f4a2ea1..478561e 100644 --- a/ambari-web/app/assets/test/tests.js +++ b/ambari-web/app/assets/test/tests.js @@ -16,6 +16,21 @@ * limitations under the License. */ +var App = require('app'); + +require('models/stack_service_component'); +require('mappers/server_data_mapper'); +require('mappers/stack_service_component_mapper'); + + var a = require('test/service_components'); + var r = Em.A([]); + a.items.forEach(function(i) { + i.serviceComponents.forEach(function(sc) { + r.pushObject(sc.StackServiceComponents); + }); + }); + App.stackServiceComponentMapper.map({items: r}); + require('test/app_test'); require('test/data/HDP2/site_properties_test'); require('test/controllers/global/background_operations_test'); http://git-wip-us.apache.org/repos/asf/ambari/blob/88acfa0c/ambari-web/app/mappers/stack_service_component_mapper.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/mappers/stack_service_component_mapper.js b/ambari-web/app/mappers/stack_service_component_mapper.js index 6b13214..86488e4 100644 --- a/ambari-web/app/mappers/stack_service_component_mapper.js +++ b/ambari-web/app/mappers/stack_service_component_mapper.js @@ -36,7 +36,7 @@ App.stackServiceComponentMapper = App.QuickDataMapper.create({ if (json.items) { var result = []; json.items.forEach(function (item) { - result.push(this.parseIt(item, this.config)); + result.push(this.parseIt(item, this.get('config'))); }, this); App.store.loadMany(model, result); } http://git-wip-us.apache.org/repos/asf/ambari/blob/88acfa0c/ambari-web/app/utils/configs/defaults_providers/yarn_defaults_provider.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/utils/configs/defaults_providers/yarn_defaults_provider.js b/ambari-web/app/utils/configs/defaults_providers/yarn_defaults_provider.js index 2c8a07e..37799df 100644 --- a/ambari-web/app/utils/configs/defaults_providers/yarn_defaults_provider.js +++ b/ambari-web/app/utils/configs/defaults_providers/yarn_defaults_provider.js @@ -22,6 +22,7 @@ App.YARNDefaultsProvider = App.DefaultsProvider.extend({ /** * List of the configs that should be calculated + * @type {Object} */ configsTemplate: { 'yarn.nodemanager.resource.memory-mb': null, @@ -38,32 +39,31 @@ App.YARNDefaultsProvider = App.DefaultsProvider.extend({ /** * Information about ram, disk count, cpu count and hbase availability - * Example: - * { - * disk: 12, - * ram: 48, - * cpu: 12, - * hBaseInstalled: false - * } + * @type {{disk: number, ram: number, cpu: number, hBaseInstalled: bool}} */ clusterData: null, /** * Reserved for system memory + * @type {number} */ reservedRam: null, /** * Reserved for HBase memory + * @type {number} */ hBaseRam: null, GB: 1024, + /** * Minimum container size (in RAM). * This value is dependent on the amount of RAM available, as in smaller memory nodes the minimum container size should also be smaller * * Value in MB! + * + * @type {number} */ recommendedMinimumContainerSize: function () { if (!this.clusterDataIsValid()) return null; @@ -80,6 +80,7 @@ App.YARNDefaultsProvider = App.DefaultsProvider.extend({ /** * Maximum number of containers allowed per node * max(3, min (2*cores,min (1.8*DISKS,(Total available RAM) / MIN_CONTAINER_SIZE)))) + * @type {number} */ containers: function () { if (!this.clusterDataIsValid()) return null; @@ -109,7 +110,7 @@ App.YARNDefaultsProvider = App.DefaultsProvider.extend({ * Amount of RAM per container. * Calculated to be max(2GB, RAM - reservedRam - hBaseRam) / containers * - * @return Memory per container in MB. If greater than 1GB, + * @return {number} Memory per container in MB. If greater than 1GB, * value will be in multiples of 512. */ ramPerContainer: function () { @@ -136,20 +137,32 @@ App.YARNDefaultsProvider = App.DefaultsProvider.extend({ return container_ram > this.get('GB') ? (Math.floor(container_ram / 512) * 512) : container_ram; }.property('containers', 'clusterData.ram', 'clusterData.hBaseInstalled', 'hBaseRam', 'reservedRam'), + /** + * Memory for Map + * @type {number} + */ mapMemory: function () { return Math.floor(this.get('ramPerContainer')); }.property('ramPerContainer'), + /** + * Memory for Reduce + * @type {number} + */ reduceMemory: function () { return this.get('ramPerContainer'); }.property('ramPerContainer'), + /** + * @type {number} + */ amMemory: function () { return Math.max(this.get('mapMemory'), this.get('reduceMemory')); }.property('mapMemory', 'reduceMemory'), /** * Reserved for HBase and system memory is based on total available memory + * @type {number} */ reservedMemoryRecommendations: function() { var table = [ @@ -290,6 +303,7 @@ App.YARNDefaultsProvider = App.DefaultsProvider.extend({ /** * Verify <code>clusterData</code> - check if all properties are defined + * @return {bool} */ clusterDataIsValid: function () { if (!this.get('clusterData')) return false; http://git-wip-us.apache.org/repos/asf/ambari/blob/88acfa0c/ambari-web/test/app_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/app_test.js b/ambari-web/test/app_test.js index b43aa0d..106f4ad 100644 --- a/ambari-web/test/app_test.js +++ b/ambari-web/test/app_test.js @@ -19,9 +19,10 @@ var App = require('app'); describe('#App', function() { + describe('Disable/enable components', function() { - var testableComponent = Ember.Object.create({ + var testableComponent = Em.Object.create({ componentName: 'APP_TIMELINE_SERVER', serviceName: 'YARN' }); http://git-wip-us.apache.org/repos/asf/ambari/blob/88acfa0c/ambari-web/test/installer/step9_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/installer/step9_test.js b/ambari-web/test/installer/step9_test.js index 32bb806..3eedfe7 100644 --- a/ambari-web/test/installer/step9_test.js +++ b/ambari-web/test/installer/step9_test.js @@ -25,65 +25,6 @@ require('controllers/wizard/step9_controller'); require('utils/helper'); describe('App.InstallerStep9Controller', function () { - var data = [ - { - id: 'DATANODE', - component_name: 'DATANODE', - service_name: 'HDFS', - is_client: false, - is_master: false, - component_category: 'SLAVE' - }, - { - id: 'TASKTRACKER', - component_name: 'TASKTRACKER', - service_name: 'MAPREDUCE', - is_client: false, - is_master: false, - component_category: 'SLAVE' - }, - { - id: 'HBASE_REGIONSERVER', - component_name: 'HBASE_REGIONSERVER', - service_name: 'HBASE', - is_client: false, - is_master: false, - component_category: 'SLAVE' - }, - { - id: 'GANGLIA_MONITOR', - component_name: 'GANGLIA_MONITOR', - service_name: 'GANGLIA', - is_client: false, - is_master: false, - component_category: 'SLAVE' - }, - { - id: 'SUPERVISOR', - component_name: 'SUPERVISOR', - service_name: 'STORM', - is_client: false, - is_master: false, - component_category: 'SLAVE' - }, - { - id: 'NAMENODE', - component_name: 'NAMENODE', - service_name: 'HDFS', - is_client: false, - is_master: true, - component_category: 'MASTER' - }, - { - id: 'HDFS_CLIENT', - component_name: 'HDFS_CLIENT', - service_name: 'HDFS', - is_client: true, - is_master: false, - component_category: 'SLAVE' - } - ]; - App.store.loadMany(App.StackServiceComponent,data); describe('#isSubmitDisabled', function () { var tests = Em.A([ http://git-wip-us.apache.org/repos/asf/ambari/blob/88acfa0c/ambari-web/test/service_components.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/service_components.js b/ambari-web/test/service_components.js new file mode 100644 index 0000000..a0e9a93 --- /dev/null +++ b/ambari-web/test/service_components.js @@ -0,0 +1,682 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +module.exports = { + "items" : [ + { + "StackServices" : { + "comments" : "Apache Hadoop Distributed Processing Framework", + "service_name" : "MAPREDUCE", + "service_version" : "1.2.0.1.3.3.0", + "stack_name" : "HDP", + "stack_version" : "1.3.2" + }, + "serviceComponents" : [ + { + "StackServiceComponents" : { + "component_category" : "MASTER", + "component_name" : "HISTORYSERVER", + "is_client" : false, + "is_master" : true, + "service_name" : "MAPREDUCE", + "stack_name" : "HDP", + "stack_version" : "1.3.2" + } + }, + { + "StackServiceComponents" : { + "component_category" : "MASTER", + "component_name" : "JOBTRACKER", + "is_client" : false, + "is_master" : true, + "service_name" : "MAPREDUCE", + "stack_name" : "HDP", + "stack_version" : "1.3.2" + } + }, + { + "StackServiceComponents" : { + "component_category" : "CLIENT", + "component_name" : "MAPREDUCE_CLIENT", + "is_client" : true, + "is_master" : false, + "service_name" : "MAPREDUCE", + "stack_name" : "HDP", + "stack_version" : "1.3.2" + } + }, + { + "StackServiceComponents" : { + "component_category" : "SLAVE", + "component_name" : "TASKTRACKER", + "is_client" : false, + "is_master" : false, + "service_name" : "MAPREDUCE", + "stack_name" : "HDP", + "stack_version" : "1.3.2" + } + } + ] + }, + { + "StackServices" : { + "comments" : "Data management and processing platform", + "service_name" : "FALCON", + "service_version" : "0.4.0.2.1.1", + "stack_name" : "HDP", + "stack_version" : "2.1" + }, + "serviceComponents" : [ + { + "StackServiceComponents" : { + "component_category" : "CLIENT", + "component_name" : "FALCON_CLIENT", + "is_client" : true, + "is_master" : false, + "service_name" : "FALCON", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + }, + { + "StackServiceComponents" : { + "component_category" : "MASTER", + "component_name" : "FALCON_SERVER", + "is_client" : false, + "is_master" : true, + "service_name" : "FALCON", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + } + ] + }, + { + "StackServices" : { + "comments" : "Ganglia Metrics Collection system", + "service_name" : "GANGLIA", + "service_version" : "3.5.0", + "stack_name" : "HDP", + "stack_version" : "2.1" + }, + "serviceComponents" : [ + { + "StackServiceComponents" : { + "component_category" : "SLAVE", + "component_name" : "GANGLIA_MONITOR", + "is_client" : false, + "is_master" : false, + "service_name" : "GANGLIA", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + }, + { + "StackServiceComponents" : { + "component_category" : "MASTER", + "component_name" : "GANGLIA_SERVER", + "is_client" : false, + "is_master" : true, + "service_name" : "GANGLIA", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + } + ] + }, + { + "StackServices" : { + "comments" : "Non-relational distributed database and centralized service for configuration management &\n synchronization\n ", + "service_name" : "HBASE", + "service_version" : "0.96.0.2.1", + "stack_name" : "HDP", + "stack_version" : "2.1" + }, + "serviceComponents" : [ + { + "StackServiceComponents" : { + "component_category" : "CLIENT", + "component_name" : "HBASE_CLIENT", + "is_client" : true, + "is_master" : false, + "service_name" : "HBASE", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + }, + { + "StackServiceComponents" : { + "component_category" : "MASTER", + "component_name" : "HBASE_MASTER", + "is_client" : false, + "is_master" : true, + "service_name" : "HBASE", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + }, + { + "StackServiceComponents" : { + "component_category" : "SLAVE", + "component_name" : "HBASE_REGIONSERVER", + "is_client" : false, + "is_master" : false, + "service_name" : "HBASE", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + } + ] + }, + { + "StackServices" : { + "comments" : "This is comment for HCATALOG service", + "service_name" : "HCATALOG", + "service_version" : "0.12.0.2.1", + "stack_name" : "HDP", + "stack_version" : "2.1" + }, + "serviceComponents" : [ + { + "StackServiceComponents" : { + "component_category" : "CLIENT", + "component_name" : "HCAT", + "is_client" : true, + "is_master" : false, + "service_name" : "HCATALOG", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + } + ] + }, + { + "StackServices" : { + "comments" : "Apache Hadoop Distributed File System", + "service_name" : "HDFS", + "service_version" : "2.1.0.2.1", + "stack_name" : "HDP", + "stack_version" : "2.1" + }, + "serviceComponents" : [ + { + "StackServiceComponents" : { + "component_category" : "SLAVE", + "component_name" : "DATANODE", + "is_client" : false, + "is_master" : false, + "service_name" : "HDFS", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + }, + { + "StackServiceComponents" : { + "component_category" : "CLIENT", + "component_name" : "HDFS_CLIENT", + "is_client" : true, + "is_master" : false, + "service_name" : "HDFS", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + }, + { + "StackServiceComponents" : { + "component_category" : "MASTER", + "component_name" : "JOURNALNODE", + "is_client" : false, + "is_master" : true, + "service_name" : "HDFS", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + }, + { + "StackServiceComponents" : { + "component_category" : "MASTER", + "component_name" : "NAMENODE", + "is_client" : false, + "is_master" : true, + "service_name" : "HDFS", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + }, + { + "StackServiceComponents" : { + "component_category" : "MASTER", + "component_name" : "SECONDARY_NAMENODE", + "is_client" : false, + "is_master" : true, + "service_name" : "HDFS", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + }, + { + "StackServiceComponents" : { + "component_category" : "SLAVE", + "component_name" : "ZKFC", + "is_client" : false, + "is_master" : false, + "service_name" : "HDFS", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + } + ] + }, + { + "StackServices" : { + "comments" : "Data warehouse system for ad-hoc queries & analysis of large datasets and table & storage management service", + "service_name" : "HIVE", + "service_version" : "0.12.0.2.1", + "stack_name" : "HDP", + "stack_version" : "2.1" + }, + "serviceComponents" : [ + { + "StackServiceComponents" : { + "component_category" : "CLIENT", + "component_name" : "HIVE_CLIENT", + "is_client" : true, + "is_master" : false, + "service_name" : "HIVE", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + }, + { + "StackServiceComponents" : { + "component_category" : "MASTER", + "component_name" : "HIVE_METASTORE", + "is_client" : false, + "is_master" : true, + "service_name" : "HIVE", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + }, + { + "StackServiceComponents" : { + "component_category" : "MASTER", + "component_name" : "HIVE_SERVER", + "is_client" : false, + "is_master" : true, + "service_name" : "HIVE", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + }, + { + "StackServiceComponents" : { + "component_category" : "MASTER", + "component_name" : "MYSQL_SERVER", + "is_client" : false, + "is_master" : true, + "service_name" : "HIVE", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + } + ] + }, + { + "StackServices" : { + "comments" : "Apache Hadoop NextGen MapReduce (YARN)", + "service_name" : "MAPREDUCE2", + "service_version" : "2.1.0.2.0.6.0", + "stack_name" : "HDP", + "stack_version" : "2.1" + }, + "serviceComponents" : [ + { + "StackServiceComponents" : { + "component_category" : "MASTER", + "component_name" : "HISTORYSERVER", + "is_client" : false, + "is_master" : true, + "service_name" : "MAPREDUCE2", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + }, + { + "StackServiceComponents" : { + "component_category" : "CLIENT", + "component_name" : "MAPREDUCE2_CLIENT", + "is_client" : true, + "is_master" : false, + "service_name" : "MAPREDUCE2", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + } + ] + }, + { + "StackServices" : { + "comments" : "Nagios Monitoring and Alerting system", + "service_name" : "NAGIOS", + "service_version" : "3.5.0", + "stack_name" : "HDP", + "stack_version" : "2.1" + }, + "serviceComponents" : [ + { + "StackServiceComponents" : { + "component_category" : "MASTER", + "component_name" : "NAGIOS_SERVER", + "is_client" : false, + "is_master" : true, + "service_name" : "NAGIOS", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + } + ] + }, + { + "StackServices" : { + "comments" : "System for workflow coordination and execution of Apache Hadoop jobs. This also includes the installation of the optional Oozie Web Console which relies on and will install the <a target=\"_blank\" href=\"http://www.sencha.com/products/extjs/license/\">ExtJS</a> Library.\n ", + "service_name" : "OOZIE", + "service_version" : "4.0.0.2.1", + "stack_name" : "HDP", + "stack_version" : "2.1" + }, + "serviceComponents" : [ + { + "StackServiceComponents" : { + "component_category" : "CLIENT", + "component_name" : "OOZIE_CLIENT", + "is_client" : true, + "is_master" : false, + "service_name" : "OOZIE", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + }, + { + "StackServiceComponents" : { + "component_category" : "MASTER", + "component_name" : "OOZIE_SERVER", + "is_client" : false, + "is_master" : true, + "service_name" : "OOZIE", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + } + ] + }, + { + "StackServices" : { + "comments" : "Scripting platform for analyzing large datasets", + "service_name" : "PIG", + "service_version" : "0.12.0.2.1", + "stack_name" : "HDP", + "stack_version" : "2.1" + }, + "serviceComponents" : [ + { + "StackServiceComponents" : { + "component_category" : "CLIENT", + "component_name" : "PIG", + "is_client" : true, + "is_master" : false, + "service_name" : "PIG", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + } + ] + }, + { + "StackServices" : { + "comments" : "Tool for transferring bulk data between Apache Hadoop and\n structured data stores such as relational databases\n ", + "service_name" : "SQOOP", + "service_version" : "1.4.4.2.1", + "stack_name" : "HDP", + "stack_version" : "2.1" + }, + "serviceComponents" : [ + { + "StackServiceComponents" : { + "component_category" : "CLIENT", + "component_name" : "SQOOP", + "is_client" : true, + "is_master" : false, + "service_name" : "SQOOP", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + } + ] + }, + { + "StackServices" : { + "comments" : "Apache Hadoop Stream processing framework", + "service_name" : "STORM", + "service_version" : "0.9.0.1", + "stack_name" : "HDP", + "stack_version" : "2.1" + }, + "serviceComponents" : [ + { + "StackServiceComponents" : { + "component_category" : "MASTER", + "component_name" : "DRPC_SERVER", + "is_client" : false, + "is_master" : true, + "service_name" : "STORM", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + }, + { + "StackServiceComponents" : { + "component_category" : "MASTER", + "component_name" : "LOGVIEWER_SERVER", + "is_client" : false, + "is_master" : true, + "service_name" : "STORM", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + }, + { + "StackServiceComponents" : { + "component_category" : "MASTER", + "component_name" : "NIMBUS", + "is_client" : false, + "is_master" : true, + "service_name" : "STORM", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + }, + { + "StackServiceComponents" : { + "component_category" : "MASTER", + "component_name" : "STORM_REST_API", + "is_client" : false, + "is_master" : true, + "service_name" : "STORM", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + }, + { + "StackServiceComponents" : { + "component_category" : "MASTER", + "component_name" : "STORM_UI_SERVER", + "is_client" : false, + "is_master" : true, + "service_name" : "STORM", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + }, + { + "StackServiceComponents" : { + "component_category" : "SLAVE", + "component_name" : "SUPERVISOR", + "is_client" : false, + "is_master" : false, + "service_name" : "STORM", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + } + ] + }, + { + "StackServices" : { + "comments" : "Tez is the next generation Hadoop Query Processing framework written on top of YARN.", + "service_name" : "TEZ", + "service_version" : "0.4.0.2.1", + "stack_name" : "HDP", + "stack_version" : "2.1" + }, + "serviceComponents" : [ + { + "StackServiceComponents" : { + "component_category" : "CLIENT", + "component_name" : "TEZ_CLIENT", + "is_client" : true, + "is_master" : false, + "service_name" : "TEZ", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + } + ] + }, + { + "StackServices" : { + "comments" : "This is comment for WEBHCAT service", + "service_name" : "WEBHCAT", + "service_version" : "0.12.0.2.1", + "stack_name" : "HDP", + "stack_version" : "2.1" + }, + "serviceComponents" : [ + { + "StackServiceComponents" : { + "component_category" : "MASTER", + "component_name" : "WEBHCAT_SERVER", + "is_client" : false, + "is_master" : true, + "service_name" : "WEBHCAT", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + } + ] + }, + { + "StackServices" : { + "comments" : "Apache Hadoop NextGen MapReduce (YARN)", + "service_name" : "YARN", + "service_version" : "2.1.0.2.1", + "stack_name" : "HDP", + "stack_version" : "2.1" + }, + "serviceComponents" : [ + { + "StackServiceComponents" : { + "component_category" : "MASTER", + "component_name" : "APP_TIMELINE_SERVER", + "is_client" : false, + "is_master" : true, + "service_name" : "YARN", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + }, + { + "StackServiceComponents" : { + "component_category" : "SLAVE", + "component_name" : "NODEMANAGER", + "is_client" : false, + "is_master" : false, + "service_name" : "YARN", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + }, + { + "StackServiceComponents" : { + "component_category" : "MASTER", + "component_name" : "RESOURCEMANAGER", + "is_client" : false, + "is_master" : true, + "service_name" : "YARN", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + }, + { + "StackServiceComponents" : { + "component_category" : "CLIENT", + "component_name" : "YARN_CLIENT", + "is_client" : true, + "is_master" : false, + "service_name" : "YARN", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + } + ] + }, + { + "StackServices" : { + "comments" : "Centralized service which provides highly reliable distributed\n coordination.", + "service_name" : "ZOOKEEPER", + "service_version" : "3.4.5.2.1", + "stack_name" : "HDP", + "stack_version" : "2.1" + }, + "serviceComponents" : [ + { + "StackServiceComponents" : { + "component_category" : "CLIENT", + "component_name" : "ZOOKEEPER_CLIENT", + "is_client" : true, + "is_master" : false, + "service_name" : "ZOOKEEPER", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + }, + { + "StackServiceComponents" : { + "component_category" : "MASTER", + "component_name" : "ZOOKEEPER_SERVER", + "is_client" : false, + "is_master" : true, + "service_name" : "ZOOKEEPER", + "stack_name" : "HDP", + "stack_version" : "2.1" + } + } + ] + } + ] +}; \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/88acfa0c/ambari-web/test/utils/configs/defaults_providers/hive_defaults_provider_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/utils/configs/defaults_providers/hive_defaults_provider_test.js b/ambari-web/test/utils/configs/defaults_providers/hive_defaults_provider_test.js index 48ef43a..ab305de 100644 --- a/ambari-web/test/utils/configs/defaults_providers/hive_defaults_provider_test.js +++ b/ambari-web/test/utils/configs/defaults_providers/hive_defaults_provider_test.js @@ -58,8 +58,8 @@ describe('HiveDefaultsProvider', function() { }, m: 'Without HBase', e: { - 'mapreduce.map.java.opts': '-Xmx1024m', - 'mapreduce.map.memory.mb': 1280, + 'mapreduce.map.java.opts': '-Xmx2048m', + 'mapreduce.map.memory.mb': 2560, 'mapreduce.reduce.java.opts': '-Xmx2048m', 'mapreduce.reduce.memory.mb': 2560, 'yarn.app.mapreduce.am.command-opts': '-Xmx2048m', @@ -67,7 +67,7 @@ describe('HiveDefaultsProvider', function() { 'yarn.nodemanager.resource.memory-mb': 20480, 'yarn.scheduler.maximum-allocation-mb': 20480, 'yarn.scheduler.minimum-allocation-mb': 2560, - 'mapreduce.task.io.sort.mb': 512, + 'mapreduce.task.io.sort.mb': 1024, 'hive.tez.container.size': 2560 } }, @@ -89,8 +89,8 @@ describe('HiveDefaultsProvider', function() { }, m: 'With HBase (low memory - pick mapreduce.reduce.memory.mb)', e: { - 'mapreduce.map.java.opts': '-Xmx410m', - 'mapreduce.map.memory.mb': 512, + 'mapreduce.map.java.opts': '-Xmx819m', + 'mapreduce.map.memory.mb': 1024, 'mapreduce.reduce.java.opts': '-Xmx819m', 'mapreduce.reduce.memory.mb': 1024, 'yarn.app.mapreduce.am.command-opts': '-Xmx819m', @@ -98,7 +98,7 @@ describe('HiveDefaultsProvider', function() { 'yarn.nodemanager.resource.memory-mb': 8192, 'yarn.scheduler.maximum-allocation-mb': 8192, 'yarn.scheduler.minimum-allocation-mb': 1024, - 'mapreduce.task.io.sort.mb': 205, + 'mapreduce.task.io.sort.mb': 410, 'hive.tez.container.size': 1024 } }, @@ -120,8 +120,8 @@ describe('HiveDefaultsProvider', function() { }, m: 'With HBase (high memory - pick mapreduce.map.memory.mb)', e: { - 'mapreduce.map.java.opts': '-Xmx3482m', - 'mapreduce.map.memory.mb': 4352, + 'mapreduce.map.java.opts': '-Xmx6963m', + 'mapreduce.map.memory.mb': 8704, 'mapreduce.reduce.java.opts': '-Xmx6963m', 'mapreduce.reduce.memory.mb': 8704, 'yarn.app.mapreduce.am.command-opts': '-Xmx6963m', @@ -130,23 +130,25 @@ describe('HiveDefaultsProvider', function() { 'yarn.scheduler.maximum-allocation-mb': 69632, 'yarn.scheduler.minimum-allocation-mb': 8704, 'mapreduce.task.io.sort.mb': 1024, - 'hive.tez.container.size': 4352 + 'hive.tez.container.size': 8704 } } ]; - var defaultsProvider = App.HiveDefaultsProvider.create(); tests.forEach(function(test) { - it(test.m, function() { + describe(test.m, function() { + var defaultsProvider = App.HiveDefaultsProvider.create(); defaultsProvider.set('clusterData', null); var configs = defaultsProvider.getDefaults(test.localDB); - for(var config in configs) { - if (test.e) { - expect(configs[config]).to.equal(test.e[config]); - } - else { - expect(configs[config] == 0 || configs[config] == null).to.equal(true); - } - } + Em.keys(configs).forEach(function(config) { + it(config, function() { + if (test.e) { + expect(configs[config]).to.equal(test.e[config]); + } + else { + expect(configs[config] == 0 || configs[config] == null).to.equal(true); + } + }) + }); }); }); }); http://git-wip-us.apache.org/repos/asf/ambari/blob/88acfa0c/ambari-web/test/utils/configs/defaults_providers/tez_defaults_provider_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/utils/configs/defaults_providers/tez_defaults_provider_test.js b/ambari-web/test/utils/configs/defaults_providers/tez_defaults_provider_test.js index baca2dd..548d19c 100644 --- a/ambari-web/test/utils/configs/defaults_providers/tez_defaults_provider_test.js +++ b/ambari-web/test/utils/configs/defaults_providers/tez_defaults_provider_test.js @@ -58,8 +58,8 @@ describe('TezDefaultsProvider', function() { }, m: 'Without HBase', e: { - 'mapreduce.map.java.opts': '-Xmx1024m', - 'mapreduce.map.memory.mb': 1280, + 'mapreduce.map.java.opts': '-Xmx2048m', + 'mapreduce.map.memory.mb': 2560, 'mapreduce.reduce.java.opts': '-Xmx2048m', 'mapreduce.reduce.memory.mb': 2560, 'yarn.app.mapreduce.am.command-opts': '-Xmx2048m', @@ -67,7 +67,7 @@ describe('TezDefaultsProvider', function() { 'yarn.nodemanager.resource.memory-mb': 20480, 'yarn.scheduler.maximum-allocation-mb': 20480, 'yarn.scheduler.minimum-allocation-mb': 2560, - 'mapreduce.task.io.sort.mb': 512, + 'mapreduce.task.io.sort.mb': 1024, 'tez.am.resource.memory.mb': 2560, 'tez.am.java.opts': '-server -Xmx2048m -Djava.net.preferIPv4Stack=true -XX:+UseNUMA -XX:+UseParallelGC' } @@ -90,8 +90,8 @@ describe('TezDefaultsProvider', function() { }, m: 'With HBase', e: { - 'mapreduce.map.java.opts': '-Xmx410m', - 'mapreduce.map.memory.mb': 512, + 'mapreduce.map.java.opts': '-Xmx819m', + 'mapreduce.map.memory.mb': 1024, 'mapreduce.reduce.java.opts': '-Xmx819m', 'mapreduce.reduce.memory.mb': 1024, 'yarn.app.mapreduce.am.command-opts': '-Xmx819m', @@ -99,24 +99,26 @@ describe('TezDefaultsProvider', function() { 'yarn.nodemanager.resource.memory-mb': 8192, 'yarn.scheduler.maximum-allocation-mb': 8192, 'yarn.scheduler.minimum-allocation-mb': 1024, - 'mapreduce.task.io.sort.mb': 205, + 'mapreduce.task.io.sort.mb': 410, 'tez.am.resource.memory.mb': 1024, 'tez.am.java.opts': '-server -Xmx819m -Djava.net.preferIPv4Stack=true -XX:+UseNUMA -XX:+UseParallelGC' } } ]; - var defaultsProvider = App.TezDefaultsProvider.create(); tests.forEach(function(test) { - it(test.m, function() { + describe(test.m, function() { + var defaultsProvider = App.TezDefaultsProvider.create(); defaultsProvider.set('clusterData', null); var configs = defaultsProvider.getDefaults(test.localDB); - for ( var config in configs) { - if (test.e) { - expect(configs[config]).to.equal(test.e[config]); - } else { - expect(configs[config] == 0 || configs[config] == null).to.equal(true); - } - } + Em.keys(configs).forEach(function(config) { + it(config, function() { + if (test.e) { + expect(configs[config]).to.equal(test.e[config]); + } else { + expect(configs[config] == 0 || configs[config] == null).to.equal(true); + } + }); + }); }); }); }); http://git-wip-us.apache.org/repos/asf/ambari/blob/88acfa0c/ambari-web/test/utils/configs/defaults_providers/yarn_defaults_provider_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/utils/configs/defaults_providers/yarn_defaults_provider_test.js b/ambari-web/test/utils/configs/defaults_providers/yarn_defaults_provider_test.js index 58ffbfd..3da8aae 100644 --- a/ambari-web/test/utils/configs/defaults_providers/yarn_defaults_provider_test.js +++ b/ambari-web/test/utils/configs/defaults_providers/yarn_defaults_provider_test.js @@ -251,8 +251,8 @@ describe('YARNDefaultsProvider', function() { }, m: 'Without HBase', e: { - 'mapreduce.map.java.opts': '-Xmx1024m', - 'mapreduce.map.memory.mb': 1280, + 'mapreduce.map.java.opts': '-Xmx2048m', + 'mapreduce.map.memory.mb': 2560, 'mapreduce.reduce.java.opts': '-Xmx2048m', 'mapreduce.reduce.memory.mb': 2560, 'yarn.app.mapreduce.am.command-opts': '-Xmx2048m', @@ -260,7 +260,7 @@ describe('YARNDefaultsProvider', function() { 'yarn.nodemanager.resource.memory-mb': 20480, 'yarn.scheduler.maximum-allocation-mb': 20480, 'yarn.scheduler.minimum-allocation-mb': 2560, - 'mapreduce.task.io.sort.mb': 512 + 'mapreduce.task.io.sort.mb': 1024 } }, { @@ -281,8 +281,8 @@ describe('YARNDefaultsProvider', function() { }, m: 'With HBase', e: { - 'mapreduce.map.java.opts': '-Xmx410m', - 'mapreduce.map.memory.mb': 512, + 'mapreduce.map.java.opts': '-Xmx819m', + 'mapreduce.map.memory.mb': 1024, 'mapreduce.reduce.java.opts': '-Xmx819m', 'mapreduce.reduce.memory.mb': 1024, 'yarn.app.mapreduce.am.command-opts': '-Xmx819m', @@ -290,25 +290,26 @@ describe('YARNDefaultsProvider', function() { 'yarn.nodemanager.resource.memory-mb': 8192, 'yarn.scheduler.maximum-allocation-mb': 8192, 'yarn.scheduler.minimum-allocation-mb': 1024, - 'mapreduce.task.io.sort.mb': 205 + 'mapreduce.task.io.sort.mb': 410 } } ]); tests.forEach(function(test) { - it(test.m, function() { + yarnDefaultProvider = App.YARNDefaultsProvider.create(); + describe(test.m, function() { yarnDefaultProvider.set('clusterData', null); var configs = yarnDefaultProvider.getDefaults(test.localDB); - for(var config in configs) { - if (configs.hasOwnProperty(config)) { + Em.keys(configs).forEach(function(config) { + it(config, function() { if (test.e) { expect(configs[config]).to.equal(test.e[config]); } else { expect(configs[config] == 0 || configs[config] == null).to.equal(true); } - } - } + }); + }); }); }); }); http://git-wip-us.apache.org/repos/asf/ambari/blob/88acfa0c/ambari-web/test/views/main/host/summary_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/views/main/host/summary_test.js b/ambari-web/test/views/main/host/summary_test.js index dc8df43..ac6d626 100644 --- a/ambari-web/test/views/main/host/summary_test.js +++ b/ambari-web/test/views/main/host/summary_test.js @@ -386,6 +386,4 @@ describe('App.MainHostSummaryView', function() { }); - - }); http://git-wip-us.apache.org/repos/asf/ambari/blob/88acfa0c/ambari-web/test/views/wizard/step1_view_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/views/wizard/step1_view_test.js b/ambari-web/test/views/wizard/step1_view_test.js index 67b9ea3..68af264 100644 --- a/ambari-web/test/views/wizard/step1_view_test.js +++ b/ambari-web/test/views/wizard/step1_view_test.js @@ -37,14 +37,9 @@ describe('App.WizardStep1View', function () { var tests = Em.A([ {os:'redhat5', e: 0}, - {os: 'centos5', e: 0}, - {os: 'oraclelinux5', e: 0}, {os: 'redhat6', e: 1}, - {os: 'centos6', e: 1}, - {os: 'oraclelinux6', e: 1}, - {os: 'sles11', e: 2}, {os: 'suse11', e: 2}, - {os: 'ubuntu12', e: 3}, + {os: 'debian12', e: 3}, {os: 'bulgen', e: -1} ]); @@ -59,10 +54,10 @@ describe('App.WizardStep1View', function () { describe('#groupToOsType', function () { var tests = Em.A([ - {type: 0, e: ['redhat5', 'centos5', 'oraclelinux5']}, - {type: 1, e: ['redhat6', 'centos6', 'oraclelinux6']}, - {type: 2, e: ['sles11', 'suse11']}, - {type: 3, e: ['ubuntu12']}, + {type: 0, e: ['redhat5']}, + {type: 1, e: ['redhat6']}, + {type: 2, e: ['suse11']}, + {type: 3, e: ['debian12']}, {type: -1, e: []} ]); @@ -92,7 +87,7 @@ describe('App.WizardStep1View', function () { ]); tests.forEach(function(test) { - it(test.allRepositoriesGroup.mapProperty('empty-error'), function() { + it(test.allRepositoriesGroup.mapProperty('empty-error').join(', '), function() { view.set('allRepositoriesGroup', test.allRepositoriesGroup); expect(view.get('emptyRepoExist')).to.equal(test.e); }); @@ -118,7 +113,7 @@ describe('App.WizardStep1View', function () { ]); tests.forEach(function(test) { - it(test.allRepositoriesGroup.mapProperty('empty-error'), function() { + it(test.allRepositoriesGroup.mapProperty('checked').join(', '), function() { view.set('allRepositoriesGroup', test.allRepositoriesGroup); expect(view.get('allRepoUnchecked')).to.equal(test.e); });
