[ambari] branch branch-2.7 updated (49827cc -> ad99d91)

2019-10-16 Thread akovalenko
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)

2019-06-19 Thread 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 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

2019-04-15 Thread 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 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

2019-02-06 Thread 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 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

2019-02-06 Thread 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 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

2019-02-05 Thread 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 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

2019-02-05 Thread 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 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

2019-01-16 Thread 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 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

2018-10-25 Thread 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 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)

2018-10-25 Thread akovalenko
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

2018-10-25 Thread 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 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)

2018-10-17 Thread 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)

2018-10-03 Thread 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)

2018-10-01 Thread akovalenko
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)

2018-09-24 Thread 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)

2018-09-17 Thread 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)

2018-09-17 Thread akovalenko
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)

2018-09-17 Thread 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)

2018-09-17 Thread 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)

2018-09-17 Thread akovalenko
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)

2018-09-17 Thread 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)

2018-09-13 Thread 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)

2018-09-13 Thread akovalenko
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)

2018-09-13 Thread 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)

2018-09-13 Thread 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)

2018-09-13 Thread 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)

2018-09-13 Thread 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)

2018-09-13 Thread akovalenko
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)

2018-09-10 Thread 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)

2018-09-06 Thread 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)

2018-09-06 Thread 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)

2018-09-04 Thread 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)

2018-09-04 Thread 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)

2018-08-23 Thread 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)

2018-08-14 Thread 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)

2018-08-09 Thread 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)

2018-08-09 Thread 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)

2018-08-06 Thread 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)

2018-08-06 Thread 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)

2018-07-31 Thread 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)

2018-07-31 Thread 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)

2018-07-23 Thread 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)

2018-07-23 Thread 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)

2018-07-20 Thread 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)

2018-07-20 Thread 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)

2018-07-01 Thread 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)

2018-07-01 Thread akovalenko
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)

2018-07-01 Thread 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)

2018-06-26 Thread 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)

2018-06-19 Thread 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)

2018-06-18 Thread 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)

2018-06-16 Thread 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)

2018-06-16 Thread 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)

2018-06-14 Thread 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)

2018-06-12 Thread 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)

2018-06-11 Thread 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)

2018-06-08 Thread 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)

2018-06-06 Thread 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)

2018-06-05 Thread 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)

2018-05-30 Thread 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)

2018-05-29 Thread akovalenko
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)

2018-05-11 Thread 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)

2018-05-11 Thread 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)

2018-05-08 Thread 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)

2018-05-07 Thread 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)

2018-04-30 Thread 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)

2018-04-30 Thread 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)

2018-04-27 Thread 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)

2018-04-20 Thread 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)

2018-04-17 Thread 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)

2018-04-17 Thread 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)

2018-04-16 Thread 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)

2018-04-12 Thread 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)

2018-04-10 Thread 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)

2018-04-06 Thread 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)

2018-04-06 Thread 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)

2018-04-06 Thread 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)

2018-04-04 Thread 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)

2018-04-03 Thread akovalenko
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)

2018-04-03 Thread 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)

2018-03-30 Thread 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)

2018-03-28 Thread 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)

2018-03-27 Thread 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)

2018-03-13 Thread 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)

2018-03-12 Thread 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)

2018-03-11 Thread 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

2018-03-01 Thread 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 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

2018-02-22 Thread akovalenko
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

2018-02-21 Thread 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 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)

2018-02-21 Thread 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)

2018-02-16 Thread 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)

2018-02-16 Thread akovalenko
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)

2018-02-16 Thread 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)

2018-02-16 Thread 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)

2018-02-13 Thread 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)

2018-02-05 Thread 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)

2018-02-01 Thread 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 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)

2018-01-29 Thread 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)

2018-01-24 Thread 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)

2018-01-11 Thread 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>'].


  1   2   3   4   5   6   7   8   9   >