You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ja...@apache.org on 2015/01/19 19:50:33 UTC
ambari git commit: AMBARI-9191. Kerberos wizard->Configure Identities
page: Display all configurations subscribed to kerberos descriptor for
installed services.(jaimin)
Repository: ambari
Updated Branches:
refs/heads/trunk d3b139b5d -> 7e33ea589
AMBARI-9191. Kerberos wizard->Configure Identities page: Display all configurations subscribed to kerberos descriptor for installed services.(jaimin)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/7e33ea58
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/7e33ea58
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/7e33ea58
Branch: refs/heads/trunk
Commit: 7e33ea589eb70eeec85011b6e7917dc4b118286c
Parents: d3b139b
Author: Jaimin Jetly <ja...@hortonworks.com>
Authored: Mon Jan 19 10:49:48 2015 -0800
Committer: Jaimin Jetly <ja...@hortonworks.com>
Committed: Mon Jan 19 10:49:56 2015 -0800
----------------------------------------------------------------------
.../app/mixins/wizard/addSecurityConfigs.js | 52 +++++++++++++-------
.../mixins/wizard/addSeccurityConfigs_test.js | 3 +-
2 files changed, 35 insertions(+), 20 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/7e33ea58/ambari-web/app/mixins/wizard/addSecurityConfigs.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mixins/wizard/addSecurityConfigs.js b/ambari-web/app/mixins/wizard/addSecurityConfigs.js
index 29455f1..46fdc16 100644
--- a/ambari-web/app/mixins/wizard/addSecurityConfigs.js
+++ b/ambari-web/app/mixins/wizard/addSecurityConfigs.js
@@ -403,29 +403,19 @@ App.AddSecurityConfigs = Em.Mixin.create({
var kerberosDescriptor = items.Versions.kerberos_descriptor;
this.set('kerberosDescriptor', kerberosDescriptor);
// generate configs for root level properties object, currently realm, keytab_dir
- clusterConfigs = clusterConfigs.concat(this.expandKerberosStackDescriptorProps(kerberosDescriptor.properties));
+ clusterConfigs = clusterConfigs.concat(this.expandKerberosStackDescriptorProps(kerberosDescriptor.properties, 'Cluster'));
// generate configs for root level identities object, currently spnego property
clusterConfigs = clusterConfigs.concat(this.createConfigsByIdentities(kerberosDescriptor.identities, 'Cluster'));
- clusterConfigs.setEach('serviceName', 'Cluster');
kerberosDescriptor.services.forEach(function (service) {
var serviceName = service.name;
// generate configs for service level identity objects
- if (service.identities) {
- var serviceIdentityConfigs = self.createConfigsByIdentities(service.identities, serviceName);
- serviceIdentityConfigs.setEach('serviceName', serviceName);
- configs = configs.concat(serviceIdentityConfigs);
- }
+ configs = configs.concat(self.createResourceConfigs(service,serviceName));
// generate configs for service component level identity object
service.components.forEach(function (component) {
- var componentName = component.name;
- if (component.identities) {
- var identityConfigs = self.createConfigsByIdentities(component.identities, componentName);
- identityConfigs.setEach('serviceName', serviceName);
- configs = configs.concat(identityConfigs);
- }
+ configs = configs.concat(self.createResourceConfigs(component,serviceName));
});
});
- // unite cluster and service configs
+ // unite cluster, service and component configs
configs = configs.concat(clusterConfigs);
self.processConfigReferences(kerberosDescriptor, configs);
// return configs with uniq names
@@ -436,13 +426,36 @@ App.AddSecurityConfigs = Em.Mixin.create({
},
/**
+ *
+ * @param {Object} resource
+ * @param {String} serviceName
+ * @return {Array}
+ */
+ createResourceConfigs: function(resource, serviceName) {
+ var identityConfigs = [];
+ var resourceConfigs = [];
+ if (resource.identities) {
+ identityConfigs = this.createConfigsByIdentities(resource.identities, serviceName);
+ }
+ if (resource.configurations) {
+ resource.configurations.forEach(function(_configuration){
+ for (var key in _configuration) {
+ resourceConfigs = resourceConfigs.concat(this.expandKerberosStackDescriptorProps(_configuration[key], serviceName));
+ }
+ },this);
+
+ }
+ return identityConfigs.concat(resourceConfigs);
+ },
+
+ /**
* Create service properties based on component identity
*
* @param {object[]} identities
- * @param {string} componentName
+ * @param {string} serviceName
* @returns {App.ServiceConfigProperty[]}
*/
- createConfigsByIdentities: function (identities, componentName) {
+ createConfigsByIdentities: function (identities, serviceName) {
var self = this;
var configs = [];
@@ -451,7 +464,7 @@ App.AddSecurityConfigs = Em.Mixin.create({
isOverridable: false,
isVisible: true,
isSecureConfig: true,
- componentName: componentName,
+ serviceName: serviceName,
name: identity.name,
identityType: identity.principal && identity.principal.type
};
@@ -497,9 +510,10 @@ App.AddSecurityConfigs = Em.Mixin.create({
* Wrap kerberos properties to App.ServiceConfigProperty model class instances.
*
* @param {object} kerberosProperties
+ * @param {string} serviceName
* @returns {App.ServiceConfigProperty[]}
*/
- expandKerberosStackDescriptorProps: function (kerberosProperties) {
+ expandKerberosStackDescriptorProps: function (kerberosProperties, serviceName) {
var configs = [];
for (var propertyName in kerberosProperties) {
@@ -507,7 +521,7 @@ App.AddSecurityConfigs = Em.Mixin.create({
name: propertyName,
value: kerberosProperties[propertyName],
defaultValue: kerberosProperties[propertyName],
- serviceName: 'Cluster',
+ serviceName: serviceName,
displayName: propertyName,
isOverridable: false,
isEditable: propertyName != 'realm',
http://git-wip-us.apache.org/repos/asf/ambari/blob/7e33ea58/ambari-web/test/mixins/wizard/addSeccurityConfigs_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/mixins/wizard/addSeccurityConfigs_test.js b/ambari-web/test/mixins/wizard/addSeccurityConfigs_test.js
index 160ac19..57087a5 100644
--- a/ambari-web/test/mixins/wizard/addSeccurityConfigs_test.js
+++ b/ambari-web/test/mixins/wizard/addSeccurityConfigs_test.js
@@ -395,7 +395,8 @@ describe('App.AddSecurityConfigs', function () {
});
describe('#expandKerberosStackDescriptorProps', function() {
- var result = controller.expandKerberosStackDescriptorProps(stackDescriptor.properties);
+ var serviceName = 'Cluster';
+ var result = controller.expandKerberosStackDescriptorProps(stackDescriptor.properties, serviceName);
var testCases = [
{
property: 'realm',