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