[ambari] branch branch-2.7 updated (49827cc -> ad99d91)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a change to branch branch-2.7 in repository https://gitbox.apache.org/repos/asf/ambari.git. from 49827cc AMBARI-25156. /var/log/messages gets filled with unhandled Python exception for client modules in ambari-agent (aonishuk) add ad99d91 AMBARI-25396 cross-site scripting vulnerability on Ambari hosts No new revisions were added by this update. Summary of changes: ambari-web/app/views/wizard/step2_view.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
[ambari] branch branch-2.7 updated: [AMBARI-25305] Ambari UI gets into corrupt state after installing a cluster (#3010)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch branch-2.7 in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/branch-2.7 by this push: new 0a46ad8 [AMBARI-25305] Ambari UI gets into corrupt state after installing a cluster (#3010) 0a46ad8 is described below commit 0a46ad89a577e2bd1f46388c00f42ca660d033fd Author: Aleksandr Kovalenko AuthorDate: Wed Jun 19 10:03:37 2019 +0300 [AMBARI-25305] Ambari UI gets into corrupt state after installing a cluster (#3010) * AMBARI-24597. Popup shown when Ambari started on a different port other than 8080 (akovalenko) * AMBARI-25249 Ambari UI quicklinks * AMBARI-25305. Ambari UI gets into corrupt state after installing a cluster --- ambari-web/app/mappers/configs/themes_mapper.js | 2 ++ ambari-web/app/mappers/stack_service_mapper.js | 19 ++- ambari-web/app/utils/helper.js | 16 ambari-web/test/mappers/stack_service_mapper_test.js | 2 +- 4 files changed, 21 insertions(+), 18 deletions(-) diff --git a/ambari-web/app/mappers/configs/themes_mapper.js b/ambari-web/app/mappers/configs/themes_mapper.js index e2b42e8..3a145f1 100644 --- a/ambari-web/app/mappers/configs/themes_mapper.js +++ b/ambari-web/app/mappers/configs/themes_mapper.js @@ -74,6 +74,8 @@ App.themesMapper = App.QuickDataMapper.create({ this.get('subSectionModel').find().clear(); this.get('subSectionTabModel').find().clear(); this.get('themeConditionModel').find().clear(); +App.clearModels([this.get('tabModel')]); +App.resetDsStoreTypeMap(this.get('tabModel')); }, /** diff --git a/ambari-web/app/mappers/stack_service_mapper.js b/ambari-web/app/mappers/stack_service_mapper.js index dd42e13..a3f17b3 100644 --- a/ambari-web/app/mappers/stack_service_mapper.js +++ b/ambari-web/app/mappers/stack_service_mapper.js @@ -77,7 +77,7 @@ App.stackServiceMapper = App.QuickDataMapper.create({ mapStackServices: function(json) { App.set('isStackServicesLoaded',false); -this.clearStackModels(); +App.clearModels([this.get('model'), this.get('component_model')]); App.resetDsStoreTypeMap(App.StackServiceComponent); App.resetDsStoreTypeMap(App.StackService); this.map(json); @@ -127,22 +127,7 @@ App.stackServiceMapper = App.QuickDataMapper.create({ }, this); App.store.safeLoadMany(this.get('component_model'), stackServiceComponents); App.store.safeLoadMany(model, result); - }, - - /** - * Clean store from already loaded data. - **/ - clearStackModels: function () { -var models = [App.StackServiceComponent, App.StackService]; -models.forEach(function (model) { - var records = App.get('store').findAll(model).filterProperty('id'); - records.forEach(function (rec) { -Ember.run(this, function () { - rec.deleteRecord(); - App.store.fastCommit(); -}); - }, this); -}, this); } + }); diff --git a/ambari-web/app/utils/helper.js b/ambari-web/app/utils/helper.js index 38eccf3..d05724d 100644 --- a/ambari-web/app/utils/helper.js +++ b/ambari-web/app/utils/helper.js @@ -1058,6 +1058,22 @@ App.resetDsStoreTypeMap = function(type) { } }; +/** + * Clean store from already loaded data. + * @param {DS.Model[]} models to clear + **/ +App.clearModels = function (models) { + models.forEach(function (model) { +var records = App.get('store').findAll(model).filterProperty('id'); +records.forEach(function (rec) { + Ember.run(this, function () { +rec.deleteRecord(); +App.store.fastCommit(); + }); +}, this); + }, this); +}; + App.logger = function() { var timers = {}; diff --git a/ambari-web/test/mappers/stack_service_mapper_test.js b/ambari-web/test/mappers/stack_service_mapper_test.js index 88b4b43..dfaafde 100644 --- a/ambari-web/test/mappers/stack_service_mapper_test.js +++ b/ambari-web/test/mappers/stack_service_mapper_test.js @@ -228,7 +228,7 @@ describe('App.stackServiceMapper', function () { }; beforeEach(function () { - App.stackServiceMapper.clearStackModels(); + App.clearModels([App.StackService, App.StackServiceComponent]); }); it('should sort and map data about services with their components', function () {
[ambari] branch branch-2.7 updated: [AMBARI-25249] Ambari UI quicklinks
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch branch-2.7 in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/branch-2.7 by this push: new 7df08ed [AMBARI-25249] Ambari UI quicklinks 7df08ed is described below commit 7df08ed4c8689adda76cedad5105aa9b3cfd95e9 Author: Aleksandr Kovalenko AuthorDate: Mon Apr 15 19:41:42 2019 +0300 [AMBARI-25249] Ambari UI quicklinks --- .../app/views/common/quick_view_link_view.js | 33 +++--- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/ambari-web/app/views/common/quick_view_link_view.js b/ambari-web/app/views/common/quick_view_link_view.js index 4a64c20..1281554 100644 --- a/ambari-web/app/views/common/quick_view_link_view.js +++ b/ambari-web/app/views/common/quick_view_link_view.js @@ -418,14 +418,17 @@ App.QuickLinksView = Em.View.extend({ var links = Em.get(quickLinksConfig, 'links'); links.forEach(function (link) { -var publicHostName = this.publicHostName(link, hosts, protocol); -if (publicHostName) { - if (link.protocol) { -protocol = this.setProtocol(configProperties, link.protocol); - } - var newItem = this.getHostLink(link, publicHostName, protocol, configProperties, response); //quicklink generated for the hbs template - if (!Em.isNone(newItem)) { -quickLinks.push(newItem); +var isRelatedComponentInstalled = this.isRelatedComponentInstalled(link); +if (isRelatedComponentInstalled) { + var publicHostName = this.publicHostName(link, hosts, protocol); + if (publicHostName) { +if (link.protocol) { + protocol = this.setProtocol(configProperties, link.protocol); +} +var newItem = this.getHostLink(link, publicHostName, protocol, configProperties, response); //quicklink generated for the hbs template +if (!Em.isNone(newItem)) { + quickLinks.push(newItem); +} } } }, this); @@ -480,7 +483,8 @@ App.QuickLinksView = Em.View.extend({ links.forEach(function (link) { var linkRemoved = Em.get(link, 'removed'); var url = Em.get(link, 'url'); -if (url && !linkRemoved) { +var isRelatedComponentInstalled = this.isRelatedComponentInstalled(link); +if (url && !linkRemoved && isRelatedComponentInstalled) { var hostNameRegExp = new RegExp('([\\w\\W]*):\\d+'); if (serviceName === 'HDFS') { var config; @@ -874,5 +878,14 @@ App.QuickLinksView = Em.View.extend({ App.tooltip($(`[rel="${this.get('tooltipAttribute')}"]`)); } }); - }.observes('showQuickLinks', 'isLoaded', 'quickLinksArray.length') + }.observes('showQuickLinks', 'isLoaded', 'quickLinksArray.length'), + + /** + * Check if host component related to quickLink is installed + * @param quickLink + * @returns {Boolean} + */ + isRelatedComponentInstalled: function (quickLink) { +return App.HostComponent.find().someProperty('componentName', quickLink.component_name); + } });
[ambari] branch trunk updated: AMBARI-25144. Cover config history controller with unit tests
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new d17de75 AMBARI-25144. Cover config history controller with unit tests d17de75 is described below commit d17de751d44e5819f1bc30bc82f06db059588561 Author: Aleksandr Kovalenko AuthorDate: Tue Feb 5 19:37:04 2019 +0200 AMBARI-25144. Cover config history controller with unit tests --- .../main/dashboard/config_history_controller.js| 8 +- .../dashboard/config_history_controller_test.js| 97 ++ 2 files changed, 101 insertions(+), 4 deletions(-) diff --git a/ambari-web/app/controllers/main/dashboard/config_history_controller.js b/ambari-web/app/controllers/main/dashboard/config_history_controller.js index ffef7e4..3383b61 100644 --- a/ambari-web/app/controllers/main/dashboard/config_history_controller.js +++ b/ambari-web/app/controllers/main/dashboard/config_history_controller.js @@ -178,21 +178,21 @@ App.MainConfigHistoryController = Em.ArrayController.extend(App.TableServerMixin var savedSortConditions = App.db.getSortingStatuses(this.get('name')) || [], sortProperties = this.get('sortProps'), sortParams = []; - + savedSortConditions.forEach(function (sort) { var property = sortProperties.findProperty('name', sort.name); if (property && (sort.status === 'sorting_asc' || sort.status === 'sorting_desc')) { property.value = sort.status.replace('sorting_', ''); property.type = 'SORT'; -if (property.name == 'serviceVersion'){ +if (property.name === 'serviceVersion') { property.key = "service_name." + sort.status.replace('sorting_', '') + ",service_config_version"; property.value = "desc"; } -if (property.name == 'configGroup'){ +if (property.name === 'configGroup') { property.key = "group_name." + sort.status.replace('sorting_', '') + ",service_config_version"; property.value = "desc"; } - + sortParams.push(property); } }); diff --git a/ambari-web/test/controllers/main/dashboard/config_history_controller_test.js b/ambari-web/test/controllers/main/dashboard/config_history_controller_test.js index 24c1bbd..2a9f6a9 100644 --- a/ambari-web/test/controllers/main/dashboard/config_history_controller_test.js +++ b/ambari-web/test/controllers/main/dashboard/config_history_controller_test.js @@ -158,5 +158,102 @@ describe('MainConfigHistoryController', function () { expect(App.StompClient.removeHandler.calledWith('/events/configs', 'history')).to.be.true; }); }); + + describe('#colPropAssoc', function() { + +it('should return associations', function() { + expect(controller.get('colPropAssoc')[1]).to.be.equal('serviceVersion'); + expect(controller.get('colPropAssoc')[2]).to.be.equal('configGroup'); + expect(controller.get('colPropAssoc')[3]).to.be.equal('createTime'); + expect(controller.get('colPropAssoc')[4]).to.be.equal('author'); + expect(controller.get('colPropAssoc')[5]).to.be.equal('notes'); +}); + }); + + describe('#getSortProps', function() { +beforeEach(function() { + sinon.stub(App.db, 'getSortingStatuses').returns([ +{ + name: 'serviceVersion', + status: 'sorting_asc' +}, +{ + name: 'configGroup', + status: 'sorting_desc' +}, +{ + name: 's3', + status: 'sorting_asc' +} + ]); +}); +afterEach(function() { + App.db.getSortingStatuses.restore(); +}); + +it('should return sort properties', function() { + controller.set('sortProps', [ +{ + name: 'serviceVersion' +}, +{ + name: 'configGroup' +}, +{ + name: 's3' +} + ]); + expect(controller.getSortProps()).to.be.eql([ +{ + "key": "service_name.asc,service_config_version", + "name": "serviceVersion", + "type": "SORT", + "value": "desc" + +}, +{ + "key": "group_name.desc,service_config_version", + "name": "configGroup", + "type": "SORT", + "value": "desc" +}, +{ + "name": "s3", + "type": "SORT", + "value": "asc" +} + ]); +}); + }); + + describe('#getSearchBoxSuggestions', function() { + +beforeEach(function() { + App.ajax.send.restore(); + sinon.stub(A
[ambari] branch trunk updated: AMBARI-25145. Cover controllers of High Availability wizard with unit tests
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 813f938 AMBARI-25145. Cover controllers of High Availability wizard with unit tests 813f938 is described below commit 813f9386eeefe8ecb57672cc850c76a70193ec6c Author: Aleksandr Kovalenko AuthorDate: Tue Feb 5 19:32:46 2019 +0200 AMBARI-25145. Cover controllers of High Availability wizard with unit tests --- ambari-web/app/assets/test/tests.js| 2 + .../hawq/removeStandby/step2_controller_test.js| 35 ++- .../hawq/removeStandby/step3_controller_test.js| 167 + .../hawq/removeStandby/wizard_controller_test.js | 260 + 4 files changed, 458 insertions(+), 6 deletions(-) diff --git a/ambari-web/app/assets/test/tests.js b/ambari-web/app/assets/test/tests.js index 5e0b52c..ca7b58b 100644 --- a/ambari-web/app/assets/test/tests.js +++ b/ambari-web/app/assets/test/tests.js @@ -93,6 +93,8 @@ var files = [ 'test/controllers/main/admin/highAvailability/hawq/addStandby/step4_controller_test', 'test/controllers/main/admin/highAvailability/hawq/addStandby/wizard_controller_test', 'test/controllers/main/admin/highAvailability/hawq/removeStandby/step2_controller_test', + 'test/controllers/main/admin/highAvailability/hawq/removeStandby/step3_controller_test', + 'test/controllers/main/admin/highAvailability/hawq/removeStandby/wizard_controller_test', 'test/controllers/main/admin/highAvailability/hawq/activateStandby/step2_controller_test', 'test/controllers/main/admin/highAvailability/hawq/activateStandby/step3_controller_test', 'test/controllers/main/admin/highAvailability/journalNode/progress_controller_test', diff --git a/ambari-web/test/controllers/main/admin/highAvailability/hawq/removeStandby/step2_controller_test.js b/ambari-web/test/controllers/main/admin/highAvailability/hawq/removeStandby/step2_controller_test.js index 0a55445..0bb1217 100644 --- a/ambari-web/test/controllers/main/admin/highAvailability/hawq/removeStandby/step2_controller_test.js +++ b/ambari-web/test/controllers/main/admin/highAvailability/hawq/removeStandby/step2_controller_test.js @@ -20,13 +20,18 @@ var App = require('app'); require('controllers/main/admin/highAvailability/hawq/removeStandby/step2_controller'); describe('App.RemoveHawqStandbyWizardStep2Controller', function () { - + + var controller; + + beforeEach(function() { +controller = App.RemoveHawqStandbyWizardStep2Controller.create({ + content: Em.Object.create({}) +}) + }); + describe('#isSubmitDisabled', function () { -var controller = App.RemoveHawqStandbyWizardStep2Controller.create({ -content: Em.Object.create({}) - }), - cases = [ +var cases = [ { isLoaded: false, isSubmitDisabled: true, @@ -45,8 +50,26 @@ describe('App.RemoveHawqStandbyWizardStep2Controller', function () { expect(controller.get('isSubmitDisabled')).to.equal(item.isSubmitDisabled); }); }); - }); + + describe('#submit', function() { +beforeEach(function() { + sinon.stub(App, 'get').returns({ +getKDCSessionState: Em.clb + }); + sinon.stub(App.router, 'send'); +}); +afterEach(function() { + App.get.restore(); + App.router.send.restore(); +}); + +it('App.router.send should be called', function() { + controller.set('isLoaded', true); + controller.submit(); + expect(App.router.send.calledWith('next')).to.be.true; +}); + }); }); diff --git a/ambari-web/test/controllers/main/admin/highAvailability/hawq/removeStandby/step3_controller_test.js b/ambari-web/test/controllers/main/admin/highAvailability/hawq/removeStandby/step3_controller_test.js new file mode 100644 index 000..f1aa0d5 --- /dev/null +++ b/ambari-web/test/controllers/main/admin/highAvailability/hawq/removeStandby/step3_controller_test.js @@ -0,0 +1,167 @@ +/** + * 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. + */ + +var App =
[ambari] branch trunk updated: AMBARI-25135. Cover service mixin with unit tests
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 9256fa1 AMBARI-25135. Cover service mixin with unit tests 9256fa1 is described below commit 9256fa11b2829f5f3cf2be8d0da9ed45d77505bd Author: Aleksandr Kovalenko AuthorDate: Tue Jan 29 19:45:26 2019 +0200 AMBARI-25135. Cover service mixin with unit tests --- ambari-web/app/assets/test/tests.js| 2 + .../mixins/main/service/groups_mapping_test.js | 71 ++ .../mixins/main/service/themes_mapping_test.js | 102 + 3 files changed, 175 insertions(+) diff --git a/ambari-web/app/assets/test/tests.js b/ambari-web/app/assets/test/tests.js index 3d039f8..5e0b52c 100644 --- a/ambari-web/app/assets/test/tests.js +++ b/ambari-web/app/assets/test/tests.js @@ -215,6 +215,8 @@ var files = [ 'test/mixins/main/service/configs/widget_popover_support_test', 'test/mixins/main/service/configs/config_overridable_test', 'test/mixins/main/service/configs/component_actions_by_configs_test', + 'test/mixins/main/service/groups_mapping_test', + 'test/mixins/main/service/themes_mapping_test', 'test/mixins/routers/redirections_test', 'test/mixins/wizard/addSeccurityConfigs_test', 'test/mixins/wizard/assign_master_components_test', diff --git a/ambari-web/test/mixins/main/service/groups_mapping_test.js b/ambari-web/test/mixins/main/service/groups_mapping_test.js new file mode 100644 index 000..d4d5ce7 --- /dev/null +++ b/ambari-web/test/mixins/main/service/groups_mapping_test.js @@ -0,0 +1,71 @@ +/** + * 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. + */ + +var App = require('app'); +var testHelpers = require('test/helpers'); + +describe('App.GroupsMappingMixin', function () { + var mixin; + + beforeEach(function () { +mixin = Em.Object.create(App.GroupsMappingMixin, {}); + }); + + describe('#loadConfigGroups', function() { +beforeEach(function() { + sinon.stub(mixin, 'trackRequest'); +}); +afterEach(function() { + mixin.trackRequest.restore(); +}); + +it('configGroupsAreLoaded should be true', function() { + mixin.loadConfigGroups([]); + expect(mixin.get('configGroupsAreLoaded')).to.be.true; +}); + +it('App.ajax.send should be called', function() { + mixin.loadConfigGroups(['S1', 'S2']); + expect(testHelpers.findAjaxRequest('name', 'configs.config_groups.load.services')[0]).to.exists; +}); + }); + + describe('#saveConfigGroupsToModel', function() { +var dfd = {resolve: sinon.spy()}; + +beforeEach(function() { + sinon.stub(App.configGroupsMapper, 'map'); + mixin.saveConfigGroupsToModel({}, {}, {serviceNames: 'S1,S2', dfd: dfd}); +}); +afterEach(function() { + App.configGroupsMapper.map.restore(); +}); + +it('App.configGroupsMapper.map should be called', function() { + expect(App.configGroupsMapper.map.calledWith({}, false, ['S1', 'S2'])).to.be.true; +}); + +it('configGroupsAreLoaded should be true', function() { + expect(mixin.get('configGroupsAreLoaded')).to.be.true; +}); + +it('resolve should be called', function() { + expect(dfd.resolve.called).to.be.true; +}); + }); +}); diff --git a/ambari-web/test/mixins/main/service/themes_mapping_test.js b/ambari-web/test/mixins/main/service/themes_mapping_test.js new file mode 100644 index 000..f547229 --- /dev/null +++ b/ambari-web/test/mixins/main/service/themes_mapping_test.js @@ -0,0 +1,102 @@ +/** + * 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 requir
[ambari] branch trunk updated: AMBARI-25134. Cover controller of widget edit with unit tests
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new dfdb8bf AMBARI-25134. Cover controller of widget edit with unit tests dfdb8bf is described below commit dfdb8bf7a6768ca773e57eac8f903a28a60e4b03 Author: Aleksandr Kovalenko AuthorDate: Tue Jan 29 19:54:21 2019 +0200 AMBARI-25134. Cover controller of widget edit with unit tests --- ambari-web/app/assets/test/tests.js| 1 + .../main/service/widgets/edit_controller_test.js | 140 + 2 files changed, 141 insertions(+) diff --git a/ambari-web/app/assets/test/tests.js b/ambari-web/app/assets/test/tests.js index ed39021..3d039f8 100644 --- a/ambari-web/app/assets/test/tests.js +++ b/ambari-web/app/assets/test/tests.js @@ -129,6 +129,7 @@ var files = [ 'test/controllers/main/service/widgets/create/step1_controller_test', 'test/controllers/main/service/widgets/create/step2_controller_test', 'test/controllers/main/service/widgets/create/step3_controller_test', + 'test/controllers/main/service/widgets/edit_controller_test', 'test/controllers/main/dashboard_test', 'test/controllers/main/host_test', 'test/controllers/main/service/item_test', diff --git a/ambari-web/test/controllers/main/service/widgets/edit_controller_test.js b/ambari-web/test/controllers/main/service/widgets/edit_controller_test.js new file mode 100644 index 000..d5f4af2 --- /dev/null +++ b/ambari-web/test/controllers/main/service/widgets/edit_controller_test.js @@ -0,0 +1,140 @@ +/** + * 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. + */ + +App = require('app'); +var testHelpers = require('test/helpers'); + +require('controllers/main/service/widgets/edit_controller'); + +describe('App.WidgetEditController', function () { + var controller; + + beforeEach(function() { +controller = App.WidgetEditController.create({ + content: Em.Object.create() +}); + }); + + describe('#putWidgetDefinition', function() { + +it('App.ajax.send should be called', function() { + controller.set('content.widgetId', 1); + controller.putWidgetDefinition({}); + var args = testHelpers.filterAjaxRequests('name', 'widgets.wizard.edit'); + expect(args[0][0].data).to.eql({ +data: {}, +widgetId: 1 + }); +}); + }); + + describe('#finish', function() { +beforeEach(function() { + sinon.stub(controller, 'setCurrentStep'); + sinon.stub(controller, 'resetDbNamespace'); + sinon.stub(controller, 'save'); +}); +afterEach(function() { + controller.setCurrentStep.restore(); + controller.resetDbNamespace.restore(); + controller.save.restore(); +}); + +it('setCurrentStep should be called', function() { + controller.finish(); + expect(controller.setCurrentStep.calledWith('1', false, true)).to.be.true; +}); + +it('resetDbNamespace should be called', function() { + controller.finish(); + expect(controller.resetDbNamespace.calledOnce).to.be.true; +}); + +it('save should be called', function() { + controller.finish(); + expect(controller.save.callCount).to.be.equal(13); +}); + }); + + describe('#loadMap', function() { +describe('#step1', function() { + beforeEach(function() { +sinon.stub(controller, 'load'); +sinon.stub(controller, 'loadAllMetrics'); + }); + afterEach(function() { +controller.load.restore(); +controller.loadAllMetrics.restore(); + }); + + it('should load widgetType', function() { +controller.loadMap['1'][0].callback.apply(controller); +expect(controller.load.calledWith('widgetType')).to.be.true; + }); + + it('should load widgetService', function() { +controller.loadMap['1'][0].callback.apply(controller); +expect(controller.load.calledWith('widgetService')).to.be.true; + }); + + it('should load widgetProperties', function() { +controller.loadMap['1'][0].callback.apply(controll
[ambari] branch trunk updated: AMBARI-25105. Cover views of the JournalNode wizard with unit tests
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 615a86c AMBARI-25105. Cover views of the JournalNode wizard with unit tests 615a86c is described below commit 615a86ca86d725beaa9744afb82b595247409bc6 Author: Aleksandr Kovalenko AuthorDate: Wed Jan 16 13:57:06 2019 +0200 AMBARI-25105. Cover views of the JournalNode wizard with unit tests --- ambari-web/app/assets/test/tests.js| 4 + .../journalNode/progress_view_test.js | 70 +++ .../journalNode/step2_view_test.js | 70 +++ .../journalNode/step3_view_test.js | 208 + .../journalNode/step5_view_test.js | 71 +++ 5 files changed, 423 insertions(+) diff --git a/ambari-web/app/assets/test/tests.js b/ambari-web/app/assets/test/tests.js index 91fa7b0..30c9f8d 100644 --- a/ambari-web/app/assets/test/tests.js +++ b/ambari-web/app/assets/test/tests.js @@ -420,6 +420,10 @@ var files = [ 'test/views/main/admin/highAvailability/resourceManager/wizard_view_test', 'test/views/main/admin/highAvailability/nameNode/wizard_view_test', 'test/views/main/admin/highAvailability/progress_view_test', + 'test/views/main/admin/highAvailability/journalNode/progress_view_test', + 'test/views/main/admin/highAvailability/journalNode/step2_view_test', + 'test/views/main/admin/highAvailability/journalNode/step3_view_test', + 'test/views/main/admin/highAvailability/journalNode/step5_view_test', 'test/views/common/host_progress_popup_body_view_test', 'test/views/common/configs/config_category_container_view_test', 'test/views/common/configs/service_config_layout_tab_compare_view_test', diff --git a/ambari-web/test/views/main/admin/highAvailability/journalNode/progress_view_test.js b/ambari-web/test/views/main/admin/highAvailability/journalNode/progress_view_test.js new file mode 100644 index 000..5547f8f --- /dev/null +++ b/ambari-web/test/views/main/admin/highAvailability/journalNode/progress_view_test.js @@ -0,0 +1,70 @@ +/** + * 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. + */ + + +var App = require('app'); +require('views/main/admin/highAvailability/journalNode/progress_view'); + +var view; + +describe('App.ManageJournalNodeProgressPageView', function () { + + beforeEach(function() { +view = App.ManageJournalNodeProgressPageView.create({ + controller: Em.Object.create({ +loadStep: sinon.spy() + }) +}); + }); + + describe("#didInsertElement()", function () { + +it("loadStep is called once", function () { + view.didInsertElement(); + expect(view.get('controller').loadStep.calledOnce).to.be.true; +}); + }); + + describe("#headerTitle", function () { +beforeEach(function () { + this.mock = sinon.stub(App.router, 'get'); +}); +afterEach(function () { + this.mock.restore(); +}); +it("currentStep is 1", function () { + this.mock.returns(1); + view.propertyDidChange('headerTitle'); + expect(view.get('headerTitle')).to.equal(Em.I18n.t('admin.manageJournalNode.wizard.step1.header')); +}); + }); + + describe("#noticeInProgress", function () { +beforeEach(function () { + this.mock = sinon.stub(App.router, 'get'); +}); +afterEach(function () { + this.mock.restore(); +}); +it("currentStep is 1", function () { + this.mock.returns(1); + view.propertyDidChange('noticeInProgress'); + expect(view.get('noticeInProgress')).to.equal(Em.I18n.t('admin.manageJournalNode.wizard.step1.notice.inProgress')); +}); + }); +}); diff --git a/ambari-web/test/views/main/admin/highAvailability/journalNode/step2_view_test.js b/ambari-web/test/views/main/admin/highAvailability/journalNode/step2_view_test.js new file mode 100644 index 000..d7219a7 --- /dev/null +++ b/ambari-web/test/views/main/admin/highAvailability/journalNode/step2_view_test.js @@ -0,0 +1,70 @@ +/** + * Licensed t
[ambari] 01/02: AMBARI-24824.Make cluster name inputs validation in Ambari UI consistent
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git commit 1e5a6cad60fc127fcc3808d71d52a94b29a659f4 Author: Aleksandr Kovalenko AuthorDate: Thu Oct 25 14:28:05 2018 +0300 AMBARI-24824.Make cluster name inputs validation in Ambari UI consistent --- .../ui/admin-web/app/scripts/i18n.config.js| 3 +- .../admin-web/app/styles/cluster-information.css | 6 ++-- .../app/views/clusters/clusterInformation.html | 33 +- .../app/controllers/wizard/step0_controller.js | 4 +-- ambari-web/test/controllers/wizard/step0_test.js | 16 ++- 5 files changed, 42 insertions(+), 20 deletions(-) diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/i18n.config.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/i18n.config.js index 42da1dd..a81189a 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/i18n.config.js +++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/i18n.config.js @@ -67,7 +67,7 @@ angular.module('ambariAdminConsole') 'common.yes': 'Yes', 'common.no': 'No', 'common.renameCluster': 'Rename Cluster', -'common.renameClusterTip': 'Only alpha-numeric characters, up to 80 characters', +'common.renameClusterTip': 'Only alpha-numeric characters, up to 100 characters', 'common.clusterCreationInProgress': 'Cluster creation in progress...', 'common.all': 'All', 'common.group': 'Group', @@ -143,6 +143,7 @@ angular.module('ambariAdminConsole') 'common.alerts.fieldRequired': 'Field required!', 'common.alerts.fieldIsRequired': 'This field is required.', 'common.alerts.noSpecialChars': 'Must not contain special characters!', +'common.alerts.noSpecialCharsAndNoEmpty': 'Must not contain special characters and not be empty!', 'common.alerts.nothingToDisplay': 'No {{term}} to display.', 'common.alerts.noRemoteClusterDisplay': 'No Remote Clusters to display.', 'common.alerts.noPrivileges': 'No {{term}} privileges', diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/styles/cluster-information.css b/ambari-admin/src/main/resources/ui/admin-web/app/styles/cluster-information.css index 519eeae..1eb50b7 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/styles/cluster-information.css +++ b/ambari-admin/src/main/resources/ui/admin-web/app/styles/cluster-information.css @@ -27,13 +27,13 @@ #cluster-information .dev-blueprint span { vertical-align: text-top; } - -#cluster-information .cluster-name input { +#cluster-information .cluster-name .cluster-input-block{ + float: left; width: 75%; } #cluster-information .cluster-name button { - margin-top: -34px; + float: right; } #cluster-information .cluster-name input.edited { diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/clusters/clusterInformation.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/clusters/clusterInformation.html index deb2879..f3af369 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/views/clusters/clusterInformation.html +++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/clusters/clusterInformation.html @@ -43,19 +43,26 @@ {{'views.clusterName' | translate}}* - + + + +{{'common.alerts.noSpecialCharsAndNoEmpty' | translate}} + + clusterNameError if validation fails */ invalidClusterName: function () { -var MAX_CLUSTER_NAME_LENGTH = 80; +var MAX_CLUSTER_NAME_LENGTH = 100; var clusterName = this.get('content.cluster.name'); if (clusterName == '' && this.get('hasSubmitted')) { this.set('clusterNameError', Em.I18n.t('installer.step0.clusterName.error.required')); @@ -46,7 +46,7 @@ App.WizardStep0Controller = Em.Controller.extend({ } else if (/\s/.test(clusterName)) { this.set('clusterNameError', Em.I18n.t('installer.step0.clusterName.error.whitespace')); return true; -} else if (/[^\w\s]/gi.test(clusterName)) { +} else if (/[^\w\-]/gi.test(clusterName)) { this.set('clusterNameError', Em.I18n.t('installer.step0.clusterName.error.specialChar')); return true; } else { diff --git a/ambari-web/test/controllers/wizard/step0_test.js b/ambari-web/test/controllers/wizard/step0_test.js index 53fea69..d3f4d88 100644 --- a/ambari-web/test/controllers/wizard/step0_test.js +++ b/ambari-web/test/controllers/wizard/step0_test.js @@ -51,7 +51,21 @@ describe('App.WizardStep0Controller', function () { wizardStep0Controller.set('hasSubmitted', true); wizardStep0Controller.set('content', {'cluster':{'name':'$cluster'}}); expect(wizardStep0Controller.get('invalidClusterName')).to.equal(true); -}) + wizardStep0Controller.set('content', {'cluster':{'name':']^cluster\\'}}); +
[ambari] branch trunk updated (816e24c -> c2680d4)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a change to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git. from 816e24c AMBARI-24822. TrimmingStrategy implementations should be singletons (#2512) new 1e5a6ca AMBARI-24824.Make cluster name inputs validation in Ambari UI consistent new c2680d4 AMBARI-24824.Make cluster name inputs validation in Ambari UI consistent. Additional fix The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../ui/admin-web/app/scripts/i18n.config.js| 3 +- .../admin-web/app/styles/cluster-information.css | 6 ++-- .../app/views/clusters/clusterInformation.html | 34 +- .../app/controllers/wizard/step0_controller.js | 4 +-- ambari-web/test/controllers/wizard/step0_test.js | 16 +- 5 files changed, 43 insertions(+), 20 deletions(-)
[ambari] 02/02: AMBARI-24824.Make cluster name inputs validation in Ambari UI consistent. Additional fix
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git commit c2680d47ccb2355ff39743ba1af4476111fac18f Author: Aleksandr Kovalenko AuthorDate: Thu Oct 25 15:18:29 2018 +0300 AMBARI-24824.Make cluster name inputs validation in Ambari UI consistent. Additional fix --- .../resources/ui/admin-web/app/views/clusters/clusterInformation.html| 1 + 1 file changed, 1 insertion(+) diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/clusters/clusterInformation.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/clusters/clusterInformation.html index f3af369..6c7c37e 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/views/clusters/clusterInformation.html +++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/clusters/clusterInformation.html @@ -65,6 +65,7 @@
[ambari] branch trunk updated: AMBARI-24787. Cover with unit tests wizard step7 views (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new e138e0e AMBARI-24787. Cover with unit tests wizard step7 views (akovalenko) e138e0e is described below commit e138e0eb23cdf9f55814659c28fb3aa83eb7f02d Author: Aleksandr Kovalenko AuthorDate: Wed Oct 17 13:20:45 2018 +0300 AMBARI-24787. Cover with unit tests wizard step7 views (akovalenko) --- ambari-web/app/assets/test/tests.js| 4 + .../views/wizard/step7/accounts_tab_view_test.js | 87 .../wizard/step7/credentials_tab_view_test.js | 129 + .../views/wizard/step7/databases_tab_view_test.js | 143 +++ .../wizard/step7/directories_tab_view_test.js | 152 + 5 files changed, 515 insertions(+) diff --git a/ambari-web/app/assets/test/tests.js b/ambari-web/app/assets/test/tests.js index 8e82792..f5af44d 100644 --- a/ambari-web/app/assets/test/tests.js +++ b/ambari-web/app/assets/test/tests.js @@ -421,6 +421,10 @@ var files = [ 'test/views/wizard/step9_view_test', 'test/views/wizard/step9/hostLogPopupBody_view_test', 'test/views/wizard/step7/assign_master_view_test', + 'test/views/wizard/step7/accounts_tab_view_test', + 'test/views/wizard/step7/credentials_tab_view_test', + 'test/views/wizard/step7/databases_tab_view_test', + 'test/views/wizard/step7/directories_tab_view_test', 'test/views/wizard/step10_view_test', 'test/views/application_test', 'test/views/installer_test', diff --git a/ambari-web/test/views/wizard/step7/accounts_tab_view_test.js b/ambari-web/test/views/wizard/step7/accounts_tab_view_test.js new file mode 100644 index 000..14069f4 --- /dev/null +++ b/ambari-web/test/views/wizard/step7/accounts_tab_view_test.js @@ -0,0 +1,87 @@ +/** + * 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. + */ + +const stepConfigsConfigArray = Em.A([ + Em.Object.create({name: 'hive_database', serviceName: 'Hive', displayType: 'user', value: 'New MySQL Database', editDone: false}), + Em.Object.create({name: 'tez_database', serviceName: 'Tez', displayType: 'user', value: 'Tez', editDone: false}), +]); +var App = require('app'); +var view, controller = Em.Object.create({ + stepConfigs: Em.A([Em.Object.create({ +serviceName: 'MISC', configs:stepConfigsConfigArray + }),]), + stepConfigsCreated: true, +}); + +function getView() { + return App.AccountsTabOnStep7View.create({ +'controller': controller + }); +} + +describe('App.AccountsTabOnStep7View', function () { + + beforeEach(function () { +view = getView(); + }); + describe('#property subscription', function () { +it('should return properties', function () { + expect(JSON.stringify(view.get('properties'))).to.be.equal(JSON.stringify(stepConfigsConfigArray)); + +}) + }); + describe('#propertyChanged', function () { +beforeEach(function () { + view.reopen({ +properties: stepConfigsConfigArray + }); + sinon.stub(view, 'showConfirmationDialogIfShouldChangeProps').returns(true); +}); + +afterEach(function () { + view.showConfirmationDialogIfShouldChangeProps.restore(); +}); +it('showConfirmationDialogIfShouldChangeProps shouldn\'t be cleed', function () { + view.propertyChanged(); + expect(view.showConfirmationDialogIfShouldChangeProps.called).to.be.equal(false); +}); +it('should call showConfirmationDialogIfShouldChangeProps with certain properties', function () { + var updatedConfig = Em.Object.create({name: 'tez_database', serviceName: 'Tez', displayType: 'user', value: 'Tez', editDone: true}); + controller.set('stepConfigs.configs', updatedConfig); + view.set('properties', [updatedConfig]); + expect(view.showConfirmationDialogIfShouldChangeProps.calledOnce).to.be.equal(true); + expect(view.showConfirmationDialogIfShouldChangeProps.calledWith(updatedConfig, controller.get('stepConfigs'), updatedConfig.get('serviceName'))).to.be.equal(true); +}); + }); + + describe('#checkboxes sub
[ambari] branch trunk updated: AMBARI-23771. Customize Services - Alignment between Final/Set Recommended buttons and text boxes not proper in new tabs (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 44436e1 AMBARI-23771. Customize Services - Alignment between Final/Set Recommended buttons and text boxes not proper in new tabs (akovalenko) 44436e1 is described below commit 44436e1d5e0d28e07285c7b506cf596748ce85fc Author: Aleksandr Kovalenko AuthorDate: Thu Sep 27 18:23:53 2018 +0300 AMBARI-23771. Customize Services - Alignment between Final/Set Recommended buttons and text boxes not proper in new tabs (akovalenko) --- ambari-web/app/styles/service_configurations.less | 1 + 1 file changed, 1 insertion(+) diff --git a/ambari-web/app/styles/service_configurations.less b/ambari-web/app/styles/service_configurations.less index ea5d53b..7bde577 100644 --- a/ambari-web/app/styles/service_configurations.less +++ b/ambari-web/app/styles/service_configurations.less @@ -371,6 +371,7 @@ .password-field-wrapper { width: 75%; display: inline-block; + float: left; .row { padding: 0; }
[ambari] branch trunk updated (b497744 -> 7b5fd0a)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a change to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git. from b497744 AMBARI-24717. Ambari-agent does for save data hashes correctly (aonishuk) add 7b5fd0a AMBARI-24704. Problems with accounts page when sysprep_skip_create_users_and_groups is absent (akovalenko) No new revisions were added by this update. Summary of changes: ambari-web/app/views/wizard/step7/accounts_tab_view.js | 11 ++- 1 file changed, 6 insertions(+), 5 deletions(-)
[ambari] branch trunk updated: AMBARI-24676. Issues w.r.t Manage Journal Nodes (Particularly deletion) in HA enabled cluster (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new aca66a0 AMBARI-24676. Issues w.r.t Manage Journal Nodes (Particularly deletion) in HA enabled cluster (akovalenko) aca66a0 is described below commit aca66a0175881e0a4739c8a52ed0e6e015e3376b Author: Aleksandr Kovalenko AuthorDate: Mon Sep 24 02:53:33 2018 +0300 AMBARI-24676. Issues w.r.t Manage Journal Nodes (Particularly deletion) in HA enabled cluster (akovalenko) --- .../journalNode/step2_controller.js| 60 ++ .../journalNode/step2_controller_test.js | 37 ++--- 2 files changed, 81 insertions(+), 16 deletions(-) diff --git a/ambari-web/app/controllers/main/admin/highAvailability/journalNode/step2_controller.js b/ambari-web/app/controllers/main/admin/highAvailability/journalNode/step2_controller.js index 108c97a..32fd198 100644 --- a/ambari-web/app/controllers/main/admin/highAvailability/journalNode/step2_controller.js +++ b/ambari-web/app/controllers/main/admin/highAvailability/journalNode/step2_controller.js @@ -35,7 +35,15 @@ App.ManageJournalNodeWizardStep2Controller = Em.Controller.extend({ selectedService: null, stepConfigs: [], serverConfigData: {}, - moveJNConfig: $.extend(true, {}, require('data/configs/wizards/move_journal_node_properties').moveJNConfig), + moveJNConfig: { +serviceName: 'MISC', +displayName: 'MISC', +configCategories: [ + App.ServiceConfigCategory.create({name: 'HDFS', displayName: 'HDFS'}) +], +sites: ['hdfs-site'], +configs: [] + }, once: false, isLoaded: false, versionLoaded: true, @@ -83,8 +91,8 @@ App.ManageJournalNodeWizardStep2Controller = Em.Controller.extend({ onLoadConfigs: function (data) { this.set('serverConfigData', data); this.set('content.nameServiceId', data.items[0].properties['dfs.nameservices']); -this.tweakServiceConfigs(this.get('moveJNConfig.configs')); -this.renderServiceConfigs(this.get('moveJNConfig')); +this.tweakServiceConfigs(); +this.renderServiceConfigs(); this.set('isLoaded', true); }, @@ -113,19 +121,51 @@ App.ManageJournalNodeWizardStep2Controller = Em.Controller.extend({ return localDB; }, - tweakServiceConfigs: function (configs) { + tweakServiceConfigs: function () { var localDB = this._prepareLocalDB(); var dependencies = this._prepareDependencies(); +if (App.get('hasNameNodeFederation')) { + this.setNameSpaceConfigs(); +} else { + this.get('moveJNConfig').configs.pushObject({ +"name": "dfs.namenode.shared.edits.dir", +"displayName": "dfs.namenode.shared.edits.dir", +"description": " The URI which identifies the group of JNs where the NameNodes will write/read edits.", +"isReconfigurable": false, +"recommendedValue": "qjournal://node1.example.com:8485;node2.example.com:8485;node3.example.com:8485/mycluster", +"value": "qjournal://node1.example.com:8485;node2.example.com:8485;node3.example.com:8485/mycluster", +"category": "HDFS", +"filename": "hdfs-site", +"serviceName": 'MISC' + }); + this.get('moveJNConfig.configs').forEach(function (config) { +App.NnHaConfigInitializer.initialValue(config, localDB, dependencies); +config.isOverridable = false; + }); +} + }, -configs.forEach(function (config) { - App.NnHaConfigInitializer.initialValue(config, localDB, dependencies); - config.isOverridable = false; + setNameSpaceConfigs: function () { +const namespaces = this.get('content.nameServiceId').split(','); +const namespaceConfigValue = this.get('content.masterComponentHosts').filterProperty('component', 'JOURNALNODE').map(function (node) { + return node.hostName + ':8485' +}).join(';'); +namespaces.forEach((namespace) => { + this.get('moveJNConfig.configs').pushObject({ +"name": "dfs.namenode.shared.edits.dir." + namespace, +"displayName": "dfs.namenode.shared.edits.dir." + namespace, +"isReconfigurable": false, +"recommendedValue": "qjournal://" + namespaceConfigValue + '/' + namespace, +"value": "qjournal://" + namespaceConfigValue + '/' + namespace, +"category": "HDFS", +"filename": "hdfs-site", +"serviceName": 'MISC' + }); }); - -return configs; }, - renderServiceConfigs: function (_serviceConfig) { + renderServiceConfigs: function () { +var _serviceC
[ambari] 02/02: AMBARI-24635. Web Client Chooses Wrong Version When Reverting Configs (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git commit f4417ffa9b81c0072181295a6738129cf6a61bd8 Author: Aleksandr Kovalenko AuthorDate: Fri Sep 14 18:36:40 2018 +0300 AMBARI-24635. Web Client Chooses Wrong Version When Reverting Configs (akovalenko) --- .../common/configs/config_versions_control_view_test.js | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ambari-web/test/views/common/configs/config_versions_control_view_test.js b/ambari-web/test/views/common/configs/config_versions_control_view_test.js index c3d2372..eff49ae 100644 --- a/ambari-web/test/views/common/configs/config_versions_control_view_test.js +++ b/ambari-web/test/views/common/configs/config_versions_control_view_test.js @@ -101,12 +101,12 @@ describe('App.ConfigVersionsControlView', function () { view.sendRevertCall.restore(); }); it('context passed', function () { - view.makeCurrent({contexts: [ -Em.Object.create({ - version: 1, - serviceName: 'S1' -}) - ]}); + view.set('displayedServiceVersion', Em.Object.create({ +version: 1, +serviceName: 'S1' + })); + + view.makeCurrent(); expect(App.ModalPopup.show.calledOnce).to.be.true; expect(view.sendRevertCall.calledWith(Em.Object.create({
[ambari] branch trunk updated (9d307c8 -> f4417ff)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a change to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git. from 9d307c8 AMBARI-24644. Log Search: support trusted knox proxy. (#2327) new 60f0b5e AMBARI-24635. Web Client Chooses Wrong Version When Reverting Configs (akovalenko) new f4417ff AMBARI-24635. Web Client Chooses Wrong Version When Reverting Configs (akovalenko) The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../app/templates/common/configs/config_versions_control.hbs | 2 +- .../app/views/common/configs/config_versions_control_view.js | 4 ++-- .../common/configs/config_versions_control_view_test.js | 12 ++-- 3 files changed, 9 insertions(+), 9 deletions(-)
[ambari] 01/02: AMBARI-24635. Web Client Chooses Wrong Version When Reverting Configs (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch branch-2.7 in repository https://gitbox.apache.org/repos/asf/ambari.git commit 74d801e99a58f5cb7d0bf6176fe1af19a1f4e8e8 Author: Aleksandr Kovalenko AuthorDate: Thu Sep 13 19:18:37 2018 +0300 AMBARI-24635. Web Client Chooses Wrong Version When Reverting Configs (akovalenko) --- ambari-web/app/templates/common/configs/config_versions_control.hbs | 2 +- ambari-web/app/views/common/configs/config_versions_control_view.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ambari-web/app/templates/common/configs/config_versions_control.hbs b/ambari-web/app/templates/common/configs/config_versions_control.hbs index e5dbcef..90b3083 100644 --- a/ambari-web/app/templates/common/configs/config_versions_control.hbs +++ b/ambari-web/app/templates/common/configs/config_versions_control.hbs @@ -34,7 +34,7 @@ {{else}} {{view App.ConfigVersionsDropdownView serviceVersionsBinding="view.serviceVersions"}} {{#unless view.displayedServiceVersion.isCurrent}} - + {{t dashboard.configHistory.info-bar.revert.button}} {{/unless}} diff --git a/ambari-web/app/views/common/configs/config_versions_control_view.js b/ambari-web/app/views/common/configs/config_versions_control_view.js index 5fb9732..6cf4523 100644 --- a/ambari-web/app/views/common/configs/config_versions_control_view.js +++ b/ambari-web/app/views/common/configs/config_versions_control_view.js @@ -155,9 +155,9 @@ App.ConfigVersionsControlView = Em.View.extend({ /** * revert config values to chosen version and apply reverted configs to server */ - makeCurrent: function (event) { + makeCurrent: function () { const self = this; -const serviceConfigVersion = event.contexts[0]; +const serviceConfigVersion = this.get('displayedServiceVersion'); const versionText = serviceConfigVersion.get('versionText'); return App.ModalPopup.show({ header: Em.I18n.t('dashboard.configHistory.info-bar.makeCurrent.popup.title'),
[ambari] 01/02: AMBARI-24635. Web Client Chooses Wrong Version When Reverting Configs (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git commit 60f0b5edb2e5d53e47b008148678c56d5ff47b0e Author: Aleksandr Kovalenko AuthorDate: Thu Sep 13 19:18:37 2018 +0300 AMBARI-24635. Web Client Chooses Wrong Version When Reverting Configs (akovalenko) --- ambari-web/app/templates/common/configs/config_versions_control.hbs | 2 +- ambari-web/app/views/common/configs/config_versions_control_view.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ambari-web/app/templates/common/configs/config_versions_control.hbs b/ambari-web/app/templates/common/configs/config_versions_control.hbs index e5dbcef..90b3083 100644 --- a/ambari-web/app/templates/common/configs/config_versions_control.hbs +++ b/ambari-web/app/templates/common/configs/config_versions_control.hbs @@ -34,7 +34,7 @@ {{else}} {{view App.ConfigVersionsDropdownView serviceVersionsBinding="view.serviceVersions"}} {{#unless view.displayedServiceVersion.isCurrent}} - + {{t dashboard.configHistory.info-bar.revert.button}} {{/unless}} diff --git a/ambari-web/app/views/common/configs/config_versions_control_view.js b/ambari-web/app/views/common/configs/config_versions_control_view.js index 5fb9732..6cf4523 100644 --- a/ambari-web/app/views/common/configs/config_versions_control_view.js +++ b/ambari-web/app/views/common/configs/config_versions_control_view.js @@ -155,9 +155,9 @@ App.ConfigVersionsControlView = Em.View.extend({ /** * revert config values to chosen version and apply reverted configs to server */ - makeCurrent: function (event) { + makeCurrent: function () { const self = this; -const serviceConfigVersion = event.contexts[0]; +const serviceConfigVersion = this.get('displayedServiceVersion'); const versionText = serviceConfigVersion.get('versionText'); return App.ModalPopup.show({ header: Em.I18n.t('dashboard.configHistory.info-bar.makeCurrent.popup.title'),
[ambari] branch branch-2.7 updated (57df9fe -> 9177549)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a change to branch branch-2.7 in repository https://gitbox.apache.org/repos/asf/ambari.git. from 57df9fe AMBARI-24638. Ambari-agent process consuming more memory. (aonishuk) new 74d801e AMBARI-24635. Web Client Chooses Wrong Version When Reverting Configs (akovalenko) new 9177549 AMBARI-24635. Web Client Chooses Wrong Version When Reverting Configs (akovalenko) The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../app/templates/common/configs/config_versions_control.hbs | 2 +- .../app/views/common/configs/config_versions_control_view.js | 4 ++-- .../common/configs/config_versions_control_view_test.js | 12 ++-- 3 files changed, 9 insertions(+), 9 deletions(-)
[ambari] 02/02: AMBARI-24635. Web Client Chooses Wrong Version When Reverting Configs (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch branch-2.7 in repository https://gitbox.apache.org/repos/asf/ambari.git commit 9177549950acb645a73b3e0d9bccfc1e81232a69 Author: Aleksandr Kovalenko AuthorDate: Fri Sep 14 18:36:40 2018 +0300 AMBARI-24635. Web Client Chooses Wrong Version When Reverting Configs (akovalenko) --- .../common/configs/config_versions_control_view_test.js | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ambari-web/test/views/common/configs/config_versions_control_view_test.js b/ambari-web/test/views/common/configs/config_versions_control_view_test.js index c3d2372..eff49ae 100644 --- a/ambari-web/test/views/common/configs/config_versions_control_view_test.js +++ b/ambari-web/test/views/common/configs/config_versions_control_view_test.js @@ -101,12 +101,12 @@ describe('App.ConfigVersionsControlView', function () { view.sendRevertCall.restore(); }); it('context passed', function () { - view.makeCurrent({contexts: [ -Em.Object.create({ - version: 1, - serviceName: 'S1' -}) - ]}); + view.set('displayedServiceVersion', Em.Object.create({ +version: 1, +serviceName: 'S1' + })); + + view.makeCurrent(); expect(App.ModalPopup.show.calledOnce).to.be.true; expect(view.sendRevertCall.calledWith(Em.Object.create({
[ambari] 02/02: AMBARI-24628. Fix possible "Phishing by Navigating Browser Tabs" vulnerability (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch branch-2.7 in repository https://gitbox.apache.org/repos/asf/ambari.git commit f8c700fc9d5a4bffc00ca173a5f61ebea841a4bc Author: Aleksandr Kovalenko AuthorDate: Thu Sep 13 13:34:15 2018 +0300 AMBARI-24628. Fix possible "Phishing by Navigating Browser Tabs" vulnerability (akovalenko) --- ambari-web/app/templates/main/dashboard/widgets/hdfs_links.hbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ambari-web/app/templates/main/dashboard/widgets/hdfs_links.hbs b/ambari-web/app/templates/main/dashboard/widgets/hdfs_links.hbs index 7e482b0..0b4a673 100644 --- a/ambari-web/app/templates/main/dashboard/widgets/hdfs_links.hbs +++ b/ambari-web/app/templates/main/dashboard/widgets/hdfs_links.hbs @@ -109,7 +109,7 @@ {{/each}} {{else}} {{#each view.quickLinks}} - {{label}} + {{label}} {{/each}} {{/if}} {{else}}
[ambari] branch branch-2.7 updated (a5736fa -> f8c700f)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a change to branch branch-2.7 in repository https://gitbox.apache.org/repos/asf/ambari.git. from a5736fa AMBARI-24623. hdfsResource fails to using nameservices for filesystems which does not support that (aonishuk) new c0108ad AMBARI-24628. Fix possible "Phishing by Navigating Browser Tabs" vulnerability (akovalenko) new f8c700f AMBARI-24628. Fix possible "Phishing by Navigating Browser Tabs" vulnerability (akovalenko) The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: ambari-web/app/messages.js | 4 ++-- ambari-web/app/templates/common/host_progress_popup.hbs | 2 +- ambari-web/app/templates/common/modal_popups/log_tail_popup.hbs | 2 +- ambari-web/app/templates/main/alerts/definition_details.hbs | 2 +- ambari-web/app/templates/main/dashboard/widgets/hbase_links.hbs | 6 +++--- ambari-web/app/templates/main/dashboard/widgets/hdfs_links.hbs | 4 ++-- ambari-web/app/templates/main/dashboard/widgets/yarn_links.hbs | 4 ++-- ambari-web/app/templates/main/host/logs.hbs | 2 +- ambari-web/app/templates/main/service/info/summary.hbs | 4 ++-- 9 files changed, 15 insertions(+), 15 deletions(-)
[ambari] 01/02: AMBARI-24628. Fix possible "Phishing by Navigating Browser Tabs" vulnerability (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch branch-2.7 in repository https://gitbox.apache.org/repos/asf/ambari.git commit c0108addcb41f4d185293d347003e62ee8f687ce Author: Aleksandr Kovalenko AuthorDate: Thu Sep 13 13:12:37 2018 +0300 AMBARI-24628. Fix possible "Phishing by Navigating Browser Tabs" vulnerability (akovalenko) --- ambari-web/app/messages.js | 4 ++-- ambari-web/app/templates/common/host_progress_popup.hbs | 2 +- ambari-web/app/templates/common/modal_popups/log_tail_popup.hbs | 2 +- ambari-web/app/templates/main/alerts/definition_details.hbs | 2 +- ambari-web/app/templates/main/dashboard/widgets/hbase_links.hbs | 6 +++--- ambari-web/app/templates/main/dashboard/widgets/hdfs_links.hbs | 4 ++-- ambari-web/app/templates/main/dashboard/widgets/yarn_links.hbs | 4 ++-- ambari-web/app/templates/main/host/logs.hbs | 2 +- ambari-web/app/templates/main/service/info/summary.hbs | 4 ++-- 9 files changed, 15 insertions(+), 15 deletions(-) diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js index 6883dc5..81f62e9 100644 --- a/ambari-web/app/messages.js +++ b/ambari-web/app/messages.js @@ -29,7 +29,7 @@ Em.I18n.translations = { 'app.redirectIssuePopup.header': 'Login Redirect Issue', 'app.redirectIssuePopup.body': 'For single sign-on, make sure that Knox Gateway and Ambari Server are located on the same host or subdomain.' + 'Alternatively login as an Ambari local user using the local login page.' + -'{0}', +'{0}', 'app.loadingPlaceholder': 'Loading...', 'app.versionMismatchAlert.title': 'Ambari Server / Web Client Version Mismatch', @@ -2349,7 +2349,7 @@ Em.I18n.translations = { 'services.service.config.configHistory.makeCurrent.message': 'Created from service config version {0}', 'services.service.config.configHistory.comparing': 'Comparing Changes in', 'services.service.config.setRecommendedValue': 'Set Recommended', - 'services.service.config.database.msg.jdbcSetup.detailed': 'To use {0} with {6}, you must ' + + 'services.service.config.database.msg.jdbcSetup.detailed': 'To use {0} with {6}, you must ' + 'download the {4} from {0}. Once downloaded to the Ambari Server host, run: ' + 'ambari-server setup --jdbc-db={1} --jdbc-driver=/path/to/{1}/{2}', diff --git a/ambari-web/app/templates/common/host_progress_popup.hbs b/ambari-web/app/templates/common/host_progress_popup.hbs index ec36333..a7e3b98 100644 --- a/ambari-web/app/templates/common/host_progress_popup.hbs +++ b/ambari-web/app/templates/common/host_progress_popup.hbs @@ -343,7 +343,7 @@ {{hostLog.fileName}} {{#view App.LogSearchUILinkView linkQueryParamsBinding="hostLog.linkTail" tagName="span"}} + target="_blank" rel="noopener noreferrer"> {{t popup.logTail.openInLogSearch}} {{/view}} diff --git a/ambari-web/app/templates/common/modal_popups/log_tail_popup.hbs b/ambari-web/app/templates/common/modal_popups/log_tail_popup.hbs index 1b0a6d0..2f42c6e 100644 --- a/ambari-web/app/templates/common/modal_popups/log_tail_popup.hbs +++ b/ambari-web/app/templates/common/modal_popups/log_tail_popup.hbs @@ -29,7 +29,7 @@ {{t common.open}} - + {{t popup.logTail.openInLogSearch}} diff --git a/ambari-web/app/templates/main/alerts/definition_details.hbs b/ambari-web/app/templates/main/alerts/definition_details.hbs index 7423cb0..e721db7 100644 --- a/ambari-web/app/templates/main/alerts/definition_details.hbs +++ b/ambari-web/app/templates/main/alerts/definition_details.hbs @@ -193,7 +193,7 @@ {{#if controller.content.hasHelpUrl}} {{t alerts.table.header.helpUrl}}: - {{t common.link}} + {{t common.link}} {{/if}} diff --git a/ambari-web/app/templates/main/dashboard/widgets/hbase_links.hbs b/ambari-web/app/templates/main/dashboard/widgets/hbase_links.hbs index fe7cad4..8fb2b89 100644 --- a/ambari-web/app/templates/main/dashboard/widgets/hbase_links.hbs +++ b/ambari-web/app/templates/main/dashboard/widgets/hbase_links.hbs @@ -54,7 +54,7 @@ {{#if view.activeMaster}} {{t dashboard.services.hbase.masterWebUI}} + target="_blank" rel="noopener noreferrer">{{t dashboard.services.hbase.masterWebUI}} {{else}} {{t services.service.summary.notAvailable}} {{/if}} @@ -81,7 +81,7 @@ {{quickLinks.publicHostNameLabel}}
[ambari] 02/02: AMBARI-24628. Fix possible "Phishing by Navigating Browser Tabs" vulnerability (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git commit e3c3e34b317009d39a1e795c1c5c01767e69bbfb Author: Aleksandr Kovalenko AuthorDate: Thu Sep 13 13:36:02 2018 +0300 AMBARI-24628. Fix possible "Phishing by Navigating Browser Tabs" vulnerability (akovalenko) --- ambari-web/app/templates/main/dashboard/widgets/hdfs_links.hbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ambari-web/app/templates/main/dashboard/widgets/hdfs_links.hbs b/ambari-web/app/templates/main/dashboard/widgets/hdfs_links.hbs index 7e482b0..0b4a673 100644 --- a/ambari-web/app/templates/main/dashboard/widgets/hdfs_links.hbs +++ b/ambari-web/app/templates/main/dashboard/widgets/hdfs_links.hbs @@ -109,7 +109,7 @@ {{/each}} {{else}} {{#each view.quickLinks}} - {{label}} + {{label}} {{/each}} {{/if}} {{else}}
[ambari] branch trunk updated: AMBARI-24621. Badge with count of empty or invalid properties are missed ar the services panel during cluster installation (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new ffeaf06 AMBARI-24621. Badge with count of empty or invalid properties are missed ar the services panel during cluster installation (akovalenko) ffeaf06 is described below commit ffeaf06c625046a554ca7e0f422dae3a9c109100 Author: Aleksandr Kovalenko AuthorDate: Tue Sep 11 19:54:23 2018 +0300 AMBARI-24621. Badge with count of empty or invalid properties are missed ar the services panel during cluster installation (akovalenko) --- ambari-web/app/controllers/installer.js | 2 +- ambari-web/app/templates/common/configs/services_config.hbs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ambari-web/app/controllers/installer.js b/ambari-web/app/controllers/installer.js index 06da057..82aa615 100644 --- a/ambari-web/app/controllers/installer.js +++ b/ambari-web/app/controllers/installer.js @@ -738,7 +738,7 @@ App.InstallerController = App.WizardController.extend(App.Persist, { existedOS.isSelected = true; existedMap[existedOS.OperatingSystems.os_type] = existedOS; }); -if (response.Versions['stack-errors'] && response.Versions['stack-errors'].length) { +if (response.Versions && response.Versions['stack-errors'] && response.Versions['stack-errors'].length) { this.showStackErrorAndSkipStepIfNeeded(response); return; } diff --git a/ambari-web/app/templates/common/configs/services_config.hbs b/ambari-web/app/templates/common/configs/services_config.hbs index 23718bc..916701f 100644 --- a/ambari-web/app/templates/common/configs/services_config.hbs +++ b/ambari-web/app/templates/common/configs/services_config.hbs @@ -28,10 +28,10 @@ {{formatRole tab.serviceName}} - {{#if tab.errorsCount}} + {{#if tab.configsWithErrors}} -{{tab.errorsCount}} +{{tab.configsWithErrors.length}} {{/if}}
[ambari] 01/02: AMBARI-24628. Fix possible "Phishing by Navigating Browser Tabs" vulnerability (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git commit 8c9b50cdd4e091312277067bf4c142deb23c8f16 Author: Aleksandr Kovalenko AuthorDate: Thu Sep 13 13:10:18 2018 +0300 AMBARI-24628. Fix possible "Phishing by Navigating Browser Tabs" vulnerability (akovalenko) --- ambari-web/app/messages.js | 4 ++-- ambari-web/app/templates/common/host_progress_popup.hbs | 2 +- ambari-web/app/templates/common/modal_popups/log_tail_popup.hbs | 2 +- ambari-web/app/templates/main/alerts/definition_details.hbs | 2 +- ambari-web/app/templates/main/dashboard/widgets/hbase_links.hbs | 6 +++--- ambari-web/app/templates/main/dashboard/widgets/hdfs_links.hbs | 4 ++-- ambari-web/app/templates/main/dashboard/widgets/yarn_links.hbs | 4 ++-- ambari-web/app/templates/main/host/logs.hbs | 2 +- ambari-web/app/templates/main/service/info/summary.hbs | 4 ++-- 9 files changed, 15 insertions(+), 15 deletions(-) diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js index c58ea6a..4b8deb5 100644 --- a/ambari-web/app/messages.js +++ b/ambari-web/app/messages.js @@ -29,7 +29,7 @@ Em.I18n.translations = { 'app.redirectIssuePopup.header': 'Login Redirect Issue', 'app.redirectIssuePopup.body': 'For single sign-on, make sure that Knox Gateway and Ambari Server are located on the same host or subdomain.' + 'Alternatively login as an Ambari local user using the local login page.' + -'{0}', +'{0}', 'app.loadingPlaceholder': 'Loading...', 'app.versionMismatchAlert.title': 'Ambari Server / Web Client Version Mismatch', @@ -2353,7 +2353,7 @@ Em.I18n.translations = { 'services.service.config.configHistory.makeCurrent.message': 'Created from service config version {0}', 'services.service.config.configHistory.comparing': 'Comparing Changes in', 'services.service.config.setRecommendedValue': 'Set Recommended', - 'services.service.config.database.msg.jdbcSetup.detailed': 'To use {0} with {6}, you must ' + + 'services.service.config.database.msg.jdbcSetup.detailed': 'To use {0} with {6}, you must ' + 'download the {4} from {0}. Once downloaded to the Ambari Server host, run: ' + 'ambari-server setup --jdbc-db={1} --jdbc-driver=/path/to/{1}/{2}', diff --git a/ambari-web/app/templates/common/host_progress_popup.hbs b/ambari-web/app/templates/common/host_progress_popup.hbs index ec36333..a7e3b98 100644 --- a/ambari-web/app/templates/common/host_progress_popup.hbs +++ b/ambari-web/app/templates/common/host_progress_popup.hbs @@ -343,7 +343,7 @@ {{hostLog.fileName}} {{#view App.LogSearchUILinkView linkQueryParamsBinding="hostLog.linkTail" tagName="span"}} + target="_blank" rel="noopener noreferrer"> {{t popup.logTail.openInLogSearch}} {{/view}} diff --git a/ambari-web/app/templates/common/modal_popups/log_tail_popup.hbs b/ambari-web/app/templates/common/modal_popups/log_tail_popup.hbs index 1b0a6d0..2f42c6e 100644 --- a/ambari-web/app/templates/common/modal_popups/log_tail_popup.hbs +++ b/ambari-web/app/templates/common/modal_popups/log_tail_popup.hbs @@ -29,7 +29,7 @@ {{t common.open}} - + {{t popup.logTail.openInLogSearch}} diff --git a/ambari-web/app/templates/main/alerts/definition_details.hbs b/ambari-web/app/templates/main/alerts/definition_details.hbs index 7423cb0..e721db7 100644 --- a/ambari-web/app/templates/main/alerts/definition_details.hbs +++ b/ambari-web/app/templates/main/alerts/definition_details.hbs @@ -193,7 +193,7 @@ {{#if controller.content.hasHelpUrl}} {{t alerts.table.header.helpUrl}}: - {{t common.link}} + {{t common.link}} {{/if}} diff --git a/ambari-web/app/templates/main/dashboard/widgets/hbase_links.hbs b/ambari-web/app/templates/main/dashboard/widgets/hbase_links.hbs index fe7cad4..8fb2b89 100644 --- a/ambari-web/app/templates/main/dashboard/widgets/hbase_links.hbs +++ b/ambari-web/app/templates/main/dashboard/widgets/hbase_links.hbs @@ -54,7 +54,7 @@ {{#if view.activeMaster}} {{t dashboard.services.hbase.masterWebUI}} + target="_blank" rel="noopener noreferrer">{{t dashboard.services.hbase.masterWebUI}} {{else}} {{t services.service.summary.notAvailable}} {{/if}} @@ -81,7 +81,7 @@ {{quickLinks.publicHostNameLabel}}
[ambari] branch trunk updated (ffeaf06 -> e3c3e34)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a change to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git. from ffeaf06 AMBARI-24621. Badge with count of empty or invalid properties are missed ar the services panel during cluster installation (akovalenko) new 8c9b50c AMBARI-24628. Fix possible "Phishing by Navigating Browser Tabs" vulnerability (akovalenko) new e3c3e34 AMBARI-24628. Fix possible "Phishing by Navigating Browser Tabs" vulnerability (akovalenko) The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: ambari-web/app/messages.js | 4 ++-- ambari-web/app/templates/common/host_progress_popup.hbs | 2 +- ambari-web/app/templates/common/modal_popups/log_tail_popup.hbs | 2 +- ambari-web/app/templates/main/alerts/definition_details.hbs | 2 +- ambari-web/app/templates/main/dashboard/widgets/hbase_links.hbs | 6 +++--- ambari-web/app/templates/main/dashboard/widgets/hdfs_links.hbs | 4 ++-- ambari-web/app/templates/main/dashboard/widgets/yarn_links.hbs | 4 ++-- ambari-web/app/templates/main/host/logs.hbs | 2 +- ambari-web/app/templates/main/service/info/summary.hbs | 4 ++-- 9 files changed, 15 insertions(+), 15 deletions(-)
[ambari] branch trunk updated: AMBARI-24597. Popup shown when Ambari started on a different port other than 8080 (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 4b60f5c AMBARI-24597. Popup shown when Ambari started on a different port other than 8080 (akovalenko) 4b60f5c is described below commit 4b60f5ce03a44f320a252dbb8ab88c078d54a345 Author: Aleksandr Kovalenko AuthorDate: Thu Sep 6 13:07:24 2018 +0300 AMBARI-24597. Popup shown when Ambari started on a different port other than 8080 (akovalenko) --- ambari-admin/src/main/resources/ui/admin-web/app/scripts/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/app.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/app.js index 98b0383..f68a1cf 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/app.js +++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/app.js @@ -28,7 +28,7 @@ angular.module('ambariAdminConsole', [ .constant('Settings', { siteRoot: '{proxy_root}/'.replace(/\{.+\}/g, ''), baseUrl: '{proxy_root}/api/v1'.replace(/\{.+\}/g, ''), - testMode: (window.location.port == 8000), + testMode: false, mockDataPrefix: 'assets/data/', isLDAPConfigurationSupported: false, isLoginActivitiesSupported: false,
[ambari] branch branch-2.7 updated: AMBARI-24597. Popup shown when Ambari started on a different port other than 8080 (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch branch-2.7 in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/branch-2.7 by this push: new c9e98f9 AMBARI-24597. Popup shown when Ambari started on a different port other than 8080 (akovalenko) c9e98f9 is described below commit c9e98f9fa2956a51a580d9e44e62d561e243f7ab Author: Aleksandr Kovalenko AuthorDate: Thu Sep 6 13:07:24 2018 +0300 AMBARI-24597. Popup shown when Ambari started on a different port other than 8080 (akovalenko) --- ambari-admin/src/main/resources/ui/admin-web/app/scripts/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/app.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/app.js index 98b0383..f68a1cf 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/app.js +++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/app.js @@ -28,7 +28,7 @@ angular.module('ambariAdminConsole', [ .constant('Settings', { siteRoot: '{proxy_root}/'.replace(/\{.+\}/g, ''), baseUrl: '{proxy_root}/api/v1'.replace(/\{.+\}/g, ''), - testMode: (window.location.port == 8000), + testMode: false, mockDataPrefix: 'assets/data/', isLDAPConfigurationSupported: false, isLoginActivitiesSupported: false,
[ambari] branch trunk updated: AMBARI-24598. Broken markup for alert on Installer Step7 (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 96faa4e AMBARI-24598. Broken markup for alert on Installer Step7 (akovalenko) 96faa4e is described below commit 96faa4efbf438d1e224583767bab42a0bf1ba5de Author: Aleksandr Kovalenko AuthorDate: Thu Sep 6 13:46:41 2018 +0300 AMBARI-24598. Broken markup for alert on Installer Step7 (akovalenko) --- ambari-web/app/styles/wizard.less | 7 ++- ambari-web/app/templates/common/configs/services_config.hbs | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ambari-web/app/styles/wizard.less b/ambari-web/app/styles/wizard.less index b367b9e..8341bb6 100644 --- a/ambari-web/app/styles/wizard.less +++ b/ambari-web/app/styles/wizard.less @@ -995,6 +995,11 @@ overflow: hidden; } } +.service-config-alert { + float: left; + width: 100%; + margin-bottom: 20px; +} #directories { .config-actions { @@ -1240,4 +1245,4 @@ input[type="checkbox"] + label:before { border-color: #99; } -} \ No newline at end of file +} diff --git a/ambari-web/app/templates/common/configs/services_config.hbs b/ambari-web/app/templates/common/configs/services_config.hbs index 31914a1..23718bc 100644 --- a/ambari-web/app/templates/common/configs/services_config.hbs +++ b/ambari-web/app/templates/common/configs/services_config.hbs @@ -95,14 +95,14 @@ {{/if}} {{#if hasChangedDependencies}} {{#unless controller.isInstallWizard}} - + {{dependenciesMessage}} {{t common.showDetails}} {{/unless}} {{/if}} {{#if showSelectGroupsPopup}} - + {{dependenciesGroupMessage}} {{t common.showDetails}}
[ambari] branch trunk updated: AMBARI-24554 UX issues with yarn containers widget (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 160b6a0 AMBARI-24554 UX issues with yarn containers widget (akovalenko) 160b6a0 is described below commit 160b6a043bdb918560fc7475d3f0ab97d7abf6e5 Author: Aleksandr Kovalenko AuthorDate: Tue Aug 28 18:24:44 2018 +0300 AMBARI-24554 UX issues with yarn containers widget (akovalenko) --- ambari-web/app/views/main/dashboard/widgets/yarn_containers.js | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ambari-web/app/views/main/dashboard/widgets/yarn_containers.js b/ambari-web/app/views/main/dashboard/widgets/yarn_containers.js index c4186c5..0369746 100644 --- a/ambari-web/app/views/main/dashboard/widgets/yarn_containers.js +++ b/ambari-web/app/views/main/dashboard/widgets/yarn_containers.js @@ -21,7 +21,7 @@ var App = require('app'); function counterOrNA(key) { var _key = 'model.{0}.length'.format(key); return Em.computed(_key, function () { -if (Em.isNone(this.get('model.'+ key)) || this.get('model.metricsNotAvailable')) { +if (Em.isNone(this.get('model.' + key)) || this.get('model.metricsNotAvailable')) { return Em.I18n.t('services.service.summary.notAvailable'); } return this.get(_key); @@ -34,7 +34,7 @@ App.YarnContainersView = App.TextDashboardWidgetView.extend({ return [ this.get('containersAllocated') + ' ' + Em.I18n.t('dashboard.services.yarn.containers.allocated'), this.get('containersPending') + ' ' + Em.I18n.t('dashboard.services.yarn.containers.pending'), - this.get('containersReserved')+ ' ' + Em.I18n.t('dashboard.services.yarn.containers.reserved') + this.get('containersReserved') + ' ' + Em.I18n.t('dashboard.services.yarn.containers.reserved') ]; }.property('containersAllocated', 'containersPending', 'containersReserved'), @@ -70,9 +70,9 @@ App.YarnContainersView = App.TextDashboardWidgetView.extend({ * @type {boolean} */ someMetricsNA: function () { -return Em.isNone(this.get('containersAllocated')) || - Em.isNone(this.get('containersPending')) || - Em.isNone(this.get('containersReserved')); +return this.get('containersAllocated') === Em.I18n.t('services.service.summary.notAvailable') || + this.get('containersPending') === Em.I18n.t('services.service.summary.notAvailable') || + this.get('containersReserved') === Em.I18n.t('services.service.summary.notAvailable'); }.property('containersAllocated', 'containersPending', 'containersReserved'), /**
[ambari] branch trunk updated: AMBARI-24586. User get stuck between steps if API returns empty version_definitions array (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 2b52c9a AMBARI-24586. User get stuck between steps if API returns empty version_definitions array (akovalenko) 2b52c9a is described below commit 2b52c9a93c1ad6c7654736faf7eb3559075d3ccf Author: Aleksandr Kovalenko AuthorDate: Mon Sep 3 19:57:45 2018 +0300 AMBARI-24586. User get stuck between steps if API returns empty version_definitions array (akovalenko) --- ambari-web/app/controllers/installer.js | 26 +++- ambari-web/app/messages.js | 1 + ambari-web/test/controllers/wizard/step7_test.js | 15 +++--- 3 files changed, 29 insertions(+), 13 deletions(-) diff --git a/ambari-web/app/controllers/installer.js b/ambari-web/app/controllers/installer.js index 9e8a811..37d9134 100644 --- a/ambari-web/app/controllers/installer.js +++ b/ambari-web/app/controllers/installer.js @@ -305,16 +305,22 @@ App.InstallerController = App.WizardController.extend(App.Persist, { } }, this); } - - data.items.sortProperty('VersionDefinition.stack_version').reverse().forEach(function (versionDefinition) { - // to display repos panel, should map all available operating systems including empty ones - var stackInfo = {}; - stackInfo.isStacksExistInDb = isStacksExistInDb; - stackInfo.stacks = stacks; - stackInfo.oses = oses; - stackInfo.repos = repos; - this.getSupportedOSList(versionDefinition, stackInfo, params.dfd); -}, this); +// if data.items is empty, we show error modal end return to back step +if (data.items && data.items.length) { + data.items.sortProperty('VersionDefinition.stack_version').reverse().forEach(function (versionDefinition) { +// to display repos panel, should map all available operating systems including empty ones +var stackInfo = {}; +stackInfo.isStacksExistInDb = isStacksExistInDb; +stackInfo.stacks = stacks; +stackInfo.oses = oses; +stackInfo.repos = repos; +this.getSupportedOSList(versionDefinition, stackInfo, params.dfd); + }, this); +} else { + App.showAlertPopup(Em.I18n.t('common.error'), Em.I18n.t('installer.step1.noVersionDefinitions'), function() { +App.router.send('back'); + }); +} }, mergeChanges: function (repos, oses, stacks) { diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js index 5ef9da7..77e0f59 100644 --- a/ambari-web/app/messages.js +++ b/ambari-web/app/messages.js @@ -682,6 +682,7 @@ Em.I18n.translations = { 'installer.step1.invalidURLAttention': 'Attention: Please make sure all repository URLs are valid before proceeding.', 'installer.step1.checkAtLeastOneAttention': 'Attention: Please check at least one repository.', 'installer.step1.retryRepoUrls': 'Click here to retry.', + 'installer.step1.noVersionDefinitions': 'Unable to load versions data from server.', 'installer.step2.header':'Install Options', 'installer.step2.body':'Enter the list of hosts to be included in the cluster and provide your SSH key.', diff --git a/ambari-web/test/controllers/wizard/step7_test.js b/ambari-web/test/controllers/wizard/step7_test.js index 044fa48..7fa387f 100644 --- a/ambari-web/test/controllers/wizard/step7_test.js +++ b/ambari-web/test/controllers/wizard/step7_test.js @@ -2366,9 +2366,18 @@ describe('App.InstallerStep7Controller', function () { describe('#showConfigProperty', function () { +beforeEach(function () { + sinon.stub(Em.run, 'next', Em.K); +}); + +afterEach(function() { + Em.run.next.restore(); +}); + it('set props "isActive" to true in entered showConfigProperty event and "false" in all another stepConfigs', function() { var event = {context: Ember.Object.create({ serviceName: 'AMBARI_METRICS', + propertyName: "all-configurations", name: 'all-configurations', isActive: false, })}; @@ -2378,9 +2387,9 @@ describe('App.InstallerStep7Controller', function () { Em.Object.create({serviceName: 'MAPREDUCE2', isActive: true, configGroups: [{},{}]}), ])); installerStep7Controller.set('filterColumns', [ -{selected: true}, -{selected: false}, -{selected: true} +Em.Object.create({attributeName:"isOverridden", attributeValue:true, name:"Overridden properties",selected:true}), +Em.Object.create({attributeName:"isFinal", attributeValue:true, name:"Final properties", selected:false}), +Em.Object.create({attributeName:"hasIssues", attributeValue:true, name:"Show property issues", sele
[ambari] branch trunk updated: AMBARI-24529. Add unit tests for centralized configs logic (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 7053df7 AMBARI-24529. Add unit tests for centralized configs logic (akovalenko) 7053df7 is described below commit 7053df76887100e732f7ac4e1962bcad15d968c7 Author: Aleksandr Kovalenko AuthorDate: Thu Aug 23 16:05:07 2018 +0300 AMBARI-24529. Add unit tests for centralized configs logic (akovalenko) --- ambari-web/test/controllers/wizard/step7_test.js | 317 +++ 1 file changed, 317 insertions(+) diff --git a/ambari-web/test/controllers/wizard/step7_test.js b/ambari-web/test/controllers/wizard/step7_test.js index f308002..044fa48 100644 --- a/ambari-web/test/controllers/wizard/step7_test.js +++ b/ambari-web/test/controllers/wizard/step7_test.js @@ -2105,6 +2105,323 @@ describe('App.InstallerStep7Controller', function () { }); + describe('#initTabs', function () { + +beforeEach(function () { + sinon.stub(installerStep7Controller, 'setSkippedTabs', Em.K); +}); + +afterEach(function () { + installerStep7Controller.setSkippedTabs.restore(); +}); + +it('should call setSkippedTabs', function () { + installerStep7Controller.initTabs(); + expect(installerStep7Controller.setSkippedTabs.calledOnce).to.be.true; +}); + + }); + + describe('#setSkippedTabs', function () { + +beforeEach(function () { + installerStep7Controller.reopen({ +tabs: [ + Em.Object.create({ +name: 'credentials', +displayName: 'Credentials', +icon: 'glyphicon-lock', +isActive: false, +isDisabled: false, +isSkipped: false, +validateOnSwitch: false, +tabView: App.CredentialsTabOnStep7View + }), + Em.Object.create({ +name: 'databases', +displayName: 'Databases', +icon: 'glyphicon-align-justify', +isActive: false, +isDisabled: false, +isSkipped: false, +validateOnSwitch: false, +tabView: App.DatabasesTabOnStep7View + }), +], + }); + installerStep7Controller.set('content.selectedServiceNames', Em.A(["HDFS", "YARN", "MAPREDUCE2", "TEZ", "ZOOKEEPER", "AMBARI_METRICS", "SMARTSENSE"])); +}); + +afterEach(function () { + App.Tab.find.restore(); +}); + +it('set tab "credentials"\'s properties "isDisabled" and "isSkipped" to false', function () { + sinon.stub(App.Tab, 'find').returns([ +Em.Object.create({themeName: 'credentials', serviceName: 'AMBARI_METRICS',}), +Em.Object.create({themeName: 'credentials', serviceName: 'SMARTSENSE',}) + ]); + installerStep7Controller.setSkippedTabs(); + expect(installerStep7Controller.get('tabs').findProperty('name', 'credentials').get('isDisabled')).to.be.equal(false); + expect(installerStep7Controller.get('tabs').findProperty('name', 'credentials').get('isSkipped')).to.be.equal(false); +}); + +it('set tab "credentials"\'s properties "isDisabled" and "isSkipped" to true', function () { + sinon.stub(App.Tab, 'find').returns([ +Em.Object.create({themeName: 'credentials'}), +Em.Object.create({themeName: 'credentials'}) + ]); + installerStep7Controller.setSkippedTabs(); + expect(installerStep7Controller.get('tabs').findProperty('name', 'credentials').get('isDisabled')).to.be.equal(true); + expect(installerStep7Controller.get('tabs').findProperty('name', 'credentials').get('isSkipped')).to.be.equal(true); +}); + +it('set tab "databases"\'s properties "isDisabled" and "isSkipped" to false', function () { + sinon.stub(App.Tab, 'find').returns([ +Em.Object.create({themeName: 'database', serviceName: 'AMBARI_METRICS'}), +Em.Object.create({themeName: 'database', serviceName: 'SMARTSENSE'}) + ]); + installerStep7Controller.setSkippedTabs(); + expect(installerStep7Controller.get('tabs').findProperty('name', 'databases').get('isDisabled')).to.be.equal(false); + expect(installerStep7Controller.get('tabs').findProperty('name', 'databases').get('isSkipped')).to.be.equal(false); +}); + +it('set tab "databases"\'s properties "isDisabled" and "isSkipped" to true', function () { + sinon.stub(App.Tab, 'find').returns([ +Em.Object.create({themeName: 'database'}), +Em.Object.create({themeName: 'database'}) + ]); + installerStep7Controller.setSkippedTabs(); + expect(installerStep7Controller.get('tabs').findProperty('name', 'databases').get('isDisabled')).
[ambari] branch trunk updated: AMBARI-24474. Data in Install Wizard is restored even after logout (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new a148741 AMBARI-24474. Data in Install Wizard is restored even after logout (akovalenko) a148741 is described below commit a1487417ccd917642a99ec73aeecf30478a4da52 Author: Aleksandr Kovalenko AuthorDate: Tue Aug 14 16:14:43 2018 +0300 AMBARI-24474. Data in Install Wizard is restored even after logout (akovalenko) --- ambari-web/app/routes/installer.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/ambari-web/app/routes/installer.js b/ambari-web/app/routes/installer.js index fe49015..206723f 100644 --- a/ambari-web/app/routes/installer.js +++ b/ambari-web/app/routes/installer.js @@ -448,9 +448,6 @@ module.exports = Em.Route.extend(App.RouterRedirections, { controller.saveComponentsFromConfigs(controller.get('content.componentsFromConfigs')); controller.setDBProperty('recommendationsHostGroup', wizardStep7Controller.get('content.recommendationsHostGroup')); controller.setDBProperty('masterComponentHosts', wizardStep7Controller.get('content.masterComponentHosts')); -App.clusterStatus.setClusterStatus({ - localdb: App.db.data -}); router.transitionTo('step8'); console.timeEnd('step7 next'); }
[ambari] branch trunk updated: AMBARI-24442. HIVESERVER2 JDBC URL doesn't fit inside block (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 1b20bcd AMBARI-24442. HIVESERVER2 JDBC URL doesn't fit inside block (akovalenko) 1b20bcd is described below commit 1b20bcd902f57041b2a20925a713817737ef7547 Author: Aleksandr Kovalenko AuthorDate: Thu Aug 9 14:22:11 2018 +0300 AMBARI-24442. HIVESERVER2 JDBC URL doesn't fit inside block (akovalenko) --- ambari-web/app/styles/application.less | 1 + 1 file changed, 1 insertion(+) diff --git a/ambari-web/app/styles/application.less b/ambari-web/app/styles/application.less index 3f8bd9a..37fd1dc 100644 --- a/ambari-web/app/styles/application.less +++ b/ambari-web/app/styles/application.less @@ -905,6 +905,7 @@ a:focus { display: inline-block; &.endpoint-value { padding-left: 30px; +word-break: break-word; } .clip-board{ margin-left: 5px;
[ambari] branch trunk updated: AMBARI-24443. Slider type widget displays erroneously before first touch (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 514db78 AMBARI-24443. Slider type widget displays erroneously before first touch (akovalenko) 514db78 is described below commit 514db78c27a70c2883392b9c26728fd3eb341b06 Author: Aleksandr Kovalenko AuthorDate: Thu Aug 9 14:06:53 2018 +0300 AMBARI-24443. Slider type widget displays erroneously before first touch (akovalenko) --- .../app/views/common/configs/widgets/slider_config_widget_view.js | 7 +++ 1 file changed, 7 insertions(+) diff --git a/ambari-web/app/views/common/configs/widgets/slider_config_widget_view.js b/ambari-web/app/views/common/configs/widgets/slider_config_widget_view.js index 5c8ea78..21d6f68 100644 --- a/ambari-web/app/views/common/configs/widgets/slider_config_widget_view.js +++ b/ambari-web/app/views/common/configs/widgets/slider_config_widget_view.js @@ -419,6 +419,13 @@ App.SliderConfigWidgetView = App.ConfigWidgetView.extend({ */ var correctConfigValue = this.get('config.value'); +// workaround for cases when slider input is hidden in DOM +try { + $(this.get('element')).find('.ui-slider-wrapper').removeClass('hide'); +} catch (e) { + console.error('Error when trying to show slider input'); +} + var slider = new Slider(this.$('input.slider-input')[0], { value: this.get('mirrorValue'), ticks: ticks,
[ambari] branch trunk updated: AMBARI-24404. Button label appears incorrect during service deletion (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 0b40da3 AMBARI-24404. Button label appears incorrect during service deletion (akovalenko) 0b40da3 is described below commit 0b40da3954893592da02f6e421b5caa873f40212 Author: Aleksandr Kovalenko AuthorDate: Thu Aug 2 19:04:43 2018 +0300 AMBARI-24404. Button label appears incorrect during service deletion (akovalenko) --- ambari-web/app/controllers/main/service/item.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ambari-web/app/controllers/main/service/item.js b/ambari-web/app/controllers/main/service/item.js index 6560666..55ae995 100644 --- a/ambari-web/app/controllers/main/service/item.js +++ b/ambari-web/app/controllers/main/service/item.js @@ -1497,7 +1497,7 @@ App.MainServiceItemController = Em.Controller.extend(App.SupportClientConfigsDow var self = this, displayName = App.format.role(serviceName, true), popupHeader = Em.I18n.t('services.service.delete.popup.header'), - popupPrimary = Em.I18n.t('common.delete'), + popupPrimary = Em.I18n.t('common.proceed'), warningMessage = Em.I18n.t('services.service.delete.popup.warning').format(displayName) + (interDependentServices.length ? Em.I18n.t('services.service.delete.popup.warning.dependent').format(dependentServicesToDeleteFmt) : ''), callback = this.loadConfigRecommendations.bind(this, null, function () {
[ambari] branch trunk updated: AMBARI-24405. Components in hosts page should be sorted by display name (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 1db1dd0 AMBARI-24405. Components in hosts page should be sorted by display name (akovalenko) 1db1dd0 is described below commit 1db1dd06be5d55f83427bbb1f6c152ecde90ed11 Author: Aleksandr Kovalenko AuthorDate: Thu Aug 2 18:57:28 2018 +0300 AMBARI-24405. Components in hosts page should be sorted by display name (akovalenko) --- ambari-web/app/views/main/host/summary.js | 20 +++- ambari-web/test/views/main/host/summary_test.js | 67 +++-- 2 files changed, 14 insertions(+), 73 deletions(-) diff --git a/ambari-web/app/views/main/host/summary.js b/ambari-web/app/views/main/host/summary.js index 72721d4..43585d7 100644 --- a/ambari-web/app/views/main/host/summary.js +++ b/ambari-web/app/views/main/host/summary.js @@ -171,23 +171,19 @@ App.MainHostSummaryView = Em.View.extend(App.HiveInteractiveCheck, App.TimeRange * Master components first, then slaves and clients */ sortedComponentsFormatter: function() { -const updatebleProperties = Em.A(['workStatus', 'passiveState', 'staleConfigs', 'haStatus']); const hostComponentViewMap = this.get('hostComponentViewMap'); -const masters = [], slaves = [], clients = []; - +let sortedComponentsArray = []; this.get('content.hostComponents').forEach(function (component) { component.set('viewClass', hostComponentViewMap[component.get('componentName')] ? hostComponentViewMap[component.get('componentName')] : App.HostComponentView); - if (component.get('isMaster')) { -masters.push(component); - } else if (component.get('isSlave')) { -slaves.push(component); - } else if (component.get('isClient')) { + if (component.get('isClient')) { component.set('isLast', true); component.set('isInstallFailed', ['INSTALL_FAILED', 'INIT'].contains(component.get('workStatus'))); -clients.pushObject(component); -} -}, this); -this.set('sortedComponents', masters.concat(slaves, clients)); + } + sortedComponentsArray.push(component); +}); + +sortedComponentsArray = sortedComponentsArray.sort((a, b) => a.get('displayName').localeCompare(b.get('displayName'))); +this.set('sortedComponents', sortedComponentsArray); }, /** diff --git a/ambari-web/test/views/main/host/summary_test.js b/ambari-web/test/views/main/host/summary_test.js index b456b88..52a2b4e 100644 --- a/ambari-web/test/views/main/host/summary_test.js +++ b/ambari-web/test/views/main/host/summary_test.js @@ -57,69 +57,14 @@ describe('App.MainHostSummaryView', function() { { content: Em.Object.create({ hostComponents: Em.A([ -Em.Object.create({isMaster: false, isSlave: true, componentName: 'B'}), -Em.Object.create({isMaster: true, isSlave: false, componentName: 'A'}), -Em.Object.create({isMaster: true, isSlave: false, componentName: 'C'}), -Em.Object.create({isMaster: false, isSlave: false, componentName: 'D'}) +Em.Object.create({componentName: 'C', displayName: 'C'}), +Em.Object.create({componentName: 'A', displayName: 'A'}), +Em.Object.create({componentName: 'B', displayName: 'B'}), +Em.Object.create({componentName: 'D', displayName: 'D'}) ]) }), -m: 'List of masters, slaves and clients', -e: ['A', 'C', 'B'] - }, - { -content: Em.Object.create({ - hostComponents: Em.A([ -Em.Object.create({isMaster: false, isSlave: true, componentName: 'B'}), -Em.Object.create({isMaster: true, isSlave: false, componentName: 'A'}), -Em.Object.create({isMaster: true, isSlave: false, componentName: 'C'}), -Em.Object.create({isMaster: true, isSlave: false, componentName: 'D'}) - ]) -}), -m: 'List of masters and slaves', -e: ['A', 'C', 'D', 'B'] - }, - { -content: Em.Object.create({ - hostComponents: Em.A([ -Em.Object.create({isMaster: true, isSlave: false, componentName: 'B'}), -Em.Object.create({isMaster: true, isSlave: false, componentName: 'A'}), -Em.Object.create({isMaster: true, isSlave: false, componentName: 'C'}), -Em.Object.create({isMaster: true, isSlave: false, componentName: 'D'}) - ]) -}), -m: 'List of masters', -e: ['B', 'A', 'C', 'D'] - }, - { -content: Em.Object.create({ - hostComponents: Em.A([ -Em.Object.create({isMaster: false, isSlave: true, componentName: 'B'}), -Em.Object.create({isMaster: false, isSlave: true, componentName: 'A'}), -Em.Object.cre
[ambari] branch trunk updated: AMBARI-24391. Properties filter in Customize Services Page brings up LOGDIRS and PIDDIRS even if they dont qualify (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 731f7bf AMBARI-24391. Properties filter in Customize Services Page brings up LOGDIRS and PIDDIRS even if they dont qualify (akovalenko) 731f7bf is described below commit 731f7bfdb5d1fcc8e84defec41af0f6fc6bd11d7 Author: Aleksandr Kovalenko AuthorDate: Tue Jul 31 18:06:06 2018 +0300 AMBARI-24391. Properties filter in Customize Services Page brings up LOGDIRS and PIDDIRS even if they dont qualify (akovalenko) --- .../wizard/step7/directories_theme_layout.hbs | 48 +++--- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/ambari-web/app/templates/wizard/step7/directories_theme_layout.hbs b/ambari-web/app/templates/wizard/step7/directories_theme_layout.hbs index 0d19a35..b74ebd1 100644 --- a/ambari-web/app/templates/wizard/step7/directories_theme_layout.hbs +++ b/ambari-web/app/templates/wizard/step7/directories_theme_layout.hbs @@ -23,33 +23,35 @@ {{#each row in view.content.sectionRows}} {{#each section in row}} - {{#view App.DirectoriesLayoutCategoryView}} - - - - - {{section.displayName}} - - - - - -{{#each subRow in section.subsectionRows}} - {{#each subsection in subRow}} -{{#each config in subsection.configs}} - {{#if config.widget}} -{{#if config.isVisible}} - {{#unless config.isHiddenByFilter}} -{{view config.widget configBinding="config" canEditBinding="view.parentView.canEdit" sectionBinding="section" subSectionBinding="subsection" tabBinding="view.parentView.content" inlineControls=true}} - {{/unless}} + {{#unless section.isHiddenByFilter}} +{{#view App.DirectoriesLayoutCategoryView}} + + + + +{{section.displayName}} + + + + + + {{#each subRow in section.subsectionRows}} +{{#each subsection in subRow}} + {{#each config in subsection.configs}} +{{#if config.widget}} + {{#if config.isVisible}} +{{#unless config.isHiddenByFilter}} + {{view config.widget configBinding="config" canEditBinding="view.parentView.canEdit" sectionBinding="section" subSectionBinding="subsection" tabBinding="view.parentView.content" inlineControls=true}} +{{/unless}} + {{/if}} {{/if}} - {{/if}} + {{/each}} {{/each}} {{/each}} -{{/each}} + - - {{/view}} +{{/view}} + {{/unless}} {{/each}} {{/each}}
[ambari] branch trunk updated: AMBARI-24392. Align the entries in drop downs of Ambari UI left hand side pane (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new aaebbe8 AMBARI-24392. Align the entries in drop downs of Ambari UI left hand side pane (akovalenko) aaebbe8 is described below commit aaebbe8c528667e70219545582dfddbe36fe6b9e Author: Aleksandr Kovalenko AuthorDate: Tue Jul 31 17:58:50 2018 +0300 AMBARI-24392. Align the entries in drop downs of Ambari UI left hand side pane (akovalenko) --- ambari-web/app/styles/bootstrap_overrides.less | 4 1 file changed, 4 insertions(+) diff --git a/ambari-web/app/styles/bootstrap_overrides.less b/ambari-web/app/styles/bootstrap_overrides.less index 70d9945..9b577d9 100644 --- a/ambari-web/app/styles/bootstrap_overrides.less +++ b/ambari-web/app/styles/bootstrap_overrides.less @@ -458,3 +458,7 @@ input[type="checkbox"]:checked + label:after { vertical-align: middle; } } + +.navigation-bar-container ul.nav.side-nav-menu li.submenu-li > a { + padding: 10px 5px 10px 46px; +} \ No newline at end of file
[ambari] branch branch-2.7 updated: AMBARI-24317. Lowercase g characters in the left-hand nav are getting slightly clipped bottom-up making them look like lowercase q's (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch branch-2.7 in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/branch-2.7 by this push: new 9cd2457 AMBARI-24317. Lowercase g characters in the left-hand nav are getting slightly clipped bottom-up making them look like lowercase q's (akovalenko) 9cd2457 is described below commit 9cd2457aa33a02dc4ae1463f8920a6edb1d78978 Author: Aleksandr Kovalenko AuthorDate: Thu Jul 19 18:41:39 2018 +0300 AMBARI-24317. Lowercase g characters in the left-hand nav are getting slightly clipped bottom-up making them look like lowercase q's (akovalenko) --- ambari-web/app/styles/theme/bootstrap-ambari.css | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ambari-web/app/styles/theme/bootstrap-ambari.css b/ambari-web/app/styles/theme/bootstrap-ambari.css index 1f01a3b..8f3f504 100644 --- a/ambari-web/app/styles/theme/bootstrap-ambari.css +++ b/ambari-web/app/styles/theme/bootstrap-ambari.css @@ -929,7 +929,7 @@ input.radio:checked + label:after { } .navigation-bar-container ul.nav.side-nav-menu li.submenu-li > a, .navigation-bar-container ul.nav.side-nav-footer li.submenu-li > a { - padding: 10px 5px 10px 25px; + padding: 8px 5px 8px 25px; } .navigation-bar-container ul.nav.side-nav-menu li.navigation-footer, .navigation-bar-container ul.nav.side-nav-footer li.navigation-footer { @@ -959,12 +959,13 @@ input.radio:checked + label:after { font-style: normal; line-height: 1; color: #333; + line-height: initial; font-size: 14px; color: #999; } .navigation-bar-container ul.nav.side-nav-menu li > ul > li a .submenu-icon, .navigation-bar-container ul.nav.side-nav-footer li > ul > li a .submenu-icon { - line-height: 14px; + line-height: initial; font-size: 14px; } .navigation-bar-container ul.nav.side-nav-menu li > ul > li > a:hover,
[ambari] branch trunk updated: AMBARI-24317. Clicking on password warnings doesn't update the service tab navigation (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 1b32b29 AMBARI-24317. Clicking on password warnings doesn't update the service tab navigation (akovalenko) 1b32b29 is described below commit 1b32b2972a8422e7b0f69ee04843e7e15d8dfbb0 Author: Aleksandr Kovalenko AuthorDate: Thu Jul 19 18:35:09 2018 +0300 AMBARI-24317. Clicking on password warnings doesn't update the service tab navigation (akovalenko) --- ambari-web/app/styles/theme/bootstrap-ambari.css | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ambari-web/app/styles/theme/bootstrap-ambari.css b/ambari-web/app/styles/theme/bootstrap-ambari.css index 1f01a3b..8f3f504 100644 --- a/ambari-web/app/styles/theme/bootstrap-ambari.css +++ b/ambari-web/app/styles/theme/bootstrap-ambari.css @@ -929,7 +929,7 @@ input.radio:checked + label:after { } .navigation-bar-container ul.nav.side-nav-menu li.submenu-li > a, .navigation-bar-container ul.nav.side-nav-footer li.submenu-li > a { - padding: 10px 5px 10px 25px; + padding: 8px 5px 8px 25px; } .navigation-bar-container ul.nav.side-nav-menu li.navigation-footer, .navigation-bar-container ul.nav.side-nav-footer li.navigation-footer { @@ -959,12 +959,13 @@ input.radio:checked + label:after { font-style: normal; line-height: 1; color: #333; + line-height: initial; font-size: 14px; color: #999; } .navigation-bar-container ul.nav.side-nav-menu li > ul > li a .submenu-icon, .navigation-bar-container ul.nav.side-nav-footer li > ul > li a .submenu-icon { - line-height: 14px; + line-height: initial; font-size: 14px; } .navigation-bar-container ul.nav.side-nav-menu li > ul > li > a:hover,
[ambari] branch branch-2.7 updated: AMBARI-24315. Clicking on password warnings doesn't update the service tab navigation (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch branch-2.7 in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/branch-2.7 by this push: new 89a1a3d AMBARI-24315. Clicking on password warnings doesn't update the service tab navigation (akovalenko) 89a1a3d is described below commit 89a1a3d3cb37750a0d4886b1e8e2fb02469dbcc8 Author: Aleksandr Kovalenko AuthorDate: Thu Jul 19 18:26:06 2018 +0300 AMBARI-24315. Clicking on password warnings doesn't update the service tab navigation (akovalenko) --- ambari-web/app/controllers/wizard/step7_controller.js | 4 1 file changed, 4 insertions(+) diff --git a/ambari-web/app/controllers/wizard/step7_controller.js b/ambari-web/app/controllers/wizard/step7_controller.js index abb4a23..6e80e7e 100644 --- a/ambari-web/app/controllers/wizard/step7_controller.js +++ b/ambari-web/app/controllers/wizard/step7_controller.js @@ -1904,6 +1904,7 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, App.E }, selectService: function (event) { +event.context.set('isActive', true); this.set('selectedService', event.context); var activeTabs = this.get('tabs').findProperty('isActive', true); if (activeTabs) { @@ -2079,6 +2080,9 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, App.E Em.run.next(this, function () { this.set('filter', propertyName); }); + +this.get('stepConfigs').setEach('isActive', false); +stepConfig.set('isActive', true); }, /**
[ambari] branch trunk updated: AMBARI-24315. Clicking on password warnings doesn't update the service tab navigation (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 6d10660 AMBARI-24315. Clicking on password warnings doesn't update the service tab navigation (akovalenko) 6d10660 is described below commit 6d106605782466eaa03a613bd3ca28d0c20463f3 Author: Aleksandr Kovalenko AuthorDate: Thu Jul 19 18:10:13 2018 +0300 AMBARI-24315. Clicking on password warnings doesn't update the service tab navigation (akovalenko) --- ambari-web/app/controllers/wizard/step7_controller.js | 4 1 file changed, 4 insertions(+) diff --git a/ambari-web/app/controllers/wizard/step7_controller.js b/ambari-web/app/controllers/wizard/step7_controller.js index abb4a23..6e80e7e 100644 --- a/ambari-web/app/controllers/wizard/step7_controller.js +++ b/ambari-web/app/controllers/wizard/step7_controller.js @@ -1904,6 +1904,7 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, App.E }, selectService: function (event) { +event.context.set('isActive', true); this.set('selectedService', event.context); var activeTabs = this.get('tabs').findProperty('isActive', true); if (activeTabs) { @@ -2079,6 +2080,9 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, App.E Em.run.next(this, function () { this.set('filter', propertyName); }); + +this.get('stepConfigs').setEach('isActive', false); +stepConfig.set('isActive', true); }, /**
[ambari] 01/02: AMBARI-24213. Enabling RM HA should not be allowed if YARN is stopped (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git commit 789e4ec474ef3267f2fc27925b5c44f1cc11f6a0 Author: Aleksandr Kovalenko AuthorDate: Sun Jul 1 17:52:24 2018 +0300 AMBARI-24213. Enabling RM HA should not be allowed if YARN is stopped (akovalenko) --- ambari-web/app/controllers/main/admin/highAvailability_controller.js | 4 ambari-web/app/messages.js | 1 + 2 files changed, 5 insertions(+) diff --git a/ambari-web/app/controllers/main/admin/highAvailability_controller.js b/ambari-web/app/controllers/main/admin/highAvailability_controller.js index 5a18e57..0fd4da4 100644 --- a/ambari-web/app/controllers/main/admin/highAvailability_controller.js +++ b/ambari-web/app/controllers/main/admin/highAvailability_controller.js @@ -65,6 +65,10 @@ App.MainAdminHighAvailabilityController = App.WizardController.extend({ enableRMHighAvailability: function () { //Prerequisite Checks var message = []; + +if (hostComponents.findProperty('componentName', 'RESOURCEMANAGER').get('workStatus') !== 'STARTED') { + message.push(Em.I18n.t('admin.rm_highAvailability.error.resourceManagerStarted')); +} if (App.HostComponent.find().filterProperty('componentName', 'ZOOKEEPER_SERVER').length < 3) { message.push(Em.I18n.t('admin.rm_highAvailability.error.zooKeeperNum')); } diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js index d908f15..d55a224 100644 --- a/ambari-web/app/messages.js +++ b/ambari-web/app/messages.js @@ -1457,6 +1457,7 @@ Em.I18n.translations = { 'admin.highAvailability.error.zooKeeperNum':'You must have at least 3 ZooKeeper Servers in your cluster to enable NameNode HA.', 'admin.rm_highAvailability.error.hostsNum':'You must have at least 3 hosts in your cluster to enable ResourceManager HA.', 'admin.rm_highAvailability.error.zooKeeperNum':'You must have at least 3 ZooKeeper Servers in your cluster to enable ResourceManager HA.', + 'admin.rm_highAvailability.error.resourceManagerStarted':'ResourceManager must be running before you enable ResourceManager HA.', 'admin.rm_highAvailability.closePopup':'Enable ResourceManager HA Wizard is in progress. You must allow the wizard to complete for Ambari to be in usable state. If you choose to quit, you must follow manual instructions to complete or revert enabling ResourceManager HA as documented in the Ambari User Guide. Are you sure you want to exit the wizard?', 'admin.highAvailability.wizard.header':'Enable NameNode HA Wizard',
[ambari] branch trunk updated (fb6bde2 -> dfbf724)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a change to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git. from fb6bde2 [AMBARI-24228] Agent-side command-*.json files should optionally be deleted when no longer needed by the command new 789e4ec AMBARI-24213. Enabling RM HA should not be allowed if YARN is stopped (akovalenko) new dfbf724 AMBARI-24213. Enabling RM HA should not be allowed if YARN is stopped (akovalenko) The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: ambari-web/app/controllers/main/admin/highAvailability_controller.js | 4 ambari-web/app/messages.js | 1 + 2 files changed, 5 insertions(+)
[ambari] 02/02: AMBARI-24213. Enabling RM HA should not be allowed if YARN is stopped (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git commit dfbf724865216f5de40a618f1c725e9d64003c97 Author: Aleksandr Kovalenko AuthorDate: Sun Jul 1 18:34:55 2018 +0300 AMBARI-24213. Enabling RM HA should not be allowed if YARN is stopped (akovalenko) --- ambari-web/app/controllers/main/admin/highAvailability_controller.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ambari-web/app/controllers/main/admin/highAvailability_controller.js b/ambari-web/app/controllers/main/admin/highAvailability_controller.js index 0fd4da4..3ac7214 100644 --- a/ambari-web/app/controllers/main/admin/highAvailability_controller.js +++ b/ambari-web/app/controllers/main/admin/highAvailability_controller.js @@ -66,7 +66,7 @@ App.MainAdminHighAvailabilityController = App.WizardController.extend({ //Prerequisite Checks var message = []; -if (hostComponents.findProperty('componentName', 'RESOURCEMANAGER').get('workStatus') !== 'STARTED') { +if (App.HostComponent.find().findProperty('componentName', 'RESOURCEMANAGER').get('workStatus') !== 'STARTED') { message.push(Em.I18n.t('admin.rm_highAvailability.error.resourceManagerStarted')); } if (App.HostComponent.find().filterProperty('componentName', 'ZOOKEEPER_SERVER').length < 3) {
[ambari] branch trunk updated: AMBARI-24191. Typo in div class name at CustomizeServicespage - Accounts tab (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new dc97711 AMBARI-24191. Typo in div class name at CustomizeServicespage - Accounts tab (akovalenko) dc97711 is described below commit dc97711c2c5ac93ce19cee40db149a755f6a393c Author: Aleksandr Kovalenko AuthorDate: Tue Jun 26 14:00:42 2018 +0300 AMBARI-24191. Typo in div class name at CustomizeServicespage - Accounts tab (akovalenko) --- ambari-web/app/styles/wizard.less | 2 +- ambari-web/app/templates/wizard/step7/accounts_tab.hbs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ambari-web/app/styles/wizard.less b/ambari-web/app/styles/wizard.less index b745c0a..a8ba197 100644 --- a/ambari-web/app/styles/wizard.less +++ b/ambari-web/app/styles/wizard.less @@ -1211,7 +1211,7 @@ } } } - .use-ambari-chekboxes { + .use-ambari-checkboxes { margin-top: 20px; padding-left: 10px; } diff --git a/ambari-web/app/templates/wizard/step7/accounts_tab.hbs b/ambari-web/app/templates/wizard/step7/accounts_tab.hbs index d4f0fe8..eec6bc4 100644 --- a/ambari-web/app/templates/wizard/step7/accounts_tab.hbs +++ b/ambari-web/app/templates/wizard/step7/accounts_tab.hbs @@ -18,7 +18,7 @@ {{t installer.step7.accountsTab.body}} - + {{#each checkbox in view.checkboxes}} {{view checkbox.viewClass serviceConfigBinding="checkbox" labelBinding="checkbox.displayName"}}
[ambari] branch trunk updated: AMBARI-24145. Ambari Master selection page breaks when you have large number of hosts (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 7b6c3bc AMBARI-24145. Ambari Master selection page breaks when you have large number of hosts (akovalenko) 7b6c3bc is described below commit 7b6c3bcf7950dcb5f6deaae6c72c1ba78b47b540 Author: Aleksandr Kovalenko AuthorDate: Tue Jun 19 15:15:30 2018 +0300 AMBARI-24145. Ambari Master selection page breaks when you have large number of hosts (akovalenko) --- ambari-web/app/styles/wizard.less | 6 ++ 1 file changed, 6 insertions(+) diff --git a/ambari-web/app/styles/wizard.less b/ambari-web/app/styles/wizard.less index 19aa4ba..b745c0a 100644 --- a/ambari-web/app/styles/wizard.less +++ b/ambari-web/app/styles/wizard.less @@ -504,6 +504,12 @@ /*assign masters*/ +#assign-masters { + .panel { +overflow-y: auto; + } +} + .assign-masters { .select-hosts { white-space: nowrap;
[ambari] branch trunk updated: AMBARI-24133. Deleting and adding the same host fails in Ambari (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new de66866 AMBARI-24133. Deleting and adding the same host fails in Ambari (akovalenko) de66866 is described below commit de66866348fad4a3864825635d21771a83a252d4 Author: Aleksandr Kovalenko AuthorDate: Mon Jun 18 12:41:06 2018 +0300 AMBARI-24133. Deleting and adding the same host fails in Ambari (akovalenko) --- ambari-web/app/mappers/socket/topology_mapper.js | 10 +++--- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/ambari-web/app/mappers/socket/topology_mapper.js b/ambari-web/app/mappers/socket/topology_mapper.js index becaa17..7c3293d 100644 --- a/ambari-web/app/mappers/socket/topology_mapper.js +++ b/ambari-web/app/mappers/socket/topology_mapper.js @@ -163,13 +163,9 @@ App.topologyMapper = App.QuickDataMapper.create({ * @param {Array} hostComponents */ updateHostComponentsOfService: function(service, hostComponents) { -const updatedService = {}; -for (let i in App.serviceMapper.config) { - if (service.get(stringUtils.underScoreToCamelCase(i)) !== undefined) { -updatedService[i] = service.get(stringUtils.underScoreToCamelCase(i)); - } +const cacheService = App.cache['services'].findProperty('ServiceInfo.service_name', service.get('serviceName')); +if (cacheService) { + cacheService.host_components = hostComponents; } -updatedService.host_components = hostComponents; -App.store.safeLoad(App.Service, updatedService); } }); -- To stop receiving notification emails like this one, please contact akovale...@apache.org.
[ambari] branch trunk updated: AMBARI-24127. Username case changes from Cluster info page to install wizard (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 5f6def1 AMBARI-24127. Username case changes from Cluster info page to install wizard (akovalenko) 5f6def1 is described below commit 5f6def16da9c036b49e21b7f6065c0aedadb818f Author: Aleksandr Kovalenko AuthorDate: Sat Jun 16 14:18:03 2018 +0300 AMBARI-24127. Username case changes from Cluster info page to install wizard (akovalenko) --- ambari-web/app/styles/top-nav.less | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ambari-web/app/styles/top-nav.less b/ambari-web/app/styles/top-nav.less index a75d08a..9899251 100644 --- a/ambari-web/app/styles/top-nav.less +++ b/ambari-web/app/styles/top-nav.less @@ -108,6 +108,9 @@ } .top-nav-user { margin-top: 2px; + button { +text-transform: none; + } } .ambari-views { margin-top: 17px; -- To stop receiving notification emails like this one, please contact akovale...@apache.org.
[ambari] branch trunk updated: AMBARI-24117. Ambari "assign masters" should display available hosts in sorted order (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new b1be203 AMBARI-24117. Ambari "assign masters" should display available hosts in sorted order (akovalenko) b1be203 is described below commit b1be2036a206aec2b06fbb305104fee2bc455258 Author: Aleksandr Kovalenko AuthorDate: Fri Jun 15 17:45:44 2018 +0300 AMBARI-24117. Ambari "assign masters" should display available hosts in sorted order (akovalenko) --- ambari-web/app/mixins/wizard/selectHost.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ambari-web/app/mixins/wizard/selectHost.js b/ambari-web/app/mixins/wizard/selectHost.js index 38d99f0..6d6c7a3 100644 --- a/ambari-web/app/mixins/wizard/selectHost.js +++ b/ambari-web/app/mixins/wizard/selectHost.js @@ -159,11 +159,11 @@ App.SelectHost = Em.Mixin.create({ .without(this.get('component.selectedHost')); if (multipleComponents.contains(componentName)) { - return hosts.filter(function (host) { + hosts = hosts.filter(function (host) { return !occupiedHosts.contains(host.get('host_name')); }, this); } -return hosts; +return hosts.sortProperty('host_name'); }, /** -- To stop receiving notification emails like this one, please contact akovale...@apache.org.
[ambari] branch trunk updated: AMBARI-24098. Filter have incorrect name on host page (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 69f7bae AMBARI-24098. Filter have incorrect name on host page (akovalenko) 69f7bae is described below commit 69f7bae42103f716d381a14357696569d394dda6 Author: Aleksandr Kovalenko AuthorDate: Thu Jun 14 13:38:55 2018 +0300 AMBARI-24098. Filter have incorrect name on host page (akovalenko) --- ambari-web/app/models/host_component.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ambari-web/app/models/host_component.js b/ambari-web/app/models/host_component.js index a4a477a..9de0301 100644 --- a/ambari-web/app/models/host_component.js +++ b/ambari-web/app/models/host_component.js @@ -275,7 +275,7 @@ App.HostComponentStatus = { case this.disabled: return 'Disabled'; case this.init: -return 'Install Pending'; +return 'Install Pending...'; } return 'Unknown'; }, -- To stop receiving notification emails like this one, please contact akovale...@apache.org.
[ambari] branch trunk updated: AMBARI-24080. [UI] Ambari label do not navigate to Dashboard page (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 1f4cbb1 AMBARI-24080. [UI] Ambari label do not navigate to Dashboard page (akovalenko) 1f4cbb1 is described below commit 1f4cbb161db8acb9f095ff2078a4d1ac99d64260 Author: Aleksandr Kovalenko AuthorDate: Tue Jun 12 14:42:52 2018 +0300 AMBARI-24080. [UI] Ambari label do not navigate to Dashboard page (akovalenko) --- ambari-web/app/controllers/application.js | 6 ++ ambari-web/app/messages.js| 1 - ambari-web/app/templates/application.hbs | 14 -- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/ambari-web/app/controllers/application.js b/ambari-web/app/controllers/application.js index aae8513..b935b22 100644 --- a/ambari-web/app/controllers/application.js +++ b/ambari-web/app/controllers/application.js @@ -132,6 +132,12 @@ App.ApplicationController = Em.Controller.extend(App.Persist, { App.router.route("adminView"); }, + goToDashboard: function () { +if (this.get('enableLinks')) { + App.router.route("main/dashboard"); +} + }, + showAboutPopup: function() { App.ModalPopup.show({ header: Em.I18n.t('common.aboutAmbari'), diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js index 1dd12a2..9fa6a84 100644 --- a/ambari-web/app/messages.js +++ b/ambari-web/app/messages.js @@ -594,7 +594,6 @@ Em.I18n.translations = { 'services.summary.selectHostForComponent': 'Select the host to add {0} component', 'services.summary.allHostsAlreadyRunComponent': 'All hosts already running {0} component', - 'topnav.logo.href':'/#/main/dashboard', 'topnav.help.href':'https://cwiki.apache.org/confluence/display/AMBARI/Ambari', 'installer.header':'Cluster Install Wizard', diff --git a/ambari-web/app/templates/application.hbs b/ambari-web/app/templates/application.hbs index 91453ec..3590e9e 100644 --- a/ambari-web/app/templates/application.hbs +++ b/ambari-web/app/templates/application.hbs @@ -25,16 +25,10 @@ -{{#if enableLinks}} - - - -{{else}} - - - -{{/if}} - + + + + {{t app.name}} -- To stop receiving notification emails like this one, please contact akovale...@apache.org.
[ambari] branch trunk updated: AMBARI-24075. Deploy button doesn't show in Review Page of Move Master Wizard (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new e534355 AMBARI-24075. Deploy button doesn't show in Review Page of Move Master Wizard (akovalenko) e534355 is described below commit e53435573a78726c7276919581e8ea8feb2b3c1f Author: Aleksandr Kovalenko AuthorDate: Mon Jun 11 18:19:55 2018 +0300 AMBARI-24075. Deploy button doesn't show in Review Page of Move Master Wizard (akovalenko) --- ambari-web/app/controllers/main/service/reassign/step3_controller.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ambari-web/app/controllers/main/service/reassign/step3_controller.js b/ambari-web/app/controllers/main/service/reassign/step3_controller.js index bbc05d1..bce4bb8 100644 --- a/ambari-web/app/controllers/main/service/reassign/step3_controller.js +++ b/ambari-web/app/controllers/main/service/reassign/step3_controller.js @@ -317,7 +317,9 @@ App.ReassignMasterWizardStep3Controller = Em.Controller.extend({ var urlParams = []; this.get('wizardController.serviceToConfigSiteMap')[componentName].forEach(function(site){ - urlParams.push('(type=' + site + '=' + data.Clusters.desired_configs[site].tag + ')'); + if (data.Clusters.desired_configs[site]) { +urlParams.push('(type=' + site + '=' + data.Clusters.desired_configs[site].tag + ')'); + } }); // specific cases for certain components -- To stop receiving notification emails like this one, please contact akovale...@apache.org.
[ambari] branch trunk updated: AMBARI-24061. Clicking on 'Details' button in Upgrade wizard shows no data (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 39f60f8 AMBARI-24061. Clicking on 'Details' button in Upgrade wizard shows no data (akovalenko) 39f60f8 is described below commit 39f60f8cc564fb2ae836839af8fa3e417f47e8c6 Author: Aleksandr Kovalenko AuthorDate: Fri Jun 8 17:52:10 2018 +0300 AMBARI-24061. Clicking on 'Details' button in Upgrade wizard shows no data (akovalenko) --- .../app/views/main/admin/stack_upgrade/upgrade_task_view.js | 9 - 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/ambari-web/app/views/main/admin/stack_upgrade/upgrade_task_view.js b/ambari-web/app/views/main/admin/stack_upgrade/upgrade_task_view.js index dee2541..0ea332d 100644 --- a/ambari-web/app/views/main/admin/stack_upgrade/upgrade_task_view.js +++ b/ambari-web/app/views/main/admin/stack_upgrade/upgrade_task_view.js @@ -79,12 +79,19 @@ App.upgradeTaskView = Em.View.extend({ */ isContentLoaded: false, + didInsertElement: function() { +if (this.get('outsideView') && this.get('content')) { + this.toggleExpanded({context: this.get('content')}); +} + }, + toggleExpanded: function (event) { var isExpanded = event.context.get('isExpanded'); event.context.toggleProperty('isExpanded', !isExpanded); if (!isExpanded) { - event.context.set('isContentLoaded', false); this.doPolling(event.context); +} else { + this.set('isContentLoaded', true); } }, -- To stop receiving notification emails like this one, please contact akovale...@apache.org.
[ambari] branch trunk updated: AMBARI-24044. Widget Browser add/hide functionality is not working correctly (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 269db6f AMBARI-24044. Widget Browser add/hide functionality is not working correctly (akovalenko) 269db6f is described below commit 269db6f5f44545225addd1a05fb7985378e4087c Author: Aleksandr Kovalenko AuthorDate: Wed Jun 6 18:49:12 2018 +0300 AMBARI-24044. Widget Browser add/hide functionality is not working correctly (akovalenko) --- .../app/controllers/main/service/info/metric.js| 104 ++--- .../common/modal_popups/widget_browser_popup.hbs | 2 +- 2 files changed, 71 insertions(+), 35 deletions(-) diff --git a/ambari-web/app/controllers/main/service/info/metric.js b/ambari-web/app/controllers/main/service/info/metric.js index 349f1ef..d5bff81 100644 --- a/ambari-web/app/controllers/main/service/info/metric.js +++ b/ambari-web/app/controllers/main/service/info/metric.js @@ -92,6 +92,7 @@ App.MainServiceInfoMetricsController = Em.Controller.extend(App.WidgetSectionMix */ loadAllSharedWidgetsSuccessCallback: function (data) { var widgetIds = this.get('widgets').mapProperty('id'); +var activeNSWidgetLayouts = this.get('activeNSWidgetLayouts'); if (data.items[0] && data.items.length) { this.set("allSharedWidgets", data.items.filter(function (widget) { @@ -99,17 +100,23 @@ App.MainServiceInfoMetricsController = Em.Controller.extend(App.WidgetSectionMix }).map(function (widget) { var widgetType = widget.WidgetInfo.widget_type; var widgetName = widget.WidgetInfo.widget_name; - var widgetId = widget.WidgetInfo.id; + var widgetId = widget.WidgetInfo.id; + var widgetTag = widget.WidgetInfo.tag; + var inNSLayouts = false; + if (widgetTag) { +inNSLayouts = activeNSWidgetLayouts.findProperty('nameServiceId', widgetTag).get('widgets').someProperty('id', widgetId) && + activeNSWidgetLayouts.findProperty('nameServiceId', 'all').get('widgets').someProperty('id', widgetId); + } return Em.Object.create({ id: widgetId, widgetName: widgetName, -tag: widget.WidgetInfo.tag, +tag: widgetTag, metrics: widget.WidgetInfo.metrics, description: widget.WidgetInfo.description, widgetType: widgetType, iconPath: "/img/widget-" + widgetType.toLowerCase() + ".png", serviceName: JSON.parse(widget.WidgetInfo.metrics).mapProperty('service_name').uniq().join('-'), -added: widgetIds.contains(widgetId), +added: widgetTag ? inNSLayouts : widgetIds.contains(widgetId), isShared: widget.WidgetInfo.scope == "CLUSTER" }); }) @@ -143,6 +150,7 @@ App.MainServiceInfoMetricsController = Em.Controller.extend(App.WidgetSectionMix */ loadMineWidgetsSuccessCallback: function (data) { var widgetIds = this.get('widgets').mapProperty('id'); +var activeNSWidgetLayouts = this.get('activeNSWidgetLayouts'); if (data.items[0] && data.items.length) { this.set("mineWidgets", data.items.filter(function (widget) { @@ -150,17 +158,23 @@ App.MainServiceInfoMetricsController = Em.Controller.extend(App.WidgetSectionMix }).map(function (widget) { var widgetType = widget.WidgetInfo.widget_type; var widgetName = widget.WidgetInfo.widget_name; - var widgetId = widget.WidgetInfo.id; + var widgetId = widget.WidgetInfo.id; + var widgetTag = widget.WidgetInfo.tag; + var inNSLayouts = false; + if (widgetTag) { +inNSLayouts = activeNSWidgetLayouts.findProperty('nameServiceId', widgetTag).get('widgets').someProperty('id', widgetId) && + activeNSWidgetLayouts.findProperty('nameServiceId', 'all').get('widgets').someProperty('id', widgetId); + } return Em.Object.create({ id: widget.WidgetInfo.id, widgetName: widgetName, -tag: widget.WidgetInfo.tag, +tag: widgetTag, metrics: widget.WidgetInfo.metrics, description: widget.WidgetInfo.description, widgetType: widgetType, iconPath: "/img/widget-" + widgetType.toLowerCase() + ".png", serviceName: JSON.parse(widget.WidgetInfo.metrics).mapProperty('service_name').uniq().join('-'), -added: widgetIds.contains(widgetId), +added: widgetTag ? inNSLayouts : widgetIds.contains(widgetId), isShared: widget.WidgetInfo.scope == "CLUSTER" }); }) @@ -175,37 +189,59 @@ App.MainServiceInfoMetricsControlle
[ambari] branch trunk updated: AMBARI-24036. Config Group Names are converted to uppercase once selected on UI (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 5f113f2 AMBARI-24036. Config Group Names are converted to uppercase once selected on UI (akovalenko) 5f113f2 is described below commit 5f113f2bea9cad7d8f0ed8d308e5f73ad673b102 Author: Aleksandr Kovalenko AuthorDate: Tue Jun 5 14:42:48 2018 +0300 AMBARI-24036. Config Group Names are converted to uppercase once selected on UI (akovalenko) --- ambari-web/app/styles/config_versions_control.less | 1 + ambari-web/app/styles/wizard.less | 1 + 2 files changed, 2 insertions(+) diff --git a/ambari-web/app/styles/config_versions_control.less b/ambari-web/app/styles/config_versions_control.less index 365ef0f..2e3362b 100644 --- a/ambari-web/app/styles/config_versions_control.less +++ b/ambari-web/app/styles/config_versions_control.less @@ -113,6 +113,7 @@ display: inline-block; width: @button-width; .btn.dropdown-toggle { + text-transform: none; width: 100%; text-align: left; padding: 10px; diff --git a/ambari-web/app/styles/wizard.less b/ambari-web/app/styles/wizard.less index 63a2763..19aa4ba 100644 --- a/ambari-web/app/styles/wizard.less +++ b/ambari-web/app/styles/wizard.less @@ -782,6 +782,7 @@ button.first { border-top-right-radius: 0; border-bottom-right-radius: 0; +text-transform: none; } } -- To stop receiving notification emails like this one, please contact akovale...@apache.org.
[ambari] branch trunk updated: AMBARI-23981. HDFS Summary widgets disappear after changing widgets order (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 1909c7b AMBARI-23981. HDFS Summary widgets disappear after changing widgets order (akovalenko) 1909c7b is described below commit 1909c7b55d859200589c94d6f26d090d0c7deed5 Author: Aleksandr Kovalenko AuthorDate: Wed May 30 18:30:54 2018 +0300 AMBARI-23981. HDFS Summary widgets disappear after changing widgets order (akovalenko) --- .../app/views/main/service/info/metrics_view.js| 38 ++ .../views/main/service/info/metrics_view_test.js | 6 ++-- 2 files changed, 14 insertions(+), 30 deletions(-) diff --git a/ambari-web/app/views/main/service/info/metrics_view.js b/ambari-web/app/views/main/service/info/metrics_view.js index 2d13747..450410e 100644 --- a/ambari-web/app/views/main/service/info/metrics_view.js +++ b/ambari-web/app/views/main/service/info/metrics_view.js @@ -97,7 +97,8 @@ App.MainServiceInfoMetricsView = Em.View.extend(App.Persist, App.TimeRangeMixin, var allServices = require('data/service_graph_config'); this.constructGraphObjects(allServices[svcName.toLowerCase()]); } -this.makeSortable(); +this.makeSortable('#widget_layout'); +this.makeSortable('#ns_widget_layout', true); this.addWidgetTooltip(); }, @@ -275,19 +276,21 @@ App.MainServiceInfoMetricsView = Em.View.extend(App.Persist, App.TimeRangeMixin, /** * Make widgets' list sortable on New Dashboard style */ - makeSortable: function () { + makeSortable: function (selector, isNSLayout) { var self = this; -$('html').on('DOMNodeInserted', '#widget_layout', function () { +var controller = this.get('controller'); +$('html').on('DOMNodeInserted', selector, function () { $(this).sortable({ items: "> div", cursor: "move", tolerance: "pointer", scroll: false, update: function () { - var widgets = misc.sortByOrder($("#widget_layout .widget").map(function () { + var layout = isNSLayout ? controller.get('selectedNSWidgetLayout') : controller.get('activeWidgetLayout'); + var widgets = misc.sortByOrder($(selector + " .widget").map(function () { return this.id; - }), self.get('controller.widgets')); - self.get('controller').saveWidgetLayout(widgets); + }), layout.get('widgets').toArray()); + controller.saveWidgetLayout(widgets, layout); }, activate: function () { self.set('isMoving', true); @@ -296,28 +299,7 @@ App.MainServiceInfoMetricsView = Em.View.extend(App.Persist, App.TimeRangeMixin, self.set('isMoving', false); } }).disableSelection(); - $('html').off('DOMNodeInserted', '#widget_layout'); -}); -$('html').on('DOMNodeInserted', '#ns_widget_layout', function () { - $(this).sortable({ -items: "> div", -cursor: "move", -tolerance: "pointer", -scroll: false, -update: function () { - var widgets = misc.sortByOrder($("#ns_widget_layout .widget").map(function () { -return this.id; - }), self.get('controller.widgets')); - self.get('controller').saveWidgetLayout(widgets); -}, -activate: function () { - self.set('isMoving', true); -}, -deactivate: function () { - self.set('isMoving', false); -} - }).disableSelection(); - $('html').off('DOMNodeInserted', '#ns_widget_layout'); + $('html').off('DOMNodeInserted', selector); }); } }); diff --git a/ambari-web/test/views/main/service/info/metrics_view_test.js b/ambari-web/test/views/main/service/info/metrics_view_test.js index 8e0024d..99442f1 100644 --- a/ambari-web/test/views/main/service/info/metrics_view_test.js +++ b/ambari-web/test/views/main/service/info/metrics_view_test.js @@ -206,7 +206,6 @@ describe('App.MainServiceInfoMetricsView', function() { sinon.spy(mock, 'on'); sinon.spy(mock, 'off'); sinon.spy(mock, 'sortable'); - view.makeSortable(); }); afterEach(function() { window.$.restore(); @@ -216,14 +215,17 @@ describe('App.MainServiceInfoMetricsView', function() { }); it("on() should be called", function() { + view.makeSortable('#widget_layout'); expect(mock.on.calledWith('DOMNodeInserted', '#widget_layout')).to.be.true; }); it("sortable() should be called", function() { + view.makeSortable('#widget_layout'); expect(mock.sortable.called).to.be.true; }); it("off() should be called", function() { + view.makeSortable('#widget_layout');
[ambari] branch trunk updated (79b2573 -> 7b893f0)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a change to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git. from 79b2573 Merge pull request #1395 from hiveww/AMBARI-23964-trunk add 7b893f0 AMBARI-23967. Dashboard,component information for few componets is not able to load after Ambari Upgrade (akovalenko) No new revisions were added by this update. Summary of changes: ambari-web/app/mappers/service_metrics_mapper.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) -- To stop receiving notification emails like this one, please contact akovale...@apache.org.
[ambari] branch trunk updated: AMBARI-23424. Need to add new property for Ranger-Tagsync when enabling federation for Namenode-HA via UI wizard (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 7bedbef AMBARI-23424. Need to add new property for Ranger-Tagsync when enabling federation for Namenode-HA via UI wizard (akovalenko) 7bedbef is described below commit 7bedbef675c2268d034622f11af48db829059e2e Author: Aleksandr Kovalenko <akovale...@apache.org> AuthorDate: Fri May 11 20:17:44 2018 +0300 AMBARI-23424. Need to add new property for Ranger-Tagsync when enabling federation for Namenode-HA via UI wizard (akovalenko) --- .../main/admin/federation/step3_controller.js | 40 ++ 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/ambari-web/app/controllers/main/admin/federation/step3_controller.js b/ambari-web/app/controllers/main/admin/federation/step3_controller.js index 448db0a..b9270cc 100644 --- a/ambari-web/app/controllers/main/admin/federation/step3_controller.js +++ b/ambari-web/app/controllers/main/admin/federation/step3_controller.js @@ -62,7 +62,8 @@ App.NameNodeFederationWizardStep3Controller = Em.Controller.extend(App.Blueprint onLoadConfigsTags: function (data) { var urlParams = '(type=hdfs-site=' + data.Clusters.desired_configs['hdfs-site'].tag + ')'; if (App.Service.find().someProperty('serviceName', 'RANGER')) { - urlParams += '|(type=ranger-tagsync-site=' + data.Clusters.desired_configs['ranger-tagsync-site'].tag + ')' + + urlParams += '|(type=core-site=' + data.Clusters.desired_configs['core-site'].tag + ')' + + '|(type=ranger-tagsync-site=' + data.Clusters.desired_configs['ranger-tagsync-site'].tag + ')' + '|(type=ranger-hdfs-security=' + data.Clusters.desired_configs['ranger-hdfs-security'].tag + ')' } App.ajax.send({ @@ -136,6 +137,7 @@ App.NameNodeFederationWizardStep3Controller = Em.Controller.extend(App.Blueprint var result = []; var configsToRemove = []; var hdfsSiteConfigs = this.get('serverConfigData').items.findProperty('type', 'hdfs-site').properties; +var coreSiteConfigs = this.get('serverConfigData').items.findProperty('type', 'core-site').properties; if (!hdfsSiteConfigs['dfs.namenode.servicerpc-address.' + dependencies.nameservice1 + '.nn1'] && !hdfsSiteConfigs['dfs.namenode.servicerpc-address.' + dependencies.nameservice1 + '.nn2']) { configsToRemove = configsToRemove.concat([ @@ -148,17 +150,14 @@ App.NameNodeFederationWizardStep3Controller = Em.Controller.extend(App.Blueprint if (App.Service.find().someProperty('serviceName', 'RANGER')) { var hdfsRangerConfigs = this.get('serverConfigData').items.findProperty('type', 'ranger-hdfs-security').properties; + var reponamePrefix = hdfsRangerConfigs['ranger.plugin.hdfs.service.name'] === '{{repo_name}}' ? dependencies.clustername + '_hadoop_' : hdfsRangerConfigs['ranger.plugin.hdfs.service.name'] + '_'; + var defaultFSNS = coreSiteConfigs['fs.defaultFS'].split('hdfs://')[1]; - if (hdfsRangerConfigs['ranger.plugin.hdfs.service.name'] === '{{repo_name}}') { -nameServices.forEach(function (nameService) { - configs.push(this.createRangerServiceProperty(nameService, dependencies.clustername + '_hadoop_' + nameService)); -}, this); - } else { -nameServices.forEach(function (nameService) { - configs.push(this.createRangerServiceProperty(nameService, hdfsRangerConfigs['ranger.plugin.hdfs.service.name'] + '_' + nameService)); -}, this); - } + nameServices.forEach(function (nameService) { +configs.push(this.createRangerServiceProperty(nameService, reponamePrefix, "ranger.tagsync.atlas.hdfs.instance." + App.get('clusterName') + ".nameservice." + nameService + ".ranger.service")); + }, this); } +configs.push(this.createRangerServiceProperty(defaultFSNS, reponamePrefix, "ranger.tagsync.atlas.hdfs.instance." + App.get('clusterName') + ".ranger.service")); configs.forEach(function (config) { if (!configsToRemove.contains(config.name)) { @@ -174,18 +173,17 @@ App.NameNodeFederationWizardStep3Controller = Em.Controller.extend(App.Blueprint return result; }, - createRangerServiceProperty: function(nameservice, value) { -var name = "ranger.tagsync.atlas.hdfs.instance." + App.get('clusterName') + ".nameservice." + nameservice + ".ranger.service"; + createRangerServiceProperty: function (nameservice, reponamePrefix, propertyName) { return { -"name": name, -"displayName": name, -"isReconfigurable": false, -"recommendedValue": value, -"value": value, -"category": &quo
[ambari] branch trunk updated: AMBARI-23754. UI Issues for HDFS Metrics when having multiple namespaces (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new aa59d05 AMBARI-23754. UI Issues for HDFS Metrics when having multiple namespaces (akovalenko) aa59d05 is described below commit aa59d053189a39b1fef0c7be635567b049aedc56 Author: Aleksandr Kovalenko <akovale...@apache.org> AuthorDate: Fri May 11 17:59:29 2018 +0300 AMBARI-23754. UI Issues for HDFS Metrics when having multiple namespaces (akovalenko) --- .../app/controllers/main/service/info/metric.js| 26 -- .../service/widgets/create/step2_controller.js | 3 +- .../service/widgets/create/step3_controller.js | 13 ++--- .../service/widgets/create/wizard_controller.js| 55 +++--- .../app/mixins/common/widgets/widget_mixin.js | 23 + .../common/modal_popups/widget_browser_popup.hbs | 5 +- .../app/templates/common/widget/gauge_widget.hbs | 2 +- .../app/templates/common/widget/graph_widget.hbs | 2 +- .../app/templates/common/widget/number_widget.hbs | 2 +- .../templates/common/widget/template_widget.hbs| 2 +- .../app/templates/main/service/info/metrics.hbs| 2 +- ambari-web/app/utils/ajax/ajax.js | 5 ++ .../widgets/create/step2_controller_test.js| 4 +- 13 files changed, 111 insertions(+), 33 deletions(-) diff --git a/ambari-web/app/controllers/main/service/info/metric.js b/ambari-web/app/controllers/main/service/info/metric.js index b9e0fb1..349f1ef 100644 --- a/ambari-web/app/controllers/main/service/info/metric.js +++ b/ambari-web/app/controllers/main/service/info/metric.js @@ -103,6 +103,8 @@ App.MainServiceInfoMetricsController = Em.Controller.extend(App.WidgetSectionMix return Em.Object.create({ id: widgetId, widgetName: widgetName, +tag: widget.WidgetInfo.tag, +metrics: widget.WidgetInfo.metrics, description: widget.WidgetInfo.description, widgetType: widgetType, iconPath: "/img/widget-" + widgetType.toLowerCase() + ".png", @@ -152,6 +154,8 @@ App.MainServiceInfoMetricsController = Em.Controller.extend(App.WidgetSectionMix return Em.Object.create({ id: widget.WidgetInfo.id, widgetName: widgetName, +tag: widget.WidgetInfo.tag, +metrics: widget.WidgetInfo.metrics, description: widget.WidgetInfo.description, widgetType: widgetType, iconPath: "/img/widget-" + widgetType.toLowerCase() + ".png", @@ -209,7 +213,8 @@ App.MainServiceInfoMetricsController = Em.Controller.extend(App.WidgetSectionMix */ hideWidget: function (event) { var widgetToHide = event.context; -var activeLayout = this.get('activeWidgetLayout'); +var widgetLayout = event.context.nsLayout; +var activeLayout = widgetLayout || this.get('activeWidgetLayout'); var widgetIds = activeLayout.get('widgets').map(function (widget) { return { "id": widget.get("id") @@ -403,11 +408,11 @@ App.MainServiceInfoMetricsController = Em.Controller.extend(App.WidgetSectionMix activeStatus: '', content: function () { + var content = []; if (this.get('parentView.isShowMineOnly')) { -return this.get('controller.mineWidgets'); +content = this.get('controller.mineWidgets'); } else { // merge my widgets and all shared widgets, no duplicated is allowed -var content = []; var widgetMap = {}; var allWidgets = this.get('controller.allSharedWidgets').concat(this.get('controller.mineWidgets')); allWidgets.forEach(function(widget) { @@ -416,8 +421,21 @@ App.MainServiceInfoMetricsController = Em.Controller.extend(App.WidgetSectionMix widgetMap[widget.get("id")] = true; } }); -return content; } + + //remove NameNode widgets with no tag if federation is enabled + if (App.get('hasNameNodeFederation')) { +content = content.filter(function (w) { + var parsedMetric; + try { +parsedMetric = JSON.parse(w.metrics); + } catch (e) { + } + return w.tag || !(parsedMetric && parsedMetric.someProperty('component_name', 'NAMENODE')); +}); + } + + return content; }.property('controller.allSharedWidgets.length', 'controller.isAllSharedWidgetsLoaded', 'controller.mineWidgets.length', 'controller.isMineWidgetsLoaded', 'parentView.isShowMineOnly'), diff --git a/ambari-web/app/controllers/main/service/widgets/create/step2_controller.js
[ambari] branch trunk updated: AMBARI-23792. Need Ranger Tagsync component to be started at end during restart all services task for Federation wizard (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 653f32a AMBARI-23792. Need Ranger Tagsync component to be started at end during restart all services task for Federation wizard (akovalenko) 653f32a is described below commit 653f32a7f0d44f34ffc250db90de4702ac81d60a Author: Aleksandr Kovalenko <akovale...@apache.org> AuthorDate: Tue May 8 16:55:44 2018 +0300 AMBARI-23792. Need Ranger Tagsync component to be started at end during restart all services task for Federation wizard (akovalenko) --- .../main/admin/federation/step4_controller.js | 16 ++- ambari-web/app/messages.js | 23 +++--- 2 files changed, 23 insertions(+), 16 deletions(-) diff --git a/ambari-web/app/controllers/main/admin/federation/step4_controller.js b/ambari-web/app/controllers/main/admin/federation/step4_controller.js index 2e5e97e..1859e62 100644 --- a/ambari-web/app/controllers/main/admin/federation/step4_controller.js +++ b/ambari-web/app/controllers/main/admin/federation/step4_controller.js @@ -22,7 +22,7 @@ App.NameNodeFederationWizardStep4Controller = App.HighAvailabilityProgressPageCo name: "nameNodeFederationWizardStep4Controller", - commands: ['stopRequiredServices', 'reconfigureServices', 'installNameNode', 'installZKFC', 'startJournalNodes', 'startInfraSolr', 'startRanger', 'startNameNodes', 'startZKFCs', 'formatNameNode', 'formatZKFC', 'startZKFC', 'startNameNode', 'bootstrapNameNode', 'startZKFC2', 'startNameNode2', 'restartAllServices'], + commands: ['stopRequiredServices', 'reconfigureServices', 'installNameNode', 'installZKFC', 'startJournalNodes', 'startInfraSolr', 'startRangerAdmin', 'startRangerUsersync', 'startNameNodes', 'startZKFCs', 'formatNameNode', 'formatZKFC', 'startZKFC', 'startNameNode', 'bootstrapNameNode', 'startZKFC2', 'startNameNode2', 'restartAllServices'], tasksMessagesPrefix: 'admin.nameNodeFederation.wizard.step', @@ -34,7 +34,7 @@ App.NameNodeFederationWizardStep4Controller = App.HighAvailabilityProgressPageCo removeUnneededTasks: function () { var installedServices = App.Service.find().mapProperty('serviceName'); if (!installedServices.contains('RANGER')) { - this.removeTasks(['startInfraSolr', 'startRanger']); + this.removeTasks(['startInfraSolr', 'startRangerAdmin', 'startRangerUsersync']); } if (!installedServices.contains('AMBARI_INFRA_SOLR')) { this.removeTasks(['startInfraSolr']); @@ -138,8 +138,14 @@ App.NameNodeFederationWizardStep4Controller = App.HighAvailabilityProgressPageCo this.startServices(false, ['AMBARI_INFRA_SOLR'], true); }, - startRanger: function () { -this.startServices(false, ['RANGER'], true); + startRangerAdmin: function () { +var hostNames = App.HostComponent.find().filterProperty('componentName', 'RANGER_ADMIN').mapProperty('hostName'); +this.updateComponent('RANGER_ADMIN', hostNames, "RANGER", "Start"); + }, + + startRangerUsersync: function () { +var hostNames = App.HostComponent.find().filterProperty('componentName', 'RANGER_USERSYNC').mapProperty('hostName'); +this.updateComponent('RANGER_USERSYNC', hostNames, "RANGER", "Start"); }, startNameNode: function () { @@ -171,7 +177,7 @@ App.NameNodeFederationWizardStep4Controller = App.HighAvailabilityProgressPageCo name: 'restart.custom.filter', sender: this, data: { -filter: "HostRoles/component_name!=NAMENODE/cluster_name=" + App.get('clusterName'), +filter: "HostRoles/component_name!=NAMENODE/component_name!=RANGER_ADMIN/component_name!=RANGER_USERSYNC/cluster_name=" + App.get('clusterName'), context: "Restart Required Services" }, success: 'startPolling', diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js index 27aa950..f4bd399 100644 --- a/ambari-web/app/messages.js +++ b/ambari-web/app/messages.js @@ -1692,17 +1692,18 @@ Em.I18n.translations = { 'admin.nameNodeFederation.wizard.step4.task3.title': 'Install Additional ZKFCs', 'admin.nameNodeFederation.wizard.step4.task4.title': 'Start JournalNodes', 'admin.nameNodeFederation.wizard.step4.task5.title': 'Start Infra Solr', - 'admin.nameNodeFederation.wizard.step4.task6.title': 'Start Ranger', - 'admin.nameNodeFederation.wizard.step4.task7.title': 'Start NameNodes', - 'admin.nameNodeFederation.wizard.step4.task8.title': 'Start ZKFCs', - 'admin.nameNodeFederation.wizard.step4.task9.title': 'Format NameNode', - 'admin.nameNodeFederation.wizard.step4.task10.title': 'Format ZKFC', - 'admin.nameNodeFederation.wizard.step4.task11.title': 'Start ZKFC', - 'admin.nameNodeFederation.wizard.step4.task12.title': 'Start N
[ambari] branch trunk updated: AMBARI-23703. While adding HDFS Namespace from UI, Timeline service fails to start (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new e950f08 AMBARI-23703. While adding HDFS Namespace from UI, Timeline service fails to start (akovalenko) e950f08 is described below commit e950f088f3d4869d87f538f211a06402895e3fce Author: Aleksandr Kovalenko <akovale...@apache.org> AuthorDate: Mon May 7 16:37:23 2018 +0300 AMBARI-23703. While adding HDFS Namespace from UI, Timeline service fails to start (akovalenko) --- .../main/admin/federation/step4_controller.js | 7 ++- ambari-web/app/messages.js | 17 + 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/ambari-web/app/controllers/main/admin/federation/step4_controller.js b/ambari-web/app/controllers/main/admin/federation/step4_controller.js index 970ecca..2e5e97e 100644 --- a/ambari-web/app/controllers/main/admin/federation/step4_controller.js +++ b/ambari-web/app/controllers/main/admin/federation/step4_controller.js @@ -22,7 +22,7 @@ App.NameNodeFederationWizardStep4Controller = App.HighAvailabilityProgressPageCo name: "nameNodeFederationWizardStep4Controller", - commands: ['stopRequiredServices', 'reconfigureServices', 'installNameNode', 'installZKFC', 'startJournalNodes', 'startInfraSolr', 'startRanger', 'startNameNodes', 'formatNameNode', 'formatZKFC', 'startZKFC', 'startNameNode', 'bootstrapNameNode', 'startZKFC2', 'startNameNode2', 'restartAllServices'], + commands: ['stopRequiredServices', 'reconfigureServices', 'installNameNode', 'installZKFC', 'startJournalNodes', 'startInfraSolr', 'startRanger', 'startNameNodes', 'startZKFCs', 'formatNameNode', 'formatZKFC', 'startZKFC', 'startNameNode', 'bootstrapNameNode', 'startZKFC2', 'startNameNode2', 'restartAllServices'], tasksMessagesPrefix: 'admin.nameNodeFederation.wizard.step', @@ -101,6 +101,11 @@ App.NameNodeFederationWizardStep4Controller = App.HighAvailabilityProgressPageCo this.updateComponent('NAMENODE', hostNames, "HDFS", "Start"); }, + startZKFCs: function () { +var hostNames = this.get('content.masterComponentHosts').filterProperty('component', 'NAMENODE').filterProperty('isInstalled').mapProperty('hostName'); +this.updateComponent('ZKFC', hostNames, "HDFS", "Start"); + }, + formatNameNode: function () { App.ajax.send({ name: 'nameNode.federation.formatNameNode', diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js index 8fab847..497fbe3 100644 --- a/ambari-web/app/messages.js +++ b/ambari-web/app/messages.js @@ -1695,14 +1695,15 @@ Em.I18n.translations = { 'admin.nameNodeFederation.wizard.step4.task5.title': 'Start Infra Solr', 'admin.nameNodeFederation.wizard.step4.task6.title': 'Start Ranger', 'admin.nameNodeFederation.wizard.step4.task7.title': 'Start NameNodes', - 'admin.nameNodeFederation.wizard.step4.task8.title': 'Format NameNode', - 'admin.nameNodeFederation.wizard.step4.task9.title': 'Format ZKFC', - 'admin.nameNodeFederation.wizard.step4.task10.title': 'Start ZKFC', - 'admin.nameNodeFederation.wizard.step4.task11.title': 'Start NameNode', - 'admin.nameNodeFederation.wizard.step4.task12.title': 'Bootstrap NameNode', - 'admin.nameNodeFederation.wizard.step4.task13.title': 'Start ZKFC', - 'admin.nameNodeFederation.wizard.step4.task14.title': 'Start NameNode', - 'admin.nameNodeFederation.wizard.step4.task15.title': 'Restart Required Services', + 'admin.nameNodeFederation.wizard.step4.task8.title': 'Start ZKFCs', + 'admin.nameNodeFederation.wizard.step4.task9.title': 'Format NameNode', + 'admin.nameNodeFederation.wizard.step4.task10.title': 'Format ZKFC', + 'admin.nameNodeFederation.wizard.step4.task11.title': 'Start ZKFC', + 'admin.nameNodeFederation.wizard.step4.task12.title': 'Start NameNode', + 'admin.nameNodeFederation.wizard.step4.task13.title': 'Bootstrap NameNode', + 'admin.nameNodeFederation.wizard.step4.task14.title': 'Start ZKFC', + 'admin.nameNodeFederation.wizard.step4.task15.title': 'Start NameNode', + 'admin.nameNodeFederation.wizard.step4.task16.title': 'Restart Required Services', 'admin.security.title':'Kerberos security has not been enabled', 'admin.security.enabled': 'Kerberos security is enabled', -- To stop receiving notification emails like this one, please contact akovale...@apache.org.
[ambari] branch trunk updated: AMBARI-23729. Start Namenodes takes a very long time when adding a namespace (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 9ccad63 AMBARI-23729. Start Namenodes takes a very long time when adding a namespace (akovalenko) 9ccad63 is described below commit 9ccad6359549f03f9e2f4e0b1ca244aaac88e3f6 Author: Aleksandr Kovalenko <akovale...@apache.org> AuthorDate: Mon Apr 30 17:43:28 2018 +0300 AMBARI-23729. Start Namenodes takes a very long time when adding a namespace (akovalenko) --- .../main/admin/federation/step1_controller.js | 2 +- .../main/admin/federation/step4_controller.js | 25 +- ambari-web/app/messages.js | 20 + 3 files changed, 36 insertions(+), 11 deletions(-) diff --git a/ambari-web/app/controllers/main/admin/federation/step1_controller.js b/ambari-web/app/controllers/main/admin/federation/step1_controller.js index e7730a4..63b9ca8 100644 --- a/ambari-web/app/controllers/main/admin/federation/step1_controller.js +++ b/ambari-web/app/controllers/main/admin/federation/step1_controller.js @@ -37,7 +37,7 @@ App.NameNodeFederationWizardStep1Controller = Em.Controller.extend({ }.property('content.nameServiceId', 'existingNameServices.length'), next: function () { -if (this.get('isNameServiceIdValid')) { +if (!this.get('isNameServiceIdError')) { App.router.send('next'); } } diff --git a/ambari-web/app/controllers/main/admin/federation/step4_controller.js b/ambari-web/app/controllers/main/admin/federation/step4_controller.js index b1606f3..7bc3a0a 100644 --- a/ambari-web/app/controllers/main/admin/federation/step4_controller.js +++ b/ambari-web/app/controllers/main/admin/federation/step4_controller.js @@ -22,10 +22,25 @@ App.NameNodeFederationWizardStep4Controller = App.HighAvailabilityProgressPageCo name: "nameNodeFederationWizardStep4Controller", - commands: ['stopRequiredServices', 'reconfigureServices', 'installNameNode', 'installZKFC', 'startJournalNodes', 'startNameNodes', 'formatNameNode', 'formatZKFC', 'startZKFC', 'startNameNode', 'bootstrapNameNode', 'startZKFC2', 'startNameNode2', 'restartAllServices'], + commands: ['stopRequiredServices', 'reconfigureServices', 'installNameNode', 'installZKFC', 'startJournalNodes', 'startInfraSolr', 'startRanger', 'startNameNodes', 'formatNameNode', 'formatZKFC', 'startZKFC', 'startNameNode', 'bootstrapNameNode', 'startZKFC2', 'startNameNode2', 'restartAllServices'], tasksMessagesPrefix: 'admin.nameNodeFederation.wizard.step', + initializeTasks: function () { +this._super(); +this.removeUnneededTasks(); + }, + + removeUnneededTasks: function () { +var installedServices = App.Service.find().mapProperty('serviceName'); +if (!installedServices.contains('RANGER')) { + this.removeTasks(['startInfraSolr', 'startRanger']); +} +if (!installedServices.contains('AMBARI_INFRA_SOLR')) { + this.removeTasks(['startInfraSolr']); +} + }, + newNameNodeHosts: function () { return this.get('content.masterComponentHosts').filterProperty('component', 'NAMENODE').filterProperty('isInstalled', false).mapProperty('hostName'); }.property('content.masterComponentHosts.@each.hostName'), @@ -114,6 +129,14 @@ App.NameNodeFederationWizardStep4Controller = App.HighAvailabilityProgressPageCo this.updateComponent('ZKFC', this.get('newNameNodeHosts')[0], "HDFS", "Start"); }, + startInfraSolr: function () { +this.startServices(false, ['AMBARI_INFRA_SOLR'], true); + }, + + startRanger: function () { +this.startServices(false, ['RANGER'], true); + }, + startNameNode: function () { this.updateComponent('NAMENODE', this.get('newNameNodeHosts')[0], "HDFS", "Start"); }, diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js index 899504c..3849fac 100644 --- a/ambari-web/app/messages.js +++ b/ambari-web/app/messages.js @@ -1692,15 +1692,17 @@ Em.I18n.translations = { 'admin.nameNodeFederation.wizard.step4.task2.title': 'Install Additional NameNodes', 'admin.nameNodeFederation.wizard.step4.task3.title': 'Install Additional ZKFCs', 'admin.nameNodeFederation.wizard.step4.task4.title': 'Start JournalNodes', - 'admin.nameNodeFederation.wizard.step4.task5.title': 'Start NameNodes', - 'admin.nameNodeFederation.wizard.step4.task6.title': 'Format NameNode', - 'admin.nameNodeFederation.wizard.step4.task7.title': 'Format ZKFC', - 'admin.nameNodeFederation.wizard.step4.task8.title': 'Start ZKFC', - 'admin.nameNodeFederation.wizard.step4.task9.title': 'Start NameNode', - 'admin.nameNodeFederation.wizard.step4.task10.title': 'Bootstrap NameNode', - 'admin.nameNodeFederation.wizard.step4.task11.title': 'Start ZKFC', - 'admin.nameNo
[ambari] branch trunk updated: AMBARI-23722. Ambari allows namespace name to be reused for new namespaces (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 0fb38a0 AMBARI-23722. Ambari allows namespace name to be reused for new namespaces (akovalenko) 0fb38a0 is described below commit 0fb38a0312d485ccad2ec065c72e69a08c4083ff Author: Aleksandr Kovalenko <akovale...@apache.org> AuthorDate: Fri Apr 27 21:38:04 2018 +0300 AMBARI-23722. Ambari allows namespace name to be reused for new namespaces (akovalenko) --- .../controllers/main/admin/federation/step1_controller.js | 15 ++- ambari-web/app/messages.js| 2 +- ambari-web/app/templates/main/admin/federation/step1.hbs | 8 ambari-web/app/views/main/admin/federation/step1_view.js | 4 +--- 4 files changed, 16 insertions(+), 13 deletions(-) diff --git a/ambari-web/app/controllers/main/admin/federation/step1_controller.js b/ambari-web/app/controllers/main/admin/federation/step1_controller.js index 67c45f4..e7730a4 100644 --- a/ambari-web/app/controllers/main/admin/federation/step1_controller.js +++ b/ambari-web/app/controllers/main/admin/federation/step1_controller.js @@ -24,12 +24,17 @@ App.NameNodeFederationWizardStep1Controller = Em.Controller.extend({ existingNameServices: function () { var isMetricsLoaded = App.router.get('clusterController.isHostComponentMetricsLoaded'); -return isMetricsLoaded ? App.HDFSService.find().objectAt(0).get('masterComponentGroups').mapProperty('name').join(', ') : ''; - }.property('App.router.clusterController.isHostComponentMetricsLoaded'), +return isMetricsLoaded ? App.HDFSService.find().objectAt(0).get('masterComponentGroups').mapProperty('name') : []; + }.property('App.router.clusterController.isHDFSNameSpacesLoaded'), - isNameServiceIdValid: function () { -return validator.isValidNameServiceId(this.get('content.nameServiceId')); - }.property('content.nameServiceId'), + existingNameServicesString: function () { +return this.get('existingNameServices').join(', '); + }.property('existingNameServices.length'), + + isNameServiceIdError: function () { +var nameServiceId = this.get('content.nameServiceId'); +return !nameServiceId || this.get('existingNameServices').contains(nameServiceId) || !validator.isValidNameServiceId(nameServiceId); + }.property('content.nameServiceId', 'existingNameServices.length'), next: function () { if (this.get('isNameServiceIdValid')) { diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js index edd0d15..899504c 100644 --- a/ambari-web/app/messages.js +++ b/ambari-web/app/messages.js @@ -1675,7 +1675,7 @@ Em.I18n.translations = { 'admin.nameNodeFederation.wizard.step1.alert':'You should plan a cluster maintenance window and prepare for cluster downtime when adding a new HDFS Namespace as this Wizard will restart all services.', 'admin.nameNodeFederation.wizard.step1.nameserviceid':'New Nameservice ID', 'admin.nameNodeFederation.wizard.step1.nameserviceid.existing':'Existing Nameservice ID', - 'admin.nameNodeFederation.wizard.step1.nameserviceid.error':'Must consist of letters, numbers, and hyphens. Cannot begin or end with a hyphen.', + 'admin.nameNodeFederation.wizard.step1.nameserviceid.error':'Must be unique and consist of letters, numbers, and hyphens. Cannot begin or end with a hyphen.', 'admin.nameNodeFederation.wizard.step2.header': 'Select Hosts', 'admin.nameNodeFederation.wizard.step2.body': 'Select hosts running the NameNodes for {0}', 'admin.nameNodeFederation.wizard.step3.header': 'Review', diff --git a/ambari-web/app/templates/main/admin/federation/step1.hbs b/ambari-web/app/templates/main/admin/federation/step1.hbs index e6b9d08..7477169 100644 --- a/ambari-web/app/templates/main/admin/federation/step1.hbs +++ b/ambari-web/app/templates/main/admin/federation/step1.hbs @@ -25,13 +25,13 @@ - + {{t admin.nameNodeFederation.wizard.step1.nameserviceid.existing}}: -{{controller.existingNameServices}} +{{controller.existingNameServicesString}} @@ -42,7 +42,7 @@ {{view Ember.TextField valueBinding="content.nameServiceId" classNames="form-control"}} - + {{t admin.nameNodeFederation.wizard.step1.nameserviceid.error}} @@ -53,7 +53,7 @@ -{{t common.next}} +{{t common.next}} diff --git a/ambari-web/app/views/main/admin/federation/step1_view.js b/ambari-web/app/views/main/admin/federation/step1_view.js index a988f78..148a0ee 100644 --- a/ambari-web/app/views/main/admin/federation/step1_view.js +++ b/ambari-web/app/views/main/admin/federat
[ambari] branch trunk updated: AMBARI-23707. NN Federation Wizard: move out of wizard create widgets operaions (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new bab87d1 AMBARI-23707. NN Federation Wizard: move out of wizard create widgets operaions (akovalenko) bab87d1 is described below commit bab87d1e010bdc1e196ef23c4dd006c4c79fb767 Author: Aleksandr Kovalenko <akovale...@apache.org> AuthorDate: Thu Apr 26 18:17:02 2018 +0300 AMBARI-23707. NN Federation Wizard: move out of wizard create widgets operaions (akovalenko) --- .../main/admin/federation/step4_controller.js | 116 + ambari-web/app/messages.js | 7 +- .../app/mixins/common/widgets/widget_section.js| 190 - ambari-web/app/utils/ajax/ajax.js | 5 + 4 files changed, 159 insertions(+), 159 deletions(-) diff --git a/ambari-web/app/controllers/main/admin/federation/step4_controller.js b/ambari-web/app/controllers/main/admin/federation/step4_controller.js index f5022ed..b1606f3 100644 --- a/ambari-web/app/controllers/main/admin/federation/step4_controller.js +++ b/ambari-web/app/controllers/main/admin/federation/step4_controller.js @@ -22,7 +22,7 @@ App.NameNodeFederationWizardStep4Controller = App.HighAvailabilityProgressPageCo name: "nameNodeFederationWizardStep4Controller", - commands: ['stopRequiredServices', 'reconfigureServices', 'installNameNode', 'installZKFC', 'startJournalNodes', 'startNameNodes', 'formatNameNode', 'formatZKFC', 'startZKFC', 'startNameNode', 'bootstrapNameNode', 'createWidgets', 'startZKFC2', 'startNameNode2', 'restartAllServices'], + commands: ['stopRequiredServices', 'reconfigureServices', 'installNameNode', 'installZKFC', 'startJournalNodes', 'startNameNodes', 'formatNameNode', 'formatZKFC', 'startZKFC', 'startNameNode', 'bootstrapNameNode', 'startZKFC2', 'startNameNode2', 'restartAllServices'], tasksMessagesPrefix: 'admin.nameNodeFederation.wizard.step', @@ -130,74 +130,6 @@ App.NameNodeFederationWizardStep4Controller = App.HighAvailabilityProgressPageCo }); }, - createWidgets: function () { -var self = this; - this.getNameNodeWidgets().done(function (data) { -var newWidgetsIds = []; -var oldWidgetIds = []; -var nameservice1 = App.HDFSService.find().objectAt(0).get('masterComponentGroups')[0].name; -var nameservice2 = self.get('content.nameServiceId'); -var widgetsCount = data.items.length; -data.items.forEach(function (widget) { - if (!widget.WidgetInfo.tag) { -var oldId = widget.WidgetInfo.id; -oldWidgetIds.push(oldId); - delete widget.href; - delete widget.WidgetInfo.id; - delete widget.WidgetInfo.cluster_name; - delete widget.WidgetInfo.author; -widget.WidgetInfo.tag = nameservice1; - widget.WidgetInfo.metrics = JSON.parse(widget.WidgetInfo.metrics); - widget.WidgetInfo.values = JSON.parse(widget.WidgetInfo.values); -self.createWidget(widget).done(function (w) { - newWidgetsIds.push(w.resources[0].WidgetInfo.id); - widget.WidgetInfo.tag = nameservice2; - self.createWidget(widget).done(function (w) { -newWidgetsIds.push(w.resources[0].WidgetInfo.id); -self.deleteWidget(oldId).done(function () { - if (!--widgetsCount) { -self.getDefaultHDFStWidgetLayout().done(function (layout) { - layout = layout.items[0].WidgetLayoutInfo; - layout.widgets = layout.widgets.filter(function (w) { -return !oldWidgetIds.contains(w.WidgetInfo.id); - }).map(function (w) { -return w.WidgetInfo.id; - }).concat(newWidgetsIds); - self.updateDefaultHDFStWidgetLayout(layout).done(function () { -self.onTaskCompleted(); - }); -}); - } -}); - }); -}); - } else { -widgetsCount--; - } -}); - }); - }, - - createWidget: function (data) { -return App.ajax.send({ - name: 'widgets.wizard.add', - sender: this, - data: { -data: data - } -}); - }, - - deleteWidget: function (id) { -return App.ajax.send({ - name: 'widget.action.delete', - sender: self, - data: { -id: id - } -}); - }, - startZKFC2: function () { this.updateComponent('ZKFC', this.get('newNameNodeHosts')[1], "HDFS", "Start"); }, @@ -213,51 +145,5 @@ App.NameNodeFederationWizardStep4Controller = App.HighAvailabilityProgressPageCo success: 'start
[ambari] branch trunk updated: AMBARI-23634. NN Federation Wizard: should work fine for multiple runs (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 658c93d AMBARI-23634. NN Federation Wizard: should work fine for multiple runs (akovalenko) 658c93d is described below commit 658c93dc66f2d91d7b701ae92ca1cc8ff48395e7 Author: Aleksandr Kovalenko <akovale...@apache.org> AuthorDate: Fri Apr 20 17:39:16 2018 +0300 AMBARI-23634. NN Federation Wizard: should work fine for multiple runs (akovalenko) --- .../main/admin/federation/step3_controller.js | 65 ++ .../main/admin/federation/step4_controller.js | 64 +- .../data/configs/wizards/federation_properties.js | 140 + 3 files changed, 138 insertions(+), 131 deletions(-) diff --git a/ambari-web/app/controllers/main/admin/federation/step3_controller.js b/ambari-web/app/controllers/main/admin/federation/step3_controller.js index 748c19f..448db0a 100644 --- a/ambari-web/app/controllers/main/admin/federation/step3_controller.js +++ b/ambari-web/app/controllers/main/admin/federation/step3_controller.js @@ -23,7 +23,6 @@ App.NameNodeFederationWizardStep3Controller = Em.Controller.extend(App.Blueprint selectedService: null, stepConfigs: [], serverConfigData: {}, - federationConfig: {}, once: false, isLoaded: false, isConfigsLoaded: false, @@ -43,7 +42,6 @@ App.NameNodeFederationWizardStep3Controller = Em.Controller.extend(App.Blueprint this.set('serverConfigData', {}); this.set('isConfigsLoaded', false); this.set('isLoaded', false); -this.set('federationConfig', $.extend(true, {}, require('data/configs/wizards/federation_properties').federationConfig)) }, loadStep: function () { @@ -85,7 +83,10 @@ App.NameNodeFederationWizardStep3Controller = Em.Controller.extend(App.Blueprint onLoad: function () { if (this.get('isConfigsLoaded') && App.router.get('clusterController.isHDFSNameSpacesLoaded')) { - var federationConfig = this.get('federationConfig'); + var federationConfig = $.extend(true, {}, require('data/configs/wizards/federation_properties').federationConfig); + if (App.get('hasNameNodeFederation')) { + federationConfig.configs = federationConfig.configs.rejectProperty('firstRun'); + } federationConfig.configs = this.tweakServiceConfigs(federationConfig.configs); this.removeConfigs(this.get('configsToRemove'), this.get('serverConfigData')); this.renderServiceConfigs(federationConfig); @@ -99,12 +100,16 @@ App.NameNodeFederationWizardStep3Controller = Em.Controller.extend(App.Blueprint var journalNodes = App.HostComponent.find().filterProperty('componentName', 'JOURNALNODE'); var nameNodes = this.get('content.masterComponentHosts').filterProperty('component', 'NAMENODE'); var hdfsSiteConfigs = configsFromServer.findProperty('type', 'hdfs-site').properties; -ret.nameservice1 = App.HDFSService.find().objectAt(0).get('masterComponentGroups')[0].name; -ret.nameservice2 = this.get('content.nameServiceId'); +var nameServices = App.HDFSService.find().objectAt(0).get('masterComponentGroups').mapProperty('name'); +ret.nameServicesList = nameServices.join(','); +ret.nameservice1 = nameServices[0]; +ret.newNameservice = this.get('content.nameServiceId'); ret.namenode1 = hdfsSiteConfigs['dfs.namenode.rpc-address.' + ret.nameservice1 + '.nn1'].split(':')[0]; ret.namenode2 = hdfsSiteConfigs['dfs.namenode.rpc-address.' + ret.nameservice1 + '.nn2'].split(':')[0]; -ret.namenode3 = nameNodes.filterProperty('isInstalled', false).mapProperty('hostName')[0]; -ret.namenode4 = nameNodes.filterProperty('isInstalled', false).mapProperty('hostName')[1]; +ret.newNameNode1Index = 'nn' + (nameNodes.length - 1); +ret.newNameNode2Index = 'nn' + nameNodes.length; +ret.newNameNode1 = nameNodes.filterProperty('isInstalled', false).mapProperty('hostName')[0]; +ret.newNameNode2 = nameNodes.filterProperty('isInstalled', false).mapProperty('hostName')[1]; ret.journalnodes = journalNodes.map(function (c) { return c.get('hostName') + ':8485' }).join(';'); @@ -121,23 +126,13 @@ App.NameNodeFederationWizardStep3Controller = Em.Controller.extend(App.Blueprint ret.journalnode_edits_dir = hdfsSiteConfigs['dfs.journalnode.edits.dir']; -if (App.Service.find().someProperty('serviceName', 'RANGER')) { - var hdfsRangerConfigs = configsFromServer.findProperty('type', 'ranger-hdfs-security').properties; - - if (hdfsRangerConfigs['ranger.plugin.hdfs.service.name'] === '{{repo_name}}') { -ret.ranger_service_name_ns1 = ret.clustername + '_hadoop_' + ret.nameservice1; -ret.ranger_service_name_ns2 = ret.clustername + '_hadoop_' + ret.nameservice2; - } else { -ret.ranger_se
[ambari] branch trunk updated: AMBARI-23601. NN Federation Wizard: Format NameNode fails due to stopped NameNodes (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new ae2e31e AMBARI-23601. NN Federation Wizard: Format NameNode fails due to stopped NameNodes (akovalenko) ae2e31e is described below commit ae2e31ea221f68c971bce0d5c467ab8a9b038b59 Author: Aleksandr Kovalenko <akovale...@apache.org> AuthorDate: Tue Apr 17 19:07:56 2018 +0300 AMBARI-23601. NN Federation Wizard: Format NameNode fails due to stopped NameNodes (akovalenko) --- .../main/admin/federation/step4_controller.js | 7 ++- ambari-web/app/messages.js| 19 ++- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/ambari-web/app/controllers/main/admin/federation/step4_controller.js b/ambari-web/app/controllers/main/admin/federation/step4_controller.js index 3105449..969b5bd 100644 --- a/ambari-web/app/controllers/main/admin/federation/step4_controller.js +++ b/ambari-web/app/controllers/main/admin/federation/step4_controller.js @@ -22,7 +22,7 @@ App.NameNodeFederationWizardStep4Controller = App.HighAvailabilityProgressPageCo name: "nameNodeFederationWizardStep4Controller", - commands: ['stopRequiredServices', 'reconfigureServices', 'installNameNode', 'installZKFC', 'startJournalNodes', 'formatNameNode', 'formatZKFC', 'startZKFC', 'startNameNode', 'bootstrapNameNode', 'createWidgets', 'startZKFC2', 'startNameNode2', 'restartAllServices'], + commands: ['stopRequiredServices', 'reconfigureServices', 'installNameNode', 'installZKFC', 'startJournalNodes', 'startNameNodes', 'formatNameNode', 'formatZKFC', 'startZKFC', 'startNameNode', 'bootstrapNameNode', 'createWidgets', 'startZKFC2', 'startNameNode2', 'restartAllServices'], tasksMessagesPrefix: 'admin.nameNodeFederation.wizard.step', @@ -81,6 +81,11 @@ App.NameNodeFederationWizardStep4Controller = App.HighAvailabilityProgressPageCo this.updateComponent('JOURNALNODE', hostNames, "HDFS", "Start"); }, + startNameNodes: function () { +var hostNames = this.get('content.masterComponentHosts').filterProperty('component', 'NAMENODE').filterProperty('isInstalled').mapProperty('hostName'); +this.updateComponent('NAMENODE', hostNames, "HDFS", "Start"); + }, + formatNameNode: function () { App.ajax.send({ name: 'nameNode.federation.formatNameNode', diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js index 91dcdee..5dd9057 100644 --- a/ambari-web/app/messages.js +++ b/ambari-web/app/messages.js @@ -1695,15 +1695,16 @@ Em.I18n.translations = { 'admin.nameNodeFederation.wizard.step4.task2.title': 'Install Additional NameNodes', 'admin.nameNodeFederation.wizard.step4.task3.title': 'Install Additional ZKFCs', 'admin.nameNodeFederation.wizard.step4.task4.title': 'Start JournalNodes', - 'admin.nameNodeFederation.wizard.step4.task5.title': 'Format NameNode', - 'admin.nameNodeFederation.wizard.step4.task6.title': 'Format ZKFC', - 'admin.nameNodeFederation.wizard.step4.task7.title': 'Start ZKFC', - 'admin.nameNodeFederation.wizard.step4.task8.title': 'Start NameNode', - 'admin.nameNodeFederation.wizard.step4.task9.title': 'Bootstrap NameNode', - 'admin.nameNodeFederation.wizard.step4.task10.title': 'Create widgets', - 'admin.nameNodeFederation.wizard.step4.task11.title': 'Start ZKFC', - 'admin.nameNodeFederation.wizard.step4.task12.title': 'Start NameNode', - 'admin.nameNodeFederation.wizard.step4.task13.title': 'Restart Required Services', + 'admin.nameNodeFederation.wizard.step4.task5.title': 'Start NameNodes', + 'admin.nameNodeFederation.wizard.step4.task6.title': 'Format NameNode', + 'admin.nameNodeFederation.wizard.step4.task7.title': 'Format ZKFC', + 'admin.nameNodeFederation.wizard.step4.task8.title': 'Start ZKFC', + 'admin.nameNodeFederation.wizard.step4.task9.title': 'Start NameNode', + 'admin.nameNodeFederation.wizard.step4.task10.title': 'Bootstrap NameNode', + 'admin.nameNodeFederation.wizard.step4.task11.title': 'Create widgets', + 'admin.nameNodeFederation.wizard.step4.task12.title': 'Start ZKFC', + 'admin.nameNodeFederation.wizard.step4.task13.title': 'Start NameNode', + 'admin.nameNodeFederation.wizard.step4.task14.title': 'Restart Required Services', 'admin.security.title':'Kerberos security has not been enabled', 'admin.security.enabled': 'Kerberos security is enabled', -- To stop receiving notification emails like this one, please contact akovale...@apache.org.
[ambari] branch trunk updated: AMBARI-23588. NN Federation Wizard Changes (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 54b3106 AMBARI-23588. NN Federation Wizard Changes (akovalenko) 54b3106 is described below commit 54b3106d0b30e97c7c12c592f428be0ac7e7928a Author: Aleksandr Kovalenko <akovale...@apache.org> AuthorDate: Mon Apr 16 18:44:05 2018 +0300 AMBARI-23588. NN Federation Wizard Changes (akovalenko) --- ambari-web/app/messages.js | 9 + ambari-web/app/routes/namenode_federation_routes.js | 10 +++--- ambari-web/app/templates/main/admin/federation/step1.hbs | 2 +- 3 files changed, 9 insertions(+), 12 deletions(-) diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js index 2c533d4..b827d45 100644 --- a/ambari-web/app/messages.js +++ b/ambari-web/app/messages.js @@ -1672,10 +1672,11 @@ Em.I18n.translations = { 'admin.nameNodeFederation.wizard.required.zookeepers': 'All ZooKeeper Servers should be up', 'admin.nameNodeFederation.wizard.required.journalnodes': 'All JournalNodes should be up', 'admin.nameNodeFederation.wizard.header': 'Add New HDFS Namespace', - 'admin.nameNodeFederation.closePopup': 'Add New HDFS Namespace Wizard is in progress. You must allow the wizard to complete for Ambari to be in usable state. If you choose to quit, you must follow manual instructions to complete or revert Add New HDFS Namespace as documented in the Ambari User Guide. Are you sure you want to exit the wizard?', + 'admin.nameNodeFederation.closePopup': 'Are you sure you want to quit?', + 'admin.nameNodeFederation.closePopup2': 'Add New HDFS Namespace Wizard is in progress. You must allow the wizard to complete for Ambari to be in usable state. If you choose to quit, you must follow manual instructions to complete or revert Add New HDFS Namespace as documented in the Ambari User Guide. Are you sure you want to exit the wizard?', 'admin.nameNodeFederation.wizard.step1.header': 'Get Started', 'admin.nameNodeFederation.wizard.step1.body':'This wizard will walk you through the process of setting up a new Highly Available NameNode pair that will be used to create a new HDFS namespace, allowing you to use Ambari to manage multiple HDFS namespaces and take advantage of HDFS Federation.', - 'admin.nameNodeFederation.wizard.step1.alert':'If you have HBase running, please exit this wizard and stop HBase first.', + 'admin.nameNodeFederation.wizard.step1.alert':'You should plan a cluster maintenance window and prepare for cluster downtime when adding a new HDFS Namespace as this Wizard will restart all services.', 'admin.nameNodeFederation.wizard.step1.nameserviceid':'New Nameservice ID', 'admin.nameNodeFederation.wizard.step1.nameserviceid.existing':'Existing Nameservice ID', 'admin.nameNodeFederation.wizard.step1.nameserviceid.error':'Must consist of letters, numbers, and hyphens. Cannot begin or end with a hyphen.', @@ -1687,8 +1688,8 @@ Em.I18n.translations = { '', 'admin.nameNodeFederation.wizard.step4.header': 'Configure Components', 'admin.nameNodeFederation.wizard,step4.save.configuration.note':'This configuration is created by Enable NameNode Federation wizard', - 'admin.nameNodeFederation.wizard.step4.notice.inProgress':'Please wait while NameNode Federation Wizard is being deployed.', - 'admin.nameNodeFederation.wizard.step4.notice.completed':'NameNode Federation Wizard has been enabled successfully.', + 'admin.nameNodeFederation.wizard.step4.notice.inProgress':'Please wait while your new HDFS Namespace is being deployed.', + 'admin.nameNodeFederation.wizard.step4.notice.completed':'Add New HDFS Namespace Wizard has been completed successfully.', 'admin.nameNodeFederation.wizard.step4.task0.title': 'Stop Required Services', 'admin.nameNodeFederation.wizard.step4.task1.title': 'Reconfigure Services', 'admin.nameNodeFederation.wizard.step4.task2.title': 'Install Additional NameNodes', diff --git a/ambari-web/app/routes/namenode_federation_routes.js b/ambari-web/app/routes/namenode_federation_routes.js index 732015b..0663c8e 100644 --- a/ambari-web/app/routes/namenode_federation_routes.js +++ b/ambari-web/app/routes/namenode_federation_routes.js @@ -44,14 +44,10 @@ module.exports = App.WizardRoute.extend({ onClose: function () { var nameNodeFederationWizardController = router.get('nameNodeFederationWizardController'), - currStep = nameNodeFederationWizardController.get('currentStep'); - if (parseInt(currStep) === 4) { -App.showConfirmationPopup(function () { - nameNodeFederationWizardController.resetOnClose(nameNodeFederationWizardController, 'main.services.index'); -}, Em.I18n.t('admin.nameNodeFederation.closePopup')); -
[ambari] branch trunk updated: AMBARI-23576. Modify federation wizard steps to Stop All services and Start ZK and JN (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 9f5a8e8 AMBARI-23576. Modify federation wizard steps to Stop All services and Start ZK and JN (akovalenko) 9f5a8e8 is described below commit 9f5a8e888b8e06b93730bb630d1f36e7eb275804 Author: Aleksandr Kovalenko <akovale...@apache.org> AuthorDate: Fri Apr 13 18:16:57 2018 +0300 AMBARI-23576. Modify federation wizard steps to Stop All services and Start ZK and JN (akovalenko) --- .../main/admin/federation/step4_controller.js | 36 +- ambari-web/app/messages.js | 27 2 files changed, 22 insertions(+), 41 deletions(-) diff --git a/ambari-web/app/controllers/main/admin/federation/step4_controller.js b/ambari-web/app/controllers/main/admin/federation/step4_controller.js index ff609f7..3105449 100644 --- a/ambari-web/app/controllers/main/admin/federation/step4_controller.js +++ b/ambari-web/app/controllers/main/admin/federation/step4_controller.js @@ -22,7 +22,7 @@ App.NameNodeFederationWizardStep4Controller = App.HighAvailabilityProgressPageCo name: "nameNodeFederationWizardStep4Controller", - commands: ['reconfigureServices', 'installNameNode', 'installZKFC', 'restartJournalNodes', 'formatNameNode', 'formatZKFC', 'startZKFC', 'startNameNode', 'bootstrapNameNode', 'createWidgets', 'startZKFC2', 'startNameNode2', 'restartAllServices'], + commands: ['stopRequiredServices', 'reconfigureServices', 'installNameNode', 'installZKFC', 'startJournalNodes', 'formatNameNode', 'formatZKFC', 'startZKFC', 'startNameNode', 'bootstrapNameNode', 'createWidgets', 'startZKFC2', 'startNameNode2', 'restartAllServices'], tasksMessagesPrefix: 'admin.nameNodeFederation.wizard.step', @@ -30,6 +30,10 @@ App.NameNodeFederationWizardStep4Controller = App.HighAvailabilityProgressPageCo return this.get('content.masterComponentHosts').filterProperty('component', 'NAMENODE').filterProperty('isInstalled', false).mapProperty('hostName'); }.property('content.masterComponentHosts.@each.hostName'), + stopRequiredServices: function () { +this.stopServices(["ZOOKEEPER"]); + }, + reconfigureServices: function () { var configs = []; var data = this.get('content.serviceConfigProperties'); @@ -72,33 +76,9 @@ App.NameNodeFederationWizardStep4Controller = App.HighAvailabilityProgressPageCo this.createInstallComponentTask('ZKFC', this.get('newNameNodeHosts'), "HDFS"); }, - restartJournalNodes: function () { -var context = "Restart JournalNodes"; - -var resource_filters = { - component_name: "JOURNALNODE", - hosts: App.HostComponent.find().filterProperty('componentName', 'JOURNALNODE').mapProperty('hostName').join(','), - service_name: "HDFS" -}; - -var operation_level = { - level: "HOST_COMPONENT", - cluster_name: this.get('content.cluster.name'), - service_name: "HDFS", - hostcomponent_name: "JOURNALNODE" -}; - -App.ajax.send({ - name: 'restart.hostComponents', - sender: this, - data: { -context: context, -resource_filters: [resource_filters], -operation_level: operation_level - }, - success: 'startPolling', - error: 'onTaskError' -}); + startJournalNodes: function () { +var hostNames = App.HostComponent.find().filterProperty('componentName', 'JOURNALNODE').mapProperty('hostName'); +this.updateComponent('JOURNALNODE', hostNames, "HDFS", "Start"); }, formatNameNode: function () { diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js index fbd7dd0..2c533d4 100644 --- a/ambari-web/app/messages.js +++ b/ambari-web/app/messages.js @@ -1689,19 +1689,20 @@ Em.I18n.translations = { 'admin.nameNodeFederation.wizard,step4.save.configuration.note':'This configuration is created by Enable NameNode Federation wizard', 'admin.nameNodeFederation.wizard.step4.notice.inProgress':'Please wait while NameNode Federation Wizard is being deployed.', 'admin.nameNodeFederation.wizard.step4.notice.completed':'NameNode Federation Wizard has been enabled successfully.', - 'admin.nameNodeFederation.wizard.step4.task0.title': 'Reconfigure Services', - 'admin.nameNodeFederation.wizard.step4.task1.title': 'Install Additional NameNodes', - 'admin.nameNodeFederation.wizard.step4.task2.title': 'Install Additional ZKFCs', - 'admin.nameNodeFederation.wizard.step4.task3.title': 'Restart JournalNodes', - 'admin.nameNodeFederation.wizard.step4.task4.title': 'Format NameNode', - 'admin.nameNodeFederation.wizard.step4.task5.title': 'Format ZKFC', - 'admin.nameNodeFederation.wizard.step4.task6.title': 'Start ZKFC', - 'a
[ambari] branch trunk updated: AMBARI-23559. Journalnode restart step is required when edits dir is changed (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 81a6957 AMBARI-23559. Journalnode restart step is required when edits dir is changed (akovalenko) 81a6957 is described below commit 81a6957a7a48f1d664e357142e82708d5a745e8e Author: Aleksandr Kovalenko <akovale...@apache.org> AuthorDate: Thu Apr 12 16:43:25 2018 +0300 AMBARI-23559. Journalnode restart step is required when edits dir is changed (akovalenko) --- .../main/admin/federation/step4_controller.js | 31 +- ambari-web/app/messages.js | 19 ++--- 2 files changed, 40 insertions(+), 10 deletions(-) diff --git a/ambari-web/app/controllers/main/admin/federation/step4_controller.js b/ambari-web/app/controllers/main/admin/federation/step4_controller.js index c9c6557..ff609f7 100644 --- a/ambari-web/app/controllers/main/admin/federation/step4_controller.js +++ b/ambari-web/app/controllers/main/admin/federation/step4_controller.js @@ -22,7 +22,7 @@ App.NameNodeFederationWizardStep4Controller = App.HighAvailabilityProgressPageCo name: "nameNodeFederationWizardStep4Controller", - commands: ['reconfigureServices', 'installNameNode', 'installZKFC', 'formatNameNode', 'formatZKFC', 'startZKFC', 'startNameNode', 'bootstrapNameNode', 'createWidgets', 'startZKFC2', 'startNameNode2', 'restartAllServices'], + commands: ['reconfigureServices', 'installNameNode', 'installZKFC', 'restartJournalNodes', 'formatNameNode', 'formatZKFC', 'startZKFC', 'startNameNode', 'bootstrapNameNode', 'createWidgets', 'startZKFC2', 'startNameNode2', 'restartAllServices'], tasksMessagesPrefix: 'admin.nameNodeFederation.wizard.step', @@ -72,6 +72,35 @@ App.NameNodeFederationWizardStep4Controller = App.HighAvailabilityProgressPageCo this.createInstallComponentTask('ZKFC', this.get('newNameNodeHosts'), "HDFS"); }, + restartJournalNodes: function () { +var context = "Restart JournalNodes"; + +var resource_filters = { + component_name: "JOURNALNODE", + hosts: App.HostComponent.find().filterProperty('componentName', 'JOURNALNODE').mapProperty('hostName').join(','), + service_name: "HDFS" +}; + +var operation_level = { + level: "HOST_COMPONENT", + cluster_name: this.get('content.cluster.name'), + service_name: "HDFS", + hostcomponent_name: "JOURNALNODE" +}; + +App.ajax.send({ + name: 'restart.hostComponents', + sender: this, + data: { +context: context, +resource_filters: [resource_filters], +operation_level: operation_level + }, + success: 'startPolling', + error: 'onTaskError' +}); + }, + formatNameNode: function () { App.ajax.send({ name: 'nameNode.federation.formatNameNode', diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js index ee4492f..fbd7dd0 100644 --- a/ambari-web/app/messages.js +++ b/ambari-web/app/messages.js @@ -1692,15 +1692,16 @@ Em.I18n.translations = { 'admin.nameNodeFederation.wizard.step4.task0.title': 'Reconfigure Services', 'admin.nameNodeFederation.wizard.step4.task1.title': 'Install Additional NameNodes', 'admin.nameNodeFederation.wizard.step4.task2.title': 'Install Additional ZKFCs', - 'admin.nameNodeFederation.wizard.step4.task3.title': 'Format NameNode', - 'admin.nameNodeFederation.wizard.step4.task4.title': 'Format ZKFC', - 'admin.nameNodeFederation.wizard.step4.task5.title': 'Start ZKFC', - 'admin.nameNodeFederation.wizard.step4.task6.title': 'Start NameNode', - 'admin.nameNodeFederation.wizard.step4.task7.title': 'Bootstrap NameNode', - 'admin.nameNodeFederation.wizard.step4.task8.title': 'Create widgets', - 'admin.nameNodeFederation.wizard.step4.task9.title': 'Start ZKFC', - 'admin.nameNodeFederation.wizard.step4.task10.title': 'Start NameNode', - 'admin.nameNodeFederation.wizard.step4.task11.title': 'Restart Required Services', + 'admin.nameNodeFederation.wizard.step4.task3.title': 'Restart JournalNodes', + 'admin.nameNodeFederation.wizard.step4.task4.title': 'Format NameNode', + 'admin.nameNodeFederation.wizard.step4.task5.title': 'Format ZKFC', + 'admin.nameNodeFederation.wizard.step4.task6.title': 'Start ZKFC', + 'admin.nameNodeFederation.wizard.step4.task7.title': 'Start NameNode', + 'admin.nameNodeFederation.wizard.step4.task8.title': 'Bootstrap NameNode', + 'admin.nameNodeFederation.wizard.step4.task9.title': 'Create widgets', + 'admin.nameNodeFederation.wizard.step4.task10.title': 'Start ZKFC', + 'admin.nameNodeFederation.wizard.step4.task11.title': 'Start NameNode', + 'admin.nameNodeFederation.wizard.step4.task12.title': 'Restart Required Services', 'admin.security.title':'Kerberos secu
[ambari] branch trunk updated: AMBARI-23498. Default shared edits location should be preserved. Fixing issues after resolving merge confilcts. (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 04db2b4 AMBARI-23498. Default shared edits location should be preserved. Fixing issues after resolving merge confilcts. (akovalenko) 04db2b4 is described below commit 04db2b44b4c0870959ef79af927fa89d84ff678b Author: Aleksandr Kovalenko <akovale...@apache.org> AuthorDate: Tue Apr 10 17:01:39 2018 +0300 AMBARI-23498. Default shared edits location should be preserved. Fixing issues after resolving merge confilcts. (akovalenko) --- .../app/controllers/main/admin/federation/step3_controller.js | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ambari-web/app/controllers/main/admin/federation/step3_controller.js b/ambari-web/app/controllers/main/admin/federation/step3_controller.js index 2f576e7..1f05844 100644 --- a/ambari-web/app/controllers/main/admin/federation/step3_controller.js +++ b/ambari-web/app/controllers/main/admin/federation/step3_controller.js @@ -23,7 +23,7 @@ App.NameNodeFederationWizardStep3Controller = Em.Controller.extend(App.Blueprint selectedService: null, stepConfigs: [], serverConfigData: {}, - federationConfig: $.extend(true, {}, require('data/configs/wizards/federation_properties').federationConfig), + federationConfig: {}, once: false, isLoaded: false, isConfigsLoaded: false, @@ -41,6 +41,9 @@ App.NameNodeFederationWizardStep3Controller = Em.Controller.extend(App.Blueprint clearStep: function () { this.get('stepConfigs').clear(); this.set('serverConfigData', {}); +this.set('isConfigsLoaded', false); +this.set('isLoaded', false); +this.set('federationConfig', $.extend(true, {}, require('data/configs/wizards/federation_properties').federationConfig)) }, loadStep: function () { @@ -77,13 +80,13 @@ App.NameNodeFederationWizardStep3Controller = Em.Controller.extend(App.Blueprint onLoadConfigs: function (data) { this.set('serverConfigData', data); -this.removeConfigs(this.get('configsToRemove'), data); this.set('isConfigsLoaded', true); }, onLoad: function () { if (this.get('isConfigsLoaded') && App.router.get('clusterController.isHDFSNameSpacesLoaded')) { this.tweakServiceConfigs(this.get('federationConfig.configs')); + this.removeConfigs(this.get('configsToRemove'), this.get('serverConfigData')); this.renderServiceConfigs(this.get('federationConfig')); this.set('isLoaded', true); } -- To stop receiving notification emails like this one, please contact akovale...@apache.org.
[ambari] branch trunk updated: AMBARI-23496. Disable Add New HDFS Namespace option if cluster has no NN HA (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 580c9fa AMBARI-23496. Disable Add New HDFS Namespace option if cluster has no NN HA (akovalenko) 580c9fa is described below commit 580c9faf8e11bfc6e4c2470ea96c0ebe65f7217b Author: Aleksandr Kovalenko <akovale...@apache.org> AuthorDate: Fri Apr 6 17:12:03 2018 +0300 AMBARI-23496. Disable Add New HDFS Namespace option if cluster has no NN HA (akovalenko) --- ambari-web/app/models/host_component.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ambari-web/app/models/host_component.js b/ambari-web/app/models/host_component.js index c1bed60..aea98ef 100644 --- a/ambari-web/app/models/host_component.js +++ b/ambari-web/app/models/host_component.js @@ -544,7 +544,7 @@ App.HostComponentActionMap = { action: 'openNameNodeFederationWizard', label: Em.I18n.t('admin.nameNodeFederation.button.enable'), cssClass: 'icon icon-sitemap', -//todo: provide disabled flag +disabled: !App.get('isHaEnabled') } }; }, -- To stop receiving notification emails like this one, please contact akovale...@apache.org.
[ambari] branch trunk updated: AMBARI-23494. Incorrect servicerpc address configs being generated by NN Federation wizard (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new d693edc AMBARI-23494. Incorrect servicerpc address configs being generated by NN Federation wizard (akovalenko) d693edc is described below commit d693edc7502280043e76ddc348752a0758950218 Author: Aleksandr Kovalenko <akovale...@apache.org> AuthorDate: Fri Apr 6 16:53:19 2018 +0300 AMBARI-23494. Incorrect servicerpc address configs being generated by NN Federation wizard (akovalenko) --- .../main/admin/federation/step3_controller.js| 20 +--- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/ambari-web/app/controllers/main/admin/federation/step3_controller.js b/ambari-web/app/controllers/main/admin/federation/step3_controller.js index 7458820..4ed68fe 100644 --- a/ambari-web/app/controllers/main/admin/federation/step3_controller.js +++ b/ambari-web/app/controllers/main/admin/federation/step3_controller.js @@ -26,6 +26,7 @@ App.NameNodeFederationWizardStep3Controller = Em.Controller.extend(App.Blueprint federationConfig: $.extend(true, {}, require('data/configs/wizards/federation_properties').federationConfig), once: false, isLoaded: false, + isConfigsLoaded: false, versionLoaded: true, hideDependenciesInfoBar: true, @@ -77,20 +78,27 @@ App.NameNodeFederationWizardStep3Controller = Em.Controller.extend(App.Blueprint onLoadConfigs: function (data) { this.set('serverConfigData', data); this.removeConfigs(this.get('configsToRemove'), data); -this.tweakServiceConfigs(this.get('federationConfig.configs')); -this.renderServiceConfigs(this.get('federationConfig')); -this.set('isLoaded', true); +this.set('isConfigsLoaded', true); }, + onLoad: function () { +if (this.get('isConfigsLoaded') && App.router.get('clusterController.isHDFSNameSpacesLoaded')) { + this.tweakServiceConfigs(this.get('federationConfig.configs')); + this.renderServiceConfigs(this.get('federationConfig')); + this.set('isLoaded', true); +} + }.observes('isConfigsLoaded', 'App.router.clusterController.isHDFSNameSpacesLoaded'), + prepareDependencies: function () { var ret = {}; var configsFromServer = this.get('serverConfigData.items'); var journalNodes = App.HostComponent.find().filterProperty('componentName', 'JOURNALNODE'); var nameNodes = this.get('content.masterComponentHosts').filterProperty('component', 'NAMENODE'); +var hdfsSiteConfigs = configsFromServer.findProperty('type', 'hdfs-site').properties; ret.nameservice1 = App.HDFSService.find().objectAt(0).get('masterComponentGroups')[0].name; ret.nameservice2 = this.get('content.nameServiceId'); -ret.namenode1 = nameNodes.filterProperty('isInstalled').mapProperty('hostName')[0]; -ret.namenode2 = nameNodes.filterProperty('isInstalled').mapProperty('hostName')[1]; +ret.namenode1 = hdfsSiteConfigs['dfs.namenode.rpc-address.' + ret.nameservice1 + '.nn1'].split(':')[0]; +ret.namenode2 = hdfsSiteConfigs['dfs.namenode.rpc-address.' + ret.nameservice1 + '.nn2'].split(':')[0]; ret.namenode3 = nameNodes.filterProperty('isInstalled', false).mapProperty('hostName')[0]; ret.namenode4 = nameNodes.filterProperty('isInstalled', false).mapProperty('hostName')[1]; ret.journalnodes = journalNodes.map(function (c) { @@ -98,8 +106,6 @@ App.NameNodeFederationWizardStep3Controller = Em.Controller.extend(App.Blueprint }).join(';'); ret.clustername = App.get('clusterName'); -var hdfsSiteConfigs = configsFromServer.findProperty('type', 'hdfs-site').properties; - var dfsHttpA = hdfsSiteConfigs['dfs.namenode.http-address']; ret.nnHttpPort = dfsHttpA ? dfsHttpA.split(':')[1] : 50070; -- To stop receiving notification emails like this one, please contact akovale...@apache.org.
[ambari] branch trunk updated: AMBARI-23482. NN Federation: service summary widgets should show correct metrics data (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 3f6726f AMBARI-23482. NN Federation: service summary widgets should show correct metrics data (akovalenko) 3f6726f is described below commit 3f6726f5a44cc5289b141c2cad7c4f35fef6bdc7 Author: Aleksandr Kovalenko <akovale...@apache.org> AuthorDate: Thu Apr 5 21:52:23 2018 +0300 AMBARI-23482. NN Federation: service summary widgets should show correct metrics data (akovalenko) --- .../service/widgets/create/step3_controller.js | 9 +- ambari-web/app/mappers/widget_mapper.js| 3 +- .../app/mixins/common/widgets/widget_mixin.js | 21 +++-- ambari-web/app/models/widget.js| 1 + .../service/widgets/create/step2_add_metric.hbs| 44 - .../widgets/create/step2_component_dropdown.hbs| 39 ambari-web/app/utils/ajax/ajax.js | 2 +- .../main/service/widgets/create/expression_view.js | 103 + .../main/service/widgets/create/step2_view.js | 8 ++ 9 files changed, 158 insertions(+), 72 deletions(-) diff --git a/ambari-web/app/controllers/main/service/widgets/create/step3_controller.js b/ambari-web/app/controllers/main/service/widgets/create/step3_controller.js index eebe1f5..10d0b33 100644 --- a/ambari-web/app/controllers/main/service/widgets/create/step3_controller.js +++ b/ambari-web/app/controllers/main/service/widgets/create/step3_controller.js @@ -184,7 +184,7 @@ App.WidgetWizardStep3Controller = Em.Controller.extend({ * @returns {{WidgetInfo: {cluster_name: *, widget_name: *, widget_type: *, description: *, scope: string, metrics: *, values: *, properties: *}}} */ collectWidgetData: function () { -return { +var widgetData = { WidgetInfo: { widget_name: this.get('widgetName'), widget_type: this.get('content.widgetType'), @@ -193,6 +193,7 @@ App.WidgetWizardStep3Controller = Em.Controller.extend({ author: this.get('widgetAuthor'), metrics: this.get('widgetMetrics').map(function (metric) { delete metric.data; + delete metric.tag; return metric; }), values: this.get('widgetValues').map(function (value) { @@ -202,6 +203,12 @@ App.WidgetWizardStep3Controller = Em.Controller.extend({ properties: this.get('widgetProperties') } }; + +this.get('widgetMetrics').forEach(function (metric) { + if (metric.tag) widgetData.tag = metric.tag; +}); + +return widgetData; }, cancel: function () { diff --git a/ambari-web/app/mappers/widget_mapper.js b/ambari-web/app/mappers/widget_mapper.js index 84cb757..c1dac18 100644 --- a/ambari-web/app/mappers/widget_mapper.js +++ b/ambari-web/app/mappers/widget_mapper.js @@ -33,7 +33,8 @@ App.widgetMapper = App.QuickDataMapper.create({ metrics: 'metrics', values: 'values', description: 'description', -scope: 'scope' +scope: 'scope', +tag: 'tag' }, map: function (json) { if (!this.get('model')) return; diff --git a/ambari-web/app/mixins/common/widgets/widget_mixin.js b/ambari-web/app/mixins/common/widgets/widget_mixin.js index 3b438f8..0d24f01 100644 --- a/ambari-web/app/mixins/common/widgets/widget_mixin.js +++ b/ambari-web/app/mixins/common/widgets/widget_mixin.js @@ -167,7 +167,7 @@ App.WidgetMixin = Ember.Mixin.create({ getRequestData: function (metrics) { var requestsData = {}; if (metrics) { - metrics.forEach(function (metric, index) { + metrics.forEach(function (metric) { var key; if (metric.host_component_criteria) { key = metric.service_name + '_' + metric.component_name + '_' + metric.host_component_criteria; @@ -190,6 +190,7 @@ App.WidgetMixin = Ember.Mixin.create({ id: requestMetric["metric_path"] + "_" + this.get('metricType'), context: this}]; delete requestMetric["metric_path"]; + requestMetric.tag = this.get('content.tag'); requestsData[key] = requestMetric; } }, this); @@ -255,16 +256,21 @@ App.WidgetMixin = Ember.Mixin.create({ */ getHostComponentMetrics: function (request) { var metricPaths = this.prepareMetricPaths(request.metric_paths); +var data = { + componentName: request.component_name, + metricPaths: this.prepareMetricPaths(request.metric_paths), + hostComponentCriteria: this.computeHostComponentCriteria(request) +}; + +if (request.tag) { + data.selectedHostsParam = '/host_name.in(' + App.HDFSService.find().objectAt(0).get('masterComponentGroups').findProperty('name', request.tag).hosts.join(',') + ')'; +} if (metricPaths.length) { var xhr = App.ajax.send({ name
[ambari] branch trunk updated: AMBARI-23450. NN Federation Wizard: infinite spinner on step3 with no Ranger installed (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 541953e AMBARI-23450. NN Federation Wizard: infinite spinner on step3 with no Ranger installed (akovalenko) 541953e is described below commit 541953e11830f61ab59b253d3738b017bb505e6f Author: Aleksandr Kovalenko <akovale...@apache.org> AuthorDate: Wed Apr 4 14:37:28 2018 +0300 AMBARI-23450. NN Federation Wizard: infinite spinner on step3 with no Ranger installed (akovalenko) --- .../main/admin/federation/step3_controller.js | 21 - 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/ambari-web/app/controllers/main/admin/federation/step3_controller.js b/ambari-web/app/controllers/main/admin/federation/step3_controller.js index f24785f..7458820 100644 --- a/ambari-web/app/controllers/main/admin/federation/step3_controller.js +++ b/ambari-web/app/controllers/main/admin/federation/step3_controller.js @@ -99,15 +99,6 @@ App.NameNodeFederationWizardStep3Controller = Em.Controller.extend(App.Blueprint ret.clustername = App.get('clusterName'); var hdfsSiteConfigs = configsFromServer.findProperty('type', 'hdfs-site').properties; -var hdfsRangerConfigs = configsFromServer.findProperty('type', 'ranger-hdfs-security').properties; - -if (hdfsRangerConfigs['ranger.plugin.hdfs.service.name'] === '{{repo_name}}') { - ret.ranger_service_name_ns1 = ret.clustername + '_hadoop_' + ret.nameservice1; - ret.ranger_service_name_ns2 = ret.clustername + '_hadoop_' + ret.nameservice2; -} else { - ret.ranger_service_name_ns1 = hdfsRangerConfigs['ranger.plugin.hdfs.service.name'] + '_' + ret.nameservice1; - ret.ranger_service_name_ns2 = hdfsRangerConfigs['ranger.plugin.hdfs.service.name'] + '_' + ret.nameservice2; -} var dfsHttpA = hdfsSiteConfigs['dfs.namenode.http-address']; ret.nnHttpPort = dfsHttpA ? dfsHttpA.split(':')[1] : 50070; @@ -118,6 +109,18 @@ App.NameNodeFederationWizardStep3Controller = Em.Controller.extend(App.Blueprint var dfsRpcA = hdfsSiteConfigs['dfs.namenode.rpc-address']; ret.nnRpcPort = dfsRpcA ? dfsRpcA.split(':')[1] : 8020; +if (App.Service.find().someProperty('serviceName', 'RANGER')) { + var hdfsRangerConfigs = configsFromServer.findProperty('type', 'ranger-hdfs-security').properties; + + if (hdfsRangerConfigs['ranger.plugin.hdfs.service.name'] === '{{repo_name}}') { +ret.ranger_service_name_ns1 = ret.clustername + '_hadoop_' + ret.nameservice1; +ret.ranger_service_name_ns2 = ret.clustername + '_hadoop_' + ret.nameservice2; + } else { +ret.ranger_service_name_ns1 = hdfsRangerConfigs['ranger.plugin.hdfs.service.name'] + '_' + ret.nameservice1; +ret.ranger_service_name_ns2 = hdfsRangerConfigs['ranger.plugin.hdfs.service.name'] + '_' + ret.nameservice2; + } +} + return ret; }, -- To stop receiving notification emails like this one, please contact akovale...@apache.org.
[ambari] branch branch-feature-AMBARI-14714 updated: Fixed additional instance of the same API call being used. (#675)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch branch-feature-AMBARI-14714 in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/branch-feature-AMBARI-14714 by this push: new 3a7fb23 Fixed additional instance of the same API call being used. (#675) 3a7fb23 is described below commit 3a7fb237794b7450b4d9ab79d2834126888612e5 Author: Jason Golieb <j...@golieb.net> AuthorDate: Tue Apr 3 09:19:17 2018 -0400 Fixed additional instance of the same API call being used. (#675) --- .../app/controllers/global/update_controller.js| 47 +++-- .../controllers/main/admin/service_auto_start.js | 48 -- .../app/controllers/wizard/step8_controller.js | 2 +- ambari-web/app/utils/ajax/ajax.js | 8 ++-- .../controllers/global/update_controller_test.js | 6 +-- .../main/admin/service_auto_start_test.js | 13 +++--- 6 files changed, 64 insertions(+), 60 deletions(-) diff --git a/ambari-web/app/controllers/global/update_controller.js b/ambari-web/app/controllers/global/update_controller.js index 94c5466..6c3b0eb 100644 --- a/ambari-web/app/controllers/global/update_controller.js +++ b/ambari-web/app/controllers/global/update_controller.js @@ -626,33 +626,36 @@ App.UpdateController = Em.Controller.extend({ }, //TODO - update service auto-start to use this - updateClusterEnv: function (callback) { -this.loadClusterConfig(callback).done(function (data) { - var tag = [ -{ - siteName: 'cluster-env', - tagName: data.Clusters.desired_configs['cluster-env'].tag, - newTagName: null -} - ]; - App.router.get('configurationController').getConfigsByTags(tag).done(function (config) { -App.router.get('clusterController').set('clusterEnv', config[0]); - }); + updateClusterEnv: function () { +this.loadClusterSettings().then(function (settings) { + App.router.get('clusterController').set('clusterEnv', { properties: settings }); }); }, - loadClusterConfig: function (callback) { -return App.ajax.send({ - name: 'config.tags.site', - sender: this, - data: { -site: 'cluster-env' - }, - callback: callback -}); + loadClusterSettings: function () { +const dfd = $.Deferred(); + +App.ajax.send({ + name: 'common.cluster.settings', + sender: this +}).then(data => { + const settings = {}; + + if (data && data.items) { +data.items.forEach(item => { + const key = item.ClusterSettingInfo.cluster_setting_name; + const value = item.ClusterSettingInfo.cluster_setting_value; + settings[key] = value; +}); + } + + dfd.resolve(settings); +}, dfd.reject); + +return dfd.promise(); }, - updateWizardWatcher: function(callback) { + updateWizardWatcher: function (callback) { App.router.get('wizardWatcherController').getUser().complete(callback); }, diff --git a/ambari-web/app/controllers/main/admin/service_auto_start.js b/ambari-web/app/controllers/main/admin/service_auto_start.js index 80b6e50..79dec3b 100644 --- a/ambari-web/app/controllers/main/admin/service_auto_start.js +++ b/ambari-web/app/controllers/main/admin/service_auto_start.js @@ -112,33 +112,37 @@ App.MainAdminServiceAutoStartController = Em.Controller.extend({ }, load: function() { -this.loadClusterConfig().done((data) => { - const tag = [ -{ - siteName: 'cluster-env', - tagName: data.Clusters.desired_configs['cluster-env'].tag, - newTagName: null -} - ]; - App.router.get('configurationController').getConfigsByTags(tag).done((data) => { -this.set('clusterConfigs', data[0].properties); -this.set('isGeneralRecoveryEnabled', data[0].properties.recovery_enabled === 'true'); -this.set('isGeneralRecoveryEnabledCached', this.get('isGeneralRecoveryEnabled')); -this.loadComponentsConfigs().then(() => { - this.set('isLoaded', true); -}); +this.loadClusterSettings().done(function (settings) { + this.set('clusterConfigs', settings); + this.set('isGeneralRecoveryEnabled', settings.recovery_enabled === 'true'); + this.set('isGeneralRecoveryEnabledCached', this.get('isGeneralRecoveryEnabled')); + this.loadComponentsConfigs().then(() => { +this.set('isLoaded', true); }); }); }, - loadClusterConfig: function () { -return App.ajax.send({ - name: 'config.tags.site', - sender: this, - data: { -site: 'cluster-env' + loadClusterSettings: function () { +const dfd = $.Deferred(); + +App.ajax.send({ + name: 'common.cluster.settings', + sender: this +}).then(data => { + const settings = {}; +
[ambari] branch trunk updated: AMBARI-23424. Need to add new property for Ranger-Tagsync when enabling federation for Namenode-HA via UI wizard (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 95f9e81 AMBARI-23424. Need to add new property for Ranger-Tagsync when enabling federation for Namenode-HA via UI wizard (akovalenko) 95f9e81 is described below commit 95f9e81cd5f4d9882f8b63316336c31ed8896d6a Author: Aleksandr Kovalenko <akovale...@apache.org> AuthorDate: Mon Apr 2 21:50:09 2018 +0300 AMBARI-23424. Need to add new property for Ranger-Tagsync when enabling federation for Namenode-HA via UI wizard (akovalenko) --- .../main/admin/federation/step3_controller.js | 25 +- .../main/admin/federation/step4_controller.js | 22 ++- .../data/configs/wizards/federation_properties.js | 23 +++- ambari-web/app/messages.js | 2 +- 4 files changed, 60 insertions(+), 12 deletions(-) diff --git a/ambari-web/app/controllers/main/admin/federation/step3_controller.js b/ambari-web/app/controllers/main/admin/federation/step3_controller.js index b372587..f24785f 100644 --- a/ambari-web/app/controllers/main/admin/federation/step3_controller.js +++ b/ambari-web/app/controllers/main/admin/federation/step3_controller.js @@ -58,11 +58,16 @@ App.NameNodeFederationWizardStep3Controller = Em.Controller.extend(App.Blueprint onLoadConfigsTags: function (data) { +var urlParams = '(type=hdfs-site=' + data.Clusters.desired_configs['hdfs-site'].tag + ')'; +if (App.Service.find().someProperty('serviceName', 'RANGER')) { + urlParams += '|(type=ranger-tagsync-site=' + data.Clusters.desired_configs['ranger-tagsync-site'].tag + ')' + + '|(type=ranger-hdfs-security=' + data.Clusters.desired_configs['ranger-hdfs-security'].tag + ')' +} App.ajax.send({ name: 'admin.get.all_configurations', sender: this, data: { -urlParams: '(type=hdfs-site=' + data.Clusters.desired_configs['hdfs-site'].tag + ')' +urlParams: urlParams }, success: 'onLoadConfigs', error: 'onTaskError' @@ -91,16 +96,26 @@ App.NameNodeFederationWizardStep3Controller = Em.Controller.extend(App.Blueprint ret.journalnodes = journalNodes.map(function (c) { return c.get('hostName') + ':8485' }).join(';'); +ret.clustername = App.get('clusterName'); -var hdfsConfigs = configsFromServer.findProperty('type', 'hdfs-site').properties; +var hdfsSiteConfigs = configsFromServer.findProperty('type', 'hdfs-site').properties; +var hdfsRangerConfigs = configsFromServer.findProperty('type', 'ranger-hdfs-security').properties; -var dfsHttpA = hdfsConfigs['dfs.namenode.http-address']; +if (hdfsRangerConfigs['ranger.plugin.hdfs.service.name'] === '{{repo_name}}') { + ret.ranger_service_name_ns1 = ret.clustername + '_hadoop_' + ret.nameservice1; + ret.ranger_service_name_ns2 = ret.clustername + '_hadoop_' + ret.nameservice2; +} else { + ret.ranger_service_name_ns1 = hdfsRangerConfigs['ranger.plugin.hdfs.service.name'] + '_' + ret.nameservice1; + ret.ranger_service_name_ns2 = hdfsRangerConfigs['ranger.plugin.hdfs.service.name'] + '_' + ret.nameservice2; +} + +var dfsHttpA = hdfsSiteConfigs['dfs.namenode.http-address']; ret.nnHttpPort = dfsHttpA ? dfsHttpA.split(':')[1] : 50070; -var dfsHttpsA = hdfsConfigs['dfs.namenode.https-address']; +var dfsHttpsA = hdfsSiteConfigs['dfs.namenode.https-address']; ret.nnHttpsPort = dfsHttpsA ? dfsHttpsA.split(':')[1] : 50470; -var dfsRpcA = hdfsConfigs['dfs.namenode.rpc-address']; +var dfsRpcA = hdfsSiteConfigs['dfs.namenode.rpc-address']; ret.nnRpcPort = dfsRpcA ? dfsRpcA.split(':')[1] : 8020; return ret; diff --git a/ambari-web/app/controllers/main/admin/federation/step4_controller.js b/ambari-web/app/controllers/main/admin/federation/step4_controller.js index 9c9c9dd..c9c6557 100644 --- a/ambari-web/app/controllers/main/admin/federation/step4_controller.js +++ b/ambari-web/app/controllers/main/admin/federation/step4_controller.js @@ -22,7 +22,7 @@ App.NameNodeFederationWizardStep4Controller = App.HighAvailabilityProgressPageCo name: "nameNodeFederationWizardStep4Controller", - commands: ['reconfigureHDFS', 'installNameNode', 'installZKFC', 'formatNameNode', 'formatZKFC', 'startZKFC', 'startNameNode', 'bootstrapNameNode', 'createWidgets', 'startZKFC2', 'startNameNode2', 'restartAllServices'], + commands: ['reconfigureServices', 'installNameNode', 'installZKFC', 'formatNameNode', 'formatZKFC', 'startZKFC', 'startNameNode', 'bootstrapNameNode', 'createWidgets', 'startZKFC2', 'startNameNode2', 'restartAllServices'], tasksMessagesPrefix: 'admin.nameNodeFederation.wizard.step', @@ -30,15 +30,27 @@ App.NameNodeFederationWizar
[ambari] branch trunk updated: AMBARI-23406. NN Federation: replace start/stop operation with restart operation (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 9a8b959 AMBARI-23406. NN Federation: replace start/stop operation with restart operation (akovalenko) 9a8b959 is described below commit 9a8b959781a1ccbc50403eef9d6779b944da579c Author: Aleksandr Kovalenko <akovale...@apache.org> AuthorDate: Thu Mar 29 17:40:26 2018 +0300 AMBARI-23406. NN Federation: replace start/stop operation with restart operation (akovalenko) --- .../main/admin/federation/step4_controller.js | 15 ++-- .../main/admin/highAvailability_controller.js | 13 +++ ambari-web/app/messages.js | 27 +++--- 3 files changed, 35 insertions(+), 20 deletions(-) diff --git a/ambari-web/app/controllers/main/admin/federation/step4_controller.js b/ambari-web/app/controllers/main/admin/federation/step4_controller.js index f725f1a..9c9c9dd 100644 --- a/ambari-web/app/controllers/main/admin/federation/step4_controller.js +++ b/ambari-web/app/controllers/main/admin/federation/step4_controller.js @@ -22,7 +22,7 @@ App.NameNodeFederationWizardStep4Controller = App.HighAvailabilityProgressPageCo name: "nameNodeFederationWizardStep4Controller", - commands: ['stopAllServices', 'reconfigureHDFS', 'installNameNode', 'installZKFC', 'formatNameNode', 'formatZKFC', 'startZKFC', 'startNameNode', 'bootstrapNameNode', 'createWidgets', 'startZKFC2', 'startNameNode2', 'startAllServices'], + commands: ['reconfigureHDFS', 'installNameNode', 'installZKFC', 'formatNameNode', 'formatZKFC', 'startZKFC', 'startNameNode', 'bootstrapNameNode', 'createWidgets', 'startZKFC2', 'startNameNode2', 'restartAllServices'], tasksMessagesPrefix: 'admin.nameNodeFederation.wizard.step', @@ -52,10 +52,6 @@ App.NameNodeFederationWizardStep4Controller = App.HighAvailabilityProgressPageCo this.createInstallComponentTask('HDFS_CLIENT', hostNames, 'HDFS'); }, - stopAllServices: function () { -this.stopServices([], true, true); - }, - installNameNode: function () { this.createInstallComponentTask('NAMENODE', this.get('newNameNodeHosts'), "HDFS"); }, @@ -184,8 +180,13 @@ App.NameNodeFederationWizardStep4Controller = App.HighAvailabilityProgressPageCo this.updateComponent('NAMENODE', this.get('newNameNodeHosts')[1], "HDFS", "Start"); }, - startAllServices: function () { -this.startServices(false); + restartAllServices: function () { +App.ajax.send({ + name: 'restart.allServices', + sender: this, + success: 'startPolling', + error: 'onTaskError' +}); }, getNameNodeWidgets: function () { diff --git a/ambari-web/app/controllers/main/admin/highAvailability_controller.js b/ambari-web/app/controllers/main/admin/highAvailability_controller.js index 2e4eeed..e9a86df 100644 --- a/ambari-web/app/controllers/main/admin/highAvailability_controller.js +++ b/ambari-web/app/controllers/main/admin/highAvailability_controller.js @@ -121,6 +121,19 @@ App.MainAdminHighAvailabilityController = App.WizardController.extend({ * @return {Boolean} */ enableNameNodeFederation: function () { +//Prerequisite Checks +var message = []; +if (!App.HostComponent.find().filterProperty('componentName', 'ZOOKEEPER_SERVER').everyProperty('workStatus', 'STARTED')) { + message.push(Em.I18n.t('admin.nameNodeFederation.wizard.required.zookeepers')); +} + +if (!App.HostComponent.find().filterProperty('componentName', 'JOURNALNODE').everyProperty('workStatus', 'STARTED')) { + message.push(Em.I18n.t('admin.nameNodeFederation.wizard.required.journalnodes')); +} +if (message.length > 0) { + this.showErrorPopup(message); + return false; +} App.router.transitionTo('main.services.enableNameNodeFederation'); return true; }, diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js index 0c52e6a..7370032 100644 --- a/ambari-web/app/messages.js +++ b/ambari-web/app/messages.js @@ -1669,6 +1669,8 @@ Em.I18n.translations = { 'If you choose to quit, you must follow manual instructions to complete or revert enabling Ranger Admin HA as documented in the Ambari User Guide. Are you sure you want to exit the wizard?', 'admin.nameNodeFederation.button.enable':'Add New HDFS Namespace', + 'admin.nameNodeFederation.wizard.required.zookeepers': 'All ZooKeeper Servers should be up', + 'admin.nameNodeFederation.wizard.required.journalnodes': 'All JournalNodes should be up', 'admin.nameNodeFederation.wizard.header': 'Add New HDFS Namespace', 'admin.nameNodeFederation.closePopup': 'Add New HDFS Namespace Wizard is in progress. You must allow the wizard to complete for Ambari to be in usable state. If you choose to quit
[ambari] branch trunk updated: AMBARI-23378. Closing 'Add New HDFS Namespace' wizard shows confirmation for RM HA wizard (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 5c2f4fb AMBARI-23378. Closing 'Add New HDFS Namespace' wizard shows confirmation for RM HA wizard (akovalenko) 5c2f4fb is described below commit 5c2f4fbb383453d81574b8e2c081a3c3a279ca60 Author: Aleksandr Kovalenko <akovale...@apache.org> AuthorDate: Tue Mar 27 16:55:06 2018 +0300 AMBARI-23378. Closing 'Add New HDFS Namespace' wizard shows confirmation for RM HA wizard (akovalenko) --- ambari-web/app/data/configs/wizards/federation_properties.js | 4 ++-- ambari-web/app/messages.js | 1 + ambari-web/app/routes/namenode_federation_routes.js | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/ambari-web/app/data/configs/wizards/federation_properties.js b/ambari-web/app/data/configs/wizards/federation_properties.js index d81fe53..9ec419c 100644 --- a/ambari-web/app/data/configs/wizards/federation_properties.js +++ b/ambari-web/app/data/configs/wizards/federation_properties.js @@ -77,8 +77,8 @@ module.exports = "displayName": "dfs.ha.namenodes.{{nameservice2}}", "description": "The prefix for a given nameservice, contains a comma-separated list of namenodes for a given nameservice.", "isReconfigurable": false, -"recommendedValue": "{{namenode3}},{{namenode4}}", -"value": "{{namenode3}},{{namenode4}}", +"recommendedValue": "nn3,nn4", +"value": "nn3,nn4", "category": "HDFS", "filename": "hdfs-site", "serviceName": 'MISC' diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js index 5341389..40e8101 100644 --- a/ambari-web/app/messages.js +++ b/ambari-web/app/messages.js @@ -1668,6 +1668,7 @@ Em.I18n.translations = { 'admin.nameNodeFederation.button.enable':'Add New HDFS Namespace', 'admin.nameNodeFederation.wizard.header': 'Add New HDFS Namespace', + 'admin.nameNodeFederation.closePopup': 'Add New HDFS Namespace Wizard is in progress. You must allow the wizard to complete for Ambari to be in usable state. If you choose to quit, you must follow manual instructions to complete or revert Add New HDFS Namespace as documented in the Ambari User Guide. Are you sure you want to exit the wizard?', 'admin.nameNodeFederation.wizard.step1.header': 'Get Started', 'admin.nameNodeFederation.wizard.step1.body':'This wizard will walk you through the process of setting up a new Highly Available NameNode pair that will be used to create a new HDFS namespace, allowing you to use Ambari to manage multiple HDFS namespaces and take advantage of HDFS Federation.', 'admin.nameNodeFederation.wizard.step1.alert':'If you have HBase running, please exit this wizard and stop HBase first.', diff --git a/ambari-web/app/routes/namenode_federation_routes.js b/ambari-web/app/routes/namenode_federation_routes.js index c6ae1ea..732015b 100644 --- a/ambari-web/app/routes/namenode_federation_routes.js +++ b/ambari-web/app/routes/namenode_federation_routes.js @@ -35,7 +35,7 @@ module.exports = App.WizardRoute.extend({ classNames: ['wizard-modal-wrapper'], modalDialogClasses: ['modal-xlg'], header: Em.I18n.t('admin.nameNodeFederation.wizard.header'), -bodyClass: App.RMHighAvailabilityWizardView.extend({ +bodyClass: App.NameNodeFederationWizardView.extend({ controller: nameNodeFederationWizardController }), primary: Em.I18n.t('form.cancel'), @@ -48,7 +48,7 @@ module.exports = App.WizardRoute.extend({ if (parseInt(currStep) === 4) { App.showConfirmationPopup(function () { nameNodeFederationWizardController.resetOnClose(nameNodeFederationWizardController, 'main.services.index'); -}, Em.I18n.t('admin.rm_highAvailability.closePopup')); +}, Em.I18n.t('admin.nameNodeFederation.closePopup')); } else { nameNodeFederationWizardController.resetOnClose(nameNodeFederationWizardController, 'main.services.index'); } -- To stop receiving notification emails like this one, please contact akovale...@apache.org.
[ambari] branch trunk updated: AMBARI-23304. Add namespace-specific layout for HDFS metrics (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new fbc785a AMBARI-23304. Add namespace-specific layout for HDFS metrics (akovalenko) fbc785a is described below commit fbc785ab3556aa554357787411c61e567147c2af Author: Aleksandr Kovalenko <akovale...@apache.org> AuthorDate: Tue Mar 20 16:24:49 2018 +0200 AMBARI-23304. Add namespace-specific layout for HDFS metrics (akovalenko) --- .../main/admin/federation/step4_controller.js | 117 - ambari-web/app/messages.js | 7 +- .../app/mixins/common/widgets/widget_section.js| 114 ++-- ambari-web/app/models/host_component.js| 2 +- ambari-web/app/models/service/hdfs.js | 2 +- ambari-web/app/models/widget_layout.js | 6 +- .../app/styles/enhanced_service_dashboard.less | 8 +- .../app/templates/main/service/info/metrics.hbs| 23 .../app/views/main/service/info/metrics_view.js| 35 +- .../views/main/service/info/metrics_view_test.js | 10 +- 10 files changed, 298 insertions(+), 26 deletions(-) diff --git a/ambari-web/app/controllers/main/admin/federation/step4_controller.js b/ambari-web/app/controllers/main/admin/federation/step4_controller.js index fd3a6f3..f725f1a 100644 --- a/ambari-web/app/controllers/main/admin/federation/step4_controller.js +++ b/ambari-web/app/controllers/main/admin/federation/step4_controller.js @@ -22,7 +22,7 @@ App.NameNodeFederationWizardStep4Controller = App.HighAvailabilityProgressPageCo name: "nameNodeFederationWizardStep4Controller", - commands: ['stopAllServices', 'reconfigureHDFS', 'installNameNode', 'installZKFC', 'formatNameNode', 'formatZKFC', 'startZKFC', 'startNameNode', 'bootstrapNameNode', 'startZKFC2', 'startNameNode2', 'startAllServices'], + commands: ['stopAllServices', 'reconfigureHDFS', 'installNameNode', 'installZKFC', 'formatNameNode', 'formatZKFC', 'startZKFC', 'startNameNode', 'bootstrapNameNode', 'createWidgets', 'startZKFC2', 'startNameNode2', 'startAllServices'], tasksMessagesPrefix: 'admin.nameNodeFederation.wizard.step', @@ -108,6 +108,74 @@ App.NameNodeFederationWizardStep4Controller = App.HighAvailabilityProgressPageCo }); }, + createWidgets: function () { +var self = this; +this.getNameNodeWidgets().done(function (data) { + var newWidgetsIds = []; + var oldWidgetIds = []; + var nameservice1 = App.HDFSService.find().objectAt(0).get('masterComponentGroups')[0].name; + var nameservice2 = self.get('content.nameServiceId'); + var widgetsCount = data.items.length; + data.items.forEach(function (widget) { +if (!widget.WidgetInfo.tag) { + var oldId = widget.WidgetInfo.id; + oldWidgetIds.push(oldId); + delete widget.href; + delete widget.WidgetInfo.id; + delete widget.WidgetInfo.cluster_name; + delete widget.WidgetInfo.author; + widget.WidgetInfo.tag = nameservice1; + widget.WidgetInfo.metrics = JSON.parse(widget.WidgetInfo.metrics); + widget.WidgetInfo.values = JSON.parse(widget.WidgetInfo.values); + self.createWidget(widget).done(function (w) { +newWidgetsIds.push(w.resources[0].WidgetInfo.id); +widget.WidgetInfo.tag = nameservice2; +self.createWidget(widget).done(function (w) { + newWidgetsIds.push(w.resources[0].WidgetInfo.id); + self.deleteWidget(oldId).done(function () { +if (!--widgetsCount) { + self.getDefaultHDFStWidgetLayout().done(function (layout) { +layout = layout.items[0].WidgetLayoutInfo; +layout.widgets = layout.widgets.filter(function (w) { + return !oldWidgetIds.contains(w.WidgetInfo.id); +}).map(function (w) { + return w.WidgetInfo.id; +}).concat(newWidgetsIds); +self.updateDefaultHDFStWidgetLayout(layout).done(function () { + self.onTaskCompleted(); +}); + }); +} + }); +}); + }); +} else { + widgetsCount--; +} + }); +}); + }, + + createWidget: function (data) { +return App.ajax.send({ + name: 'widgets.wizard.add', + sender: this, + data: { +data: data + } +}); + }, + + deleteWidget: function (id) { +return App.ajax.send({ + name: 'widget.action.delete', + sender: self, + data: { +id: id + } +}); + }, + startZKFC2: function () { this.updateComponent('ZKFC', this.get('newNameNodeHosts')[1], "HDFS",
[ambari] branch trunk updated: AMBARI-23208. NN Federation Wizard: rename custom command (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new eb23613 AMBARI-23208. NN Federation Wizard: rename custom command (akovalenko) eb23613 is described below commit eb2361376144e445e6fe461773b474f0bc30f8c0 Author: Aleksandr Kovalenko <akovale...@apache.org> AuthorDate: Mon Mar 12 17:59:37 2018 +0200 AMBARI-23208. NN Federation Wizard: rename custom command (akovalenko) --- .../app/controllers/main/admin/federation/step1_controller.js | 5 + .../app/controllers/main/admin/federation/step3_controller.js | 3 +-- ambari-web/app/messages.js| 1 + ambari-web/app/templates/main/admin/federation/step1.hbs | 8 ambari-web/app/utils/ajax/ajax.js | 2 +- 5 files changed, 16 insertions(+), 3 deletions(-) diff --git a/ambari-web/app/controllers/main/admin/federation/step1_controller.js b/ambari-web/app/controllers/main/admin/federation/step1_controller.js index eb3655e..67c45f4 100644 --- a/ambari-web/app/controllers/main/admin/federation/step1_controller.js +++ b/ambari-web/app/controllers/main/admin/federation/step1_controller.js @@ -22,6 +22,11 @@ var validator = require('utils/validator'); App.NameNodeFederationWizardStep1Controller = Em.Controller.extend({ name: "nameNodeFederationWizardStep1Controller", + existingNameServices: function () { +var isMetricsLoaded = App.router.get('clusterController.isHostComponentMetricsLoaded'); +return isMetricsLoaded ? App.HDFSService.find().objectAt(0).get('masterComponentGroups').mapProperty('name').join(', ') : ''; + }.property('App.router.clusterController.isHostComponentMetricsLoaded'), + isNameServiceIdValid: function () { return validator.isValidNameServiceId(this.get('content.nameServiceId')); }.property('content.nameServiceId'), diff --git a/ambari-web/app/controllers/main/admin/federation/step3_controller.js b/ambari-web/app/controllers/main/admin/federation/step3_controller.js index 993cecc..b372587 100644 --- a/ambari-web/app/controllers/main/admin/federation/step3_controller.js +++ b/ambari-web/app/controllers/main/admin/federation/step3_controller.js @@ -82,8 +82,7 @@ App.NameNodeFederationWizardStep3Controller = Em.Controller.extend(App.Blueprint var configsFromServer = this.get('serverConfigData.items'); var journalNodes = App.HostComponent.find().filterProperty('componentName', 'JOURNALNODE'); var nameNodes = this.get('content.masterComponentHosts').filterProperty('component', 'NAMENODE'); -// todo: replace with real data -ret.nameservice1 = 'ns1'; +ret.nameservice1 = App.HDFSService.find().objectAt(0).get('masterComponentGroups')[0].name; ret.nameservice2 = this.get('content.nameServiceId'); ret.namenode1 = nameNodes.filterProperty('isInstalled').mapProperty('hostName')[0]; ret.namenode2 = nameNodes.filterProperty('isInstalled').mapProperty('hostName')[1]; diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js index c98d6f0..188972b 100644 --- a/ambari-web/app/messages.js +++ b/ambari-web/app/messages.js @@ -1672,6 +1672,7 @@ Em.I18n.translations = { 'admin.nameNodeFederation.wizard.step1.body':'This wizard will walk you through the process of setting up a new Highly Available NameNode pair that will be used to create a new HDFS namespace, allowing you to use Ambari to manage multiple HDFS namespaces and take advantage of HDFS Federation.', 'admin.nameNodeFederation.wizard.step1.alert':'If you have HBase running, please exit this wizard and stop HBase first.', 'admin.nameNodeFederation.wizard.step1.nameserviceid':'New Nameservice ID', + 'admin.nameNodeFederation.wizard.step1.nameserviceid.existing':'Existing Nameservice ID', 'admin.nameNodeFederation.wizard.step1.nameserviceid.error':'Must consist of letters, numbers, and hyphens. Cannot begin or end with a hyphen.', 'admin.nameNodeFederation.wizard.step2.header': 'Select Hosts', 'admin.nameNodeFederation.wizard.step3.header': 'Review', diff --git a/ambari-web/app/templates/main/admin/federation/step1.hbs b/ambari-web/app/templates/main/admin/federation/step1.hbs index 568f150..41324b3 100644 --- a/ambari-web/app/templates/main/admin/federation/step1.hbs +++ b/ambari-web/app/templates/main/admin/federation/step1.hbs @@ -28,6 +28,14 @@ +{{t admin.nameNodeFederation.wizard.step1.nameserviceid.existing}}: + + +{{controller.existingNameServices}} + + + + {{t admin.nameNodeFederation.wizard.step1.nameserviceid}}: diff --git a/ambari-web/app/utils/ajax/ajax.js b/ambari-web/app/utils/ajax/ajax.js index 318be8a..86b02e3 100
[ambari] branch branch-2.6 updated: AMBARI-23014. Unable to proceed to step1 on Install Wizard (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch branch-2.6 in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/branch-2.6 by this push: new 9d714a4 AMBARI-23014. Unable to proceed to step1 on Install Wizard (akovalenko) 9d714a4 is described below commit 9d714a44838ebdf6b85d492a0e171536de8223a5 Author: Aleksandr Kovalenko <akovale...@apache.org> AuthorDate: Mon Mar 12 14:00:05 2018 +0200 AMBARI-23014. Unable to proceed to step1 on Install Wizard (akovalenko) --- ambari-web/app/views/wizard/step1_view.js | 3 + ambari-web/test/views/wizard/step1_view_test.js | 89 + 2 files changed, 92 insertions(+) diff --git a/ambari-web/app/views/wizard/step1_view.js b/ambari-web/app/views/wizard/step1_view.js index 3e78810..8c50e8d 100644 --- a/ambari-web/app/views/wizard/step1_view.js +++ b/ambari-web/app/views/wizard/step1_view.js @@ -171,6 +171,9 @@ App.WizardStep1View = Em.View.extend({ */ invalidFormatUrlExist: function () { var allRepositories = this.get('allRepositories'); +if (!allRepositories) { + return false; +} if (this.get('controller.selectedStack.useRedhatSatellite')) { allRepositories = allRepositories.filter(this.isRedhat); } diff --git a/ambari-web/test/views/wizard/step1_view_test.js b/ambari-web/test/views/wizard/step1_view_test.js index f353a2f..1472850 100644 --- a/ambari-web/test/views/wizard/step1_view_test.js +++ b/ambari-web/test/views/wizard/step1_view_test.js @@ -130,4 +130,93 @@ describe('App.WizardStep1View', function () { expect(view.isRedhat(Em.Object.create({osType: 'redhat-ppc7'}))).to.be.true; }); }); + + describe('#invalidFormatUrlExist', function () { + +var testCases = [ + { +title: 'no repositories', +allRepositories: undefined, +useRedhatSatellite: false, +result: false + }, + { +title: 'use redhat, invalid format', +allRepositories: [ + Em.Object.create({ +osType: '', +invalidFormatError: false + }), + Em.Object.create({ +osType: 'redhat', +invalidFormatError: true + }) +], +useRedhatSatellite: true, +result: true + }, + { +title: 'use redhat, no invalid format', +allRepositories: [ + Em.Object.create({ +osType: '', +invalidFormatError: true + }), + Em.Object.create({ +osType: 'redhat', +invalidFormatError: false + }) +], +useRedhatSatellite: true, +result: false + }, + { +title: 'no use redhat, invalid format', +allRepositories: [ + Em.Object.create({ +osType: '', +invalidFormatError: true + }), + Em.Object.create({ +osType: 'redhat', +invalidFormatError: false + }) +], +useRedhatSatellite: false, +result: true + }, + { +title: 'no use redhat, invalid format', +allRepositories: [ + Em.Object.create({ +osType: '', +invalidFormatError: false + }), + Em.Object.create({ +osType: 'redhat', +invalidFormatError: true + }) +], +useRedhatSatellite: false, +result: true + } +]; + +testCases.forEach(function (testCase) { + describe(testCase.title, function () { +beforeEach(function () { + view.reopen({ +allRepositories: testCase.allRepositories + }); + view.set('controller.selectedStack', Em.Object.create({ +useRedhatSatellite: testCase.useRedhatSatellite + })); +}); +it('', function () { + expect(view.get('invalidFormatUrlExist')).to.equal(testCase.result); +}); + }); +}); + }); + }); \ No newline at end of file -- To stop receiving notification emails like this one, please contact akovale...@apache.org.
[ambari] branch trunk updated: AMBARI-23166. NN Federation Wizard: implement step4 (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 35fe83c AMBARI-23166. NN Federation Wizard: implement step4 (akovalenko) 35fe83c is described below commit 35fe83c4f720348dee3d00af53ce263686fd792e Author: Aleksandr Kovalenko <akovale...@apache.org> AuthorDate: Wed Mar 7 18:17:36 2018 +0200 AMBARI-23166. NN Federation Wizard: implement step4 (akovalenko) --- .../main/admin/federation/step3_controller.js | 9 +- .../main/admin/federation/step4_controller.js | 101 - .../main/admin/federation/wizard_controller.js | 18 .../data/configs/wizards/federation_properties.js | 52 ++- ambari-web/app/messages.js | 15 +++ .../app/routes/namenode_federation_routes.js | 7 -- .../app/templates/main/admin/federation/step4.hbs | 7 +- ambari-web/app/utils/ajax/ajax.js | 59 .../app/views/main/admin/federation/step4_view.js | 13 ++- 9 files changed, 241 insertions(+), 40 deletions(-) diff --git a/ambari-web/app/controllers/main/admin/federation/step3_controller.js b/ambari-web/app/controllers/main/admin/federation/step3_controller.js index d48043b..993cecc 100644 --- a/ambari-web/app/controllers/main/admin/federation/step3_controller.js +++ b/ambari-web/app/controllers/main/admin/federation/step3_controller.js @@ -81,13 +81,14 @@ App.NameNodeFederationWizardStep3Controller = Em.Controller.extend(App.Blueprint var ret = {}; var configsFromServer = this.get('serverConfigData.items'); var journalNodes = App.HostComponent.find().filterProperty('componentName', 'JOURNALNODE'); +var nameNodes = this.get('content.masterComponentHosts').filterProperty('component', 'NAMENODE'); // todo: replace with real data ret.nameservice1 = 'ns1'; ret.nameservice2 = this.get('content.nameServiceId'); -ret.namenode1 = this.get('content.selectedHosts.currentNN')[0]; -ret.namenode2 = this.get('content.selectedHosts.currentNN')[1]; -ret.namenode3 = this.get('content.selectedHosts.additionalNN')[0]; -ret.namenode4 = this.get('content.selectedHosts.additionalNN')[1]; +ret.namenode1 = nameNodes.filterProperty('isInstalled').mapProperty('hostName')[0]; +ret.namenode2 = nameNodes.filterProperty('isInstalled').mapProperty('hostName')[1]; +ret.namenode3 = nameNodes.filterProperty('isInstalled', false).mapProperty('hostName')[0]; +ret.namenode4 = nameNodes.filterProperty('isInstalled', false).mapProperty('hostName')[1]; ret.journalnodes = journalNodes.map(function (c) { return c.get('hostName') + ':8485' }).join(';'); diff --git a/ambari-web/app/controllers/main/admin/federation/step4_controller.js b/ambari-web/app/controllers/main/admin/federation/step4_controller.js index 2a293a3..fd3a6f3 100644 --- a/ambari-web/app/controllers/main/admin/federation/step4_controller.js +++ b/ambari-web/app/controllers/main/admin/federation/step4_controller.js @@ -20,5 +20,104 @@ var App = require('app'); App.NameNodeFederationWizardStep4Controller = App.HighAvailabilityProgressPageController.extend(App.WizardEnableDone, { - name: "nameNodeFederationWizardStep4Controller" + name: "nameNodeFederationWizardStep4Controller", + + commands: ['stopAllServices', 'reconfigureHDFS', 'installNameNode', 'installZKFC', 'formatNameNode', 'formatZKFC', 'startZKFC', 'startNameNode', 'bootstrapNameNode', 'startZKFC2', 'startNameNode2', 'startAllServices'], + + tasksMessagesPrefix: 'admin.nameNodeFederation.wizard.step', + + newNameNodeHosts: function () { +return this.get('content.masterComponentHosts').filterProperty('component', 'NAMENODE').filterProperty('isInstalled', false).mapProperty('hostName'); + }.property('content.masterComponentHosts.@each.hostName'), + + reconfigureHDFS: function () { +var data = this.get('content.serviceConfigProperties'); +var note = Em.I18n.t('admin.nameNodeFederation.wizard,step4.save.configuration.note'); +var configData = this.reconfigureSites(['hdfs-site'], data, note); +return App.ajax.send({ + name: 'common.service.configurations', + sender: this, + data: { +desired_config: configData + }, + error: 'onTaskError', + success: 'installHDFSClients' +}); + }, + + installHDFSClients: function () { +var nnHostNames = this.get('content.masterComponentHosts').filterProperty('component', 'NAMENODE').mapProperty('hostName'); +var jnHostNames = App.HostComponent.find().filterProperty('componentName', 'JOURNALNODE').mapProperty('hostName'); +var hostNames = nnHostNames.concat(jnHostNames).uniq(); +this.createInstallComponentTask('HDFS_CLIENT', hostNames, 'HDFS'); + }, + + stopAllServices: function () { +
[ambari] branch trunk updated: AMBARI-23085. NN Federation Wizard: implement step3
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new e50b82c AMBARI-23085. NN Federation Wizard: implement step3 e50b82c is described below commit e50b82c235e19b1267998a68eb26ff33fd4aaadd Author: Aleksandr Kovalenko <aleksandrkovale...@users.noreply.github.com> AuthorDate: Thu Mar 1 20:52:40 2018 +0200 AMBARI-23085. NN Federation Wizard: implement step3 --- .../main/admin/federation/step3_controller.js | 159 +- .../main/admin/federation/wizard_controller.js | 37 ++-- .../data/configs/wizards/federation_properties.js | 187 + ambari-web/app/messages.js | 4 + .../app/routes/namenode_federation_routes.js | 7 +- .../app/templates/main/admin/federation/step3.hbs | 44 - .../app/views/main/admin/federation/step3_view.js | 12 +- 7 files changed, 432 insertions(+), 18 deletions(-) diff --git a/ambari-web/app/controllers/main/admin/federation/step3_controller.js b/ambari-web/app/controllers/main/admin/federation/step3_controller.js index 4b847f3..d48043b 100644 --- a/ambari-web/app/controllers/main/admin/federation/step3_controller.js +++ b/ambari-web/app/controllers/main/admin/federation/step3_controller.js @@ -19,5 +19,162 @@ var App = require('app'); App.NameNodeFederationWizardStep3Controller = Em.Controller.extend(App.BlueprintMixin, { - name: "nameNodeFederationWizardStep3Controller" + name: "nameNodeFederationWizardStep3Controller", + selectedService: null, + stepConfigs: [], + serverConfigData: {}, + federationConfig: $.extend(true, {}, require('data/configs/wizards/federation_properties').federationConfig), + once: false, + isLoaded: false, + versionLoaded: true, + hideDependenciesInfoBar: true, + + /** + * Map of sites and properties to delete + * @type Object + */ + configsToRemove: { +'hdfs-site': ['dfs.namenode.shared.edits.dir', 'dfs.journalnode.edits.dir'] + }, + + clearStep: function () { +this.get('stepConfigs').clear(); +this.set('serverConfigData', {}); + }, + + loadStep: function () { +this.clearStep(); +this.loadConfigsTags(); + }, + + loadConfigsTags: function () { +return App.ajax.send({ + name: 'config.tags', + sender: this, + success: 'onLoadConfigsTags', + error: 'onTaskError' +}); + }, + + + onLoadConfigsTags: function (data) { +App.ajax.send({ + name: 'admin.get.all_configurations', + sender: this, + data: { +urlParams: '(type=hdfs-site=' + data.Clusters.desired_configs['hdfs-site'].tag + ')' + }, + success: 'onLoadConfigs', + error: 'onTaskError' +}); + }, + + onLoadConfigs: function (data) { +this.set('serverConfigData', data); +this.removeConfigs(this.get('configsToRemove'), data); +this.tweakServiceConfigs(this.get('federationConfig.configs')); +this.renderServiceConfigs(this.get('federationConfig')); +this.set('isLoaded', true); + }, + + prepareDependencies: function () { +var ret = {}; +var configsFromServer = this.get('serverConfigData.items'); +var journalNodes = App.HostComponent.find().filterProperty('componentName', 'JOURNALNODE'); +// todo: replace with real data +ret.nameservice1 = 'ns1'; +ret.nameservice2 = this.get('content.nameServiceId'); +ret.namenode1 = this.get('content.selectedHosts.currentNN')[0]; +ret.namenode2 = this.get('content.selectedHosts.currentNN')[1]; +ret.namenode3 = this.get('content.selectedHosts.additionalNN')[0]; +ret.namenode4 = this.get('content.selectedHosts.additionalNN')[1]; +ret.journalnodes = journalNodes.map(function (c) { + return c.get('hostName') + ':8485' +}).join(';'); + +var hdfsConfigs = configsFromServer.findProperty('type', 'hdfs-site').properties; + +var dfsHttpA = hdfsConfigs['dfs.namenode.http-address']; +ret.nnHttpPort = dfsHttpA ? dfsHttpA.split(':')[1] : 50070; + +var dfsHttpsA = hdfsConfigs['dfs.namenode.https-address']; +ret.nnHttpsPort = dfsHttpsA ? dfsHttpsA.split(':')[1] : 50470; + +var dfsRpcA = hdfsConfigs['dfs.namenode.rpc-address']; +ret.nnRpcPort = dfsRpcA ? dfsRpcA.split(':')[1] : 8020; + +return ret; + }, + + tweakServiceConfigs: function (configs) { +var dependencies = this.prepareDependencies(); + +configs.forEach(function (config) { + config.isOverridable = false; + config.name = this.replaceDependencies(config.name, dependencies); + config.displayName = this.replaceDependencies(config.displayName, dependencies); + config.value = this.replaceDependencies(config.value, dependencies); + config.recommendedValue = this.replaceDependencies(config.recommendedValue, dependencies); +}, this); + +return configs; + }
[ambari] branch branch-feature-AMBARI-14714-ui updated: AMBARI-23007. Create Upgrade Plan menu item and popup
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch branch-feature-AMBARI-14714-ui in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/branch-feature-AMBARI-14714-ui by this push: new 1384106 AMBARI-23007. Create Upgrade Plan menu item and popup 1384106 is described below commit 13841066d06c79c22c8386380285d6d3403f0543 Author: Jason Golieb <j...@golieb.net> AuthorDate: Thu Feb 22 08:47:06 2018 -0500 AMBARI-23007. Create Upgrade Plan menu item and popup --- ambari-web/app/messages.js | 11 ambari-web/app/styles/application.less | 69 ++ ambari-web/app/styles/modal_popups.less| 12 ambari-web/app/templates/common/modal_popup.hbs| 2 +- .../app/templates/main/admin/serviceGroups.hbs | 2 +- .../main/admin/serviceGroups/startUpgradePlan.hbs | 42 + ambari-web/app/views/common/modal_popup.js | 37 .../app/views/main/admin/serviceGroups_view.js | 20 ++- ambari-web/test/utils/date/date_test.js| 13 +++- 9 files changed, 202 insertions(+), 6 deletions(-) diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js index 6ec70b2..057d9ba 100644 --- a/ambari-web/app/messages.js +++ b/ambari-web/app/messages.js @@ -1975,6 +1975,17 @@ Em.I18n.translations = { 'admin.serviceGroups.createUpgradePlan': "Create Upgrade Plan", 'admin.serviceGroups.addServiceGroup': "Add Management Pack", 'admin.serviceGroups.removeOldVersions': "Remove Old Versions", + 'admin.serviceGroups.startUpgradePlan.title': "Upgrade Process", + 'admin.serviceGroups.startUpgradePlan.description': "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris.", + 'admin.serviceGroups.startUpgradePlan.step1Title': "Upgrade Plan", + 'admin.serviceGroups.startUpgradePlan.step1Description': "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt.", + 'admin.serviceGroups.startUpgradePlan.step2Title': "Prerequisites", + 'admin.serviceGroups.startUpgradePlan.step2Description': "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt.", + 'admin.serviceGroups.startUpgradePlan.step3Title': "Install", + 'admin.serviceGroups.startUpgradePlan.step3Description': "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt.", + 'admin.serviceGroups.startUpgradePlan.step4Title': "Upgrade", + 'admin.serviceGroups.startUpgradePlan.step4Description': "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt.", + 'admin.serviceGroups.startUpgradePlan.buttonLabel': 'Create Upgrade Plan', 'admin.stackUpgrade.downgrade.proceed': "Proceed with Downgrade", 'admin.stackUpgrade.downgrade.body': "Are you sure you wish to abort the upgrade process and downgrade to {0}?", diff --git a/ambari-web/app/styles/application.less b/ambari-web/app/styles/application.less index 83d515e..5239708 100644 --- a/ambari-web/app/styles/application.less +++ b/ambari-web/app/styles/application.less @@ -2894,4 +2894,73 @@ td .no-data { #notifications-dropdown.dropdown-menu .notifications-header .notifications-title { line-height: 30px; +} + +#start-upgrade-plan { + text-align: center; + padding: 30px 0; + max-width: 1000px; + + h3 { +margin-top: 0; +color: #333; + } + + #description { +width: 60%; +margin-left: auto; +margin-right: auto; +color: #999; + } + + ol { +display: flex; +justify-content: space-around; +margin: 40px auto; +counter-reset: items; + +li { + list-style-type: none; + width: 225px; + margin: 20px 15px; + margin-bottom: 0; + color: #999; + + h4 { +color: #333; + } + + &:before { +display: block; +position: relative; +left: 50%; +transform: translateX(-50%); +bottom: 20px; +height: 30px; +width: 30px; +counter-increment: items; +content: counter(items); +border: #999 1px solid; +border-radius: 100%; +font-size: 20px; +line-height: 28px; + } + + &:not(:last-child):after { +width: ~"calc(100% + 1px)"; +height: 1px; +background-color: #999; +content: ""; +position: relative; +display: block; +bottom: 138px; +left: 123px; + } +} + } +} + +.btn-lg { + text-transform: uppercase; + outline: none; } \ No newline at end of file diff --git a/am
[ambari] branch trunk updated: Ambari-23041. Increase config combo widget width
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new e0c066e Ambari-23041. Increase config combo widget width e0c066e is described below commit e0c066ee1270a0482dfc613e3f7a45c80797a657 Author: Aleksandr Kovalenko <aleksandrkovale...@users.noreply.github.com> AuthorDate: Wed Feb 21 21:21:29 2018 +0200 Ambari-23041. Increase config combo widget width --- ambari-web/app/styles/widgets.less | 2 +- ambari-web/app/styles/wizard.less | 14 -- 2 files changed, 1 insertion(+), 15 deletions(-) diff --git a/ambari-web/app/styles/widgets.less b/ambari-web/app/styles/widgets.less index 3f4a707..6f65dfe 100644 --- a/ambari-web/app/styles/widgets.less +++ b/ambari-web/app/styles/widgets.less @@ -19,7 +19,7 @@ @undo-btn-margin: 10px; @controls-min-width: 55px; -@combo-widget-width: 100px; +@combo-widget-width: 200px; @overriden-property-bg-color: rgba(211, 237, 247, 0.39); @overriden-property-widget-padding: 8px; @green: #6ebd45; diff --git a/ambari-web/app/styles/wizard.less b/ambari-web/app/styles/wizard.less index 4e231a6..dcf5947 100644 --- a/ambari-web/app/styles/wizard.less +++ b/ambari-web/app/styles/wizard.less @@ -963,20 +963,6 @@ } } -#databases { - .config-section-table { -border-spacing: 20px 0; -.config-section { - padding-top: 0; - .combo-widget { -input { - width: 183px; -} - } -} - } -} - #all-configurations { min-height: 650px; .config-section { -- To stop receiving notification emails like this one, please contact akovale...@apache.org.
[ambari] branch trunk updated: AMBARI-23025. NN Federation Wizard: implement step2 (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 957dd89 AMBARI-23025. NN Federation Wizard: implement step2 (akovalenko) 957dd89 is described below commit 957dd89cbc4910386a803a4faf512ceac3407291 Author: Aleksandr Kovalenko <akovale...@apache.org> AuthorDate: Mon Feb 19 20:03:05 2018 +0200 AMBARI-23025. NN Federation Wizard: implement step2 (akovalenko) --- .../controllers/main/admin/federation/step2_controller.js | 15 ++- ambari-web/app/routes/namenode_federation_routes.js | 10 ++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/ambari-web/app/controllers/main/admin/federation/step2_controller.js b/ambari-web/app/controllers/main/admin/federation/step2_controller.js index 1312b95..ea6b7a8 100644 --- a/ambari-web/app/controllers/main/admin/federation/step2_controller.js +++ b/ambari-web/app/controllers/main/admin/federation/step2_controller.js @@ -20,6 +20,19 @@ var App = require('app'); App.NameNodeFederationWizardStep2Controller = Em.Controller.extend(App.AssignMasterComponents, { - name: "nameNodeFederationWizardStep2Controller" + name: "nameNodeFederationWizardStep2Controller", + + useServerValidation: false, + + mastersToShow: ['NAMENODE'], + + mastersToAdd: ['NAMENODE', 'NAMENODE'], + + showCurrentPrefix: ['NAMENODE'], + + showAdditionalPrefix: ['NAMENODE'], + + showInstalledMastersFirst: true + }); diff --git a/ambari-web/app/routes/namenode_federation_routes.js b/ambari-web/app/routes/namenode_federation_routes.js index 21b31b2..2b55174 100644 --- a/ambari-web/app/routes/namenode_federation_routes.js +++ b/ambari-web/app/routes/namenode_federation_routes.js @@ -111,6 +111,16 @@ module.exports = App.WizardRoute.extend({ return false; }, next: function (router) { + var wizardController = router.get('nameNodeFederationWizardController'); + var stepController = router.get('nameNodeFederationWizardStep2Controller'); + var currentNN = stepController.get('servicesMasters').filterProperty('component_name', 'NAMENODE').filterProperty('isInstalled', true); + var additionalNN = stepController.get('servicesMasters').filterProperty('component_name', 'NAMENODE').filterProperty('isInstalled', false); + var rmHost = { +currentNN: currentNN.mapProperty('selectedHost'), +additionalNN: additionalNN.mapProperty('selectedHost') + }; + wizardController.saveSelectedHosts(rmHost); + wizardController.saveMasterComponentHosts(stepController); router.transitionTo('step3'); }, back: function (router) { -- To stop receiving notification emails like this one, please contact akovale...@apache.org.
[ambari] 02/02: AMBARI-22954. Install: Central configuration of DB's, Passwords, Log Directories, Users. Removing unnecessary code, causing UT failure. (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git commit 286b7bf052027caad11d71789b2b263ac1ac917c Author: Aleksandr Kovalenko <akovale...@apache.org> AuthorDate: Tue Feb 13 18:48:35 2018 +0200 AMBARI-22954. Install: Central configuration of DB's, Passwords, Log Directories, Users. Removing unnecessary code, causing UT failure. (akovalenko) --- .../controller/internal/ThemeArtifactResourceProvider.java | 5 + .../ambari/server/api/services/StacksServiceTest.java | 13 - 2 files changed, 1 insertion(+), 17 deletions(-) diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ThemeArtifactResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ThemeArtifactResourceProvider.java index 60ceb99..46dd914 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ThemeArtifactResourceProvider.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ThemeArtifactResourceProvider.java @@ -169,10 +169,7 @@ public class ThemeArtifactResourceProvider extends AbstractControllerResourcePro List serviceThemes = new ArrayList<>(); if (themeFileName != null) { LOG.debug("Getting themes from service {}, themes = {}", serviceInfo.getName(), serviceInfo.getThemesMap()); - ThemeInfo serviceThemeInfo = serviceInfo.getThemesMap().get(themeFileName); - if (serviceThemeInfo != null) { -serviceThemes.add(serviceThemeInfo); - } + serviceThemes.add(serviceInfo.getThemesMap().get(themeFileName)); } else { for (ThemeInfo themeInfo : serviceInfo.getThemesMap().values()) { if (themeInfo.getIsDefault()) { diff --git a/ambari-server/src/test/java/org/apache/ambari/server/api/services/StacksServiceTest.java b/ambari-server/src/test/java/org/apache/ambari/server/api/services/StacksServiceTest.java index 1ca68ac..56478e1 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/api/services/StacksServiceTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/api/services/StacksServiceTest.java @@ -132,13 +132,6 @@ public class StacksServiceTest extends BaseServiceTest { args = new Object[] {null, getHttpHeaders(), getUriInfo(), "stackName", "stackVersion", "service-name", "artifact-name"}; listInvocations.add(new ServiceTestInvocation(Request.Type.GET, service, m, args, null)); -//get themes by file name for all services -service = new TestStacksService("stackName", "stackVersion"); -m = service.getClass().getMethod("getStackTypedThemes", String.class, HttpHeaders.class, UriInfo.class, -String.class, String.class, String.class); -args = new Object[] {null, getHttpHeaders(), getUriInfo(), "stackName", "stackVersion", "themeName"}; -listInvocations.add(new ServiceTestInvocation(Request.Type.GET, service, m, args, null)); - return listInvocations; } @@ -194,12 +187,6 @@ public class StacksServiceTest extends BaseServiceTest { } @Override -ResourceInstance createStackServiceThemesResource(String stackName, String stackVersion, String serviceName, - String themeName) { - return getTestResource(); -} - -@Override RequestFactory getRequestFactory() { return getTestRequestFactory(); } -- To stop receiving notification emails like this one, please contact akovale...@apache.org.
[ambari] branch trunk updated (92dd24e -> 286b7bf)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a change to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git. from 92dd24e AMBARI-23014. Unable to proceed to step1 on Install Wizard (akovalenko) new de767ee AMBARI-22954. Install: Central configuration of DB's, Passwords, Log Directories, Users (akovalenko) new 286b7bf AMBARI-22954. Install: Central configuration of DB's, Passwords, Log Directories, Users. Removing unnecessary code, causing UT failure. (akovalenko) The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../ACCUMULO/1.6.1.2.2.0/metainfo.xml | 11 + .../ACCUMULO/1.6.1.2.2.0/themes/credentials.json | 54 +++ .../ACCUMULO/1.6.1.2.2.0/themes/directories.json | 88 + .../AMBARI_INFRA/0.1.0/metainfo.xml| 4 + .../AMBARI_INFRA/0.1.0/themes/directories.json | 127 +++ .../0.1.0/configuration/ams-hbase-env.xml | 2 + .../0.1.0/configuration/ams-hbase-site.xml | 4 + .../0.1.0/configuration/ams-site.xml | 1 + .../AMBARI_METRICS/0.1.0/metainfo.xml | 11 + .../AMBARI_METRICS/0.1.0/themes/credentials.json | 42 +++ .../AMBARI_METRICS/0.1.0/themes/directories.json | 247 + .../ATLAS/0.1.0.2.3/configuration/atlas-env.xml| 4 + .../common-services/ATLAS/0.7.0.2.5/metainfo.xml | 4 + .../ATLAS/0.7.0.2.5/themes/directories.json| 127 +++ .../FALCON/0.5.0.2.1/configuration/falcon-env.xml | 1 + .../common-services/FALCON/0.5.0.2.1/metainfo.xml | 8 + .../FALCON/0.5.0.2.1/themes/directories.json | 137 +++ .../HBASE/0.96.0.2.0/configuration/hbase-env.xml | 1 + .../HBASE/0.96.0.2.0/configuration/hbase-site.xml | 3 + .../common-services/HBASE/0.96.0.2.0/metainfo.xml | 7 + .../HBASE/0.96.0.2.0/themes/directories.json | 167 + .../HDFS/2.1.0.2.0/configuration/hadoop-env.xml| 1 + .../HDFS/2.1.0.2.0/configuration/hdfs-site.xml | 2 + .../common-services/HDFS/2.1.0.2.0/metainfo.xml| 7 + .../HDFS/2.1.0.2.0/themes/directories.json | 177 + .../HIVE/0.12.0.2.0/configuration/hive-site.xml| 1 + .../HIVE/0.12.0.2.0/configuration/webhcat-site.xml | 1 + .../common-services/HIVE/0.12.0.2.0/metainfo.xml | 15 + .../HIVE/0.12.0.2.0/themes/credentials.json| 43 +++ .../HIVE/0.12.0.2.0/themes/database.json | 157 .../HIVE/0.12.0.2.0/themes/directories.json| 197 ++ .../KAFKA/0.8.1/configuration/kafka-broker.xml | 1 + .../KAFKA/0.8.1/configuration/kafka-env.xml| 1 + .../common-services/KAFKA/0.8.1/metainfo.xml | 8 + .../KAFKA/0.8.1/themes/directories.json| 98 + .../KNOX/0.5.0.2.2/configuration/gateway-site.xml | 1 + .../common-services/KNOX/0.5.0.2.2/metainfo.xml| 12 + .../KNOX/0.5.0.2.2/themes/credentials.json | 38 ++ .../KNOX/0.5.0.2.2/themes/directories.json | 88 + .../common-services/LOGSEARCH/0.5.0/metainfo.xml | 14 +- .../LOGSEARCH/0.5.0/themes/credentials.json| 42 +++ .../LOGSEARCH/0.5.0/themes/directories.json| 137 +++ .../common-services/OOZIE/4.0.0.2.0/metainfo.xml | 15 + .../OOZIE/4.0.0.2.0/themes/credentials.json| 42 +++ .../OOZIE/4.0.0.2.0/themes/database.json | 140 +++ .../OOZIE/4.0.0.2.0/themes/directories.json| 127 +++ .../RANGER/0.6.0/themes/theme_version_3.json | 1 + .../RANGER/0.7.0/themes/theme_version_5.json | 1 + .../SPARK/1.2.1/configuration/spark-env.xml| 2 + .../common-services/SPARK/1.2.1/metainfo.xml | 7 + .../SPARK/1.2.1/themes/directories.json| 148 .../SPARK/1.6.0/configuration/spark-defaults.xml | 2 + .../1.6.0/configuration/spark-thrift-sparkconf.xml | 2 + .../SPARK2/2.0.0/configuration/spark2-defaults.xml | 2 + .../SPARK2/2.0.0/configuration/spark2-env.xml | 2 + .../configuration/spark2-thrift-sparkconf.xml | 2 + .../common-services/SPARK2/2.0.0/metainfo.xml | 8 + .../SPARK2/2.0.0/themes/directories.json | 148 .../STORM/0.9.1/configuration/storm-env.xml| 2 + .../STORM/0.9.1/configuration/storm-site.xml | 3 + .../common-services/STORM/0.9.1/metainfo.xml | 8 + .../STORM/0.9.1/themes/directories.json| 147 .../STORM/0.9.3/configuration/storm-site.xml | 1 + .../TEZ/0.4.0.2.1/configuration/tez-site.xml | 2 + .../common-services/TEZ/0.4.0.2.1/metainfo.xml | 7 + .../TEZ/0.4.0.2.1/themes/directories.json | 69 .../2.1.0.2.0/configuration-mapred/mapred-site.xml | 3 + .../YARN/2.1.0.2.
[ambari] branch trunk updated: AMBARI-23014. Unable to proceed to step1 on Install Wizard (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 92dd24e AMBARI-23014. Unable to proceed to step1 on Install Wizard (akovalenko) 92dd24e is described below commit 92dd24e7a51f4a6305f787968f7fa23431fa8af2 Author: Aleksandr Kovalenko <akovale...@apache.org> AuthorDate: Fri Feb 16 16:15:43 2018 +0200 AMBARI-23014. Unable to proceed to step1 on Install Wizard (akovalenko) --- ambari-web/app/views/wizard/step1_view.js | 3 + ambari-web/test/views/wizard/step1_view_test.js | 89 + 2 files changed, 92 insertions(+) diff --git a/ambari-web/app/views/wizard/step1_view.js b/ambari-web/app/views/wizard/step1_view.js index 27e71bc..9870079 100644 --- a/ambari-web/app/views/wizard/step1_view.js +++ b/ambari-web/app/views/wizard/step1_view.js @@ -176,6 +176,9 @@ App.WizardStep1View = Em.View.extend({ */ invalidFormatUrlExist: function () { var allRepositories = this.get('allRepositories'); +if (!allRepositories) { + return false; +} if (this.get('controller.selectedStack.useRedhatSatellite')) { allRepositories = allRepositories.filter(this.isRedhat); } diff --git a/ambari-web/test/views/wizard/step1_view_test.js b/ambari-web/test/views/wizard/step1_view_test.js index 91b0a71..1f48a3f 100644 --- a/ambari-web/test/views/wizard/step1_view_test.js +++ b/ambari-web/test/views/wizard/step1_view_test.js @@ -138,4 +138,93 @@ describe('App.WizardStep1View', function () { expect(view.isRedhat(Em.Object.create({osType: 'redhat-ppc7'}))).to.be.true; }); }); + + describe('#invalidFormatUrlExist', function () { + +var testCases = [ + { +title: 'no repositories', +allRepositories: undefined, +useRedhatSatellite: false, +result: false + }, + { +title: 'use redhat, invalid format', +allRepositories: [ + Em.Object.create({ +osType: '', +invalidFormatError: false + }), + Em.Object.create({ +osType: 'redhat', +invalidFormatError: true + }) +], +useRedhatSatellite: true, +result: true + }, + { +title: 'use redhat, no invalid format', +allRepositories: [ + Em.Object.create({ +osType: '', +invalidFormatError: true + }), + Em.Object.create({ +osType: 'redhat', +invalidFormatError: false + }) +], +useRedhatSatellite: true, +result: false + }, + { +title: 'no use redhat, invalid format', +allRepositories: [ + Em.Object.create({ +osType: '', +invalidFormatError: true + }), + Em.Object.create({ +osType: 'redhat', +invalidFormatError: false + }) +], +useRedhatSatellite: false, +result: true + }, + { +title: 'no use redhat, invalid format', +allRepositories: [ + Em.Object.create({ +osType: '', +invalidFormatError: false + }), + Em.Object.create({ +osType: 'redhat', +invalidFormatError: true + }) +], +useRedhatSatellite: false, +result: true + } +]; + +testCases.forEach(function (testCase) { + describe(testCase.title, function () { +beforeEach(function () { + view.reopen({ +allRepositories: testCase.allRepositories + }); + view.set('controller.selectedStack', Em.Object.create({ +useRedhatSatellite: testCase.useRedhatSatellite + })); +}); +it('', function () { + expect(view.get('invalidFormatUrlExist')).to.equal(testCase.result); +}); + }); +}); + }); + }); \ No newline at end of file -- To stop receiving notification emails like this one, please contact akovale...@apache.org.
[ambari] branch trunk updated: AMBARI-23003. NN Federation Wizard: implement step1 (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 903a3de AMBARI-23003. NN Federation Wizard: implement step1 (akovalenko) 903a3de is described below commit 903a3dee897a6c9f121429a0db9c0db79b0f0ee5 Author: Aleksandr Kovalenko <akovale...@apache.org> AuthorDate: Thu Feb 15 17:14:55 2018 +0200 AMBARI-23003. NN Federation Wizard: implement step1 (akovalenko) --- .../main/admin/federation/step1_controller.js | 13 - .../main/admin/federation/wizard_controller.js | 10 +++ .../highAvailability/nameNode/step1_controller.js | 3 ++- ambari-web/app/messages.js | 4 +++ .../app/routes/namenode_federation_routes.js | 2 ++ .../app/templates/main/admin/federation/step1.hbs | 31 +- ambari-web/app/utils/validator.js | 7 - .../app/views/main/admin/federation/step1_view.js | 9 ++- ambari-web/test/utils/validator_test.js| 24 + 9 files changed, 98 insertions(+), 5 deletions(-) diff --git a/ambari-web/app/controllers/main/admin/federation/step1_controller.js b/ambari-web/app/controllers/main/admin/federation/step1_controller.js index af39d3c..eb3655e 100644 --- a/ambari-web/app/controllers/main/admin/federation/step1_controller.js +++ b/ambari-web/app/controllers/main/admin/federation/step1_controller.js @@ -17,8 +17,19 @@ */ var App = require('app'); +var validator = require('utils/validator'); App.NameNodeFederationWizardStep1Controller = Em.Controller.extend({ - name: "nameNodeFederationWizardStep1Controller" + name: "nameNodeFederationWizardStep1Controller", + + isNameServiceIdValid: function () { +return validator.isValidNameServiceId(this.get('content.nameServiceId')); + }.property('content.nameServiceId'), + + next: function () { +if (this.get('isNameServiceIdValid')) { + App.router.send('next'); +} + } }); diff --git a/ambari-web/app/controllers/main/admin/federation/wizard_controller.js b/ambari-web/app/controllers/main/admin/federation/wizard_controller.js index 9e8347f..da14f0a 100644 --- a/ambari-web/app/controllers/main/admin/federation/wizard_controller.js +++ b/ambari-web/app/controllers/main/admin/federation/wizard_controller.js @@ -95,6 +95,16 @@ App.NameNodeFederationWizardController = App.WizardController.extend({ }); }, + saveNameServiceId: function (nameServiceId) { +this.setDBProperty('nameServiceId', nameServiceId); +this.set('content.nameServiceId', nameServiceId); + }, + + loadNameServiceId: function () { +var nameServiceId = this.getDBProperty('nameServiceId'); +this.set('content.nameServiceId', nameServiceId); + }, + /** * Save hosts for users selected hosts to local db and controller.content * @param selectedHosts diff --git a/ambari-web/app/controllers/main/admin/highAvailability/nameNode/step1_controller.js b/ambari-web/app/controllers/main/admin/highAvailability/nameNode/step1_controller.js index 9bc7cdd..7811e57 100644 --- a/ambari-web/app/controllers/main/admin/highAvailability/nameNode/step1_controller.js +++ b/ambari-web/app/controllers/main/admin/highAvailability/nameNode/step1_controller.js @@ -17,6 +17,7 @@ */ var App = require('app'); +var validator = require('utils/validator'); require('controllers/main/admin/serviceAccounts_controller'); @@ -26,7 +27,7 @@ App.HighAvailabilityWizardStep1Controller = Em.Controller.extend({ isHawqInstalled: false, isNameServiceIdValid: function () { -return /^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])$/.test(this.get('content.nameServiceId')); +return validator.isValidNameServiceId(this.get('content.nameServiceId')); }.property('content.nameServiceId'), setHawqInstalled: function() { diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js index 36185a1..ea1158f 100644 --- a/ambari-web/app/messages.js +++ b/ambari-web/app/messages.js @@ -1651,6 +1651,10 @@ Em.I18n.translations = { 'admin.nameNodeFederation.button.enable':'Add New HDFS Namespace', 'admin.nameNodeFederation.wizard.header': 'Add New HDFS Namespace', 'admin.nameNodeFederation.wizard.step1.header': 'Get Started', + 'admin.nameNodeFederation.wizard.step1.body':'This wizard will walk you through the process of setting up a new Highly Available NameNode pair that will be used to create a new HDFS namespace, allowing you to use Ambari to manage multiple HDFS namespaces and take advantage of HDFS Federation.', + 'admin.nameNodeFederation.wizard.step1.alert':'If you have HBase running, please exit this wizard and stop HBase first.', + 'admin.nameNodeFederation.wizard.step1.nameserviceid':'New Nameservice ID', + 'admin.nameNodeFederation.wizard.step1.nameserv
[ambari] branch trunk updated: AMBARI-22964. Add NameNode Federation wizard (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 3af5a07 AMBARI-22964. Add NameNode Federation wizard (akovalenko) 3af5a07 is described below commit 3af5a0712e957b3a639666380719f51fa4d4b815 Author: Aleksandr Kovalenko <akovale...@apache.org> AuthorDate: Mon Feb 12 13:07:27 2018 +0200 AMBARI-22964. Add NameNode Federation wizard (akovalenko) --- ambari-web/app/controllers.js | 5 + .../main/admin/federation/step1_controller.js | 24 +++ .../main/admin/federation/step2_controller.js | 25 .../main/admin/federation/step3_controller.js | 23 +++ .../main/admin/federation/step4_controller.js | 24 +++ .../main/admin/federation/wizard_controller.js | 150 +++ .../main/admin/highAvailability_controller.js | 9 ++ ambari-web/app/controllers/main/service/item.js| 5 + ambari-web/app/messages.js | 7 + ambari-web/app/models/host_component.js| 6 + ambari-web/app/models/service.js | 2 +- ambari-web/app/routes/main.js | 2 + .../app/routes/namenode_federation_routes.js | 163 + .../app/templates/main/admin/federation/step1.hbs | 22 +++ .../app/templates/main/admin/federation/step3.hbs | 23 +++ .../app/templates/main/admin/federation/step4.hbs | 22 +++ .../app/templates/main/admin/federation/wizard.hbs | 35 + ambari-web/app/utils/db.js | 1 + ambari-web/app/views.js| 5 + .../app/views/main/admin/federation/step1_view.js | 25 .../app/views/main/admin/federation/step2_view.js | 23 +++ .../app/views/main/admin/federation/step3_view.js | 24 +++ .../app/views/main/admin/federation/step4_view.js | 24 +++ .../app/views/main/admin/federation/wizard_view.js | 32 ambari-web/app/views/main/service/item.js | 7 + ambari-web/test/models/service_test.js | 2 +- 26 files changed, 688 insertions(+), 2 deletions(-) diff --git a/ambari-web/app/controllers.js b/ambari-web/app/controllers.js index f7d77be..c68d306 100644 --- a/ambari-web/app/controllers.js +++ b/ambari-web/app/controllers.js @@ -56,6 +56,11 @@ require('controllers/main/admin/highAvailability/resourceManager/step1_controlle require('controllers/main/admin/highAvailability/resourceManager/step2_controller'); require('controllers/main/admin/highAvailability/resourceManager/step3_controller'); require('controllers/main/admin/highAvailability/resourceManager/step4_controller'); +require('controllers/main/admin/federation/wizard_controller'); +require('controllers/main/admin/federation/step1_controller'); +require('controllers/main/admin/federation/step2_controller'); +require('controllers/main/admin/federation/step3_controller'); +require('controllers/main/admin/federation/step4_controller'); require('controllers/main/admin/highAvailability/hawq/addStandby/wizard_controller'); require('controllers/main/admin/highAvailability/hawq/addStandby/step1_controller'); require('controllers/main/admin/highAvailability/hawq/addStandby/step2_controller'); diff --git a/ambari-web/app/controllers/main/admin/federation/step1_controller.js b/ambari-web/app/controllers/main/admin/federation/step1_controller.js new file mode 100644 index 000..af39d3c --- /dev/null +++ b/ambari-web/app/controllers/main/admin/federation/step1_controller.js @@ -0,0 +1,24 @@ +/** + * 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. + */ + +var App = require('app'); + +App.NameNodeFederationWizardStep1Controller = Em.Controller.extend({ + name: "nameNodeFederationWizardStep1Controller" +}); + diff --git a/ambari-web/app/controllers/main/admin/federation/step2_controller.js b/ambari-web/app/controllers/main/admin/federation/step2_controller.js new file mode 100644 index 000..1312b95 --- /dev/null +++ b/ambari-web/app/controllers/main/admin/federation/step2_controller.js @@ -0,0 +1,2
[ambari] branch trunk updated: AMBARI-22712. Update install Wizard layout. Fifth patch. (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 505a1ec AMBARI-22712. Update install Wizard layout. Fifth patch. (akovalenko) 505a1ec is described below commit 505a1ec7842fa13511d34d26e33b468c9e70d698 Author: Aleksandr Kovalenko <akovale...@apache.org> AuthorDate: Mon Feb 5 16:21:09 2018 +0200 AMBARI-22712. Update install Wizard layout. Fifth patch. (akovalenko) --- ambari-web/app/styles/wizard.less | 2 +- ambari-web/app/templates/wizard/step3.hbs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ambari-web/app/styles/wizard.less b/ambari-web/app/styles/wizard.less index 8a94c78..67fc5f8 100644 --- a/ambari-web/app/styles/wizard.less +++ b/ambari-web/app/styles/wizard.less @@ -178,7 +178,7 @@ } #confirm-hosts-table { th:first-of-type { -width: 50px; +width: 25px; } th:nth-of-type(2) { width: 42%; diff --git a/ambari-web/app/templates/wizard/step3.hbs b/ambari-web/app/templates/wizard/step3.hbs index 547df11..4e75392 100644 --- a/ambari-web/app/templates/wizard/step3.hbs +++ b/ambari-web/app/templates/wizard/step3.hbs @@ -34,7 +34,7 @@ {{/unless}} {{#unless isRetryDisabled}} - + {{t installer.step3.retryFailed}} {{/unless}} -- To stop receiving notification emails like this one, please contact akovale...@apache.org.
[ambari] branch trunk updated: [AMBARI-22712] Update install Wizard layout. Fourth patch. (#247)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new b9e101b [AMBARI-22712] Update install Wizard layout. Fourth patch. (#247) b9e101b is described below commit b9e101b9177465e85e36c1b4055c3e2b4c4a7232 Author: Aleksandr Kovalenko <aleksandrkovale...@users.noreply.github.com> AuthorDate: Thu Feb 1 16:52:44 2018 +0200 [AMBARI-22712] Update install Wizard layout. Fourth patch. (#247) * AMBARI-22712. Update install Wizard layout. Fourth patch. (akovalenko) * AMBARI-22712. Update install Wizard layout. Fourth patch. (akovalenko) --- ambari-web/app/styles/wizard.less | 10 +++--- ambari-web/app/templates/wizard/step4.hbs | 4 ++-- ambari-web/app/templates/wizard/step8.hbs | 4 ++-- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/ambari-web/app/styles/wizard.less b/ambari-web/app/styles/wizard.less index 1d0bf3c..8a94c78 100644 --- a/ambari-web/app/styles/wizard.less +++ b/ambari-web/app/styles/wizard.less @@ -229,6 +229,12 @@ .glyphicon-asterisks { color: #00688B; } +.checkbox-cell { + padding-top: 4px; +} +.checkbox-row { + width: 47px; +} } #step6 { .pre-scrollable { @@ -250,6 +256,7 @@ margin: 0; } .host-component-checkbox { + line-height: 17px; font-size: 12px; top: 0px; } @@ -770,6 +777,3 @@ } } -.checkbox-row { - width: 47px; -} \ No newline at end of file diff --git a/ambari-web/app/templates/wizard/step4.hbs b/ambari-web/app/templates/wizard/step4.hbs index f3d9c58..68db717 100644 --- a/ambari-web/app/templates/wizard/step4.hbs +++ b/ambari-web/app/templates/wizard/step4.hbs @@ -34,7 +34,7 @@ {{#each service in controller.fileSystems}} {{#unless service.isHiddenOnSelectServicePage}} - + {{view App.CheckboxView checkboxClassNamesBinding="service.serviceName" data-qa="toggle-service" disabledBinding="service.isDisabled" @@ -74,7 +74,7 @@ {{#unless service.isHiddenOnSelectServicePage}} {{#unless service.isDFS}} - + {{view App.CheckboxView checkboxClassNamesBinding="service.serviceName" data-qa="toggle-service" disabledBinding="service.isDisabled" diff --git a/ambari-web/app/templates/wizard/step8.hbs b/ambari-web/app/templates/wizard/step8.hbs index e210896..1058bc3 100644 --- a/ambari-web/app/templates/wizard/step8.hbs +++ b/ambari-web/app/templates/wizard/step8.hbs @@ -97,10 +97,10 @@ {{/if}} {{t common.deploy}} -{{t common.print}} +{{t common.print}} {{t admin.kerberos.wizard.step5.downloadCSV}} {{#unless App.router.clusterInstallCompleted}} - + {{t common.generate.blueprint}} {{/unless}} -- To stop receiving notification emails like this one, please contact akovale...@apache.org.
[ambari] branch trunk updated: AMBARI-22712. Update install Wizard layout. Third patch. (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 9916dcd AMBARI-22712. Update install Wizard layout. Third patch. (akovalenko) 9916dcd is described below commit 9916dcdda3a8707f3310b95811c348be05fbdccb Author: Aleksandr Kovalenko <akovale...@apache.org> AuthorDate: Mon Jan 29 19:07:08 2018 +0200 AMBARI-22712. Update install Wizard layout. Third patch. (akovalenko) --- ambari-web/app/styles/wizard.less | 8 ambari-web/app/templates/wizard/step3.hbs | 2 +- ambari-web/app/templates/wizard/step4.hbs | 27 ++- 3 files changed, 23 insertions(+), 14 deletions(-) diff --git a/ambari-web/app/styles/wizard.less b/ambari-web/app/styles/wizard.less index 316b623..1d0bf3c 100644 --- a/ambari-web/app/styles/wizard.less +++ b/ambari-web/app/styles/wizard.less @@ -113,6 +113,10 @@ .compact-panel-heading { padding: 10px; } +.hosts-panel { + padding-left: 0; + padding-right: 0; +} .page-bar { border: none; } @@ -764,4 +768,8 @@ } } } +} + +.checkbox-row { + width: 47px; } \ No newline at end of file diff --git a/ambari-web/app/templates/wizard/step3.hbs b/ambari-web/app/templates/wizard/step3.hbs index e140b0b..547df11 100644 --- a/ambari-web/app/templates/wizard/step3.hbs +++ b/ambari-web/app/templates/wizard/step3.hbs @@ -57,7 +57,7 @@ - + diff --git a/ambari-web/app/templates/wizard/step4.hbs b/ambari-web/app/templates/wizard/step4.hbs index b738f69..f3d9c58 100644 --- a/ambari-web/app/templates/wizard/step4.hbs +++ b/ambari-web/app/templates/wizard/step4.hbs @@ -24,6 +24,7 @@ + {{t common.service}} {{t common.version}} {{t common.description}} @@ -33,17 +34,17 @@ {{#each service in controller.fileSystems}} {{#unless service.isHiddenOnSelectServicePage}} - {{service.displayNameOnSelectServicePage}} - {{service.serviceVersionDisplay}} - {{{service.comments}}} {{view App.CheckboxView checkboxClassNamesBinding="service.serviceName" data-qa="toggle-service" - disabledBinding="service.isDisabled" - checkedBinding="service.isSelected" + disabledBinding="service.isDisabled" + checkedBinding="service.isSelected" }} + {{service.displayNameOnSelectServicePage}} + {{service.serviceVersionDisplay}} + {{{service.comments}}} {{/unless}} {{/each}} @@ -60,12 +61,12 @@ - {{t common.service}} - {{t common.version}} - {{t common.description}} {{view App.CheckboxView data-qa="toggle-all" disabledBinding="isInstalled" checkedBinding="isAllChecked"}} + {{t common.service}} + {{t common.version}} + {{t common.description}} @@ -73,16 +74,16 @@ {{#unless service.isHiddenOnSelectServicePage}} {{#unless service.isDFS}} -{{service.displayNameOnSelectServicePage}} -{{service.serviceVersionDisplay}} -{{{service.comments}}} {{view App.CheckboxView checkboxClassNamesBinding="service.serviceName" data-qa="toggle-service" -disabledBinding="service.isDisabled" -checkedBinding="service.isSelected" }} +disabledBinding="service.isDisabled" +checkedBinding="service.isSelected" }} +{{service.displayNameOnSelectServicePage}} +{{service.serviceVersionDisplay}} +{{{service.comments}}} {{/unless}} {{/unless}} -- To stop receiving notification emails like this one, please contact akovale...@apache.org.
[ambari] branch trunk updated: AMBARI-22712. Update install Wizard layout. Second patch. (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new a7dd2be AMBARI-22712. Update install Wizard layout. Second patch. (akovalenko) a7dd2be is described below commit a7dd2be26997202d62a1aec77093b6a79ddee110 Author: Aleksandr Kovalenko <akovale...@apache.org> AuthorDate: Wed Jan 24 20:39:21 2018 +0200 AMBARI-22712. Update install Wizard layout. Second patch. (akovalenko) --- .../app/controllers/wizard/step3_controller.js | 2 +- ambari-web/app/messages.js | 1 + ambari-web/app/styles/hosts.less | 44 +- ambari-web/app/styles/theme/bootstrap-ambari.css | 7 + ambari-web/app/styles/wizard.less | 25 +- ambari-web/app/templates/wizard/step0.hbs | 2 +- ambari-web/app/templates/wizard/step1.hbs | 2 - ambari-web/app/templates/wizard/step3.hbs | 10 +- .../step3/step3_host_warning_popup_footer.hbs | 2 +- .../wizard/step3/step3_host_warnings_popup.hbs | 40 +- .../vendor/theme/fonts/Roboto-Bold-webfont.eot | Bin 0 -> 47517 bytes .../vendor/theme/fonts/Roboto-Bold-webfont.svg | 607 + .../vendor/theme/fonts/Roboto-Bold-webfont.ttf | Bin 0 -> 47319 bytes .../vendor/theme/fonts/Roboto-Bold-webfont.woff| Bin 0 -> 21320 bytes 14 files changed, 695 insertions(+), 47 deletions(-) diff --git a/ambari-web/app/controllers/wizard/step3_controller.js b/ambari-web/app/controllers/wizard/step3_controller.js index 55f4323..18d8e84 100644 --- a/ambari-web/app/controllers/wizard/step3_controller.js +++ b/ambari-web/app/controllers/wizard/step3_controller.js @@ -843,7 +843,7 @@ App.WizardStep3Controller = Em.Controller.extend(App.ReloadPopupMixin, App.Check function () { self._submitProceed(); }, -Em.I18n.t('installer.step3.hostWarningsPopup.hostHasWarnings'), null, null, null, 'warning'); +Em.I18n.t('installer.step3.hostWarningsPopup.hostHasWarnings'), null, Em.I18n.t('installer.step3.hostWarningsPopup.hostHasWarnings.header'), null, 'warning'); } this._submitProceed(); }, diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js index e64dccc..1f87f60 100644 --- a/ambari-web/app/messages.js +++ b/ambari-web/app/messages.js @@ -847,6 +847,7 @@ Em.I18n.translations = { 'installer.step3.hostWarningsPopup.allHosts':'List of hosts', 'installer.step3.hostWarningsPopup.rerunChecks':'Rerun Checks', 'installer.step3.hostWarningsPopup.hostHasWarnings':'Host checks failed on some of your hosts. It is highly recommended that you fix these problems first before proceeding to prevent potentially major problems with cluster installation. Are you sure you want to ignore these warnings and proceed?', + 'installer.step3.hostWarningsPopup.hostHasWarnings.header':'Host Check Warning', 'installer.step3.warningsWindow.allHosts':'Warnings across all hosts', 'installer.step3.warningsWindow.warningsOn':'Warnings on ', 'installer.step3.warningsWindow.directoriesAndFiles':'DIRECTORIES AND FILES', diff --git a/ambari-web/app/styles/hosts.less b/ambari-web/app/styles/hosts.less index e3677f8..29e4333 100644 --- a/ambari-web/app/styles/hosts.less +++ b/ambari-web/app/styles/hosts.less @@ -283,25 +283,41 @@ } .code-snippet { margin: 10px 0; -white-space:normal; +white-space: normal; } .warnings-list { -.block { - table { -width: 100%; -td, th { - text-align: left; - padding-left: 15px; -} -thead tr:first-child th { - font-weight: normal; -} - } - margin-top: 10px; +.panel { + padding: 0; .panel-heading { i { - line-height: 19px; + margin-right: 5px; + position: relative; + top: 0; + &.panel-toggle { +font-size: 16px; +color: #1491c1; + } } +a, a:visited, a:focus { + color: black; + text-decoration: none; +} + } +} +table { + width: 100%; + td, th { +text-align: left; +padding-left: 15px; + } + thead tr:first-child th { +font-weight: normal; + } +} +margin-top: 10px; +.panel-heading { + i { +line-height: 19px; } } } diff --git a/ambari-web/app/styles/theme/bootstrap-ambari.css b/ambari-web/app/styles/theme/bootstrap-ambari.css index 2bd3292..3da410e 100644 --- a/ambari-web/app/styles/theme/bootstrap-ambari.css +++ b/ambari-web/app/styles/theme/bootstrap-ambari.css @@ -22,6 +22,13 @@ src: url('fonts/Roboto-Regular-webfont.eot'); src: url('fonts/Roboto-Regular-webfont.eot?#iefix') format('embedded-opentype'), url('f
[ambari] branch trunk updated: AMBARI-22768. Update Welcome page style (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 8e59a86 AMBARI-22768. Update Welcome page style (akovalenko) 8e59a86 is described below commit 8e59a86edfbd0ac0b56934f34755e43cc61546e8 Author: Aleksandr Kovalenko <akovale...@hortonworks.com> AuthorDate: Thu Jan 11 18:13:19 2018 +0200 AMBARI-22768. Update Welcome page style (akovalenko) --- .../admin-web/app/styles/cluster-information.css | 29 +++--- .../app/views/clusters/clusterInformation.html | 8 +++--- ambari-web/app/assets/img/install-box.svg | 28 + 3 files changed, 58 insertions(+), 7 deletions(-) diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/styles/cluster-information.css b/ambari-admin/src/main/resources/ui/admin-web/app/styles/cluster-information.css index 64e9ecb..519eeae 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/styles/cluster-information.css +++ b/ambari-admin/src/main/resources/ui/admin-web/app/styles/cluster-information.css @@ -52,7 +52,30 @@ padding: 30px; } -#cluster-information .fa-cloud { - font-size: 150px; - color: #f0f0f0; +#cluster-information .install-button { + height: 40px; +} + +#cluster-information .install-button a { + height: 100%; + padding: 0; + width: 225px; + font-size: 16px; + line-height: 40px; +} + +@keyframes INSTALL-BOX-ROTATE { + 0% {transform: rotate(0deg)} + 12.5% {transform: rotate(-30deg)} + 37.5% {transform: rotate(30deg)} + 62.5% {transform: rotate(-30deg)} + 87.5% {transform: rotate(30deg)} + 100% {transform: rotate(0deg)} +} + +#cluster-information #install-box { + animation: INSTALL-BOX-ROTATE 2s; + width: 116px; + margin-bottom: 20px; + margin-top: 40px; } diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/clusters/clusterInformation.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/clusters/clusterInformation.html index ead73c3..9747add 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/views/clusters/clusterInformation.html +++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/clusters/clusterInformation.html @@ -20,17 +20,17 @@ {{'main.title' | translate}} - {{'main.noClusterDescription' | translate}} + {{'main.noClusterDescription' | translate}} {{'main.createCluster.title' | translate}} - + {{'main.createCluster.description' | translate}} - - + + {{'main.createCluster.launchInstallWizard' | translate}} diff --git a/ambari-web/app/assets/img/install-box.svg b/ambari-web/app/assets/img/install-box.svg new file mode 100644 index 000..e914885 --- /dev/null +++ b/ambari-web/app/assets/img/install-box.svg @@ -0,0 +1,28 @@ + + +http://www.w3.org/2000/svg; xmlns:xlink="http://www.w3.org/1999/xlink; x="0px" y="0px" +viewBox="0 0 92 71.6" style="enable-background:new 0 0 92 71.6;" xml:space="preserve"> + + .st0{fill:#66;} + .st1{fill:#DD;} + .st2{fill:#CC;} + + + + + + + + + + + + -- To stop receiving notification emails like this one, please contact ['"commits@ambari.apache.org" <commits@ambari.apache.org>'].