Return-Path: X-Original-To: apmail-ambari-commits-archive@www.apache.org Delivered-To: apmail-ambari-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id C288A18AAB for ; Fri, 29 Apr 2016 11:33:05 +0000 (UTC) Received: (qmail 7819 invoked by uid 500); 29 Apr 2016 11:33:05 -0000 Delivered-To: apmail-ambari-commits-archive@ambari.apache.org Received: (qmail 7791 invoked by uid 500); 29 Apr 2016 11:33:05 -0000 Mailing-List: contact commits-help@ambari.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: ambari-dev@ambari.apache.org Delivered-To: mailing list commits@ambari.apache.org Received: (qmail 7782 invoked by uid 99); 29 Apr 2016 11:33:05 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 29 Apr 2016 11:33:05 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 85A12DFB81; Fri, 29 Apr 2016 11:33:05 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: onechiporenko@apache.org To: commits@ambari.apache.org Message-Id: X-Mailer: ASF-Git Admin Mailer Subject: ambari git commit: AMBARI-16181. maintenance_state isn't mapped on the Move Wizards (onechiporenko) Date: Fri, 29 Apr 2016 11:33:05 +0000 (UTC) Repository: ambari Updated Branches: refs/heads/trunk 03600998f -> a3c4d46c7 AMBARI-16181. maintenance_state isn't mapped on the Move Wizards (onechiporenko) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/a3c4d46c Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/a3c4d46c Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/a3c4d46c Branch: refs/heads/trunk Commit: a3c4d46c71a8f38750612ce154e7707617cba8ae Parents: 0360099 Author: Oleg Nechiporenko Authored: Fri Apr 29 14:07:47 2016 +0300 Committer: Oleg Nechiporenko Committed: Fri Apr 29 14:07:47 2016 +0300 ---------------------------------------------------------------------- ambari-web/app/controllers/wizard.js | 46 +++++---- .../wizard/step7/assign_master_controller.js | 10 +- ambari-web/app/utils/ajax/ajax.js | 4 +- .../app/views/main/service/reassign_view.js | 1 + .../widgets/create/step3_controller_test.js | 28 ++---- .../config_recommendation_parser_test.js | 9 +- .../objects/service_config_property_test.js | 98 +------------------- ambari-web/test/models/form_test.js | 28 +----- ambari-web/test/utils/blueprint_test.js | 2 +- 9 files changed, 45 insertions(+), 181 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/a3c4d46c/ambari-web/app/controllers/wizard.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/controllers/wizard.js b/ambari-web/app/controllers/wizard.js index 52fb241..2aacf28 100644 --- a/ambari-web/app/controllers/wizard.js +++ b/ambari-web/app/controllers/wizard.js @@ -49,7 +49,7 @@ App.WizardController = Em.Controller.extend(App.LocalStorage, App.ThemesMappingM sensibleConfigs: [ { name: 'admin_principal', filename: 'krb5-conf.xml'}, - { name: 'admin_password', filename: 'krb5-conf.xml' } + { name: 'admin_password', filename: 'krb5-conf.xml' } ], init: function () { @@ -57,10 +57,12 @@ App.WizardController = Em.Controller.extend(App.LocalStorage, App.ThemesMappingM this.setIsStepDisabled(); }, - connectOutlet:function(name, context) { + connectOutlet:function(name) { if (name !== 'loading') this.set('isStepDisabled.isLocked', false); - App.get('router').set('transitionInProgress', false); - App.get('router').set('nextBtnClickInProgress', false); + App.router.setProperties({ + transitionInProgress: false, + nextBtnClickInProgress: false + }); return this._super.apply(this,arguments); }, @@ -78,7 +80,7 @@ App.WizardController = Em.Controller.extend(App.LocalStorage, App.ThemesMappingM obj.reopen({ isLocked:true, get:function (key) { - return (key === 'value' && this.get('isLocked')) || this._super.apply(this,arguments); + return key === 'value' && this.get('isLocked') || this._super.apply(this,arguments); }, notifyValues:function () { this.notifyPropertyChange('value'); @@ -140,7 +142,8 @@ App.WizardController = Em.Controller.extend(App.LocalStorage, App.ThemesMappingM osType: dbHosts[hostName].osType ? dbHosts[hostName].osType: 0, osArch: dbHosts[hostName].osArch ? dbHosts[hostName].osArch : 0, ip: dbHosts[hostName].ip ? dbHosts[hostName].ip: 0, - hostComponents: hostComponents + hostComponents: hostComponents, + maintenanceState: dbHosts[hostName].maintenance_state })) } return hosts; @@ -253,7 +256,7 @@ App.WizardController = Em.Controller.extend(App.LocalStorage, App.ThemesMappingM } // if going back from Step 9 in Install Wizard, delete the checkpoint so that the user is not redirected // to Step 9 - if (this.get('content.controllerName') == 'installerController' && this.get('currentStep') === '9' && step < 9) { + if (this.get('content.controllerName') === 'installerController' && this.get('currentStep') === '9' && step < 9) { App.clusterStatus.setClusterStatus({ clusterName: this.get('clusterName'), clusterState: 'CLUSTER_NOT_CREATED_1', @@ -487,13 +490,13 @@ App.WizardController = Em.Controller.extend(App.LocalStorage, App.ThemesMappingM * @param log */ finishLoading: function (requestId, serverError, status, log) { - if (Em.isNone(requestId) || status == 'ERROR') { + if (Em.isNone(requestId) || status === 'ERROR') { var stepController = App.get('router.wizardStep3Controller'); this.setProperties({ isError: true, showFooter: true, showCloseButton: true, - serverError: status == 'ERROR' ? log : serverError + serverError: status === 'ERROR' ? log : serverError }); stepController.setProperties({ isRegistrationInProgress: false, @@ -654,10 +657,7 @@ App.WizardController = Em.Controller.extend(App.LocalStorage, App.ThemesMappingM }, this); } else { jsonData.items.forEach(function (service) { - if (savedSelectedServices.contains(service.StackServices.service_name)) - service.StackServices.is_selected = true; - else - service.StackServices.is_selected = false; + service.StackServices.is_selected = savedSelectedServices.contains(service.StackServices.service_name); }, this); } @@ -667,10 +667,7 @@ App.WizardController = Em.Controller.extend(App.LocalStorage, App.ThemesMappingM }, this); } else { jsonData.items.forEach(function (service) { - if (savedInstalledServices.contains(service.StackServices.service_name)) - service.StackServices.is_installed = true; - else - service.StackServices.is_installed = false; + service.StackServices.is_installed = savedInstalledServices.contains(service.StackServices.service_name); }, this); } @@ -734,7 +731,7 @@ App.WizardController = Em.Controller.extend(App.LocalStorage, App.ThemesMappingM } stepController.get('confirmedHosts').forEach(function (_host) { - if (_host.bootStatus == 'REGISTERED') { + if (_host.bootStatus === 'REGISTERED') { hosts[_host.name] = { name: _host.name, cpu: _host.cpu, @@ -743,6 +740,7 @@ App.WizardController = Em.Controller.extend(App.LocalStorage, App.ThemesMappingM os_type: _host.os_type, os_arch: _host.os_arch, ip: _host.ip, + maintenance_state: _host.maintenance_state, bootStatus: _host.bootStatus, isInstalled: false, id: indx++ @@ -913,7 +911,7 @@ App.WizardController = Em.Controller.extend(App.LocalStorage, App.ThemesMappingM if (installedServiceNamesMap[_content.get('serviceName')]) { // get only modified configs var configs = _content.get('configs').filter(function (config) { - if (config.get('isNotDefaultValue') || (config.get('savedValue') === null)) { + if (config.get('isNotDefaultValue') || config.get('savedValue') === null) { return config.isRequiredByAgent!== false; } return false; @@ -996,7 +994,7 @@ App.WizardController = Em.Controller.extend(App.LocalStorage, App.ThemesMappingM Em.get(configGroup, 'properties').forEach(function (config) { hash[Em.get(config, 'name')] = {value: Em.get(config, 'value'), isFinal: Em.get(config, 'isFinal')}; }); - hash['hosts'] = hosts || Em.get(configGroup, 'hosts'); + hash.hosts = hosts || Em.get(configGroup, 'hosts'); return JSON.stringify(hash); }, @@ -1019,7 +1017,7 @@ App.WizardController = Em.Controller.extend(App.LocalStorage, App.ThemesMappingM uninstalledComponents.push(component); } }, this); - installedComponentsMap['HDFS_CLIENT'] = []; + installedComponentsMap.HDFS_CLIENT = []; App.HostComponent.find().forEach(function (hostComponent) { if (installedComponentsMap[hostComponent.get('componentName')]) { @@ -1028,7 +1026,7 @@ App.WizardController = Em.Controller.extend(App.LocalStorage, App.ThemesMappingM }, this); for (var componentName in installedComponentsMap) { - var name = (componentName === 'HDFS_CLIENT') ? 'CLIENT' : componentName; + var name = componentName === 'HDFS_CLIENT' ? 'CLIENT' : componentName; var component = { componentName: name, displayName: App.format.role(name, false), @@ -1127,7 +1125,7 @@ App.WizardController = Em.Controller.extend(App.LocalStorage, App.ThemesMappingM var dfd = $.Deferred(); for (var s in loadMap) { - if (parseInt(s) <= parseInt(currentStep)) { + if (parseInt(s, 10) <= parseInt(currentStep, 10)) { operationStack.pushObjects(loadMap[s]); } } @@ -1170,7 +1168,7 @@ App.WizardController = Em.Controller.extend(App.LocalStorage, App.ThemesMappingM this.setDBProperty('services',services); } else { App.StackService.find().forEach(function(item) { - var isSelected = services.selectedServices.contains(item.get('serviceName')); + var isSelected = services.selectedServices.contains(item.get('serviceName')); var isInstalled = services.installedServices.contains(item.get('serviceName')); item.set('isSelected', isSelected); item.set('isInstalled', isInstalled); http://git-wip-us.apache.org/repos/asf/ambari/blob/a3c4d46c/ambari-web/app/controllers/wizard/step7/assign_master_controller.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/controllers/wizard/step7/assign_master_controller.js b/ambari-web/app/controllers/wizard/step7/assign_master_controller.js index 410e42b..4c8eccc 100644 --- a/ambari-web/app/controllers/wizard/step7/assign_master_controller.js +++ b/ambari-web/app/controllers/wizard/step7/assign_master_controller.js @@ -32,7 +32,7 @@ App.AssignMasterOnStep7Controller = Em.Controller.extend(App.BlueprintMixin, App configActionComponent: {}, content: function () { - return (this.get('configWidgetContext.controller.content') || {}); + return this.get('configWidgetContext.controller.content') || {}; }.property('configWidgetContext.controller.content'), popup: null, @@ -181,6 +181,7 @@ App.AssignMasterOnStep7Controller = Em.Controller.extend(App.BlueprintMixin, App host_name: hosts[p].get('hostName'), cpu: hosts[p].get('cpu'), memory: hosts[p].get('memory'), + maintenance_state: hosts[p].get('maintenance_state'), disk_info: hosts[p].get('diskInfo'), host_info: Em.I18n.t('installer.step5.hostInfo').fmt(hosts[p].get('hostName'), numberUtils.bytesToSize(hosts[p].get('memory'), 1, 'parseFloat', 1024), hosts[p].get('cpu')) })); @@ -252,7 +253,6 @@ App.AssignMasterOnStep7Controller = Em.Controller.extend(App.BlueprintMixin, App saveRecommendationsHostGroups: function() { var controller = App.router.get(this.get('content.controllerName')); var recommendationsHostGroups = this.get('content.recommendationsHostGroups'); - var masterComponentHosts = this.get('content.masterComponentHosts'); var mastersToCreate = this.get('mastersToCreate'); mastersToCreate.forEach(function(componentName) { var hostName = this.getSelectedHostName(componentName); @@ -262,14 +262,14 @@ App.AssignMasterOnStep7Controller = Em.Controller.extend(App.BlueprintMixin, App var i = 0; while (i < hostGroups.length) { var hosts = hostGroups[i].hosts; - isHostPresent = hosts.someProperty('fqdn', hostName); + isHostPresent = hosts.someProperty('fqdn', hostName); if (isHostPresent) break; i++; } if (isHostPresent) { var hostGroupName = hostGroups[i].name; - var hostGroup = recommendationsHostGroups.blueprint.host_groups.findProperty('name', hostGroupName); - var addHostComponentInGroup = !hostGroup.components.someProperty('name', componentName); + var hostGroup = recommendationsHostGroups.blueprint.host_groups.findProperty('name', hostGroupName); + var addHostComponentInGroup = !hostGroup.components.someProperty('name', componentName); if (addHostComponentInGroup) { hostGroup.components.pushObject({name: componentName}); } http://git-wip-us.apache.org/repos/asf/ambari/blob/a3c4d46c/ambari-web/app/utils/ajax/ajax.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/utils/ajax/ajax.js b/ambari-web/app/utils/ajax/ajax.js index a7087c9..d32afc9 100644 --- a/ambari-web/app/utils/ajax/ajax.js +++ b/ambari-web/app/utils/ajax/ajax.js @@ -2453,7 +2453,7 @@ var urls = { 'mock': '/data/hosts/quick_links.json' }, 'hosts.confirmed.install': { - 'real': '/hosts?fields=Hosts/cpu_count,Hosts/disk_info,Hosts/total_mem&minimal_response=true', + 'real': '/hosts?fields=Hosts/cpu_count,Hosts/disk_info,Hosts/total_mem,Hosts/maintenance_state&minimal_response=true', 'mock': '' }, 'hosts.confirmed': { @@ -2551,7 +2551,7 @@ var urls = { } }, 'hosts.high_availability.wizard': { - 'real': '/clusters/{clusterName}/hosts?fields=Hosts/cpu_count,Hosts/disk_info,Hosts/total_mem&minimal_response=true', + 'real': '/clusters/{clusterName}/hosts?fields=Hosts/cpu_count,Hosts/disk_info,Hosts/total_mem,Hosts/maintenance_state&minimal_response=true', 'mock': '' }, 'hosts.security.wizard': { http://git-wip-us.apache.org/repos/asf/ambari/blob/a3c4d46c/ambari-web/app/views/main/service/reassign_view.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/views/main/service/reassign_view.js b/ambari-web/app/views/main/service/reassign_view.js index fd2776d..4adbf11 100644 --- a/ambari-web/app/views/main/service/reassign_view.js +++ b/ambari-web/app/views/main/service/reassign_view.js @@ -84,6 +84,7 @@ App.ReassignMasterView = Em.View.extend(App.WizardMenuMixin, { cpu: item.Hosts.cpu_count, memory: item.Hosts.total_mem, disk_info: item.Hosts.disk_info, + maintenance_state: item.Hosts.maintenance_state, bootStatus: "REGISTERED", isInstalled: true }; http://git-wip-us.apache.org/repos/asf/ambari/blob/a3c4d46c/ambari-web/test/controllers/main/service/widgets/create/step3_controller_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/controllers/main/service/widgets/create/step3_controller_test.js b/ambari-web/test/controllers/main/service/widgets/create/step3_controller_test.js index d54d04a..b0386a9 100644 --- a/ambari-web/test/controllers/main/service/widgets/create/step3_controller_test.js +++ b/ambari-web/test/controllers/main/service/widgets/create/step3_controller_test.js @@ -30,10 +30,6 @@ describe('App.WidgetWizardStep3Controller', function () { App.TestAliases.testAsComputedIfThenElse(controller, 'widgetScope', 'isSharedChecked', 'Cluster', 'User'); - //App.TestAliases.testAsComputedGte(controller, 'isNameInvalid', 'widgetName.length', 129); - - //App.TestAliases.testAsComputedGte(controller, 'isDescriptionInvalid', 'widgetDescription.length', 2049); - App.TestAliases.testAsComputedOr(controller, 'isSubmitDisabled', ['widgetNameEmpty', 'isNameInvalid', 'isDescriptionInvalid']); describe("#validateName", function(){ @@ -68,15 +64,12 @@ describe('App.WidgetWizardStep3Controller', function () { } ]; - testCases.forEach(function(test){ - controller.setProperties({ - widgetName: test.widgetName + testCases.forEach(function(test) { + it(JSON.stringify(test.widgetName), function () { + controller.set('widgetName', test.widgetName); + expect(controller.get('widgetNameErrorMessage')).to.equal(test.result.errorMessage); + expect(controller.get('isNameInvalid')).to.equal(test.result.isNameInvalid); }); - - //Since validateName() observes the property "widgetName", Ember framework will call it - - expect(controller.get('widgetNameErrorMessage')).to.equal(test.result.errorMessage); - expect(controller.get('isNameInvalid')).to.equal(test.result.isNameInvalid); }); }); @@ -113,14 +106,11 @@ describe('App.WidgetWizardStep3Controller', function () { ]; testCases.forEach(function(test){ - controller.setProperties({ - widgetDescription: test.widgetDescription + it(JSON.stringify(test.widgetDescription), function () { + controller.set('widgetDescription', test.widgetDescription); + expect(controller.get('descriptionErrorMessage')).to.equal(test.result.errorMessage); + expect(controller.get('isDescriptionInvalid')).to.equal(test.result.isDescriptionInvalid); }); - - //Since validateDescription() observes the property "widgetDescription", Ember framework will call it - - expect(controller.get('descriptionErrorMessage')).to.equal(test.result.errorMessage); - expect(controller.get('isDescriptionInvalid')).to.equal(test.result.isDescriptionInvalid); }); }); http://git-wip-us.apache.org/repos/asf/ambari/blob/a3c4d46c/ambari-web/test/mixins/common/configs/config_recommendation_parser_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/mixins/common/configs/config_recommendation_parser_test.js b/ambari-web/test/mixins/common/configs/config_recommendation_parser_test.js index ae668c7..8b983f1 100644 --- a/ambari-web/test/mixins/common/configs/config_recommendation_parser_test.js +++ b/ambari-web/test/mixins/common/configs/config_recommendation_parser_test.js @@ -18,6 +18,8 @@ var App = require('app'); +var helpers = require('test/helpers'); + describe('App.ConfigRecommendationParser', function() { var mixinObject = Em.Controller.extend(App.ConfigRecommendationParser, {}); var instanceObject = mixinObject.create({}); @@ -284,12 +286,7 @@ describe('App.ConfigRecommendationParser', function() { }; var test = instanceObject._createNewProperty('name', 'fileName', 'recommendedValue', null); - - for (var k in res) { - if (res.hasOwnProperty(k)) { - expect(test.get(k)).to.eql(res[k]); - } - } + helpers.nestedExpect([res], [test]); expect(instanceObject.applyRecommendation.calledOnce).to.be.true; }); http://git-wip-us.apache.org/repos/asf/ambari/blob/a3c4d46c/ambari-web/test/models/configs/objects/service_config_property_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/models/configs/objects/service_config_property_test.js b/ambari-web/test/models/configs/objects/service_config_property_test.js index 3a1d14c..a6772d3 100644 --- a/ambari-web/test/models/configs/objects/service_config_property_test.js +++ b/ambari-web/test/models/configs/objects/service_config_property_test.js @@ -173,104 +173,8 @@ var serviceConfigProperty, value: 'value', savedValue: 'default' }, - types = ['componentHost', 'componentHosts', 'radio button'], - classCases = [ - { - initial: { - displayType: 'checkbox' - }, - viewClass: App.ServiceConfigCheckbox - }, - { - initial: { - displayType: 'checkbox', - dependentConfigPattern: 'somPattern' - }, - viewClass: App.ServiceConfigCheckboxWithDependencies - }, - { - initial: { - displayType: 'password' - }, - viewClass: App.ServiceConfigPasswordField - }, - { - initial: { - displayType: 'combobox' - }, - viewClass: App.ServiceConfigComboBox - }, - { - initial: { - displayType: 'radio button' - }, - viewClass: App.ServiceConfigRadioButtons - }, - { - initial: { - displayType: 'directories' - }, - viewClass: App.ServiceConfigTextArea - }, - { - initial: { - displayType: 'content' - }, - viewClass: App.ServiceConfigTextAreaContent + types = ['componentHost', 'componentHosts', 'radio button']; - }, - { - initial: { - displayType: 'multiLine' - }, - viewClass: App.ServiceConfigTextArea - }, - { - initial: { - displayType: 'custom' - }, - viewClass: App.ServiceConfigBigTextArea - }, - { - initial: { - displayType: 'componentHost' - }, - viewClass: App.ServiceConfigMasterHostView - }, - { - initial: { - displayType: 'componentHosts' - }, - viewClass: App.ServiceConfigComponentHostsView - }, - { - initial: { - displayType: 'componentHosts' - }, - viewClass: App.ServiceConfigComponentHostsView - }, - { - initial: { - unit: true, - displayType: 'type' - }, - viewClass: App.ServiceConfigTextFieldWithUnit - }, - { - initial: { - unit: false, - displayType: 'type' - }, - viewClass: App.ServiceConfigTextField - }, - { - initial: { - unit: false, - displayType: 'supportTextConnection' - }, - viewClass: App.checkConnectionView - } - ]; function getProperty() { return App.ServiceConfigProperty.create(); http://git-wip-us.apache.org/repos/asf/ambari/blob/a3c4d46c/ambari-web/test/models/form_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/models/form_test.js b/ambari-web/test/models/form_test.js index 573deae..fab811d 100644 --- a/ambari-web/test/models/form_test.js +++ b/ambari-web/test/models/form_test.js @@ -37,28 +37,6 @@ var form, result: 0 } ], - displayTypeCases = [ - { - type: 'checkbox', - classString: 'Checkbox' - }, - { - type: 'select', - classString: 'Select' - }, - { - type: 'textarea', - classString: 'TextArea' - }, - { - type: 'password', - classString: 'TextField' - }, - { - type: 'hidden', - classString: 'TextField' - } - ], hiddenCases = [ { displayType: 'password', @@ -70,11 +48,7 @@ var form, type: 'hidden', value: true } - ], - expectError = function (message) { - formField.validate(); - expect(formField.get('errorMessage')).to.equal(message); - }; + ]; describe('App.Form', function () { http://git-wip-us.apache.org/repos/asf/ambari/blob/a3c4d46c/ambari-web/test/utils/blueprint_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/utils/blueprint_test.js b/ambari-web/test/utils/blueprint_test.js index 6ada088..d0180fe 100644 --- a/ambari-web/test/utils/blueprint_test.js +++ b/ambari-web/test/utils/blueprint_test.js @@ -481,7 +481,7 @@ describe('utils/blueprint', function() { ] } }; - expect(blueprintUtils.getHostGroupByFqdn(bp, 'host1.name')).to.be.eql('host1-group'); + expect(blueprintUtils.getHostGroupByFqdn(bp, 'host1.name')).to.be.equal('host1-group'); }); });