You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ab...@apache.org on 2017/02/08 15:47:48 UTC

ambari git commit: AMBARI-19924 Ranger Admin HA Wizard should show all configuration changes on Review step. (ababiichuk)

Repository: ambari
Updated Branches:
  refs/heads/trunk 37eb2dca7 -> 359ea9000


AMBARI-19924 Ranger Admin HA Wizard should show all configuration changes on Review step. (ababiichuk)


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

Branch: refs/heads/trunk
Commit: 359ea90008e91d3837c1051d60c9f4d5e37736de
Parents: 37eb2dc
Author: ababiichuk <ab...@hortonworks.com>
Authored: Wed Feb 8 15:44:22 2017 +0200
Committer: ababiichuk <ab...@hortonworks.com>
Committed: Wed Feb 8 17:57:45 2017 +0200

----------------------------------------------------------------------
 .../rangerAdmin/step3_controller.js             | 47 ++++++++------
 .../rangerAdmin/step4_controller.js             | 68 ++------------------
 .../rangerAdmin/wizard_controller.js            | 45 ++++++++++++-
 ambari-web/app/messages.js                      |  3 +-
 .../app/routes/ra_high_availability_routes.js   |  8 +--
 .../rangerAdmin/step3_controller_test.js        | 44 +++++--------
 6 files changed, 101 insertions(+), 114 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/359ea900/ambari-web/app/controllers/main/admin/highAvailability/rangerAdmin/step3_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/admin/highAvailability/rangerAdmin/step3_controller.js b/ambari-web/app/controllers/main/admin/highAvailability/rangerAdmin/step3_controller.js
index ea77d24..7e46810 100644
--- a/ambari-web/app/controllers/main/admin/highAvailability/rangerAdmin/step3_controller.js
+++ b/ambari-web/app/controllers/main/admin/highAvailability/rangerAdmin/step3_controller.js
@@ -30,12 +30,6 @@ App.RAHighAvailabilityWizardStep3Controller = Em.Controller.extend({
   stepConfigs: [
     App.ServiceConfig.create({
       serviceName: 'MISC',
-      configCategories: [
-        App.ServiceConfigCategory.create({
-          name: 'RANGER',
-          displayName: App.format.role('RANGER', true)
-        })
-      ],
       showConfig: true
     })
   ],
@@ -43,23 +37,40 @@ App.RAHighAvailabilityWizardStep3Controller = Em.Controller.extend({
   loadStep: function () {
     var self = this;
     App.get('router.mainController.isLoading').call(App.get('router.clusterController'), 'isConfigsPropertiesLoaded').done(function () {
-      var property = App.configsCollection.getConfigByName('policymgr_external_url', 'admin-properties'),
-        stepConfig = self.get('stepConfigs.firstObject');
-      stepConfig.set('configs', [
-        App.ServiceConfigProperty.create(property, {
-          category: 'RANGER',
-          value: self.get('content.loadBalancerURL')
-        })
-      ]);
+      var stepConfig = self.get('stepConfigs.firstObject'),
+        configs = [],
+        configCategories = [],
+        installedServices = App.Service.find().mapProperty('serviceName');
+      self.get('wizardController.configs').forEach(function (config) {
+        var service = App.config.get('serviceByConfigTypeMap')[config.siteName];
+        if (service) {
+          var serviceName = service.get('serviceName'),
+            serviceDisplayName = service.get('displayName');
+          if (installedServices.contains(serviceName)) {
+            var property = App.configsCollection.getConfigByName(config.propertyName, config.siteName) || {};
+            if (!configCategories.someProperty('name'), serviceName) {
+              configCategories.push(App.ServiceConfigCategory.create({
+                name: serviceName,
+                displayName: serviceDisplayName
+              }));
+            }
+            configs.push(App.ServiceConfigProperty.create(property, {
+              category: serviceName,
+              value: self.get('content.loadBalancerURL'),
+              isEditable: false
+            }));
+          }
+        }
+      });
+      stepConfig.setProperties({
+        configs: configs,
+        configCategories: configCategories
+      });
       self.setProperties({
         isLoaded: true,
         selectedService: stepConfig
       });
     });
-  },
-
-  updateConfigProperty: function () {
-    this.set('content.policymgrExternalURL', this.get('selectedService.configs.firstObject.value'));
   }
 });
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/359ea900/ambari-web/app/controllers/main/admin/highAvailability/rangerAdmin/step4_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/admin/highAvailability/rangerAdmin/step4_controller.js b/ambari-web/app/controllers/main/admin/highAvailability/rangerAdmin/step4_controller.js
index c03c680..f4b4a59 100644
--- a/ambari-web/app/controllers/main/admin/highAvailability/rangerAdmin/step4_controller.js
+++ b/ambari-web/app/controllers/main/admin/highAvailability/rangerAdmin/step4_controller.js
@@ -52,18 +52,7 @@ App.RAHighAvailabilityWizardStep4Controller = App.HighAvailabilityProgressPageCo
 
   onLoadConfigsTags: function (data) {
     var urlParams = [];
-    urlParams.push('(type=admin-properties&tag=' + data.Clusters.desired_configs['admin-properties'].tag + ')');
-    var siteNamesToFetch = [
-      'ranger-hdfs-security',
-      'ranger-yarn-security',
-      'ranger-hbase-security',
-      'ranger-hive-security',
-      'ranger-knox-security',
-      'ranger-kafka-security',
-      'ranger-kms-security',
-      'ranger-storm-security',
-      'ranger-atlas-security'
-    ];
+    var siteNamesToFetch = this.get('wizardController.configs').mapProperty('siteName');
     siteNamesToFetch.map(function(siteName) {
       if(siteName in data.Clusters.desired_configs) {
         urlParams.push('(type=' + siteName + '&tag=' + data.Clusters.desired_configs[siteName].tag + ')');
@@ -82,63 +71,18 @@ App.RAHighAvailabilityWizardStep4Controller = App.HighAvailabilityProgressPageCo
 
   onLoadConfigs: function (data) {
     var configs = [];
-    var self = this;
-    data.items.findProperty('type', 'admin-properties').properties['policymgr_external_url'] = this.get('content.policymgrExternalURL');
-    configs.push({
-      Clusters: {
-        desired_config: this.reconfigureSites(['admin-properties'], data, Em.I18n.t('admin.highAvailability.step4.save.configuration.note').format(App.format.role('RANGER_ADMIN', false)))
-      }
-    });
 
-    var configsToChange = [
-      {
-        siteName: 'ranger-hdfs-security',
-        property: 'ranger.plugin.hdfs.policy.rest.url'
-      },
-      {
-        siteName: 'ranger-yarn-security',
-        property: 'ranger.plugin.yarn.policy.rest.url'
-      },
-      {
-        siteName: 'ranger-hbase-security',
-        property: 'ranger.plugin.hbase.policy.rest.url'
-      },
-      {
-        siteName: 'ranger-hive-security',
-        property: 'ranger.plugin.hive.policy.rest.url'
-      },
-      {
-        siteName: 'ranger-knox-security',
-        property: 'ranger.plugin.knox.policy.rest.url'
-      },
-      {
-        siteName: 'ranger-kafka-security',
-        property: 'ranger.plugin.kafka.policy.rest.url'
-      },
-      {
-        siteName: 'ranger-kms-security',
-        property: 'ranger.plugin.kms.policy.rest.url'
-      },
-      {
-        siteName: 'ranger-storm-security',
-        property: 'ranger.plugin.storm.policy.rest.url'
-      },
-      {
-        siteName: 'ranger-atlas-security',
-        property: 'ranger.plugin.atlas.policy.rest.url'
-      }
-    ];
-    configsToChange.map(function(item) {
+    this.get('wizardController.configs').map(function(item) {
       var config = data.items.findProperty('type', item.siteName);
-      if(config) {
-        config.properties[item.property] = self.get('content.loadBalancerURL');
+      if (config) {
+        config.properties[item.propertyName] = this.get('content.loadBalancerURL');
         configs.push({
           Clusters: {
-            desired_config: self.reconfigureSites([item.siteName], data, Em.I18n.t('admin.highAvailability.step4.save.configuration.note').format(App.format.role('RANGER_ADMIN', false)))
+            desired_config: this.reconfigureSites([item.siteName], data, Em.I18n.t('admin.highAvailability.step4.save.configuration.note').format(App.format.role('RANGER_ADMIN', false)))
           }
         });
       }
-    });
+    }, this);
 
     App.ajax.send({
       name: 'common.service.multiConfigurations',

http://git-wip-us.apache.org/repos/asf/ambari/blob/359ea900/ambari-web/app/controllers/main/admin/highAvailability/rangerAdmin/wizard_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/admin/highAvailability/rangerAdmin/wizard_controller.js b/ambari-web/app/controllers/main/admin/highAvailability/rangerAdmin/wizard_controller.js
index fbb0692..3f4bf33 100644
--- a/ambari-web/app/controllers/main/admin/highAvailability/rangerAdmin/wizard_controller.js
+++ b/ambari-web/app/controllers/main/admin/highAvailability/rangerAdmin/wizard_controller.js
@@ -36,12 +36,54 @@ App.RAHighAvailabilityWizardController = App.WizardController.extend({
     controllerName: 'rAHighAvailabilityWizardController',
     cluster: null,
     loadBalancerURL: null,
-    policymgrExternalURL: null,
     hosts: null,
     services: null,
     masterComponentHosts: null
   }),
 
+  configs: [
+    {
+      siteName: 'admin-properties',
+      propertyName: 'policymgr_external_url'
+    },
+    {
+      siteName: 'ranger-hdfs-security',
+      propertyName: 'ranger.plugin.hdfs.policy.rest.url'
+    },
+    {
+      siteName: 'ranger-yarn-security',
+      propertyName: 'ranger.plugin.yarn.policy.rest.url'
+    },
+    {
+      siteName: 'ranger-hbase-security',
+      propertyName: 'ranger.plugin.hbase.policy.rest.url'
+    },
+    {
+      siteName: 'ranger-hive-security',
+      propertyName: 'ranger.plugin.hive.policy.rest.url'
+    },
+    {
+      siteName: 'ranger-knox-security',
+      propertyName: 'ranger.plugin.knox.policy.rest.url'
+    },
+    {
+      siteName: 'ranger-kafka-security',
+      propertyName: 'ranger.plugin.kafka.policy.rest.url'
+    },
+    {
+      siteName: 'ranger-kms-security',
+      propertyName: 'ranger.plugin.kms.policy.rest.url'
+    },
+    {
+      siteName: 'ranger-storm-security',
+      propertyName: 'ranger.plugin.storm.policy.rest.url'
+    },
+    {
+      siteName: 'ranger-atlas-security',
+      propertyName: 'ranger.plugin.atlas.policy.rest.url'
+    }
+  ],
+
   init: function () {
     this._super();
     this.clearStep();
@@ -101,7 +143,6 @@ App.RAHighAvailabilityWizardController = App.WizardController.extend({
           this.loadTasksStatuses();
           this.loadTasksRequestIds();
           this.loadRequestIds();
-          this.load('policymgrExternalURL');
         }
       }
     ]

http://git-wip-us.apache.org/repos/asf/ambari/blob/359ea900/ambari-web/app/messages.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js
index cb88fda..81833f3 100644
--- a/ambari-web/app/messages.js
+++ b/ambari-web/app/messages.js
@@ -1605,7 +1605,8 @@ Em.I18n.translations = {
   'admin.ra_highAvailability.wizard.step3.currentRA': 'Current Ranger Admin',
   'admin.ra_highAvailability.wizard.step3.additionalRA': 'Additional Ranger Admin',
   'admin.rm_highAvailability.wizard.step3.configs_changes': '<p><b>Review Configuration Changes.</b></p>' +
-  '<i>policymgr_external_url</i> in admin-properties.xml will be changed by the Wizard to enable Ranger Admin HA',
+    'The following lists the configuration changes that will be made by the Wizard to enable Ranger Admin HA. ' +
+    'This information is for <b> review only </b> and is not editable.',
   'admin.ra_highAvailability.wizard.step4.header': 'Install, Start and Test',
   'admin.ra_highAvailability.wizard.step4.task0.title': 'Stop All Services',
   'admin.ra_highAvailability.wizard.step4.task1.title': 'Install Additional Ranger Admin',

http://git-wip-us.apache.org/repos/asf/ambari/blob/359ea900/ambari-web/app/routes/ra_high_availability_routes.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/routes/ra_high_availability_routes.js b/ambari-web/app/routes/ra_high_availability_routes.js
index dbf653b..5be6c44 100644
--- a/ambari-web/app/routes/ra_high_availability_routes.js
+++ b/ambari-web/app/routes/ra_high_availability_routes.js
@@ -130,15 +130,13 @@ module.exports = App.WizardRoute.extend({
       controller.dataLoading().done(function () {
         controller.setCurrentStep('3');
         controller.loadAllPriorSteps().done(function () {
+          var stepController = router.get('rAHighAvailabilityWizardStep3Controller');
+          stepController.set('wizardController', controller);
           controller.connectOutlet('rAHighAvailabilityWizardStep3', controller.get('content'));
         });
       });
     },
     next: function (router) {
-      var controller = router.get('rAHighAvailabilityWizardController'),
-        stepController = router.get('rAHighAvailabilityWizardStep3Controller');
-      stepController.updateConfigProperty();
-      controller.save('policymgrExternalURL');
       router.transitionTo('step4');
     },
     back: function (router) {
@@ -154,6 +152,8 @@ module.exports = App.WizardRoute.extend({
         controller.setCurrentStep('4');
         controller.setLowerStepsDisable(4);
         controller.loadAllPriorSteps().done(function () {
+          var stepController = router.get('rAHighAvailabilityWizardStep4Controller');
+          stepController.set('wizardController', controller);
           controller.connectOutlet('rAHighAvailabilityWizardStep4', controller.get('content'));
         });
       });

http://git-wip-us.apache.org/repos/asf/ambari/blob/359ea900/ambari-web/test/controllers/main/admin/highAvailability/rangerAdmin/step3_controller_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/controllers/main/admin/highAvailability/rangerAdmin/step3_controller_test.js b/ambari-web/test/controllers/main/admin/highAvailability/rangerAdmin/step3_controller_test.js
index 649bcbc..4dc3539 100644
--- a/ambari-web/test/controllers/main/admin/highAvailability/rangerAdmin/step3_controller_test.js
+++ b/ambari-web/test/controllers/main/admin/highAvailability/rangerAdmin/step3_controller_test.js
@@ -19,6 +19,7 @@
 
 var App = require('app');
 require('controllers/main/admin/highAvailability/rangerAdmin/step3_controller');
+require('controllers/main/admin/highAvailability/rangerAdmin/wizard_controller');
 require('controllers/main');
 
 describe('App.RAHighAvailabilityWizardStep3Controller', function () {
@@ -57,16 +58,27 @@ describe('App.RAHighAvailabilityWizardStep3Controller', function () {
           result: 'http://localhost:1111',
           message: 'property value'
         }
-      ];
+      ],
+      service = Em.Object.create({
+        serviceName: 'RANGER',
+        displayName: 'Ranger'
+      });
 
     beforeEach(function () {
       dfd = $.Deferred();
       sinon.stub(App.get('router.mainController'), 'isLoading').returns(dfd);
+      sinon.stub(App.Service, 'find').returns([service]);
+      sinon.stub(App.config, 'get').withArgs('serviceByConfigTypeMap').returns({
+        'admin-properties': service
+      });
       sinon.stub(App.configsCollection, 'getConfigByName').returns({
         name: 'policymgr_external_url'
       });
-      controller.set('content', {
-        loadBalancerURL: 'http://localhost:1111'
+      controller.setProperties({
+        wizardController: App.get('router.rAHighAvailabilityWizardController'),
+        content: {
+          loadBalancerURL: 'http://localhost:1111'
+        }
       });
       controller.loadStep();
       dfd.resolve();
@@ -74,6 +86,8 @@ describe('App.RAHighAvailabilityWizardStep3Controller', function () {
 
     afterEach(function () {
       App.get('router.mainController.isLoading').restore();
+      App.Service.find.restore();
+      App.config.get.restore();
       App.configsCollection.getConfigByName.restore();
     });
 
@@ -87,28 +101,4 @@ describe('App.RAHighAvailabilityWizardStep3Controller', function () {
 
   });
 
-  describe('#updateConfigProperty', function () {
-
-    beforeEach(function () {
-      controller.setProperties({
-        content: {
-          policymgrExternalURL: 'http://localhost:1111'
-        },
-        selectedService: {
-          configs: [
-            {
-              value: 'http://localhost:2222'
-            }
-          ]
-        }
-      });
-      controller.updateConfigProperty();
-    });
-
-    it('should update content.policymgrExternalURL', function () {
-      expect(controller.get('content.policymgrExternalURL')).to.equal('http://localhost:2222');
-    });
-
-  });
-
 });
\ No newline at end of file