|
@@ -27,6 +27,8 @@ App.AddSecurityConfigs = Em.Mixin.create({
|
|
|
|
|
|
kerberosDescriptor: {},
|
|
|
|
|
|
+ kerberosDescriptorProperties: require('data/HDP2/kerberos_descriptor_properties'),
|
|
|
+
|
|
|
/**
|
|
|
* security configs, which values should be modified after APPLY CONFIGURATIONS stage
|
|
|
*/
|
|
@@ -157,6 +159,7 @@ App.AddSecurityConfigs = Em.Mixin.create({
|
|
|
var configObject = {};
|
|
|
var prop = identity[item];
|
|
|
var itemValue = prop[{keytab: 'file', principal: 'value'}[item]];
|
|
|
+ var predefinedProperty;
|
|
|
// skip inherited property without `configuration` and `keytab` or `file` values
|
|
|
if (!prop.configuration && !itemValue) return;
|
|
|
// inherited property with value should not observe value from reference
|
|
@@ -167,8 +170,9 @@ App.AddSecurityConfigs = Em.Mixin.create({
|
|
|
configObject.defaultValue = configObject.savedValue = configObject.value = itemValue;
|
|
|
configObject.filename = prop.configuration ? prop.configuration.split('/')[0] : 'cluster-env';
|
|
|
configObject.name = prop.configuration ? prop.configuration.split('/')[1] : name + '_' + item;
|
|
|
-
|
|
|
+ predefinedProperty = self.get('kerberosDescriptorProperties').findProperty('name', configObject.name);
|
|
|
configObject.displayName = self._getDisplayNameForConfig(configObject.name, configObject.filename);
|
|
|
+ configObject.index = predefinedProperty && !Em.isNone(predefinedProperty.index) ? predefinedProperty.index : Infinity;
|
|
|
result.push(configObject);
|
|
|
});
|
|
|
return result;
|
|
@@ -205,6 +209,7 @@ App.AddSecurityConfigs = Em.Mixin.create({
|
|
|
var configs = [];
|
|
|
|
|
|
for (var propertyName in kerberosProperties) {
|
|
|
+ var predefinedProperty = this.get('kerberosDescriptorProperties').findProperty('name', propertyName);
|
|
|
var propertyObject = {
|
|
|
name: propertyName,
|
|
|
value: kerberosProperties[propertyName],
|
|
@@ -216,7 +221,9 @@ App.AddSecurityConfigs = Em.Mixin.create({
|
|
|
isOverridable: false,
|
|
|
isEditable: propertyName != 'realm',
|
|
|
isRequired: propertyName != 'additional_realms',
|
|
|
- isSecureConfig: true
|
|
|
+ isSecureConfig: true,
|
|
|
+ placeholderText: predefinedProperty && !Em.isNone(predefinedProperty.index) ? predefinedProperty.placeholderText : '',
|
|
|
+ index: predefinedProperty && !Em.isNone(predefinedProperty.index) ? predefinedProperty.index : Infinity
|
|
|
};
|
|
|
configs.push(App.ServiceConfigProperty.create(propertyObject));
|
|
|
}
|
|
@@ -235,7 +242,6 @@ App.AddSecurityConfigs = Em.Mixin.create({
|
|
|
processConfigReferences: function (kerberosDescriptor, configs) {
|
|
|
var identities = kerberosDescriptor.identities;
|
|
|
identities = identities.concat(kerberosDescriptor.services.map(function (service) {
|
|
|
- var _identities = service.identities || [];
|
|
|
if (service.components && !!service.components.length) {
|
|
|
identities = identities.concat(service.components.mapProperty('identities').reduce(function (p, c) {
|
|
|
return p.concat(c);
|