Repository: ambari Updated Branches: refs/heads/branch-1.7.0 11b1cab15 -> a45facb90
AMBARI-7731 Use jaas file for storm authentication in secured mode. (ababiichuk) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/a45facb9 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/a45facb9 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/a45facb9 Branch: refs/heads/branch-1.7.0 Commit: a45facb9079815820c3763d5bad6dc8e68fe05e9 Parents: 11b1cab Author: aBabiichuk <[email protected]> Authored: Fri Oct 10 18:49:21 2014 +0300 Committer: aBabiichuk <[email protected]> Committed: Sat Oct 11 09:24:21 2014 +0300 ---------------------------------------------------------------------- .../security/security_progress_controller.js | 48 +++++++++++++++++++- .../security_progress_controller_test.js | 32 +++++++++++++ 2 files changed, 79 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/a45facb9/ambari-web/app/controllers/main/admin/security/security_progress_controller.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/controllers/main/admin/security/security_progress_controller.js b/ambari-web/app/controllers/main/admin/security/security_progress_controller.js index a17c5f6..75fcf38 100644 --- a/ambari-web/app/controllers/main/admin/security/security_progress_controller.js +++ b/ambari-web/app/controllers/main/admin/security/security_progress_controller.js @@ -373,7 +373,7 @@ App.MainAdminSecurityProgressController = Em.Controller.extend({ command.set('isError', true); } var cfg = data.items.findProperty('type', _tag.siteName); - _tag.configs = cfg.properties; + _tag.configs = this.modifyConfigsForSecure(_tag.siteName, cfg); if (cfg.properties_attributes) { _tag.properties_attributes = cfg.properties_attributes; } @@ -383,6 +383,52 @@ App.MainAdminSecurityProgressController = Em.Controller.extend({ } }, + propertiesToUpdate: [ + { + siteName: 'storm-site', + name: 'ui.childopts', + append: ' -Djava.security.auth.login.config=/etc/storm/conf/storm_jaas.conf' + }, + { + siteName: 'storm-site', + name: 'supervisor.childopts', + append: ' -Djava.security.auth.login.config=/etc/storm/conf/storm_jaas.conf' + }, + { + siteName: 'storm-site', + name: 'nimbus.childopts', + append: ' -Djava.security.auth.login.config=/etc/storm/conf/storm_jaas.conf' + } + ], + + /** + * updates some configs for correct work in secure mode + * @method modifyConfigsForSecure + * @param {String} siteName + * @param {Object} cfg + * { + * properties: { + * 'ui.childopts': 'value1' + * 'property2': 'value2' + * } + * }; + * has other properties but required filed is "properties"; + * @returns {Object} + * properties: { + * 'ui.childopts': 'value1 -Djava.security.auth.login.config=/etc/storm/conf/storm_jaas.conf' + * 'property2': 'value2' + * } + */ + modifyConfigsForSecure: function(siteName, cfg) { + var propertiesToUpdate = this.get('propertiesToUpdate').filterProperty('siteName', siteName); + if (propertiesToUpdate.length) { + propertiesToUpdate.forEach(function(p) { + cfg.properties[p.name] += p.append; + }, this); + } + return cfg.properties + }, + getAllConfigurationsErrorCallback: function (request, ajaxOptions, error) { var command = this.get('commands').findProperty('name', 'APPLY_CONFIGURATIONS'); command.set('isSuccess', false); http://git-wip-us.apache.org/repos/asf/ambari/blob/a45facb9/ambari-web/test/controllers/main/admin/security/security_progress_controller_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/controllers/main/admin/security/security_progress_controller_test.js b/ambari-web/test/controllers/main/admin/security/security_progress_controller_test.js index 26cfbab..3ad07f7 100644 --- a/ambari-web/test/controllers/main/admin/security/security_progress_controller_test.js +++ b/ambari-web/test/controllers/main/admin/security/security_progress_controller_test.js @@ -408,4 +408,36 @@ describe('App.MainAdminSecurityProgressController', function () { }); }); }); + + describe('#modifyConfigsForSecure', function () { + var cfg = { + properties: { + 'ui.childopts': 'value1', + 'supervisor.childopts': 'value2', + 'common_property': 'value4' + } + }; + var siteName = 'storm-site'; + var result = { + 'ui.childopts': 'value1 -Djava.security.auth.login.config=/etc/storm/conf/storm_jaas.conf', + 'supervisor.childopts': 'value2 -Djava.security.auth.login.config=/etc/storm/conf/storm_jaas.conf', + 'common_property': 'value4' + }; + var propertiesToUpdate = [ + { + siteName: 'storm-site', + name: 'ui.childopts', + append: ' -Djava.security.auth.login.config=/etc/storm/conf/storm_jaas.conf' + }, + { + siteName: 'storm-site', + name: 'supervisor.childopts', + append: ' -Djava.security.auth.login.config=/etc/storm/conf/storm_jaas.conf' + } + ]; + it("should change some storm sonfigs", function () { + controller.set('propertiesToUpdate', propertiesToUpdate); + expect(controller.modifyConfigsForSecure(siteName, cfg)).to.eql(result); + }); + }); });
