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/08/11 01:28:24 UTC
ambari git commit: AMBARI-12707. Reintroduce "Regenerate Keytabs"
button on Admin->Kerberos page. (jaimin)
Repository: ambari
Updated Branches:
refs/heads/branch-2.1 42a44e4af -> b2d44eb1e
AMBARI-12707. Reintroduce "Regenerate Keytabs" button on Admin->Kerberos page. (jaimin)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/b2d44eb1
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/b2d44eb1
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/b2d44eb1
Branch: refs/heads/branch-2.1
Commit: b2d44eb1e037518fa7b4b4389da60c3298f543fc
Parents: 42a44e4
Author: Jaimin Jetly <ja...@hortonworks.com>
Authored: Mon Aug 10 16:27:35 2015 -0700
Committer: Jaimin Jetly <ja...@hortonworks.com>
Committed: Mon Aug 10 16:27:45 2015 -0700
----------------------------------------------------------------------
.../app/controllers/main/admin/kerberos.js | 110 ++++++++-----------
ambari-web/app/styles/application.less | 4 +
.../app/templates/main/admin/kerberos.hbs | 42 ++++---
3 files changed, 71 insertions(+), 85 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/b2d44eb1/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 969c09a..cc3ae4b 100644
--- a/ambari-web/app/controllers/main/admin/kerberos.js
+++ b/ambari-web/app/controllers/main/admin/kerberos.js
@@ -441,37 +441,6 @@ App.MainAdminKerberosController = App.KerberosWizardStep4Controller.extend({
},
/**
- * @Override <code>App.AddSecurityConfigs</code>
- * Wrap kerberos properties to App.ServiceConfigProperty model class instances.
- *
- * @param {object} kerberosProperties
- * @param {string} serviceName
- * @param {string} filename
- * @returns {App.ServiceConfigProperty[]}
- */
- expandKerberosStackDescriptorProps: function (kerberosProperties, serviceName, filename) {
- var configs = [];
-
- for (var propertyName in kerberosProperties) {
- var propertyObject = {
- name: propertyName,
- value: kerberosProperties[propertyName],
- defaultValue: kerberosProperties[propertyName],
- savedValue: kerberosProperties[propertyName],
- serviceName: serviceName,
- filename: filename,
- displayName: serviceName == "Cluster" ? App.format.normalizeName(propertyName) : propertyName,
- isOverridable: false,
- isEditable: true,
- isSecureConfig: true
- };
- configs.push(App.ServiceConfigProperty.create(propertyObject));
- }
-
- return configs;
- },
-
- /**
* Determines if some config value is changed
* @type {boolean}
*/
@@ -486,17 +455,41 @@ App.MainAdminKerberosController = App.KerberosWizardStep4Controller.extend({
return this.get('isSubmitDisabled') || !this.get('isPropertiesChanged');
}.property('isSubmitDisabled', 'isPropertiesChanged'),
+ /**
+ * Determines if the `Disbale Kerberos` and `Regenerate Keytabs` button are disabled
+ */
+ isKerberosButtonsDisabled: function () {
+ return !this.get('isSaveButtonDisabled');
+ }.property('isSaveButtonDisabled'),
+
makeConfigsEditable: function () {
this.set('isEditMode', true);
- this.get('stepConfigs').forEach(function(_stepConfig){
+ this.get('stepConfigs').forEach(function (_stepConfig) {
_stepConfig.get('configs').setEach('isEditable', true);
+ _stepConfig.get('configs').forEach(function (_config) {
+ _config.set('isEditable', _config.get('name') != 'realm');
+ });
}, this);
},
- makeConfigsNonEditable: function () {
+ _updateConfigs: function () {
+ this.makeConfigsUneditable(true);
+ },
+
+ makeConfigsUneditable: function (configsUpdated) {
this.set('isEditMode', false);
- this.loadStep();
+ this.get('stepConfigs').forEach(function (_stepConfig) {
+ _stepConfig.get('configs').forEach(function (_config) {
+ if (configsUpdated === true) { // configsUpdated should be checked for boolean true
+ _config.set('savedValue', _config.get('value'));
+ _config.set('defaultValue', _config.get('value'));
+ } else {
+ _config.set('value', _config.get('savedValue'));
+ }
+ _config.set('isEditable', false);
+ });
+ }, this);
},
/**
@@ -505,35 +498,26 @@ App.MainAdminKerberosController = App.KerberosWizardStep4Controller.extend({
submit: function (context) {
var callback;
var self = this;
- if (this.get('isPropertiesChanged')) {
- var kerberosDescriptor = this.get('kerberosDescriptor');
- var configs = [];
- this.get('stepConfigs').forEach(function (_stepConfig) {
- configs = configs.concat(_stepConfig.get('configs'));
- });
- this.updateKerberosDescriptor(kerberosDescriptor, configs);
- callback = function () {
- return App.ajax.send({
- name: 'admin.kerberos.cluster.artifact.update',
- sender: self,
+ var kerberosDescriptor = this.get('kerberosDescriptor');
+ var configs = [];
+ this.get('stepConfigs').forEach(function (_stepConfig) {
+ configs = configs.concat(_stepConfig.get('configs'));
+ });
+ callback = function () {
+ return App.ajax.send({
+ name: 'admin.kerberos.cluster.artifact.update',
+ sender: self,
+ data: {
+ artifactName: 'kerberos_descriptor',
data: {
- artifactName: 'kerberos_descriptor',
- data: {
- artifact_data: kerberosDescriptor
- }
- },
- success: 'makeConfigsNonEditable'
- });
- };
- } else {
- callback = function() {
- var dfd = $.Deferred();
- self.makeConfigsNonEditable();
- dfd.resolve();
- return dfd.promise();
- }
- }
- this.regenerateKeytabs(callback);
- },
+ artifact_data: kerberosDescriptor
+ }
+ },
+ success: '_updateConfigs'
+ });
+ };
+ this.updateKerberosDescriptor(kerberosDescriptor, configs);
+ this.restartServicesAfterRegenerate(false, callback);
+ }
});
http://git-wip-us.apache.org/repos/asf/ambari/blob/b2d44eb1/ambari-web/app/styles/application.less
----------------------------------------------------------------------
diff --git a/ambari-web/app/styles/application.less b/ambari-web/app/styles/application.less
index 37f8c21..d161d9f 100644
--- a/ambari-web/app/styles/application.less
+++ b/ambari-web/app/styles/application.less
@@ -2020,6 +2020,10 @@ a:focus {
}
}
+.edit-link {
+ cursor: pointer;
+}
+
#security-stages {
tr {
height: 50px;
http://git-wip-us.apache.org/repos/asf/ambari/blob/b2d44eb1/ambari-web/app/templates/main/admin/kerberos.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/kerberos.hbs b/ambari-web/app/templates/main/admin/kerberos.hbs
index fcbad72..c1e1237 100644
--- a/ambari-web/app/templates/main/admin/kerberos.hbs
+++ b/ambari-web/app/templates/main/admin/kerberos.hbs
@@ -18,34 +18,32 @@
{{#if dataIsLoaded}}
{{#if securityEnabled}}
<div>
- <p class="text-success">{{t admin.security.enabled}}
- {{#isAccessible ADMIN}}
- <a class="btn btn-padding btn-warning admin-disable-security-btn" {{bindAttr disabled="isSubmitDisabled"}} {{action notifySecurityOffPopup target="controller"}}>{{t admin.kerberos.button.disable}} </a>
- <br/>
- {{#unless isManualKerberos}}
- {{#if isEditMode}}
- <a class="pull-right" href="#" {{action makeConfigsNonEditable target="controller"}}>
- <span class="icon-stack">
- <i class="icon-pencil"></i>
- <i class="icon-ban-circle icon-rotate-90 text-error"></i>
- </span>
- </a>
- {{else}}
- <a class="pull-right" href="#" {{action makeConfigsEditable target="controller"}}>
- <i class="icon-edit"></i>
- </a>
- {{/if}}
- {{/unless}}
- {{/isAccessible}}
+ <p class="text-success">{{t admin.security.enabled}}
+ {{#isAccessible ADMIN}}
+ <button class="btn btn-padding btn-warning admin-disable-security-btn" {{bindAttr disabled="isKerberosButtonsDisabled"}} {{action notifySecurityOffPopup target="controller"}}>{{t admin.kerberos.button.disable}} </button>
+ {{#unless isManualKerberos}}
+ <button class="btn btn-success" {{bindAttr disabled="isKerberosButtonsDisabled"}} {{action regenerateKeytabs target="controller"}}>
+ <i class="icon-repeat"></i> {{t admin.kerberos.button.regenerateKeytabs}}</button>
+ <br/>
+ {{#unless isEditMode}}
+ <a {{action makeConfigsEditable target="controller"}}
+ class="pull-right edit-link">
+ {{t common.edit}}
+ </a>
+ {{/unless}}
+ {{/unless}}
+ {{/isAccessible}}
</p>
</div>
<div id="serviceConfig">
{{view App.ServicesConfigView}}
</div>
{{#if isEditMode}}
- <div class="btn-area">
- <button id="submit-kerberos-reconfigure-identities"
- class="btn btn-success pull-right" {{bindAttr disabled="isSubmitDisabled"}}
+ <div class="btn-area pull-right">
+ <button id="cancel-kerberos-reconfigure-identities" {{action makeConfigsUneditable target="controller"}}
+ class="btn">{{t common.cancel}}</button>
+ <button id="save-kerberos-reconfigure-identities"
+ class="btn btn-success" {{bindAttr disabled="isSaveButtonDisabled"}}
{{action submit target="controller"}}>{{t common.save}}</button>
</div>
{{/if}}