You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by at...@apache.org on 2015/04/16 14:00:05 UTC

ambari git commit: AMBARI-10520 Remove automatedKerberos experimental, on by default. (atkach)

Repository: ambari
Updated Branches:
  refs/heads/trunk cf5703a7c -> 28e68643d


AMBARI-10520 Remove automatedKerberos experimental, on by default. (atkach)


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

Branch: refs/heads/trunk
Commit: 28e68643d8a67acc88628ef6e13da0b90d101a0b
Parents: cf5703a
Author: Andrii Tkach <at...@hortonworks.com>
Authored: Thu Apr 16 14:33:38 2015 +0300
Committer: Andrii Tkach <at...@hortonworks.com>
Committed: Thu Apr 16 14:33:38 2015 +0300

----------------------------------------------------------------------
 ambari-web/app/assets/test/tests.js             |  1 +
 .../controllers/main/service/add_controller.js  | 12 ++-
 ambari-web/app/routes/add_service_routes.js     | 28 +++----
 ambari-web/app/templates/main/service/add.hbs   | 15 +---
 ambari-web/app/views/main/admin.js              | 18 ++--
 ambari-web/app/views/main/menu.js               | 18 ++--
 .../main/service/add_controller_test.js         | 44 ++++++++++
 ambari-web/test/views/main/admin_test.js        | 87 ++++++++++++++++++++
 ambari-web/test/views/main/menu_test.js         | 86 +++++++++++++++++++
 9 files changed, 250 insertions(+), 59 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/28e68643/ambari-web/app/assets/test/tests.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/assets/test/tests.js b/ambari-web/app/assets/test/tests.js
index 391a1e1..c5316ce 100644
--- a/ambari-web/app/assets/test/tests.js
+++ b/ambari-web/app/assets/test/tests.js
@@ -185,6 +185,7 @@ var files = ['test/init_model_test',
   'test/views/common/sort_view_test',
   'test/views/common/custom_date_popup_test',
   'test/views/common/progress_bar_view_test',
+  'test/views/main/admin_test',
   'test/views/main/dashboard_test',
   'test/views/main/menu_test',
   'test/views/main/host_test',

http://git-wip-us.apache.org/repos/asf/ambari/blob/28e68643/ambari-web/app/controllers/main/service/add_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/service/add_controller.js b/ambari-web/app/controllers/main/service/add_controller.js
index b2b9d06..e7a714c 100644
--- a/ambari-web/app/controllers/main/service/add_controller.js
+++ b/ambari-web/app/controllers/main/service/add_controller.js
@@ -21,8 +21,8 @@ var App = require('app');
 App.AddServiceController = App.WizardController.extend(App.AddSecurityConfigs, {
 
   name: 'addServiceController',
-  // @TODO: remove after Kerberos Automation supports
-  totalSteps: App.supports.automatedKerberos ? 8 : 7,
+
+  totalSteps: 8,
 
   /**
    * Used for hiding back button in wizard
@@ -585,11 +585,9 @@ App.AddServiceController = App.WizardController.extend(App.AddSecurityConfigs, {
   },
 
   checkSecurityStatus: function() {
-    if (App.supports.automatedKerberos) {
-      if (!App.router.get('mainAdminKerberosController.securityEnabled')) {
-        this.set('skipConfigureIdentitiesStep', true);
-        this.get('isStepDisabled').findProperty('step', 5).set('value', true);
-      }
+    if (!App.router.get('mainAdminKerberosController.securityEnabled')) {
+      this.set('skipConfigureIdentitiesStep', true);
+      this.get('isStepDisabled').findProperty('step', 5).set('value', true);
     }
   }
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/28e68643/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 48a553d..2b23868 100644
--- a/ambari-web/app/routes/add_service_routes.js
+++ b/ambari-web/app/routes/add_service_routes.js
@@ -223,11 +223,9 @@ module.exports = App.WizardRoute.extend({
       var wizardStep7Controller = router.get('wizardStep7Controller');
       addServiceController.saveServiceConfigProperties(wizardStep7Controller);
       addServiceController.saveServiceConfigGroups(wizardStep7Controller, true);
-      if (App.supports.automatedKerberos) {
-        if (router.get('mainAdminKerberosController.securityEnabled')) {
-          router.transitionTo('step5');
-          return;
-        }
+      if (router.get('mainAdminKerberosController.securityEnabled')) {
+        router.transitionTo('step5');
+        return;
       }
       router.transitionTo('step6');
     }
@@ -266,7 +264,7 @@ module.exports = App.WizardRoute.extend({
       }
     },
     next: function (router) {
-      if (App.supports.automatedKerberos && router.get('mainAdminKerberosController.securityEnabled')) {
+      if (router.get('mainAdminKerberosController.securityEnabled')) {
         router.get('kerberosWizardStep2Controller').createKerberosAdminSession(router.get('kerberosWizardStep4Controller.stepConfigs')[0].get('configs'));
       }
       router.transitionTo('step6');
@@ -274,11 +272,11 @@ module.exports = App.WizardRoute.extend({
   }),
 
   step6: Em.Route.extend({
-    route: App.supports.automatedKerberos ? '/step6' : '/step5',
+    route: '/step6',
     connectOutlets: function (router, context) {
       console.log('in addService.step5:connectOutlets');
       var controller = router.get('addServiceController');
-      controller.setCurrentStep(App.supports.automatedKerberos ? '6' : '5');
+      controller.setCurrentStep('6');
       controller.dataLoading().done(function () {
         controller.loadAllPriorSteps().done(function () {
           var wizardStep8Controller = router.get('wizardStep8Controller');
@@ -289,7 +287,7 @@ module.exports = App.WizardRoute.extend({
     },
     back: function(router){
       var controller = router.get('addServiceController');
-      if (App.supports.automatedKerberos && router.get('mainAdminKerberosController.securityEnabled')) {
+      if (router.get('mainAdminKerberosController.securityEnabled')) {
         router.transitionTo('step5');
         return;
       }
@@ -322,17 +320,17 @@ module.exports = App.WizardRoute.extend({
   }),
 
   step7: Em.Route.extend({
-    route: App.supports.automatedKerberos ? '/step7' : '/step6',
+    route: '/step7',
     connectOutlets: function (router, context) {
       console.log('in addService.step6:connectOutlets');
       var controller = router.get('addServiceController');
-      controller.setCurrentStep(App.supports.automatedKerberos ? '7' : '6');
+      controller.setCurrentStep('7');
       controller.dataLoading().done(function () {
         controller.loadAllPriorSteps().done(function () {
           var wizardStep9Controller = router.get('wizardStep9Controller');
           wizardStep9Controller.set('wizardController', controller);
           if (!App.get('testMode')) {              //if test mode is ON don't disable prior steps link.
-            controller.setLowerStepsDisable(App.supports.automatedKerberos ? 7 : 6);
+            controller.setLowerStepsDisable(7);
           }
           controller.connectOutlet('wizardStep9', controller.get('content'));
         });
@@ -371,14 +369,14 @@ module.exports = App.WizardRoute.extend({
   }),
 
   step8: Em.Route.extend({
-    route: App.supports.automatedKerberos ? '/step8' : '/step7',
+    route: '/step8',
     connectOutlets: function (router, context) {
       console.log('in addService.step7:connectOutlets');
       var controller = router.get('addServiceController');
-      controller.setCurrentStep(App.supports.automatedKerberos ? '8' : '7');
+      controller.setCurrentStep('8');
       controller.dataLoading().done(function () {
         controller.loadAllPriorSteps().done(function () {
-          controller.setLowerStepsDisable(App.supports.automatedKerberos ? 8 : 7);
+          controller.setLowerStepsDisable(8);
           controller.connectOutlet('wizardStep10', controller.get('content'));
         });
       });

http://git-wip-us.apache.org/repos/asf/ambari/blob/28e68643/ambari-web/app/templates/main/service/add.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/service/add.hbs b/ambari-web/app/templates/main/service/add.hbs
index 0e94b00..4a4da2e 100644
--- a/ambari-web/app/templates/main/service/add.hbs
+++ b/ambari-web/app/templates/main/service/add.hbs
@@ -32,17 +32,10 @@
               <li {{bindAttr class="isStep2:active view.isStep2Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep2 target="controller"}}>{{t installer.step5.header}}</a></li>
               <li {{bindAttr class="isStep3:active view.isStep3Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep3 target="controller"}}>{{t installer.step6.header}}</a></li>
               <li {{bindAttr class="isStep4:active view.isStep4Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep4 target="controller"}}>{{t installer.step7.header}}</a></li>
-              {{! @TODO: replace/remove after Kerberos Automation supports }}
-              {{#if App.supports.automatedKerberos}}
-                <li {{bindAttr class="isStep5:active view.isStep5Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep5 target="controller"}}>{{t admin.kerberos.wizard.step4.header}}</a></li>
-                <li {{bindAttr class="isStep6:active view.isStep6Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep5 target="controller"}}>{{t installer.step8.header}}</a></li>
-                <li {{bindAttr class="isStep7:active view.isStep7Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep6 target="controller"}}>{{t installer.step9.header}}</a></li>
-                <li {{bindAttr class="isStep8:active view.isStep8Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep7 target="controller"}}>{{t installer.step10.header}}</a></li>
-              {{else}}
-                <li {{bindAttr class="isStep5:active view.isStep5Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep5 target="controller"}}>{{t installer.step8.header}}</a></li>
-                <li {{bindAttr class="isStep6:active view.isStep6Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep6 target="controller"}}>{{t installer.step9.header}}</a></li>
-                <li {{bindAttr class="isStep7:active view.isStep7Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep7 target="controller"}}>{{t installer.step10.header}}</a></li>
-              {{/if}}
+              <li {{bindAttr class="isStep5:active view.isStep5Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep5 target="controller"}}>{{t admin.kerberos.wizard.step4.header}}</a></li>
+              <li {{bindAttr class="isStep6:active view.isStep6Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep5 target="controller"}}>{{t installer.step8.header}}</a></li>
+              <li {{bindAttr class="isStep7:active view.isStep7Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep6 target="controller"}}>{{t installer.step9.header}}</a></li>
+              <li {{bindAttr class="isStep8:active view.isStep8Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep7 target="controller"}}>{{t installer.step10.header}}</a></li>
             </ul>
           </div>
         </div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/28e68643/ambari-web/app/views/main/admin.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/admin.js b/ambari-web/app/views/main/admin.js
index 317154d..089d593 100644
--- a/ambari-web/app/views/main/admin.js
+++ b/ambari-web/app/views/main/admin.js
@@ -34,19 +34,11 @@ App.MainAdminView = Em.View.extend({
       label: Em.I18n.t('common.serviceAccounts')
     });
     if (!App.get('isHadoopWindowsStack')) {
-      if (App.get('supports.automatedKerberos')) {
-        items.push({
-          name: 'kerberos',
-          url: 'adminKerberos.index',
-          label: Em.I18n.t('common.kerberos')
-        });
-      } else {
-        items.push({
-          name: 'security',
-          url: 'adminSecurity.index',
-          label: Em.I18n.t('common.security')
-        });
-      }
+      items.push({
+        name: 'kerberos',
+        url: 'adminKerberos.index',
+        label: Em.I18n.t('common.kerberos')
+      });
     }
     return items;
   }.property(''),

http://git-wip-us.apache.org/repos/asf/ambari/blob/28e68643/ambari-web/app/views/main/menu.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/menu.js b/ambari-web/app/views/main/menu.js
index 28338bf..40f9781 100644
--- a/ambari-web/app/views/main/menu.js
+++ b/ambari-web/app/views/main/menu.js
@@ -129,19 +129,11 @@ App.MainMenuView = Em.CollectionView.extend({
           label: Em.I18n.t('common.serviceAccounts')
         });
         if (!App.get('isHadoopWindowsStack')) {
-          if (App.get('supports.automatedKerberos')) {
-            categories.push({
-              name: 'kerberos',
-              url: 'kerberos/',
-              label: Em.I18n.t('common.kerberos')
-            });
-          } else {
-            categories.push({
-              name: 'security',
-              url: 'security/',
-              label: Em.I18n.t('common.security')
-            });
-          }
+          categories.push({
+            name: 'kerberos',
+            url: 'kerberos/',
+            label: Em.I18n.t('common.kerberos')
+          });
         }
       }
       return categories;

http://git-wip-us.apache.org/repos/asf/ambari/blob/28e68643/ambari-web/test/controllers/main/service/add_controller_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/controllers/main/service/add_controller_test.js b/ambari-web/test/controllers/main/service/add_controller_test.js
index 79b0f21..bb04c71 100644
--- a/ambari-web/test/controllers/main/service/add_controller_test.js
+++ b/ambari-web/test/controllers/main/service/add_controller_test.js
@@ -423,4 +423,48 @@ describe('App.AddServiceController', function() {
     }, this);
   });
 
+  describe('#checkSecurityStatus', function () {
+
+    var cases = [
+      {
+        securityEnabled: true,
+        skipConfigureIdentitiesStep: false,
+        isStep5Disabled: false,
+        title: 'security enabled'
+      },
+      {
+        securityEnabled: false,
+        skipConfigureIdentitiesStep: true,
+        isStep5Disabled: true,
+        title: 'security disabled'
+      }
+    ];
+
+    beforeEach(function () {
+      addServiceController.setProperties({
+        skipConfigureIdentitiesStep: false,
+        isStepDisabled: [
+          Em.Object.create({
+            step: 5,
+            value: false
+          })
+        ]
+      });
+    });
+
+    afterEach(function () {
+      App.router.get.restore();
+    });
+
+    cases.forEach(function (item) {
+      it(item.title, function () {
+        sinon.stub(App.router, 'get').withArgs('mainAdminKerberosController.securityEnabled').returns(item.securityEnabled);
+        addServiceController.checkSecurityStatus();
+        expect(addServiceController.get('skipConfigureIdentitiesStep')).to.equal(item.skipConfigureIdentitiesStep);
+        expect(addServiceController.get('isStepDisabled').findProperty('step', 5).get('value')).to.equal(item.isStep5Disabled);
+      });
+    });
+
+  });
+
 });

http://git-wip-us.apache.org/repos/asf/ambari/blob/28e68643/ambari-web/test/views/main/admin_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/views/main/admin_test.js b/ambari-web/test/views/main/admin_test.js
new file mode 100644
index 0000000..a62ff2d
--- /dev/null
+++ b/ambari-web/test/views/main/admin_test.js
@@ -0,0 +1,87 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+var App = require('app');
+require('views/main/admin');
+
+describe('App.MainAdminView', function () {
+
+  var view;
+
+  beforeEach(function () {
+    view = App.MainAdminView.create();
+  });
+
+  describe('#categories', function () {
+
+    var cases = [
+      {
+        isHadoopWindowsStack: true,
+        categories: [
+          {
+            name: 'stackAndUpgrade',
+            url: 'stackAndUpgrade.index',
+            label: Em.I18n.t('admin.stackUpgrade.title')
+          },
+          {
+            name: 'adminServiceAccounts',
+            url: 'adminServiceAccounts',
+            label: Em.I18n.t('common.serviceAccounts')
+          }
+        ],
+        title: 'HDPWIN'
+      },
+      {
+        isHadoopWindowsStack: false,
+        categories: [
+          {
+            name: 'stackAndUpgrade',
+            url: 'stackAndUpgrade.index',
+            label: Em.I18n.t('admin.stackUpgrade.title')
+          },
+          {
+            name: 'adminServiceAccounts',
+            url: 'adminServiceAccounts',
+            label: Em.I18n.t('common.serviceAccounts')
+          },
+          {
+            name: 'kerberos',
+            url: 'adminKerberos.index',
+            label: Em.I18n.t('common.kerberos')
+          }
+        ],
+        title: 'not HDPWIN'
+      }
+    ];
+
+    afterEach(function () {
+      App.get.restore();
+    });
+
+    cases.forEach(function (item) {
+      it(item.title, function () {
+        sinon.stub(App, 'get').withArgs('isHadoopWindowsStack').returns(item.isHadoopWindowsStack);
+        view.propertyDidChange('categories');
+        expect(view.get('categories')).to.eql(item.categories);
+      });
+    });
+
+  });
+
+});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/28e68643/ambari-web/test/views/main/menu_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/views/main/menu_test.js b/ambari-web/test/views/main/menu_test.js
index 5a8a3b1..1332bbe 100644
--- a/ambari-web/test/views/main/menu_test.js
+++ b/ambari-web/test/views/main/menu_test.js
@@ -48,4 +48,90 @@ describe('App.MainMenuView', function () {
     });
 
   });
+
+  describe('#itemViewClass', function () {
+
+    beforeEach(function () {
+      mainMenuView.reopen({
+        content: [
+          mainMenuView.get('itemViewClass').create({
+            content: {
+              routing: 'dashboard'
+            }
+          }),
+          mainMenuView.get('itemViewClass').create({
+            content: {
+              routing: 'admin'
+            }
+          })
+        ]
+      });
+    });
+
+    describe('#dropdownCategories', function () {
+
+      var cases = [
+        {
+          itemName: 'dashboard',
+          dropdownCategories: [],
+          title: 'not Admin item'
+        },
+        {
+          itemName: 'admin',
+          isHadoopWindowsStack: true,
+          dropdownCategories: [
+            {
+              name: 'stackAndUpgrade',
+              url: 'stack',
+              label: Em.I18n.t('admin.stackUpgrade.title')
+            },
+            {
+              name: 'adminServiceAccounts',
+              url: 'serviceAccounts',
+              label: Em.I18n.t('common.serviceAccounts')
+            }
+          ],
+          title: 'Admin item, HDPWIN'
+        },
+        {
+          itemName: 'admin',
+          isHadoopWindowsStack: false,
+          dropdownCategories: [
+            {
+              name: 'stackAndUpgrade',
+              url: 'stack',
+              label: Em.I18n.t('admin.stackUpgrade.title')
+            },
+            {
+              name: 'adminServiceAccounts',
+              url: 'serviceAccounts',
+              label: Em.I18n.t('common.serviceAccounts')
+            },
+            {
+              name: 'kerberos',
+              url: 'kerberos/',
+              label: Em.I18n.t('common.kerberos')
+            }
+          ],
+          title: 'Admin item, not HDPWIN'
+        }
+      ];
+
+      afterEach(function () {
+        App.get.restore();
+      });
+
+      cases.forEach(function (item) {
+        it(item.title, function () {
+          sinon.stub(App, 'get').withArgs('isHadoopWindowsStack').returns(item.isHadoopWindowsStack);
+          var menuItem = mainMenuView.get('content').findProperty('content.routing', item.itemName);
+          menuItem.propertyDidChange('dropdownCategories');
+          expect(menuItem.get('dropdownCategories')).to.eql(item.dropdownCategories);
+        });
+      });
+
+    });
+
+  });
+
 });