You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by rl...@apache.org on 2015/06/01 01:14:20 UTC
ambari git commit: AMBARI-11247. Add Service Wizard requests KDC
information when cluster is configured for Manual Kerberos (rlevas)
Repository: ambari
Updated Branches:
refs/heads/trunk c7ed673bb -> 643a72615
AMBARI-11247. Add Service Wizard requests KDC information when cluster is configured for Manual Kerberos (rlevas)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/643a7261
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/643a7261
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/643a7261
Branch: refs/heads/trunk
Commit: 643a7261530ca32fa251f0314cad17c005383c9c
Parents: c7ed673
Author: Robert Levas <rl...@hortonworks.com>
Authored: Sun May 31 19:14:14 2015 -0400
Committer: Robert Levas <rl...@hortonworks.com>
Committed: Sun May 31 19:14:14 2015 -0400
----------------------------------------------------------------------
.../app/controllers/main/admin/kerberos.js | 15 ++--
.../main/admin/kerberos/step4_controller.js | 7 ++
.../app/controllers/wizard/step8_controller.js | 24 +++---
.../configs/stack_config_properties_mapper.js | 1 +
.../mixins/common/configs/enhanced_configs.js | 14 ++--
.../app/models/configs/stack_config_property.js | 3 +-
ambari-web/app/routes/add_service_routes.js | 6 +-
ambari-web/app/styles/application.less | 4 +
ambari-web/app/templates/wizard/step8.hbs | 1 +
ambari-web/app/utils/ajax/ajax.js | 2 +-
.../admin/kerberos/step4_controller_test.js | 12 ++-
.../controllers/main/admin/kerberos_test.js | 82 ++++++++++++++++++++
.../test/controllers/wizard/step8_test.js | 61 +++++++++------
13 files changed, 179 insertions(+), 53 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/643a7261/ambari-web/app/controllers/main/admin/kerberos.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/admin/kerberos.js b/ambari-web/app/controllers/main/admin/kerberos.js
index bb5db84..a4ca131 100644
--- a/ambari-web/app/controllers/main/admin/kerberos.js
+++ b/ambari-web/app/controllers/main/admin/kerberos.js
@@ -261,7 +261,9 @@ App.MainAdminKerberosController = App.KerberosWizardStep4Controller.extend({
sender: this,
success: 'getSecurityStatusSuccessCallback',
error: 'errorCallback'
- }).always(function() {
+ })
+ .always(this.getSecurityType.bind(this))
+ .always(function() {
// check for kerberos descriptor artifact
if (self.get('securityEnabled')) {
self.loadClusterDescriptorConfigs().then(function() {
@@ -376,7 +378,7 @@ App.MainAdminKerberosController = App.KerberosWizardStep4Controller.extend({
getSecurityType: function (callback) {
if (this.get('securityEnabled')) {
- App.ajax.send({
+ return App.ajax.send({
name: 'admin.security.cluster_configs.kerberos',
sender: this,
data: {
@@ -384,15 +386,18 @@ App.MainAdminKerberosController = App.KerberosWizardStep4Controller.extend({
additionalCallback: callback
},
success: 'getSecurityTypeSuccess'
- })
+ });
} else if (Em.typeOf(callback)=== 'function') {
callback();
+ } else {
+ return $.Deferred().resolve().promise;
}
},
getSecurityTypeSuccess: function (data, opt, params) {
- this.set('kdc_type', data.items && Em.get(data.items[0], 'properties.kdc_type') ? Em.get(data.items[0], 'properties.kdc_type') : 'none' );
-
+ var kdcType = data.items && data.items[0] &&
+ Em.getWithDefault(Em.getWithDefault(data.items[0], 'configurations', {}).findProperty('type', 'kerberos-env') || {}, 'properties.kdc_type', 'none') || 'none';
+ this.set('kdc_type', kdcType);
if (Em.typeOf(params.additionalCallback) === 'function') {
params.additionalCallback();
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/643a7261/ambari-web/app/controllers/main/admin/kerberos/step4_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/admin/kerberos/step4_controller.js b/ambari-web/app/controllers/main/admin/kerberos/step4_controller.js
index a48baaf..74fc4ac 100644
--- a/ambari-web/app/controllers/main/admin/kerberos/step4_controller.js
+++ b/ambari-web/app/controllers/main/admin/kerberos/step4_controller.js
@@ -127,6 +127,7 @@ App.KerberosWizardStep4Controller = App.WizardStep7Controller.extend(App.AddSecu
* Set property value observer.
* Set realm property with value from previous configuration step.
* Set appropriate category for all configs.
+ * Hide KDC related credentials properties if kerberos was manually enabled.
*
* @param {App.ServiceConfigProperty[]} configs
* @returns {App.ServiceConfigProperty[]}
@@ -144,6 +145,12 @@ App.KerberosWizardStep4Controller = App.WizardStep7Controller.extend(App.AddSecu
var property = storedServiceConfigs.filterProperty('filename', 'krb5-conf.xml').findProperty('name', item.name);
if (!!property) {
var _prop = App.ServiceConfigProperty.create($.extend({}, property, { name: item.name, value: '', recommendedValue: '', serviceName: 'Cluster', displayName: item.displayName}));
+ if (App.router.get('mainAdminKerberosController.isManualKerberos')) {
+ _prop.setProperties({
+ isRequired: false,
+ isVisible: false
+ });
+ }
_prop.validate();
adminProps.push(_prop);
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/643a7261/ambari-web/app/controllers/wizard/step8_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/wizard/step8_controller.js b/ambari-web/app/controllers/wizard/step8_controller.js
index e4090fc..bf3b91a 100644
--- a/ambari-web/app/controllers/wizard/step8_controller.js
+++ b/ambari-web/app/controllers/wizard/step8_controller.js
@@ -135,12 +135,6 @@ App.WizardStep8Controller = Em.Controller.extend(App.AddSecurityConfigs, App.wiz
return App.router.get('mainAdminKerberosController.securityEnabled');
}.property('App.router.mainAdminKerberosController.securityEnabled'),
- getSecurityType: function () {
- if (this.get('securityEnabled')) {
- App.router.mainAdminKerberosController.getSecurityType();
- }
- },
-
/**
* Selected config group
* @type {Object}
@@ -235,7 +229,6 @@ App.WizardStep8Controller = Em.Controller.extend(App.AddSecurityConfigs, App.wiz
this.loadServices();
this.set('isSubmitDisabled', false);
this.set('isBackBtnDisabled', false);
- this.getSecurityType();
},
/**
@@ -737,7 +730,7 @@ App.WizardStep8Controller = Em.Controller.extend(App.AddSecurityConfigs, App.wiz
*/
submit: function () {
if (!this.get('isSubmitDisabled')) {
- if (this.get('content.controllerName') != 'installerController' && this.get('securityEnabled')) {
+ if (this.get('content.controllerName') != 'installerController' && this.get('securityEnabled') && !this.get('isManualKerberos')) {
App.get('router.mainAdminKerberosController').getKDCSessionState(this.submitProceed.bind(this));
} else {
this.submitProceed();
@@ -953,9 +946,9 @@ App.WizardStep8Controller = Em.Controller.extend(App.AddSecurityConfigs, App.wiz
* updates kerberosDescriptorConfigs
* @method updateKerberosDescriptor
*/
- updateKerberosDescriptor: function() {
+ updateKerberosDescriptor: function(instant) {
var kerberosDescriptor = App.db.get('KerberosWizard', 'kerberosDescriptorConfigs');
- this.addRequestToAjaxQueue({
+ var ajaxOpts = {
name: 'admin.kerberos.cluster.artifact.update',
data: {
artifactName: 'kerberos_descriptor',
@@ -963,7 +956,13 @@ App.WizardStep8Controller = Em.Controller.extend(App.AddSecurityConfigs, App.wiz
artifact_data: kerberosDescriptor
}
}
- });
+ };
+ if (instant) {
+ ajaxOpts.sender = this;
+ App.ajax.send(ajaxOpts);
+ } else {
+ this.addRequestToAjaxQueue(ajaxOpts);
+ }
},
/**
* Start deploy process
@@ -974,7 +973,8 @@ App.WizardStep8Controller = Em.Controller.extend(App.AddSecurityConfigs, App.wiz
this.createSelectedServices();
if (this.get('content.controllerName') !== 'addHostController') {
if (this.get('content.controllerName') === 'addServiceController') {
- if (this.get('securityEnabled')) {
+ // for manually enabled Kerberos descriptor was updated on transition to this step
+ if (this.get('securityEnabled') && !this.get('isManualKerberos')) {
this.updateKerberosDescriptor();
}
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/643a7261/ambari-web/app/mappers/configs/stack_config_properties_mapper.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mappers/configs/stack_config_properties_mapper.js b/ambari-web/app/mappers/configs/stack_config_properties_mapper.js
index 1f269c3..752cebb 100644
--- a/ambari-web/app/mappers/configs/stack_config_properties_mapper.js
+++ b/ambari-web/app/mappers/configs/stack_config_properties_mapper.js
@@ -32,6 +32,7 @@ App.stackConfigPropertiesMapper = App.QuickDataMapper.create({
stack_name: 'StackConfigurations.stack_name',
stack_version: 'StackConfigurations.stack_version',
property_depended_by: 'StackConfigurations.property_depended_by',
+ property_depends_on: 'StackConfigurations.property_depends_on',
value_attributes: 'StackConfigurations.property_value_attributes',
is_final: 'default_is_final',
recommended_is_final: 'default_is_final',
http://git-wip-us.apache.org/repos/asf/ambari/blob/643a7261/ambari-web/app/mixins/common/configs/enhanced_configs.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mixins/common/configs/enhanced_configs.js b/ambari-web/app/mixins/common/configs/enhanced_configs.js
index 5c9dde1..c25bb54 100644
--- a/ambari-web/app/mixins/common/configs/enhanced_configs.js
+++ b/ambari-web/app/mixins/common/configs/enhanced_configs.js
@@ -181,7 +181,8 @@ App.EnhancedConfigsMixin = Em.Mixin.create({
setDependentServices: function(serviceName) {
App.StackConfigProperty.find().forEach(function(stackProperty) {
if (stackProperty.get('serviceName') === serviceName && stackProperty.get('propertyDependedBy.length') > 0) {
- this._setDependentServicesAndFileNames(stackProperty);
+ this._setDependentServicesAndFileNames(stackProperty, 'propertyDependedBy');
+ this._setDependentServicesAndFileNames(stackProperty, 'propertyDependsOn');
}
}, this);
},
@@ -197,7 +198,7 @@ App.EnhancedConfigsMixin = Em.Mixin.create({
return this.get('stepConfigs').findProperty('serviceName', serviceName).get('selectedConfigGroup');
} else {
if (this.get('content.serviceName') === serviceName) {
- return this.get('selectedConfigGroup')
+ return this.get('selectedConfigGroup');
} else {
if (this.get('selectedConfigGroup.isDefault')) {
return this.get('dependentConfigGroups').filterProperty('service.serviceName', serviceName).findProperty('isDefault');
@@ -376,9 +377,10 @@ App.EnhancedConfigsMixin = Em.Mixin.create({
* @param {App.StackConfigProperty} stackProperty
* @private
*/
- _setDependentServicesAndFileNames: function(stackProperty) {
- if (stackProperty.get('propertyDependedBy.length') > 0) {
- stackProperty.get('propertyDependedBy').forEach(function(dependent) {
+ _setDependentServicesAndFileNames: function(stackProperty, key) {
+ key = key || 'propertyDependedBy';
+ if (stackProperty.get(key + '.length') > 0) {
+ stackProperty.get(key).forEach(function(dependent) {
var tag = App.config.getConfigTagFromFileName(dependent.type);
/** setting dependent fileNames (without '.xml') **/
if (!this.get('dependentFileNames').contains(tag)) {
@@ -390,7 +392,7 @@ App.EnhancedConfigsMixin = Em.Mixin.create({
if (dependentProperty.get('serviceName') && !this.get('dependentServiceNames').contains(dependentProperty.get('serviceName')) && dependentProperty.get('serviceName') !== this.get('content.serviceName')) {
this.get('dependentServiceNames').push(dependentProperty.get('serviceName'));
}
- this._setDependentServicesAndFileNames(dependentProperty);
+ this._setDependentServicesAndFileNames(dependentProperty, key);
}
}, this);
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/643a7261/ambari-web/app/models/configs/stack_config_property.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/models/configs/stack_config_property.js b/ambari-web/app/models/configs/stack_config_property.js
index 15dcfc2..4f63b4b 100644
--- a/ambari-web/app/models/configs/stack_config_property.js
+++ b/ambari-web/app/models/configs/stack_config_property.js
@@ -113,6 +113,8 @@ App.StackConfigProperty = DS.Model.extend({
*/
propertyDependedBy: DS.attr('array', {defaultValue: []}),
+ propertyDependsOn: DS.attr('array', {defaultValue: []}),
+
/**
* info for displaying property
* example:
@@ -180,4 +182,3 @@ App.StackConfigProperty = DS.Model.extend({
App.StackConfigProperty.FIXTURES = [];
-
http://git-wip-us.apache.org/repos/asf/ambari/blob/643a7261/ambari-web/app/routes/add_service_routes.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/routes/add_service_routes.js b/ambari-web/app/routes/add_service_routes.js
index 3db7879..dcc1dae 100644
--- a/ambari-web/app/routes/add_service_routes.js
+++ b/ambari-web/app/routes/add_service_routes.js
@@ -267,7 +267,11 @@ module.exports = App.WizardRoute.extend({
},
next: function (router) {
if (router.get('mainAdminKerberosController.securityEnabled')) {
- router.get('kerberosWizardStep2Controller').createKerberosAdminSession(router.get('kerberosWizardStep4Controller.stepConfigs')[0].get('configs'));
+ if (router.get('mainAdminKerberosController.isManualKerberos')) {
+ router.get('wizardStep8Controller').updateKerberosDescriptor(true);
+ } else {
+ router.get('kerberosWizardStep2Controller').createKerberosAdminSession(router.get('kerberosWizardStep4Controller.stepConfigs')[0].get('configs'));
+ }
}
router.transitionTo('step6');
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/643a7261/ambari-web/app/styles/application.less
----------------------------------------------------------------------
diff --git a/ambari-web/app/styles/application.less b/ambari-web/app/styles/application.less
index 710a363..4de2aae 100644
--- a/ambari-web/app/styles/application.less
+++ b/ambari-web/app/styles/application.less
@@ -5411,6 +5411,10 @@ input[type="radio"].align-checkbox, input[type="checkbox"].align-checkbox {
margin-left: @space-l;
}
+.mrm {
+ margin-right: @space-m;
+}
+
#cleanerContainer {
z-index: 2;
position: absolute;
http://git-wip-us.apache.org/repos/asf/ambari/blob/643a7261/ambari-web/app/templates/wizard/step8.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/wizard/step8.hbs b/ambari-web/app/templates/wizard/step8.hbs
index ec4bac7..dc2357c 100644
--- a/ambari-web/app/templates/wizard/step8.hbs
+++ b/ambari-web/app/templates/wizard/step8.hbs
@@ -72,5 +72,6 @@
<a class="btn btn-success pull-right"
id="spinner" {{bindAttr disabled="controller.isSubmitDisabled"}} {{action submit target="controller"}}>{{t common.deploy}} →</a>
<a class="btn btn-info pull-right" {{action printReview target="view"}}>{{t common.print}}</a>
+ <a {{bindAttr class=":btn :btn-primary :pull-right :mrm controller.isManualKerberos::hide"}} {{action downloadCSV target="controller"}}>{{t admin.kerberos.wizard.step5.downloadCSV}}</a>
</div>
</div>
http://git-wip-us.apache.org/repos/asf/ambari/blob/643a7261/ambari-web/app/utils/ajax/ajax.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/utils/ajax/ajax.js b/ambari-web/app/utils/ajax/ajax.js
index 69ac15f..28422aa 100644
--- a/ambari-web/app/utils/ajax/ajax.js
+++ b/ambari-web/app/utils/ajax/ajax.js
@@ -1308,7 +1308,7 @@ var urls = {
}
},
'admin.security.cluster_configs.kerberos': {
- 'real': '/clusters/{clusterName}/configurations?type=kerberos-env&fields=properties/*',
+ 'real': '/clusters/{clusterName}/configurations/service_config_versions?service_name=KERBEROS&is_current=true',
'mock': '',
'format': function () {
return {
http://git-wip-us.apache.org/repos/asf/ambari/blob/643a7261/ambari-web/test/controllers/main/admin/kerberos/step4_controller_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/controllers/main/admin/kerberos/step4_controller_test.js b/ambari-web/test/controllers/main/admin/kerberos/step4_controller_test.js
index 780bc00..4a95297 100644
--- a/ambari-web/test/controllers/main/admin/kerberos/step4_controller_test.js
+++ b/ambari-web/test/controllers/main/admin/kerberos/step4_controller_test.js
@@ -70,12 +70,14 @@ describe('App.KerberosWizardStep4Controller', function() {
displayType: 'multiLine'
}
]);
+ sinon.stub(App.router, 'get').withArgs('mainAdminKerberosController.isManualKerberos').returns(false);
this.result = controller.prepareConfigProperties(properties);
});
after(function() {
App.Service.find.restore();
App.config.get.restore();
+ App.router.get.restore();
});
var properties = Em.A([
@@ -172,7 +174,7 @@ describe('App.KerberosWizardStep4Controller', function() {
serviceName: 'KERBEROS'
})
]);
- var controller = App.KerberosWizardStep4Controller.create({
+ this.controller = App.KerberosWizardStep4Controller.create({
selectedServiceNames: ['FALCON', 'MAPREDUCE2'],
installedServiceNames: ['HDFS', 'KERBEROS'],
wizardController: Em.Object.create({
@@ -186,13 +188,17 @@ describe('App.KerberosWizardStep4Controller', function() {
}
})
});
- controller.setStepConfigs(properties);
- this.result = controller.get('stepConfigs')[0].get('configs').concat(controller.get('stepConfigs')[1].get('configs'));
+ sinon.stub(App.router, 'get').withArgs('mainAdminKerberosController.isManualKerberos').returns(false);
+ this.controller.setStepConfigs(properties);
+ this.result = this.controller.get('stepConfigs')[0].get('configs').concat(this.controller.get('stepConfigs')[1].get('configs'));
});
after(function() {
+ this.controller.destroy();
+ this.controller = null;
App.StackService.find.restore();
App.Service.find.restore();
+ App.router.get.restore();
});
var properties = Em.A([
http://git-wip-us.apache.org/repos/asf/ambari/blob/643a7261/ambari-web/test/controllers/main/admin/kerberos_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/controllers/main/admin/kerberos_test.js b/ambari-web/test/controllers/main/admin/kerberos_test.js
index 30bddb7..b2f1825 100644
--- a/ambari-web/test/controllers/main/admin/kerberos_test.js
+++ b/ambari-web/test/controllers/main/admin/kerberos_test.js
@@ -178,4 +178,86 @@ describe('App.MainAdminKerberosController', function() {
expect(App.ajax.send.args[0][0].data.withAutoRestart).to.be.false;
});
});
+
+ describe('#getSecurityTypeSuccess', function() {
+ var tests = [
+ {
+ data: { },
+ e: 'none'
+ },
+ {
+ data: {
+ items: []
+ },
+ e: 'none'
+ },
+ {
+ data: {
+ items: [
+ {
+ configurations: []
+ }
+ ]
+ },
+ e: 'none'
+ },
+ {
+ data: {
+ items: [
+ {
+ configurations: [
+ {
+ type: 'krb-conf',
+ properties: {
+ 'kdc_type': 'mit'
+ }
+ }
+ ]
+ }
+ ]
+ },
+ e: 'none'
+ },
+ {
+ data: {
+ items: [
+ {
+ configurations: [
+ {
+ type: 'kerberos-env',
+ properties: {
+ 'kdc_type': 'mit'
+ }
+ }
+ ]
+ }
+ ]
+ },
+ e: 'mit'
+ },
+ {
+ data: {
+ items: [
+ {
+ configurations: [
+ {
+ type: 'kerberos-env',
+ properties: {
+ 'kdc_type': 'none'
+ }
+ }
+ ]
+ }
+ ]
+ },
+ e: 'none'
+ }
+ ].forEach(function(test) {
+ it('json is ' + JSON.stringify(test.data) + ' kdc type should be ' + test.e, function() {
+ controller.set('isManualKerberos', undefined);
+ controller.getSecurityTypeSuccess(test.data, {}, {});
+ expect(controller.get('kdc_type')).to.eql(test.e);
+ });
+ });
+ });
});
http://git-wip-us.apache.org/repos/asf/ambari/blob/643a7261/ambari-web/test/controllers/wizard/step8_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/controllers/wizard/step8_test.js b/ambari-web/test/controllers/wizard/step8_test.js
index d65c145..209b8b8 100644
--- a/ambari-web/test/controllers/wizard/step8_test.js
+++ b/ambari-web/test/controllers/wizard/step8_test.js
@@ -271,7 +271,7 @@ describe('App.WizardStep8Controller', function () {
installerStep8Controller.set('configs', Em.A([
Em.Object.create({
name: 'fs_glusterfs_default_name',
- filename: 'core-site.xml',
+ filename: 'core-site.xml',
value: 'value',
overrides: Em.A([
Em.Object.create({
@@ -282,7 +282,7 @@ describe('App.WizardStep8Controller', function () {
}),
Em.Object.create({
name: 'fs.defaultFS',
- filename: 'core-site.xml',
+ filename: 'core-site.xml',
value: 'value',
overrides: Em.A([
Em.Object.create({
@@ -293,7 +293,7 @@ describe('App.WizardStep8Controller', function () {
}),
Em.Object.create({
name: 'glusterfs_defaultFS_name',
- filename: 'core-site.xml',
+ filename: 'core-site.xml',
value: 'value',
overrides: Em.A([
Em.Object.create({
@@ -483,7 +483,7 @@ describe('App.WizardStep8Controller', function () {
var selectedServices = services.filterProperty('isSelected');
var slaveComponentHosts = Em.A([
Em.Object.create({
- componentName: 'CLIENT',
+ componentName: 'CLIENT',
hostName: 'h1',
hosts: Em.A([
Em.Object.create({hostName: 'h1', isInstalled: true}),
@@ -538,12 +538,12 @@ describe('App.WizardStep8Controller', function () {
installerStep8Controller.set('content', Em.Object.create({
hosts: Em.Object.create({
h1: Em.Object.create({
- hostName: 'h1',
+ hostName: 'h1',
isInstalled: true,
hostComponents: Em.A([Em.Object.create({HostRoles: Em.Object.create({component_name: "h1"})})])
}),
h2: Em.Object.create({
- hostName: 'h2',
+ hostName: 'h2',
isInstalled: true,
hostComponents: Em.A([Em.Object.create({HostRoles: Em.Object.create({component_name: "h2"})})])
})
@@ -561,13 +561,13 @@ describe('App.WizardStep8Controller', function () {
masterComponentHosts: Em.A([
Em.Object.create({
componentName: 'CLIENT',
- component: 'HBASE_MASTER',
+ component: 'HBASE_MASTER',
hostName: 'h1'
})
]),
slaveComponentHosts: Em.A([
Em.Object.create({
- componentName: 'CLIENT',
+ componentName: 'CLIENT',
hostName: 'h1',
hosts: Em.A([
Em.Object.create({hostName: 'h1', isInstalled: true}),
@@ -575,12 +575,13 @@ describe('App.WizardStep8Controller', function () {
])
}),
Em.Object.create({
- componentName: 'CLIENT1',
+ componentName: 'CLIENT1',
hostName: 'h1',
hosts: Em.A([
Em.Object.create({hostName: 'h1', isInstalled: true}),
Em.Object.create({hostName: 'h2', isInstalled: false})
])
+
})
]),
clients: Em.A([
@@ -597,12 +598,12 @@ describe('App.WizardStep8Controller', function () {
]),
hosts: Em.Object.create({
h1: Em.Object.create({
- hostName: 'h1',
+ hostName: 'h1',
isInstalled: true,
hostComponents: Em.A([Em.Object.create({})])
}),
h2: Em.Object.create({
- hostName: 'h2',
+ hostName: 'h2',
isInstalled: false,
hostComponents: Em.A([Em.Object.create({})])
})
@@ -622,13 +623,13 @@ describe('App.WizardStep8Controller', function () {
masterComponentHosts: Em.A([
Em.Object.create({
componentName: 'CLIENT',
- component: 'HBASE_MASTER',
+ component: 'HBASE_MASTER',
hostName: 'h1'
})
]),
slaveComponentHosts: Em.A([
Em.Object.create({
- componentName: 'CLIENT',
+ componentName: 'CLIENT',
hostName: 'h1',
hosts: Em.A([
Em.Object.create({hostName: 'h1', isInstalled: true}),
@@ -650,12 +651,12 @@ describe('App.WizardStep8Controller', function () {
]),
hosts: Em.Object.create({
h1: Em.Object.create({
- hostName: 'h1',
+ hostName: 'h1',
isInstalled: true,
hostComponents: Em.A([Em.Object.create({})])
}),
h2: Em.Object.create({
- hostName: 'h2',
+ hostName: 'h2',
isInstalled: false,
hostComponents: Em.A([Em.Object.create({})])
})
@@ -699,7 +700,7 @@ describe('App.WizardStep8Controller', function () {
installerStep8Controller.set('content', Em.Object.create({
slaveComponentHosts:Em.A([
Em.Object.create({
- componentName: 'HBASE_MASTER',
+ componentName: 'HBASE_MASTER',
hostName: 'h1',
hosts: [
{hostName: 'h1'},
@@ -718,8 +719,8 @@ describe('App.WizardStep8Controller', function () {
return Em.A([
Em.Object.create({isSelected: false, hostName: 'h1'}),
Em.Object.create({
- isSelected: true,
- hostName: 'h2',
+ isSelected: true,
+ hostName: 'h2',
operatingSystems: Em.A([Em.Object.create({
name:'windows',
isSelected: true,
@@ -1408,19 +1409,31 @@ describe('App.WizardStep8Controller', function () {
Em.A([
{
controllerName: 'addServiceController',
- securityEnabled: true
+ securityEnabled: true,
+ isManualKerberos: true
},
{
controllerName: 'addServiceController',
- securityEnabled: false
+ securityEnabled: true,
+ isManualKerberos: false
+ },
+ {
+ controllerName: 'addServiceController',
+ securityEnabled: false,
+ isManualKerberos: false
}
]).forEach(function (test) {
- it(test.controllerName + ' ' + test.securityEnabled.toString(), function () {
- installerStep8Controller.reopen({isSubmitDisabled: false, securityEnabled: test.securityEnabled, content: {controllerName: test.controllerName}});
+ it(test.controllerName + ' Kerberos enabled - ' + test.securityEnabled.toString() + ' manual kerberos - ' + test.isManualKerberos, function () {
+ installerStep8Controller.reopen({isSubmitDisabled: false, securityEnabled: test.securityEnabled, isManualKerberos: test.isManualKerberos, content: {controllerName: test.controllerName}});
installerStep8Controller.submit();
if (test.securityEnabled) {
- expect(App.get('router.mainAdminKerberosController').getKDCSessionState.called).to.equal(true);
- expect(installerStep8Controller.submitProceed.called).to.equal(false);
+ if (test.isManualKerberos) {
+ expect(App.get('router.mainAdminKerberosController').getKDCSessionState.called).to.equal(false);
+ expect(installerStep8Controller.submitProceed.called).to.equal(true);
+ } else {
+ expect(App.get('router.mainAdminKerberosController').getKDCSessionState.called).to.equal(true);
+ expect(installerStep8Controller.submitProceed.called).to.equal(false);
+ }
} else {
expect(App.get('router.mainAdminKerberosController').getKDCSessionState.called).to.equal(false);
expect(installerStep8Controller.submitProceed.called).to.equal(true);