Author: yusaku
Date: Tue Jun 11 02:56:44 2013
New Revision: 1491678
URL: http://svn.apache.org/r1491678
Log:
AMBARI-2351. Security Wizard: Misc fixes related to Navigation and user
restriction. (Jaimin Jetly via yusaku)
Modified:
incubator/ambari/trunk/ambari-web/app/controllers/main/admin/security/add/step3.js
incubator/ambari/trunk/ambari-web/app/controllers/main/admin/security/disable.js
incubator/ambari/trunk/ambari-web/app/models/cluster_states.js
incubator/ambari/trunk/ambari-web/app/router.js
incubator/ambari/trunk/ambari-web/app/routes/add_security.js
incubator/ambari/trunk/ambari-web/app/routes/main.js
Modified:
incubator/ambari/trunk/ambari-web/app/controllers/main/admin/security/add/step3.js
URL:
http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/controllers/main/admin/security/add/step3.js?rev=1491678&r1=1491677&r2=1491678&view=diff
==============================================================================
---
incubator/ambari/trunk/ambari-web/app/controllers/main/admin/security/add/step3.js
(original)
+++
incubator/ambari/trunk/ambari-web/app/controllers/main/admin/security/add/step3.js
Tue Jun 11 02:56:44 2013
@@ -29,6 +29,7 @@ App.MainAdminSecurityAddStep3Controller
globalProperties: [],
isSubmitDisabled: true,
+ isBackBtnDisabled: true,
isOozieSelected: function () {
return this.get('content.services').someProperty('serviceName', 'OOZIE');
@@ -47,23 +48,15 @@ App.MainAdminSecurityAddStep3Controller
return this.get('stages').someProperty('stage', 'stage3') &&
this.get('stages').findProperty('stage', 'stage3').get('isSuccess');
}.property('[email protected]'),
- isBackBtnDisabled: function () {
- return ((this.get('stages').someProperty('stage', 'stage3') &&
- this.get('stages').findProperty('stage', 'stage3').get('isSuccess')) ||
- (this.get('stages').someProperty('stage', 'stage2') &&
- (!this.get('stages').findProperty('stage', 'stage2').get('isError')) ||
- (this.get('stages').someProperty('stage', 'stage3') &&
- (!this.get('stages').findProperty('stage',
'stage3').get('isError')))));
- }.property('[email protected]'),
-
clearStep: function () {
this.get('stages').clear();
this.set('isSubmitDisabled', true);
+ this.set('isBackBtnDisabled', true);
this.get('serviceConfigTags').clear();
},
loadStep: function () {
- this.set('secureMapping',require('data/secure_mapping').slice(0));
+ this.set('secureMapping', require('data/secure_mapping').slice(0));
var stages = App.db.getSecurityDeployStages();
this.prepareSecureConfigs();
this.clearStep();
@@ -92,6 +85,10 @@ App.MainAdminSecurityAddStep3Controller
enableSubmit: function () {
if (this.get('stages').someProperty('isError', true) ||
this.get('stages').everyProperty('isSuccess', true)) {
this.set('isSubmitDisabled', false);
+ if (this.get('stages').someProperty('isError', true)) {
+ this.set('isBackBtnDisabled', false);
+ App.router.get('addSecurityController').setStepsEnable();
+ }
}
}.observes('[email protected]'),
@@ -317,7 +314,7 @@ App.MainAdminSecurityAddStep3Controller
var self = this;
//prepare tags to fetch all configuration for a service
this.get('content.services').forEach(function (_secureService) {
- self.setServiceTagNames(_secureService, data.Clusters.desired_configs);
+ self.setServiceTagNames(_secureService, data.Clusters.desired_configs);
});
this.getAllConfigurations();
},
@@ -374,7 +371,6 @@ App.MainAdminSecurityAddStep3Controller
applyConfigurationToClusterSuccessCallback: function (data) {
this.set('noOfWaitingAjaxCalls', this.get('noOfWaitingAjaxCalls') - 1);
if (this.get('noOfWaitingAjaxCalls') == 0) {
-
App.router.get('mainAdminSecurityController').setAddSecurityWizardStatus(null);
var currentStage = this.get('stages').findProperty('stage', 'stage3');
currentStage.set('isSuccess', true);
}
@@ -410,8 +406,12 @@ App.MainAdminSecurityAddStep3Controller
getAllConfigurationsSuccessCallback: function (data) {
console.log("TRACE: In success function for the GET
getServiceConfigsFromServer call");
this.get('serviceConfigTags').forEach(function (_tag) {
+ if (!data.items.someProperty('type', _tag.siteName)) {
+ console.log("Error: Metadata for secure services (secure_configs.js)
is having config tags that are not being retrieved from server");
+ this.get('stages').findProperty('stage', 'stage3').set('isError',
true);
+ }
_tag.configs = data.items.findProperty('type', _tag.siteName).properties;
- });
+ }, this);
this.addSecureConfigs();
this.applyConfigurationsToCluster();
},
@@ -455,6 +455,11 @@ App.MainAdminSecurityAddStep3Controller
stages.pushObject(stage);
}, this);
App.db.setSecurityDeployStages(stages);
-
}.observes('[email protected]','[email protected]','[email protected]')
-
+ App.clusterStatus.setClusterStatus({
+ clusterName: this.get('clusterName'),
+ clusterState: 'ADD_SECURITY_STEP_3',
+ wizardControllerName: App.router.get('addSecurityController.name'),
+ localdb: App.db.data
+ });
+ }.observes('[email protected]', '[email protected]',
'[email protected]')
});
Modified:
incubator/ambari/trunk/ambari-web/app/controllers/main/admin/security/disable.js
URL:
http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/controllers/main/admin/security/disable.js?rev=1491678&r1=1491677&r2=1491678&view=diff
==============================================================================
---
incubator/ambari/trunk/ambari-web/app/controllers/main/admin/security/disable.js
(original)
+++
incubator/ambari/trunk/ambari-web/app/controllers/main/admin/security/disable.js
Tue Jun 11 02:56:44 2013
@@ -232,8 +232,12 @@ App.MainAdminSecurityDisableController =
getAllConfigurationsSuccessCallback: function (data) {
console.log("TRACE: In success function for the GET
getServiceConfigsFromServer call");
this.get('serviceConfigTags').forEach(function (_tag) {
+ if (!data.items.someProperty('type', _tag.siteName)) {
+ console.log("Error: Metadata for secure services (secure_configs.js)
is having config tags that are not being retrieved from server");
+ this.get('stages').findProperty('stage', 'stage3').set('isError',
true);
+ }
_tag.configs = data.items.findProperty('type', _tag.siteName).properties;
- });
+ }, this);
this.removeSecureConfigs();
this.applyConfigurationsToCluster();
},
@@ -358,6 +362,12 @@ App.MainAdminSecurityDisableController =
stages.pushObject(stage);
}, this);
App.db.setSecurityDeployStages(stages);
+ App.clusterStatus.setClusterStatus({
+ clusterName: this.get('clusterName'),
+ clusterState: 'DISABLE_SECURITY',
+ wizardControllerName: this.get('name'),
+ localdb: App.db.data
+ });
}.observes('[email protected]', '[email protected]',
'[email protected]')
});
Modified: incubator/ambari/trunk/ambari-web/app/models/cluster_states.js
URL:
http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/models/cluster_states.js?rev=1491678&r1=1491677&r2=1491678&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/models/cluster_states.js (original)
+++ incubator/ambari/trunk/ambari-web/app/models/cluster_states.js Tue Jun 11
02:56:44 2013
@@ -22,7 +22,8 @@ App.clusterStatus = Ember.Object.create(
validStates: ['CLUSTER_NOT_CREATED_1', 'CLUSTER_DEPLOY_PREP_2',
'CLUSTER_INSTALLING_3', 'SERVICE_STARTING_3', 'CLUSTER_INSTALLED_4',
'CLUSTER_STARTED_5',
'ADD_HOSTS_DEPLOY_PREP_2', 'ADD_HOSTS_INSTALLING_3',
'ADD_HOSTS_INSTALLED_4', 'ADD_HOSTS_COMPLETED_5',
'ADD_SERVICES_DEPLOY_PREP_2', 'ADD_SERVICES_INSTALLING_3',
'ADD_SERVICES_INSTALLED_4', 'ADD_SERVICES_COMPLETED_5',
- 'STOPPING_SERVICES', 'STACK_UPGRADING', 'STACK_UPGRADE_FAILED',
'STACK_UPGRADED', 'STACK_UPGRADE_COMPLETED'],
+ 'STOPPING_SERVICES', 'STACK_UPGRADING', 'STACK_UPGRADE_FAILED',
'STACK_UPGRADED', 'STACK_UPGRADE_COMPLETED','ADD_SECURITY_STEP_1',
+
'ADD_SECURITY_STEP_2','ADD_SECURITY_STEP_3','DISABLE_SECURITY','SECURITY_COMPLETED'],
clusterState: 'CLUSTER_NOT_CREATED_1',
wizardControllerName: null,
localdb: null,
Modified: incubator/ambari/trunk/ambari-web/app/router.js
URL:
http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/router.js?rev=1491678&r1=1491677&r2=1491678&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/router.js (original)
+++ incubator/ambari/trunk/ambari-web/app/router.js Tue Jun 11 02:56:44 2013
@@ -268,11 +268,19 @@ App.Router = Em.Router.extend({
}
App.clusterStatus.updateFromServer();
var clusterStatusOnServer = App.clusterStatus.get('value');
- if (!localStorage.getObject('ambari').app.user.admin ||
clusterStatusOnServer && (clusterStatusOnServer.clusterState ===
'CLUSTER_STARTED_5' || clusterStatusOnServer.clusterState ===
'ADD_HOSTS_COMPLETED_5' || clusterStatusOnServer.clusterState ===
'STACK_UPGRADE_COMPLETED' || clusterStatusOnServer.clusterState ===
'REASSIGN_MASTER_COMPLETED')) {
+ if (!localStorage.getObject('ambari').app.user.admin ||
clusterStatusOnServer && (clusterStatusOnServer.clusterState ===
'CLUSTER_STARTED_5' ||
+ clusterStatusOnServer.clusterState === 'ADD_HOSTS_COMPLETED_5' ||
clusterStatusOnServer.clusterState === 'STACK_UPGRADE_COMPLETED' ||
+ clusterStatusOnServer.clusterState === 'REASSIGN_MASTER_COMPLETED')
||clusterStatusOnServer.clusterState === 'SECURITY_COMPLETED' ) {
return 'main.index';
} else if (clusterStatusOnServer &&
clusterStatusOnServer.wizardControllerName ===
App.router.get('addHostController.name')) {
// if wizardControllerName == "addHostController", then it means someone
closed the browser or the browser was crashed when we were last in Add Hosts
wizard
return 'main.hostAdd';
+ } else if (clusterStatusOnServer &&
clusterStatusOnServer.wizardControllerName ===
App.router.get('addSecurityController.name')) {
+ // if wizardControllerName == "addSecurityController", then it means
someone closed the browser or the browser was crashed when we were last in Add
Security wizard
+ return 'main.admin.adminSecurity.adminAddSecurity';
+ } else if (clusterStatusOnServer &&
clusterStatusOnServer.wizardControllerName ===
App.router.get('mainAdminSecurityDisableController.name')) {
+ // if wizardControllerName == "disableSecurityController", then it means
someone closed the browser or the browser was crashed when we were last in
disable Security pop-up.
+ return 'main.admin.adminSecurity.disableSecurity';
} else if (clusterStatusOnServer &&
clusterStatusOnServer.wizardControllerName ===
App.router.get('addServiceController.name')) {
// if wizardControllerName == "addHostController", then it means someone
closed the browser or the browser was crashed when we were last in Add Hosts
wizard
return 'main.serviceAdd';
Modified: incubator/ambari/trunk/ambari-web/app/routes/add_security.js
URL:
http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/routes/add_security.js?rev=1491678&r1=1491677&r2=1491678&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/routes/add_security.js (original)
+++ incubator/ambari/trunk/ambari-web/app/routes/add_security.js Tue Jun 11
02:56:44 2013
@@ -23,6 +23,26 @@ module.exports = Em.Route.extend({
console.log('in /security/add:enter');
Ember.run.next(function () {
+ App.clusterStatus.updateFromServer();
+ var currentClusterStatus = App.clusterStatus.get('value');
+ if (currentClusterStatus) {
+ switch (currentClusterStatus.clusterState) {
+ case 'ADD_SECURITY_STEP_1' :
+ router.set('addSecurityController.currentStep', 1);
+ App.db.data = currentClusterStatus.localdb;
+ break;
+ case 'ADD_SECURITY_STEP_2' :
+ router.set('addSecurityController.currentStep', 2);
+ App.db.data = currentClusterStatus.localdb;
+ break;
+ case 'ADD_SECURITY_STEP_3' :
+ router.set('addSecurityController.currentStep', 3);
+ App.db.data = currentClusterStatus.localdb;
+ break;
+ default:
+ break;
+ }
+ }
if
(router.get('mainAdminSecurityController').getAddSecurityWizardStatus() ===
'RUNNING') {
var mainAdminSecurityController =
router.get('mainAdminSecurityController');
var addSecurityController = router.get('addSecurityController');
@@ -38,25 +58,36 @@ module.exports = Em.Route.extend({
secondary: null,
showFooter: false,
- onPrimary: function () {
+ onClose: function () {
+ if (router.get('addSecurityController.currentStep') == 3) {
+ var applyingConfigStage =
router.get('mainAdminSecurityAddStep3Controller.stages').findProperty('stage',
'stage3');
+ if (applyingConfigStage) {
+ var applyingConfig = (applyingConfigStage.get('isStarted')) &&
(!applyingConfigStage.get('isCompleted'));
+ if (applyingConfig) {
+ return;
+ } else {
+
router.get('mainAdminSecurityAddStep3Controller').clearStep();
+ }
+ }
+ }
this.hide();
App.router.get('updateController').set('isWorking', true);
+ mainAdminSecurityController.setAddSecurityWizardStatus(null);
+ App.db.setSecurityDeployStages(undefined);
+ router.get('addSecurityController').setCurrentStep(1);
+ App.clusterStatus.setClusterStatus({
+ clusterName: router.get('content.cluster.name'),
+ clusterState: 'SECURITY_COMPLETED',
+ wizardControllerName: router.get('addSecurityController.name'),
+ localdb: App.db.data
+ });
router.transitionTo('adminSecurity.index');
},
- onClose: function () {
- if (router.get('addSecurityController.currentStep') != 3 ||
(router.get('addSecurityController.currentStep') == 3 &&
router.get('mainAdminSecurityAddStep3Controller.isSubmitDisabled') === false)) {
- this.hide();
- App.router.get('updateController').set('isWorking', true);
- mainAdminSecurityController.setAddSecurityWizardStatus(null);
- App.db.setSecurityDeployStages(undefined);
- router.get('addSecurityController').setCurrentStep(1);
- router.transitionTo('adminSecurity.index');
- }
- },
didInsertElement: function () {
this.fitHeight();
}
});
+
App.router.transitionTo('step' + currentStep);
} else {
router.transitionTo('adminSecurity.index');
@@ -66,6 +97,15 @@ module.exports = Em.Route.extend({
step1: Em.Route.extend({
route: '/start',
+ enter: function (router) {
+ App.clusterStatus.setClusterStatus({
+ clusterName: this.get('clusterName'),
+ clusterState: 'ADD_SECURITY_STEP_1',
+ wizardControllerName: router.get('addSecurityController.name'),
+ localdb: App.db.data
+ });
+ },
+
connectOutlets: function (router) {
console.log('in addSecurity.step1:connectOutlets');
var controller = router.get('addSecurityController');
@@ -85,6 +125,15 @@ module.exports = Em.Route.extend({
step2: Em.Route.extend({
route: '/configure',
+
+ enter: function (router) {
+ App.clusterStatus.setClusterStatus({
+ clusterName: this.get('clusterName'),
+ clusterState: 'ADD_SECURITY_STEP_2',
+ wizardControllerName: router.get('addSecurityController.name'),
+ localdb: App.db.data
+ });
+ },
connectOutlets: function (router) {
console.log('in addSecurity.step2:connectOutlets');
var controller = router.get('addSecurityController');
@@ -106,6 +155,16 @@ module.exports = Em.Route.extend({
step3: Em.Route.extend({
route: '/apply',
+
+ enter: function (router) {
+ App.clusterStatus.setClusterStatus({
+ clusterName: this.get('clusterName'),
+ clusterState: 'ADD_SECURITY_STEP_3',
+ wizardControllerName: router.get('addSecurityController.name'),
+ localdb: App.db.data
+ });
+ },
+
connectOutlets: function (router) {
console.log('in addSecurity.step3:connectOutlets');
var controller = router.get('addSecurityController');
@@ -121,14 +180,13 @@ module.exports = Em.Route.extend({
},
back: function (router, context) {
var controller = router.get('mainAdminSecurityAddStep3Controller');
- if (!controller.get('isBackBtnDisabled')) {
+ if (!controller.get('isSubmitDisabled')) {
router.transitionTo('step2');
}
},
done: function (router, context) {
-
router.get('mainAdminSecurityController').setAddSecurityWizardStatus(null);
var controller = router.get('mainAdminSecurityAddStep3Controller');
- if (!controller.get('isSubmitDisabled')) {
+ if (!controller.get('isBackBtnDisabled')) {
$(context.currentTarget).parents("#modal").find(".close").trigger('click');
}
}
Modified: incubator/ambari/trunk/ambari-web/app/routes/main.js
URL:
http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/routes/main.js?rev=1491678&r1=1491677&r2=1491678&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/routes/main.js (original)
+++ incubator/ambari/trunk/ambari-web/app/routes/main.js Tue Jun 11 02:56:44
2013
@@ -686,36 +686,51 @@ module.exports = Em.Route.extend({
route: '/disableSecurity',
enter: function (router) {
if
(router.get('mainAdminSecurityController').getDisableSecurityStatus() ===
'RUNNING') {
- Ember.run.next(function () {
- App.router.get('updateController').set('isWorking', false);
- App.ModalPopup.show({
- classNames: ['full-width-modal'],
- header: Em.I18n.t('admin.removeSecurity.header'),
- bodyClass: App.MainAdminSecurityDisableView.extend({
- controllerBinding:
'App.router.mainAdminSecurityDisableController'
- }),
- primary: Em.I18n.t('form.cancel'),
- secondary: null,
- showFooter: false,
-
- onPrimary: function () {
- this.hide();
- App.router.get('updateController').set('isWorking', true);
- },
- onClose: function () {
- App.db.setSecurityDeployStages(undefined);
-
router.get('mainAdminSecurityController').setDisableSecurityStatus(undefined);
- if
(router.get('mainAdminSecurityDisableController.isSubmitDisabled') === false) {
+ App.clusterStatus.setClusterStatus({
+ clusterName: this.get('clusterName'),
+ clusterState: 'DISABLE_SECURITY',
+ wizardControllerName:
router.get('mainAdminSecurityDisableController.name'),
+ localdb: App.db.data
+ });
+ Ember.run.next(function () {
+ App.router.get('updateController').set('isWorking', false);
+ App.ModalPopup.show({
+ classNames: ['full-width-modal'],
+ header: Em.I18n.t('admin.removeSecurity.header'),
+ bodyClass: App.MainAdminSecurityDisableView.extend({
+ controllerBinding:
'App.router.mainAdminSecurityDisableController'
+ }),
+ primary: Em.I18n.t('form.cancel'),
+ secondary: null,
+ showFooter: false,
+
+ onClose: function () {
+ var applyingConfigStage =
router.get('mainAdminSecurityDisableController.stages').findProperty('stage',
'stage3');
+ if (applyingConfigStage) {
+ var applyingConfig =
(applyingConfigStage.get('isStarted')) &&
(!applyingConfigStage.get('isCompleted'));
+ if (applyingConfig) {
+ return;
+ } else {
+
router.get('mainAdminSecurityDisableController').clearStep();
+ }
+ }
this.hide();
+ App.db.setSecurityDeployStages(undefined);
+
router.get('mainAdminSecurityController').setDisableSecurityStatus(undefined);
App.router.get('updateController').set('isWorking', true);
+ App.clusterStatus.setClusterStatus({
+ clusterName: router.get('content.cluster.name'),
+ clusterState: 'SECURITY_COMPLETED',
+ wizardControllerName:
router.get('mainAdminSecurityDisableController.name'),
+ localdb: App.db.data
+ });
router.transitionTo('adminSecurity.index');
+ },
+ didInsertElement: function () {
+ this.fitHeight();
}
- },
- didInsertElement: function () {
- this.fitHeight();
- }
+ });
});
- });
} else {
router.transitionTo('adminSecurity.index');
}
@@ -726,7 +741,10 @@ module.exports = Em.Route.extend({
},
done: function (router, context) {
-
$(context.currentTarget).parents("#modal").find(".close").trigger('click');
+ var controller = router.get('mainAdminSecurityDisableController');
+ if (!controller.get('isSubmitDisabled')) {
+
$(context.currentTarget).parents("#modal").find(".close").trigger('click');
+ }
}
}),