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);
+    });
+  });
 });

Reply via email to