Repository: ambari
Updated Branches:
  refs/heads/trunk 4c247ba19 -> c415528d4


AMBARI-11025. manual kerb is installing kerb packages + overwriting krb5.conf. 
(rlevas via yusaku)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/c415528d
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/c415528d
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/c415528d

Branch: refs/heads/trunk
Commit: c415528d495bc89b3e0399289f02fdf13b74475a
Parents: 4c247ba
Author: Yusaku Sako <[email protected]>
Authored: Sun May 10 09:25:45 2015 -0700
Committer: Yusaku Sako <[email protected]>
Committed: Sun May 10 09:25:45 2015 -0700

----------------------------------------------------------------------
 .../main/admin/kerberos/step2_controller.js     | 33 +++++++++++++++++---
 .../main/admin/kerberos/wizard_controller.js    | 20 ++----------
 ambari-web/app/routes/add_kerberos_routes.js    |  1 +
 3 files changed, 33 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/c415528d/ambari-web/app/controllers/main/admin/kerberos/step2_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/admin/kerberos/step2_controller.js 
b/ambari-web/app/controllers/main/admin/kerberos/step2_controller.js
index 100c797..c5d288c 100644
--- a/ambari-web/app/controllers/main/admin/kerberos/step2_controller.js
+++ b/ambari-web/app/controllers/main/admin/kerberos/step2_controller.js
@@ -21,8 +21,15 @@ require('controllers/wizard/step7_controller');
 
 App.KerberosWizardStep2Controller = App.WizardStep7Controller.extend({
   name: "kerberosWizardStep2Controller",
+
   isKerberosWizard: true,
 
+  kdcTypesValues: {
+    'mit-kdc'         : Em.I18n.t('admin.kerberos.wizard.step1.option.kdc'),
+    'active-directory': Em.I18n.t('admin.kerberos.wizard.step1.option.ad'),
+    'none'            : Em.I18n.t('admin.kerberos.wizard.step1.option.manual')
+  },
+
   selectedServiceNames: ['KERBEROS'],
 
   allSelectedServiceNames: ['KERBEROS'],
@@ -248,14 +255,32 @@ App.KerberosWizardStep2Controller = 
App.WizardStep7Controller.extend({
       }
     }, this);
     this.tweakKdcTypeValue(properties);
+    this.tweakManualKdcProperties(properties);
     return {"type": site, "tag": tag, "properties": properties};
   },
 
   tweakKdcTypeValue: function (properties) {
-    if (properties['kdc_type'] === 
Em.I18n.t('admin.kerberos.wizard.step1.option.kdc')) {
-      properties['kdc_type'] = "mit-kdc";
-    } else if (properties['kdc_type'] === 
Em.I18n.t('admin.kerberos.wizard.step1.option.ad')) {
-      properties['kdc_type'] = "active-directory";
+    for (var prop in this.get('kdcTypesValues')) {
+      if (this.get('kdcTypesValues').hasOwnProperty(prop)) {
+        if (this.get('kdcTypesValues')[prop] === properties['kdc_type']) {
+          properties['kdc_type'] = prop;
+        }
+      }
+    }
+  },
+
+  tweakManualKdcProperties: function (properties) {
+    var kerberosWizardController = 
this.controllers.get('kerberosWizardController');
+    if (properties['kdc_type'] === 'none' || 
kerberosWizardController.get('skipClientInstall')) {
+      if (properties.hasOwnProperty('manage_identities')) {
+        properties['manage_identities'] = 'false';
+      }
+      if (properties.hasOwnProperty('install_packages')) {
+        properties['install_packages'] = 'false';
+      }
+      if (properties.hasOwnProperty('manage_krb5_conf')) {
+        properties['manage_krb5_conf'] = 'false';
+      }
     }
   },
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/c415528d/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js
----------------------------------------------------------------------
diff --git 
a/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js 
b/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js
index d3fb9c9..d8c94d7 100644
--- a/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js
+++ b/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js
@@ -21,7 +21,7 @@ var App = require('app');
 
 App.KerberosWizardController = App.WizardController.extend({
 
-  exceptionsOnSkipClient: ['realm', 'kdc_type', 'kdc_host', 
'executable_search_paths'],
+  exceptionsOnSkipClient: ['realm', 'executable_search_paths'],
 
   name: 'kerberosWizardController',
 
@@ -140,14 +140,8 @@ App.KerberosWizardController = 
App.WizardController.extend({
   },
 
   saveKerberosOption: function (stepController) {
-    // the server does not support this kdc_type and will fail on install
-    //TODO: make sure the server supports all kdc_types
-    var selectedItem = stepController.get('selectedItem');
-    if (selectedItem === 
Em.I18n.t('admin.kerberos.wizard.step1.option.manual')) {
-      selectedItem = Em.I18n.t('admin.kerberos.wizard.step1.option.kdc');
-    }
-    this.setDBProperty('kerberosOption', selectedItem);
-    this.set('content.kerberosOption', selectedItem);
+    this.setDBProperty('kerberosOption', stepController.get('selectedItem'));
+    this.set('content.kerberosOption', stepController.get('selectedItem'));
   },
 
   /**
@@ -179,8 +173,6 @@ App.KerberosWizardController = App.WizardController.extend({
     this.set('kerberosDescriptorConfigs', kerberosDescriptorConfigs);
   },
 
-
-
   /**
    * Overide the visibility of a list of form items with a new value
    *
@@ -194,12 +186,6 @@ App.KerberosWizardController = 
App.WizardController.extend({
     for (var i=0; i < itemsArray.length; i += 1) {
       if 
(self.get('exceptionsOnSkipClient').indexOf(itemsArray[i].get('name')) < 0) {
         itemsArray[i].set('isVisible', newValue);
-
-        // if it was required, but we're making it not visible, also
-        // make the input value not required any more
-        if (itemsArray[i].get('isRequiredByAgent') && !newValue) {
-          itemsArray[i].set('isRequiredByAgent', newValue)
-        }
       }
     }
   },

http://git-wip-us.apache.org/repos/asf/ambari/blob/c415528d/ambari-web/app/routes/add_kerberos_routes.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/routes/add_kerberos_routes.js 
b/ambari-web/app/routes/add_kerberos_routes.js
index 0f9f3e3..d3e9c6e 100644
--- a/ambari-web/app/routes/add_kerberos_routes.js
+++ b/ambari-web/app/routes/add_kerberos_routes.js
@@ -177,6 +177,7 @@ module.exports = App.WizardRoute.extend({
         
kerberosWizardStep2Controller.get('stepConfigs')[0].get('configs').findProperty('name',
 'manage_identities').set('value', 'false');
         
kerberosWizardStep2Controller.get('stepConfigs')[0].get('configs').findProperty('name',
 'install_packages').set('value', 'false');
         
kerberosWizardStep2Controller.get('stepConfigs')[0].get('configs').findProperty('name',
 'manage_krb5_conf').set('value', 'false');
+        
kerberosWizardStep2Controller.get('stepConfigs')[0].get('configs').findProperty('name',
 'kdc_type').set('value', 'none');
       }
 
       
kerberosWizardController.saveServiceConfigProperties(kerberosWizardStep2Controller);

Reply via email to