ambari-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From onechipore...@apache.org
Subject ambari git commit: AMBARI-18675. Need to infrom user that Atlas requires Ambari Infra (onechiporenko)
Date Mon, 24 Oct 2016 14:17:59 GMT
Repository: ambari
Updated Branches:
  refs/heads/branch-2.5 0d1f4a653 -> 4a446a593


AMBARI-18675. Need to infrom user that Atlas requires Ambari Infra (onechiporenko)


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

Branch: refs/heads/branch-2.5
Commit: 4a446a5935f0b599e15195a51935201f3e2df08f
Parents: 0d1f4a6
Author: Oleg Nechiporenko <onechiporenko@apache.org>
Authored: Mon Oct 24 16:49:06 2016 +0300
Committer: Oleg Nechiporenko <onechiporenko@apache.org>
Committed: Mon Oct 24 17:17:51 2016 +0300

----------------------------------------------------------------------
 .../app/controllers/wizard/step4_controller.js  | 58 ++++++++++----------
 ambari-web/app/messages.js                      |  1 +
 .../test/controllers/wizard/step4_test.js       |  6 +-
 3 files changed, 34 insertions(+), 31 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/4a446a59/ambari-web/app/controllers/wizard/step4_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/wizard/step4_controller.js b/ambari-web/app/controllers/wizard/step4_controller.js
index 04e6784..7ad78cc 100644
--- a/ambari-web/app/controllers/wizard/step4_controller.js
+++ b/ambari-web/app/controllers/wizard/step4_controller.js
@@ -60,7 +60,7 @@ App.WizardStep4Controller = Em.ArrayController.extend({
 
   /**
    * Drop errorStack content on selected state changes.
-   **/
+   */
   clearErrors: function() {
     if (!this.get('errorStack').someProperty('isAccepted', false)) {
       this.set('errorStack', []);
@@ -123,8 +123,7 @@ App.WizardStep4Controller = Em.ArrayController.extend({
       else {
         //Spark is selected, remove the Spark error from errorObject array
         var sparkError = this.get('errorStack').filterProperty('id',"sparkWarning");
-        if(sparkError)
-        {
+        if(sparkError) {
            this.get('errorStack').removeObject(sparkError[0]);
         }
       }
@@ -165,7 +164,7 @@ App.WizardStep4Controller = Em.ArrayController.extend({
    *
    * @return {Boolean}
    * @method validate
-   **/
+   */
   validate: function () {
     var result;
     var self = this;
@@ -182,6 +181,11 @@ App.WizardStep4Controller = Em.ArrayController.extend({
       this.serviceValidation(callback, 'AMBARI_METRICS', 'ambariMetricsCheck');
       this.serviceValidation(callback, 'SMARTSENSE', 'smartSenseCheck');
     }
+    var atlasService = this.findProperty('serviceName', 'ATLAS');
+    var ambariInfraService = this.findProperty('serviceName', 'AMBARI_INFRA');
+    if (atlasService && atlasService.get('isSelected') && ambariInfraService
&& !ambariInfraService.get('isSelected')) {
+      this.serviceValidation(callback, 'AMBARI_INFRA', 'ambariInfraCheck');
+    }
     this.rangerValidation(callback);
     this.sparkValidation(callback);
     if (!!this.get('errorStack').filterProperty('isShown', false).length) {
@@ -228,7 +232,7 @@ App.WizardStep4Controller = Em.ArrayController.extend({
    * @param {Object} errorObject - look to #createError
    * @return {Boolean}
    * @method addValidationError
-   **/
+   */
   addValidationError: function (errorObject) {
     if (!this.get('errorStack').someProperty('id', errorObject.id)) {
       this.get('errorStack').push(this.createError(errorObject));
@@ -242,7 +246,7 @@ App.WizardStep4Controller = Em.ArrayController.extend({
    *
    * @param {Object} errorObject
    * @method showError
-   **/
+   */
   showError: function (errorObject) {
     return errorObject.callback.apply(errorObject.callbackContext, errorObject.callbackParams.concat(errorObject.id));
   },
@@ -255,7 +259,7 @@ App.WizardStep4Controller = Em.ArrayController.extend({
    *  @param {function} callback
    *  @param {string} id
    *  @method onPrimaryPopupCallback
-   **/
+   */
   onPrimaryPopupCallback: function(callback, id) {
     var firstError = this.get('errorStack').findProperty('isShown', false);
     if (firstError) {
@@ -280,7 +284,7 @@ App.WizardStep4Controller = Em.ArrayController.extend({
    * @param {Object} opt
    * @return {Object}
    * @method createError
-   **/
+   */
   createError: function(opt) {
     var options = {
       // {String} error identifier
@@ -363,32 +367,29 @@ App.WizardStep4Controller = Em.ArrayController.extend({
    * @method serviceDependencyValidation
    */
   serviceDependencyValidation: function(callback) {
-    var selectedServices = this.filterProperty('isSelected',true);
+    var selectedServices = this.filterProperty('isSelected', true);
     var missingDependencies = [];
     var missingDependenciesDisplayName = [];
-    selectedServices.forEach(function(service){
+    selectedServices.forEach(function(service) {
       var requiredServices = service.get('requiredServices');
       if (!!requiredServices && requiredServices.length) {
         requiredServices.forEach(function(_requiredService){
           var requiredService = this.findProperty('serviceName', _requiredService);
           if (requiredService) {
-            if(requiredService.get('isSelected') === false)
-            {
-               if(missingDependencies.indexOf(_requiredService) == -1 ) {
+            if(requiredService.get('isSelected') === false) {
+               if(missingDependencies.indexOf(_requiredService) === -1) {
                  missingDependencies.push(_requiredService);
                  missingDependenciesDisplayName.push(requiredService.get('displayNameOnSelectServicePage'));
                }
             }
-            else
-            { 
-               //required service is selected, remove the service error from errorObject
array 
+            else {
+               //required service is selected, remove the service error from errorObject
array
                var serviceName = requiredService.get('serviceName');
                var serviceError = this.get('errorStack').filterProperty('id',"serviceCheck_"+serviceName);
-               if(serviceError)
-               {
+               if(serviceError) {
                   this.get('errorStack').removeObject(serviceError[0]);
                }
-            } 
+            }
           }
         },this);
       }
@@ -397,8 +398,8 @@ App.WizardStep4Controller = Em.ArrayController.extend({
     //create a copy of the errorStack, reset it
     //and add the dependencies in the correct order
     var errorStackCopy = this.get('errorStack');
-    this.set('errorStack', []);    
-      
+    this.set('errorStack', []);
+
     if (missingDependencies.length > 0) {
       for(var i = 0; i < missingDependencies.length; i++) {
         this.addValidationError({
@@ -406,9 +407,9 @@ App.WizardStep4Controller = Em.ArrayController.extend({
           callback: this.needToAddServicePopup,
           callbackParams: [{serviceName: missingDependencies[i], selected: true}, 'serviceCheck',
missingDependenciesDisplayName[i], callback]
         });
-      }      
+      }
     }
-    
+
     //iterate through the errorStackCopy array and add to errorStack array, the error objects
that have no matching entry in the errorStack 
     //and that are not related to serviceChecks since serviceCheck errors have already been
added when iterating through the missing dependencies list
     //Only add Ranger, Ambari Metrics, Spark and file system service validation errors if
they exist in the errorStackCopy array
@@ -419,7 +420,7 @@ App.WizardStep4Controller = Em.ArrayController.extend({
         //not serviceCheck error
         if(!errorStackCopy[ctr].id.startsWith('serviceCheck_')) {
           this.get('errorStack').push(this.createError(errorStackCopy[ctr]));
-        }        
+        }
       }
       ctr++;
     }
@@ -429,7 +430,7 @@ App.WizardStep4Controller = Em.ArrayController.extend({
    * Select co hosted services which not showed on UI.
    *
    * @method setGroupedServices
-   **/
+   */
   setGroupedServices: function() {
     this.forEach(function(service){
       var coSelectedServices = service.get('coSelectedServices');
@@ -444,7 +445,7 @@ App.WizardStep4Controller = Em.ArrayController.extend({
 
   /**
    * Select/deselect services
-   * @param services array of objects
+   * @param {object[]|object} services array of objects
    *  <code>
    *    [
    *      {
@@ -463,15 +464,12 @@ App.WizardStep4Controller = Em.ArrayController.extend({
    */
 
   needToAddServicePopup: function (services, i18nSuffix, serviceName, callback, id) {
-    if (!(services instanceof Array)) {
-      services = [services];
-    }
     var self = this;
     return App.ModalPopup.show({
       header: Em.I18n.t('installer.step4.' + i18nSuffix + '.popup.header').format(serviceName),
       body: Em.I18n.t('installer.step4.' + i18nSuffix + '.popup.body').format(serviceName),
       onPrimary: function () {
-        services.forEach(function (service) {
+        Em.makeArray(services).forEach(function (service) {
           self.findProperty('serviceName', service.serviceName).set('isSelected', service.selected);
         });
         self.onPrimaryPopupCallback(callback, id);

http://git-wip-us.apache.org/repos/asf/ambari/blob/4a446a59/ambari-web/app/messages.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js
index aa7fb81..b0f643c 100644
--- a/ambari-web/app/messages.js
+++ b/ambari-web/app/messages.js
@@ -827,6 +827,7 @@ Em.I18n.translations = {
   'installer.step4.serviceCheck.popup.body':'You did not select {0}, but it is needed by
other services you selected. We will automatically add {0}. Is this OK?',
   'installer.step4.limitedFunctionality.popup.header':'Limited Functionality Warning',
   'installer.step4.ambariMetricsCheck.popup.body':'Ambari Metrics collects metrics from the
cluster and makes them available to Ambari.  If you do not install Ambari Metrics service,
metrics will not be accessible from Ambari.  Are you sure you want to proceed without Ambari
Metrics?',
+  'installer.step4.ambariInfraCheck.popup.body':'Since Ambari Infra is not selected, you
must supply your own Solr to make Atlas work. Are you sure you want to proceed?',
   'installer.step4.smartSenseCheck.popup.body':'SmartSense securely collects cluster diagnostics
in order to send you recommendations and automate analysis for ' +
   'troubleshooting support cases. If you choose not to install SmartSense, you will not receive
any recommendations, and you ' +
   'will need to collect configuration and logs manually for troubleshooting support cases.
' +

http://git-wip-us.apache.org/repos/asf/ambari/blob/4a446a59/ambari-web/test/controllers/wizard/step4_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/controllers/wizard/step4_test.js b/ambari-web/test/controllers/wizard/step4_test.js
index 13532e7..b9b21cf 100644
--- a/ambari-web/test/controllers/wizard/step4_test.js
+++ b/ambari-web/test/controllers/wizard/step4_test.js
@@ -25,7 +25,7 @@ describe('App.WizardStep4Controller', function () {
 
   var services = [
     'HDFS', 'GANGLIA', 'OOZIE', 'HIVE', 'HBASE', 'PIG', 'SCOOP', 'ZOOKEEPER', 'SMARTSENSE',
-    'YARN', 'MAPREDUCE2', 'FALCON', 'TEZ', 'STORM', 'AMBARI_METRICS', 'RANGER', 'SPARK',
'SLIDER'
+    'YARN', 'MAPREDUCE2', 'FALCON', 'TEZ', 'STORM', 'AMBARI_METRICS', 'RANGER', 'SPARK',
'SLIDER', 'ATLAS', 'AMBARI_INFRA'
   ];
 
   var controller = App.WizardStep4Controller.create();
@@ -318,6 +318,10 @@ describe('App.WizardStep4Controller', function () {
         {
           services: ['SMARTSENSE'],
           errorsExpected: ['ambariMetricsCheck']
+        },
+        {
+          services: ['ATLAS', 'AMBARI_METRICS', 'SMARTSENSE'],
+          errorsExpected: ['ambariInfraCheck']
         }
       ],
       controllerNames = ['installerController', 'addServiceController'],


Mime
View raw message