You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by nc...@apache.org on 2017/01/18 15:57:49 UTC

[16/50] [abbrv] ambari git commit: AMBARI-19586 Ranger Admin HA Wizard should display configs changes explicitly. (ababiichuk)

AMBARI-19586 Ranger Admin HA Wizard should display configs changes explicitly. (ababiichuk)


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

Branch: refs/heads/branch-dev-patch-upgrade
Commit: 71c5b1f342aefe156d0af19264da0d2f0184ed8f
Parents: e3e9f70
Author: ababiichuk <ab...@hortonworks.com>
Authored: Tue Jan 17 15:53:05 2017 +0200
Committer: ababiichuk <ab...@hortonworks.com>
Committed: Tue Jan 17 17:00:09 2017 +0200

----------------------------------------------------------------------
 ambari-web/app/assets/test/tests.js             |   1 +
 .../rangerAdmin/step3_controller.js             |  43 ++++++-
 .../rangerAdmin/step4_controller.js             |   2 +-
 .../rangerAdmin/wizard_controller.js            |   2 +
 .../app/routes/ra_high_availability_routes.js   |   4 +
 .../highAvailability/rangerAdmin/step3.hbs      |   7 ++
 .../highAvailability/rangerAdmin/step3_view.js  |   6 +-
 .../rangerAdmin/step3_controller_test.js        | 114 +++++++++++++++++++
 8 files changed, 176 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/71c5b1f3/ambari-web/app/assets/test/tests.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/assets/test/tests.js b/ambari-web/app/assets/test/tests.js
index 604d96b..e42c811 100644
--- a/ambari-web/app/assets/test/tests.js
+++ b/ambari-web/app/assets/test/tests.js
@@ -89,6 +89,7 @@ var files = [
   'test/controllers/main/admin/highAvailability/journalNode/step7_controller_test',
   'test/controllers/main/admin/highAvailability/journalNode/step8_controller_test',
   'test/controllers/main/admin/highAvailability/journalNode/wizard_controller_test',
+  'test/controllers/main/admin/highAvailability/rangerAdmin/step3_controller_test',
   'test/controllers/main/dashboard/config_history_controller_test',
   'test/controllers/main/charts/heatmap_test',
   'test/controllers/main/charts/heatmap_metrics/heatmap_metric_test',

http://git-wip-us.apache.org/repos/asf/ambari/blob/71c5b1f3/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 475cc52..ea77d24 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
@@ -19,6 +19,47 @@
 var App = require('app');
 
 App.RAHighAvailabilityWizardStep3Controller = Em.Controller.extend({
-  name: "rAHighAvailabilityWizardStep3Controller"
+  name: 'rAHighAvailabilityWizardStep3Controller',
+
+  isLoaded: false,
+
+  versionLoaded: true,
+
+  hideDependenciesInfoBar: true,
+
+  stepConfigs: [
+    App.ServiceConfig.create({
+      serviceName: 'MISC',
+      configCategories: [
+        App.ServiceConfigCategory.create({
+          name: 'RANGER',
+          displayName: App.format.role('RANGER', true)
+        })
+      ],
+      showConfig: true
+    })
+  ],
+
+  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')
+        })
+      ]);
+      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/71c5b1f3/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 b7818d9..3c32af9 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
@@ -63,7 +63,7 @@ App.RAHighAvailabilityWizardStep4Controller = App.HighAvailabilityProgressPageCo
   },
 
   onLoadConfigs: function (data) {
-    data.items.findProperty('type', 'admin-properties').properties['policymgr_external_url'] = this.get('content.loadBalancerURL');
+    data.items.findProperty('type', 'admin-properties').properties['policymgr_external_url'] = this.get('content.policymgrExternalURL');
     var configData = this.reconfigureSites(['admin-properties'], data, Em.I18n.t('admin.highAvailability.step4.save.configuration.note').format(App.format.role('RANGER_ADMIN', false)));
 
     App.ajax.send({

http://git-wip-us.apache.org/repos/asf/ambari/blob/71c5b1f3/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 2bc6e37..fbb0692 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,6 +36,7 @@ App.RAHighAvailabilityWizardController = App.WizardController.extend({
     controllerName: 'rAHighAvailabilityWizardController',
     cluster: null,
     loadBalancerURL: null,
+    policymgrExternalURL: null,
     hosts: null,
     services: null,
     masterComponentHosts: null
@@ -100,6 +101,7 @@ App.RAHighAvailabilityWizardController = App.WizardController.extend({
           this.loadTasksStatuses();
           this.loadTasksRequestIds();
           this.loadRequestIds();
+          this.load('policymgrExternalURL');
         }
       }
     ]

http://git-wip-us.apache.org/repos/asf/ambari/blob/71c5b1f3/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 ac975ab..dbf653b 100644
--- a/ambari-web/app/routes/ra_high_availability_routes.js
+++ b/ambari-web/app/routes/ra_high_availability_routes.js
@@ -135,6 +135,10 @@ module.exports = App.WizardRoute.extend({
       });
     },
     next: function (router) {
+      var controller = router.get('rAHighAvailabilityWizardController'),
+        stepController = router.get('rAHighAvailabilityWizardStep3Controller');
+      stepController.updateConfigProperty();
+      controller.save('policymgrExternalURL');
       router.transitionTo('step4');
     },
     back: function (router) {

http://git-wip-us.apache.org/repos/asf/ambari/blob/71c5b1f3/ambari-web/app/templates/main/admin/highAvailability/rangerAdmin/step3.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/highAvailability/rangerAdmin/step3.hbs b/ambari-web/app/templates/main/admin/highAvailability/rangerAdmin/step3.hbs
index 3c798c8..5342728 100644
--- a/ambari-web/app/templates/main/admin/highAvailability/rangerAdmin/step3.hbs
+++ b/ambari-web/app/templates/main/admin/highAvailability/rangerAdmin/step3.hbs
@@ -46,6 +46,13 @@
         <div class="alert alert-info">
           {{{t admin.rm_highAvailability.wizard.step3.configs_changes}}}
         </div>
+        {{#if isLoaded}}
+          <div id="serviceConfig">
+            {{view App.ServiceConfigView}}
+          </div>
+        {{else}}
+          {{view App.SpinnerView}}
+        {{/if}}
     </div>
   </div>
 </div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/71c5b1f3/ambari-web/app/views/main/admin/highAvailability/rangerAdmin/step3_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/admin/highAvailability/rangerAdmin/step3_view.js b/ambari-web/app/views/main/admin/highAvailability/rangerAdmin/step3_view.js
index 8aa0125..1c55608 100644
--- a/ambari-web/app/views/main/admin/highAvailability/rangerAdmin/step3_view.js
+++ b/ambari-web/app/views/main/admin/highAvailability/rangerAdmin/step3_view.js
@@ -21,6 +21,10 @@ var App = require('app');
 
 App.RAHighAvailabilityWizardStep3View = Em.View.extend({
 
-  templateName: require('templates/main/admin/highAvailability/rangerAdmin/step3')
+  templateName: require('templates/main/admin/highAvailability/rangerAdmin/step3'),
+
+  didInsertElement: function () {
+    this.get('controller').loadStep();
+  }
 
 });

http://git-wip-us.apache.org/repos/asf/ambari/blob/71c5b1f3/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
new file mode 100644
index 0000000..649bcbc
--- /dev/null
+++ b/ambari-web/test/controllers/main/admin/highAvailability/rangerAdmin/step3_controller_test.js
@@ -0,0 +1,114 @@
+/**
+ * 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('controllers/main/admin/highAvailability/rangerAdmin/step3_controller');
+require('controllers/main');
+
+describe('App.RAHighAvailabilityWizardStep3Controller', function () {
+
+  var controller;
+
+  beforeEach(function () {
+    controller = App.RAHighAvailabilityWizardStep3Controller.create();
+  });
+
+  describe('#loadStep', function () {
+
+    var dfd,
+      testCases = [
+        {
+          path: 'isLoaded',
+          result: true
+        },
+        {
+          path: 'selectedService.configs.length',
+          result: 1,
+          massage: 'configs length'
+        },
+        {
+          path: 'selectedService.configs.firstObject.name',
+          result: 'policymgr_external_url',
+          message: 'property name'
+        },
+        {
+          path: 'selectedService.configs.firstObject.category',
+          result: 'RANGER',
+          message: 'config category'
+        },
+        {
+          path: 'selectedService.configs.firstObject.value',
+          result: 'http://localhost:1111',
+          message: 'property value'
+        }
+      ];
+
+    beforeEach(function () {
+      dfd = $.Deferred();
+      sinon.stub(App.get('router.mainController'), 'isLoading').returns(dfd);
+      sinon.stub(App.configsCollection, 'getConfigByName').returns({
+        name: 'policymgr_external_url'
+      });
+      controller.set('content', {
+        loadBalancerURL: 'http://localhost:1111'
+      });
+      controller.loadStep();
+      dfd.resolve();
+    });
+
+    afterEach(function () {
+      App.get('router.mainController.isLoading').restore();
+      App.configsCollection.getConfigByName.restore();
+    });
+
+    testCases.forEach(function (testCase) {
+
+      it(testCase.message || testCase.path, function () {
+        expect(controller.get(testCase.path)).to.equal(testCase.result);
+      });
+
+    });
+
+  });
+
+  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