Quellcode durchsuchen

AMBARI-4129 HA wizard not accessible after upgrade.(Jaimin Jetly via ababiichuk)

aBabiichuk vor 11 Jahren
Ursprung
Commit
e51ba1e984

+ 1 - 0
ambari-web/app/controllers/main/admin/highAvailability_controller.js

@@ -49,6 +49,7 @@ App.MainAdminHighAvailabilityController = Em.Controller.extend({
         return;
       }
     }
+    App.db.mergeStorage();
     App.router.transitionTo('enableHighAvailability');
   },
 

+ 1 - 0
ambari-web/app/controllers/main/host/details.js

@@ -1058,6 +1058,7 @@ App.MainHostDetailsController = Em.Controller.extend({
   moveComponent: function (event) {
     App.showConfirmationPopup(function() {
       var component = event.context;
+      App.db.mergeStorage();
       var reassignMasterController = App.router.get('reassignMasterController');
       reassignMasterController.saveComponentToReassign(component);
       reassignMasterController.getSecurityStatus();

+ 1 - 0
ambari-web/app/controllers/main/service.js

@@ -157,6 +157,7 @@ App.MainServiceController = Em.ArrayController.extend({
     if (this.get('isAllServicesInstalled')) {
       return;
     }
+    App.db.mergeStorage();
     App.router.transitionTo('main.serviceAdd');
   }
 

+ 1 - 0
ambari-web/app/controllers/main/service/item.js

@@ -220,6 +220,7 @@ App.MainServiceItemController = Em.Controller.extend({
   reassignMaster: function (hostComponent) {
     var component = App.HostComponent.find().findProperty('componentName', hostComponent);
     console.log('In Reassign Master', hostComponent);
+    App.db.mergeStorage();
     var reassignMasterController = App.router.get('reassignMasterController');
     reassignMasterController.saveComponentToReassign(component);
     reassignMasterController.getSecurityStatus();

+ 1 - 0
ambari-web/app/routes/main.js

@@ -686,6 +686,7 @@ module.exports = Em.Route.extend({
       }),
 
       addSecurity: function (router, object) {
+        App.db.mergeStorage();
         router.get('mainAdminSecurityController').setAddSecurityWizardStatus('RUNNING');
         router.transitionTo('adminAddSecurity');
       },

+ 38 - 23
ambari-web/app/utils/db.js

@@ -17,6 +17,29 @@
  */
 var App = require('app');
 App.db = {};
+var InitialData =  {
+  'app': {
+    'loginName': '',
+    'authenticated': false,
+    'configs': [],
+    'tables': {
+      'filterConditions': {},
+      'displayLength': {},
+      'startIndex': {},
+      'sortingConditions': {}
+    }
+  },
+
+  'Installer' : {},
+  'AddHost' : {},
+  'AddService' : {},
+  'StackUpgrade' : {},
+  'ReassignMaster' : {},
+  'AddSecurity': {},
+  'HighAvailabilityWizard': {},
+  'RollbackHighAvailabilityWizard': {}
+
+};
 
 if (typeof Storage !== 'undefined') {
   Storage.prototype.setObject = function (key, value) {
@@ -46,29 +69,7 @@ if (typeof Storage !== 'undefined') {
 
 App.db.cleanUp = function () {
   console.log('TRACE: Entering db:cleanup function');
-  App.db.data = {
-    'app': {
-      'loginName': '',
-      'authenticated': false,
-      'configs': [],
-      'tables': {
-        'filterConditions': {},
-        'displayLength': {},
-        'startIndex': {},
-        'sortingConditions': {}
-      }
-    },
-
-    'Installer' : {},
-    'AddHost' : {},
-    'AddService' : {},
-    'StackUpgrade' : {},
-    'ReassignMaster' : {},
-    'AddSecurity': {},
-    'HighAvailabilityWizard': {},
-    'RollbackHighAvailabilityWizard': {}
-
-  };
+  App.db.data = InitialData;
   console.log("In cleanup./..");
   localStorage.setObject('ambari', App.db.data);
 };
@@ -82,6 +83,20 @@ App.db.updateStorage = function() {
   App.db.cleanUp();
   return false;
 };
+
+/*
+  Initialize wizard namespaces if they are not initialized on login.
+  This will be required during upgrade.
+ */
+App.db.mergeStorage = function() {
+  if (localStorage.getObject('ambari') == null) {
+    console.log('doing a cleanup');
+    App.db.cleanUp();
+  } else {
+    App.db.data = $.extend(true,{}, InitialData, App.db.data);
+  }
+};
+
 // called whenever user logs in
 if (localStorage.getObject('ambari') == null) {
   console.log('doing a cleanup');