ambari-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From alexantone...@apache.org
Subject ambari git commit: AMBARI-16729. When selecting cluster capacity to 100% for llap queue, user is not shown warning (alexantonenko)
Date Wed, 18 May 2016 13:58:17 GMT
Repository: ambari
Updated Branches:
  refs/heads/trunk e598ce2b1 -> 82149886c


AMBARI-16729. When selecting cluster capacity to 100% for llap queue, user is not shown warning
(alexantonenko)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/82149886
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/82149886
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/82149886

Branch: refs/heads/trunk
Commit: 82149886c1c883945e3cd1043f7cc87881be5f8c
Parents: e598ce2
Author: Alex Antonenko <hiveww@gmail.com>
Authored: Wed May 18 14:53:36 2016 +0300
Committer: Alex Antonenko <hiveww@gmail.com>
Committed: Wed May 18 16:58:12 2016 +0300

----------------------------------------------------------------------
 ambari-web/app/messages.js                      |  1 +
 .../configs/objects/service_config_property.js  |  7 ++++++
 .../widgets/slider_config_widget_view.js        |  6 ++++-
 .../widgets/slider_config_widget_view_test.js   | 25 +++++++++++++++++++-
 4 files changed, 37 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/82149886/ambari-web/app/messages.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js
index 74f918d..bcb7ca3 100644
--- a/ambari-web/app/messages.js
+++ b/ambari-web/app/messages.js
@@ -3004,6 +3004,7 @@ Em.I18n.translations = {
   'config.infoMessage.wrong.value.for.widget': 'Configuration value cannot be converted into
UI control value',
   'config.warnMessage.outOfBoundaries.greater': 'Values greater than {0} are not recommended',
   'config.warnMessage.outOfBoundaries.less': 'Values smaller than {0} are not recommended',
+  'config.warnMessage.llap_queue_capacity.max': 'LLAP will consume entire Yarn queue',
 
   'errorMessage.config.required': 'This is required',
   'errorMessage.config.number.integer': 'Must contain digits only',

http://git-wip-us.apache.org/repos/asf/ambari/blob/82149886/ambari-web/app/models/configs/objects/service_config_property.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/models/configs/objects/service_config_property.js b/ambari-web/app/models/configs/objects/service_config_property.js
index f8a1e48..8d5714a 100644
--- a/ambari-web/app/models/configs/objects/service_config_property.js
+++ b/ambari-web/app/models/configs/objects/service_config_property.js
@@ -318,6 +318,13 @@ App.ServiceConfigProperty = Em.Object.extend({
       this.set('errorMessage', ''); // do not perform validation for not editable configs
     } else if ((typeof this.get('value') != 'object') && ((this.get('value') + '').length
=== 0)) {
       this.set('errorMessage', (this.get('isRequired') && this.get('widgetType')
!= 'test-db-connection') ? Em.I18n.t('errorMessage.config.required') : '');
+    } else if (this.get('name') === 'llap_queue_capacity') {
+      if (!isNaN(parseInt(this.get('value'), 10)) && parseInt(this.get('value'),
10) === 100) {
+        this.set('warnMessage', Em.I18n.t('config.warnMessage.llap_queue_capacity.max'));
+      } else {
+        this.set('warnMessage', '');
+        this.set('errorMessage', this.validator(this.get('value'), this.get('name'), this.get('retypedPassword')));
+      }
     } else {
       this.set('errorMessage', this.validator(this.get('value'), this.get('name'), this.get('retypedPassword')));
     }

http://git-wip-us.apache.org/repos/asf/ambari/blob/82149886/ambari-web/app/views/common/configs/widgets/slider_config_widget_view.js
----------------------------------------------------------------------
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 f3e80a3..71156f4 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
@@ -645,7 +645,11 @@ App.SliderConfigWidgetView = App.ConfigWidgetView.extend({
           return false;
         }
       }
-      this.updateWarningsForCompatibilityWithWidget('');
+      if (this.get('config.name') === 'llap_queue_capacity') {
+        this.get('config').validate();
+      } else {
+        this.updateWarningsForCompatibilityWithWidget('');
+      }
       return true;
     }
     return false;

http://git-wip-us.apache.org/repos/asf/ambari/blob/82149886/ambari-web/test/views/common/configs/widgets/slider_config_widget_view_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/views/common/configs/widgets/slider_config_widget_view_test.js
b/ambari-web/test/views/common/configs/widgets/slider_config_widget_view_test.js
index f038d3d..d757b2e 100644
--- a/ambari-web/test/views/common/configs/widgets/slider_config_widget_view_test.js
+++ b/ambari-web/test/views/common/configs/widgets/slider_config_widget_view_test.js
@@ -581,7 +581,7 @@ describe('App.SliderConfigWidgetView', function () {
     var stackConfigProperty = null;
 
     beforeEach(function() {
-      viewInt.set('config', {});
+      viewInt.set('config', App.ServiceConfigProperty.create({}));
       stackConfigProperty = {name: 'p1', widget: { units: [ { 'unit-name': "int"}]}, valueAttributes:
{minimum: 1, maximum: 10, increment_step: 4, type: 'int'}};
       viewInt.set('config.stackConfigProperty', stackConfigProperty);
       viewInt.set('config.isValid', true);
@@ -634,6 +634,29 @@ describe('App.SliderConfigWidgetView', function () {
       expect(viewInt.get('warnMessage')).to.equal('');
       expect(viewInt.get('issueMessage')).to.equal('');
     });
+
+    describe('llap_queue_capacity property', function() {
+      beforeEach(function() {
+        viewInt.set('config.name', 'llap_queue_capacity');
+      });
+      it('should validate and warn about llap issue when value is 100%', function() {
+        viewInt.set('config.stackConfigProperty.valueAttributes.maximum', 100);
+        viewInt.set('config.value', '100');
+        viewInt.set('config.errorMessage', '');
+        viewInt.set('config.warnMessage', '');
+        assert.isTrue(viewInt.isValueCompatibleWithWidget(), 'value should be compatible
with widget');
+        assert.equal(viewInt.get('config.warnMessage'), Em.I18n.t('config.warnMessage.llap_queue_capacity.max'),
'warn message validation');
+      });
+
+      it('should pass validation because llap < 100', function() {
+        viewInt.set('config.stackConfigProperty.valueAttributes.maximum', 100);
+        viewInt.set('config.value', '99');
+        viewInt.set('config.errorMessage', '');
+        viewInt.set('config.warnMessage', '');
+        assert.isTrue(viewInt.isValueCompatibleWithWidget(), 'value should be compatible
with widget');
+        assert.equal(viewInt.get('config.warnMessage'), '', 'warn message validation');
+      });
+    });
   });
 
   describe('#formatTickLabel', function () {


Mime
View raw message