瀏覽代碼

AMBARI-3589. Common storage for different wizards. (onechiporenko)

Oleg Nechiporenko 11 年之前
父節點
當前提交
49a3cbe9f9

+ 17 - 13
ambari-web/app/controllers/installer.js

@@ -76,7 +76,12 @@ App.InstallerController = App.WizardController.extend({
    */
   removeHosts: function (hosts) {
     //todo Replace this code with real logic
-    App.db.removeHosts(hosts);
+    var DBhosts = this.getDBProperty('hosts');
+    hosts.forEach(function (_hostInfo) {
+      var host = _hostInfo.hostName;
+      delete DBhosts[host];
+    });
+    this.setDBProperty('hosts', DBhosts);
   },
 
   /**
@@ -84,14 +89,14 @@ App.InstallerController = App.WizardController.extend({
    * Will be used at <code>Assign Masters(step5)</code> step
    */
   loadConfirmedHosts: function () {
-    this.set('content.hosts', App.db.getHosts() || []);
+    this.set('content.hosts', this.getDBProperty('hosts') || []);
   },
 
   /**
    * Load services data. Will be used at <code>Select services(step4)</code> step
    */
   loadServices: function () {
-    var servicesInfo = App.db.getService();
+    var servicesInfo = this.getDBProperty('service');
     if(servicesInfo && servicesInfo.length) {
       servicesInfo.forEach(function (item, index) {
         servicesInfo[index] = Em.Object.create(item);
@@ -247,12 +252,12 @@ App.InstallerController = App.WizardController.extend({
    */
   saveServices: function (stepController) {
     var serviceNames = [];
-    App.db.setService(stepController.get('content'));
+    this.setDBProperty('service', stepController.get('content'));
     stepController.filterProperty('isSelected', true).forEach(function (item) {
       serviceNames.push(item.serviceName);
     });
     this.set('content.selectedServiceNames', serviceNames);
-    App.db.setSelectedServiceNames(serviceNames);
+    this.setDBProperty('selectedServiceNames', serviceNames);
     console.log('installerController.saveServices: saved data ', serviceNames);
   },
 
@@ -275,7 +280,7 @@ App.InstallerController = App.WizardController.extend({
     });
 
     console.log("installerController.saveMasterComponentHosts: saved hosts ", masterComponentHosts);
-    App.db.setMasterComponentHosts(masterComponentHosts);
+    this.setDBProperty('masterComponentHosts', masterComponentHosts);
     this.set('content.masterComponentHosts', masterComponentHosts);
   },
 
@@ -283,7 +288,7 @@ App.InstallerController = App.WizardController.extend({
    * Load master component hosts data for using in required step controllers
    */
   loadMasterComponentHosts: function () {
-    var masterComponentHosts = App.db.getMasterComponentHosts() || [];
+    var masterComponentHosts = this.getDBProperty('masterComponentHosts') || [];
     this.set("content.masterComponentHosts", masterComponentHosts);
     console.log("InstallerController.loadMasterComponentHosts: loaded hosts ", masterComponentHosts);
   },
@@ -292,7 +297,7 @@ App.InstallerController = App.WizardController.extend({
    * Load master component hosts data for using in required step controllers
    */
   loadSlaveComponentHosts: function () {
-    var slaveComponentHosts = App.db.getSlaveComponentHosts() || null;
+    var slaveComponentHosts = this.getDBProperty('slaveComponentHosts') || null;
     this.set("content.slaveComponentHosts", slaveComponentHosts);
     console.log("InstallerController.loadSlaveComponentHosts: loaded hosts ", slaveComponentHosts);
   },
@@ -301,18 +306,18 @@ App.InstallerController = App.WizardController.extend({
    * Load serviceConfigProperties to model
    */
   loadServiceConfigProperties: function () {
-    var serviceConfigProperties = App.db.getServiceConfigProperties();
+    var serviceConfigProperties = this.getDBProperty('serviceConfigProperties');
     this.set('content.serviceConfigProperties', serviceConfigProperties);
     console.log("InstallerController.loadServiceConfigProperties: loaded config ", serviceConfigProperties);
 
-    this.set('content.advancedServiceConfig', App.db.getAdvancedServiceConfig());
+    this.set('content.advancedServiceConfig', this.getDBProperty('advancedServiceConfig'));
   },
 
   /**
    * Load information about hosts with clients components
    */
   loadClients: function () {
-    var clients = App.db.getClientsForSelectedServices();
+    var clients = this.getDBProperty('clientInfo');
     this.set('content.clients', clients);
     console.log("InstallerController.loadClients: loaded list ", clients);
   },
@@ -336,7 +341,7 @@ App.InstallerController = App.WizardController.extend({
       }
     }, this);
 
-    App.db.setClientsForSelectedServices(clients);
+    this.setDBProperty('clientInfo', clients);
     this.set('content.clients', clients);
     console.log("InstallerController.saveClients: saved list ", clients);
   },
@@ -480,6 +485,5 @@ App.InstallerController = App.WizardController.extend({
       step.set('value', true);
     }
   }
-
 });
 

+ 19 - 20
ambari-web/app/controllers/main/host/add_controller.js

@@ -55,6 +55,14 @@ App.AddHostController = App.WizardController.extend({
 
   components:require('data/service_components'),
 
+  setCurrentStep: function (currentStep, completed) {
+    this._super(currentStep, completed);
+    App.clusterStatus.setClusterStatus({
+      wizardControllerName: this.get('name'),
+      localdb: App.db.data
+    });
+  },
+
   /**
    * return new object extended from clusterStatusTemplate
    * @return Object
@@ -79,15 +87,6 @@ App.AddHostController = App.WizardController.extend({
     return [];
   },
 
-   /**
-   * Remove host from model. Used at <code>Confirm hosts(step2)</code> step
-   * @param hosts Array of hosts, which we want to delete
-   */
-  removeHosts: function (hosts) {
-    //todo Replace this code with real logic
-    App.db.removeHosts(hosts);
-  },
-
   /**
    * Load services data from server.
    */
@@ -102,14 +101,14 @@ App.AddHostController = App.WizardController.extend({
       apiService[index].isInstalled = apiService[index].isSelected;
     });
     this.set('content.services', apiService);
-    App.db.setService(apiService);
+    this.setDBProperty('service', apiService);
   },
 
   /**
    * Load services data. Will be used at <code>Select services(step4)</code> step
    */
   loadServices: function () {
-    var servicesInfo = App.db.getService();
+    var servicesInfo = this.getDBProperty('service');
     servicesInfo.forEach(function (item, index) {
       servicesInfo[index] = Em.Object.create(item);
     });
@@ -123,7 +122,7 @@ App.AddHostController = App.WizardController.extend({
    * Load master component hosts data for using in required step controllers
    */
   loadMasterComponentHosts: function () {
-    var masterComponentHosts = App.db.getMasterComponentHosts();
+    var masterComponentHosts = this.getDBProperty('masterComponentHosts');
     if (!masterComponentHosts) {
       masterComponentHosts = [];
       App.HostComponent.find().filterProperty('isMaster', true).forEach(function (item) {
@@ -135,7 +134,7 @@ App.AddHostController = App.WizardController.extend({
           display_name: item.get('displayName')
         })
       });
-      App.db.setMasterComponentHosts(masterComponentHosts);
+      this.setDBProperty('masterComponentHosts', masterComponentHosts);
     }
     this.set("content.masterComponentHosts", masterComponentHosts);
     console.log("AddHostController.loadMasterComponentHosts: loaded hosts ", masterComponentHosts);
@@ -149,7 +148,7 @@ App.AddHostController = App.WizardController.extend({
     var self = this;
     var hosts = stepController.get('hosts');
     var headers = stepController.get('headers');
-    var masterComponentHosts = App.db.getMasterComponentHosts();
+    var masterComponentHosts = this.getDBProperty('masterComponentHosts');
 
     headers.forEach(function(header) {
       var rm = masterComponentHosts.filterProperty('component', header.get('name'));
@@ -174,7 +173,7 @@ App.AddHostController = App.WizardController.extend({
     });
 
     console.log("installerController.saveMasterComponentHosts: saved hosts ", masterComponentHosts);
-    App.db.setMasterComponentHosts(masterComponentHosts);
+    this.setDBProperty('masterComponentHosts', masterComponentHosts);
     this.set('content.masterComponentHosts', masterComponentHosts);
   },
 
@@ -243,7 +242,7 @@ App.AddHostController = App.WizardController.extend({
       displayName: 'client',
       hosts: hosts,
       isInstalled: true
-    })
+    });
 
     return result;
   },
@@ -252,7 +251,7 @@ App.AddHostController = App.WizardController.extend({
    * Load master component hosts data for using in required step controllers
    */
   loadSlaveComponentHosts: function () {
-    var slaveComponentHosts = App.db.getSlaveComponentHosts();
+    var slaveComponentHosts = this.getDBProperty('slaveComponentHosts');
     if (!slaveComponentHosts) {
       slaveComponentHosts = this.getSlaveComponentHosts();
     }
@@ -264,7 +263,7 @@ App.AddHostController = App.WizardController.extend({
    * Load information about hosts with clients components
    */
   loadClients: function () {
-    var clients = App.db.getClientsForSelectedServices();
+    var clients = this.getDBProperty('clientInfo');
     this.set('content.clients', clients);
     console.log("AddHostController.loadClients: loaded list ", clients);
   },
@@ -289,7 +288,7 @@ App.AddHostController = App.WizardController.extend({
       }
     }, this);
 
-    App.db.setClientsForSelectedServices(clients);
+    this.setDBProperty('clientInfo', clients);
     this.set('content.clients', clients);
     console.log("AddHostController.saveClients: saved list ", clients);
   },
@@ -346,7 +345,7 @@ App.AddHostController = App.WizardController.extend({
     var data;
     var name;
     var hostnames = [];
-    for (var hostname in App.db.getHosts()) {
+    for (var hostname in this.getDBProperty('hosts')) {
       hostnames.push(hostname);
     }
 

+ 21 - 13
ambari-web/app/controllers/main/service/add_controller.js

@@ -54,6 +54,14 @@ App.AddServiceController = App.WizardController.extend({
     controllerName: 'addServiceController'
   }),
 
+  setCurrentStep: function (currentStep, completed) {
+    this._super(currentStep, completed);
+    App.clusterStatus.setClusterStatus({
+      wizardControllerName: this.get('name'),
+      localdb: App.db.data
+    });
+  },
+
   /**
    * return new object extended from clusterStatusTemplate
    * @return Object
@@ -67,7 +75,7 @@ App.AddServiceController = App.WizardController.extend({
    * Will be used at <code>Assign Masters(step5)</code> step
    */
   loadConfirmedHosts: function(){
-    var hosts = App.db.getHosts();
+    var hosts = this.getDBProperty('hosts');
     if(!hosts){
       var hosts = {};
 
@@ -81,7 +89,7 @@ App.AddServiceController = App.WizardController.extend({
           isInstalled: true
         };
       });
-      App.db.setHosts(hosts);
+      this.setDBProperty('hosts', hosts);
     }
 
     this.set('content.hosts', hosts);
@@ -92,7 +100,7 @@ App.AddServiceController = App.WizardController.extend({
    * Load services data from server.
    */
   loadServicesFromServer: function() {
-    if(App.db.getService()){
+    if(this.getDBProperty('service')){
       return;
     }
     var displayOrderConfig = require('data/services');
@@ -105,14 +113,14 @@ App.AddServiceController = App.WizardController.extend({
       apiService[index].isInstalled = apiService[index].isSelected;
     });
     this.set('content.services', apiService);
-    App.db.setService(apiService);
+    this.setDBProperty('service', apiService);
   },
 
   /**
    * Load services data. Will be used at <code>Select services(step4)</code> step
    */
   loadServices: function () {
-    var servicesInfo = App.db.getService();
+    var servicesInfo = this.getDBProperty('service');
     servicesInfo.forEach(function (item, index) {
       servicesInfo[index] = Em.Object.create(item);
     });
@@ -133,13 +141,13 @@ App.AddServiceController = App.WizardController.extend({
    * @param stepController App.WizardStep4Controller
    */
   saveServices: function (stepController) {var serviceNames = [];
-    App.db.setService(stepController.get('content'));
+    this.setDBProperty('service', stepController.get('content'));
     console.log('AddServiceController.saveServices: saved data', stepController.get('content'));
     stepController.filterProperty('isSelected', true).filterProperty('isInstalled', false).forEach(function (item) {
       serviceNames.push(item.serviceName);
     });
     this.set('content.selectedServiceNames', serviceNames);
-    App.db.setSelectedServiceNames(serviceNames);
+    this.setDBProperty('selectedServiceNames',serviceNames);
     console.log('AddServiceController.selectedServiceNames:', serviceNames);
 
     this.set('content.skipSlavesStep', !serviceNames.contains('MAPREDUCE') && !serviceNames.contains('HBASE'));
@@ -168,7 +176,7 @@ App.AddServiceController = App.WizardController.extend({
     });
 
     console.log("AddServiceController.saveMasterComponentHosts: saved hosts ", masterComponentHosts);
-    App.db.setMasterComponentHosts(masterComponentHosts);
+    this.setDBProperty('masterComponentHosts', masterComponentHosts);
     this.set('content.masterComponentHosts', masterComponentHosts);
 
     this.set('content.skipMasterStep', this.get('content.masterComponentHosts').everyProperty('isInstalled', true));
@@ -179,7 +187,7 @@ App.AddServiceController = App.WizardController.extend({
    * Load master component hosts data for using in required step controllers
    */
   loadMasterComponentHosts: function () {
-    var masterComponentHosts = App.db.getMasterComponentHosts();
+    var masterComponentHosts = this.getDBProperty('masterComponentHosts');
     if(!masterComponentHosts){
       masterComponentHosts = [];
       App.HostComponent.find().filterProperty('isMaster', true).forEach(function(item){
@@ -327,7 +335,7 @@ App.AddServiceController = App.WizardController.extend({
    * Load master component hosts data for using in required step controllers
    */
   loadSlaveComponentHosts: function () {
-    var slaveComponentHosts = App.db.getSlaveComponentHosts();
+    var slaveComponentHosts = this.getDBProperty('slaveComponentHosts');
     if(!slaveComponentHosts){
       slaveComponentHosts = this.getSlaveComponentHosts();
     }
@@ -339,7 +347,7 @@ App.AddServiceController = App.WizardController.extend({
    * Load information about hosts with clients components
    */
   loadClients: function(){
-    var clients = App.db.getClientsForSelectedServices();
+    var clients = this.getDBProperty('clientInfo');
     this.set('content.clients', clients);
     console.log("AddServiceController.loadClients: loaded list ", clients);
   },
@@ -364,7 +372,7 @@ App.AddServiceController = App.WizardController.extend({
       }
     }, this);
 
-    App.db.setClientsForSelectedServices(clients);
+    this.setDBProperty('clientInfo', clients);
     this.set('content.clients', clients);
     console.log("AddServiceController.saveClients: saved list ", clients);
   },
@@ -472,7 +480,7 @@ App.AddServiceController = App.WizardController.extend({
   getFailedHostComponentsSuccessCallback: function(json) {
     var allFailed = json.items.filterProperty('HostRoles.state', 'INSTALL_FAILED');
     var currentFailed = [];
-    var selectedServices = App.db.getService().filterProperty('isInstalled', false).filterProperty('isSelected', true).mapProperty('serviceName');
+    var selectedServices = this.getDBProperty('service').filterProperty('isInstalled', false).filterProperty('isSelected', true).mapProperty('serviceName');
     allFailed.forEach(function(failed) {
       if (selectedServices.contains(failed.component[0].ServiceComponentInfo.service_name)) {
         currentFailed.push(failed.HostRoles.component_name);

+ 33 - 28
ambari-web/app/controllers/wizard.js

@@ -221,7 +221,7 @@ App.WizardController = Em.Controller.extend({
    */
   setInfoForStep9: function () {
 
-    var hostInfo = App.db.getHosts();
+    var hostInfo = this.getDBProperty('hosts');
     for (var index in hostInfo) {
       hostInfo[index].status = "pending";
       hostInfo[index].message = 'Waiting';
@@ -229,7 +229,7 @@ App.WizardController = Em.Controller.extend({
       hostInfo[index].tasks = [];
       hostInfo[index].progress = '0';
     }
-    App.db.setHosts(hostInfo);
+    this.setDBProperty('hosts', hostInfo);
   },
 
   /**
@@ -238,9 +238,9 @@ App.WizardController = Em.Controller.extend({
   clearInstallOptions: function () {
     var installOptions = jQuery.extend({}, this.get('installOptionsTemplate'));
     this.set('content.installOptions', installOptions);
-    this.save('installOptions');
+    this.setDBProperty('installOptions', installOptions);
     this.set('content.hosts', []);
-    this.save('hosts');
+    this.setDBProperty('hosts', []);
   },
 
   toObject: function (object) {
@@ -265,7 +265,7 @@ App.WizardController = Em.Controller.extend({
       clusterStatus.oldRequestsId.push(clusterStatus.requestId);
     }
     this.set('content.cluster', clusterStatus);
-    this.save('cluster');
+    this.setDBProperty('cluster', clusterStatus);
   },
 
   /**
@@ -374,11 +374,16 @@ App.WizardController = Em.Controller.extend({
     if (this.get('content.' + name) && !reload) {
       return false;
     }
-    var result = App.db['get' + name.capitalize()]();
+    var result = this.getDBProperty(name);
     if (!result) {
-      result = this['get' + name.capitalize()]();
-      App.db['set' + name.capitalize()](result);
-      console.log(this.get('name') + ": created " + name, result);
+      if (this['get' + name.capitalize()]) {
+        result = this['get' + name.capitalize()]();
+        this.setDBProperty(name, result);
+        console.log(this.get('name') + ": created " + name, result);
+      }
+      else {
+        console.debug('get' + name.capitalize(), ' not defined in the ' + this.get('name'));
+      }
     }
     this.set('content.' + name, result);
     console.log(this.get('name') + ": loaded " + name, result);
@@ -386,7 +391,7 @@ App.WizardController = Em.Controller.extend({
 
   save: function (name) {
     var value = this.toObject(this.get('content.' + name));
-    App.db['set' + name.capitalize()](value);
+    this.setDBProperty(name, value);
     console.log(this.get('name') + ": saved " + name, value);
   },
 
@@ -411,14 +416,14 @@ App.WizardController = Em.Controller.extend({
   },
 
   clearStorageData: function () {
-    App.db.setService(undefined); //not to use this data at AddService page
-    App.db.setHosts(undefined);
-    App.db.setMasterComponentHosts(undefined);
-    App.db.setSlaveComponentHosts(undefined);
-    App.db.setCluster(undefined);
-    App.db.setAllHostNames(undefined);
-    App.db.setInstallOptions(undefined);
-    App.db.setAllHostNamesPattern(undefined);
+    this.setDBProperty('service',undefined); //not to use this data at AddService page
+    this.setDBProperty('hosts', undefined);
+    this.setDBProperty('masterComponentHosts', undefined);
+    this.setDBProperty('slaveComponentHosts', undefined);
+    this.setDBProperty('cluster', undefined);
+    this.setDBProperty('allHostNames', undefined);
+    this.setDBProperty('installOptions', undefined);
+    this.setDBProperty('allHostNamesPattern', undefined);
   },
 
   installOptionsTemplate: {
@@ -505,13 +510,13 @@ App.WizardController = Em.Controller.extend({
   },
 
   loadServicesFromServer: function () {
-    var services = App.db.getService();
+    var services = this.getDBProperty('service');
     if (services) {
       return;
     }
     var apiService = this.loadServiceComponents();
     this.set('content.services', apiService);
-    App.db.setService(apiService);
+    this.setDBProperty('service',apiService);
   },
 
   registerErrPopup: function (header, message) {
@@ -546,7 +551,7 @@ App.WizardController = Em.Controller.extend({
       };
     });
     console.log('wizardController:saveConfirmedHosts: save hosts ', hostInfo);
-    App.db.setHosts(hostInfo);
+    this.setDBProperty('hosts', hostInfo);
     this.set('content.hosts', hostInfo);
   },
 
@@ -556,7 +561,7 @@ App.WizardController = Em.Controller.extend({
    */
   saveInstalledHosts: function (stepController) {
     var hosts = stepController.get('hosts');
-    var hostInfo = App.db.getHosts();
+    var hostInfo = this.getDBProperty('hosts');
 
     for (var index in hostInfo) {
       hostInfo[index].status = "pending";
@@ -568,7 +573,7 @@ App.WizardController = Em.Controller.extend({
       }
     }
     this.set('content.hosts', hostInfo);
-    this.save('hosts');
+    this.setDBProperty('hosts', hostInfo);
     console.log('wizardController:saveInstalledHosts: save hosts ', hostInfo);
   },
 
@@ -611,7 +616,7 @@ App.WizardController = Em.Controller.extend({
       });
     });
 
-    App.db.setSlaveComponentHosts(slaveComponentHosts);
+    this.setDBProperty('slaveComponentHosts', slaveComponentHosts);
     console.log('wizardController.slaveComponentHosts: saved hosts', slaveComponentHosts);
     this.set('content.slaveComponentHosts', slaveComponentHosts);
   },
@@ -675,7 +680,7 @@ App.WizardController = Em.Controller.extend({
    * load advanced configs from server
    */
   loadAdvancedConfigs: function () {
-    var configs = (App.db.getAdvancedServiceConfig()) ? App.db.getAdvancedServiceConfig() : [];
+    var configs = (this.getDBProperty('advancedServiceConfig')) ? this.getDBProperty('advancedServiceConfig') : [];
     this.get('content.services').filterProperty('isSelected', true).mapProperty('serviceName').forEach(function (_serviceName) {
       var serviceComponents = App.config.loadAdvancedConfig(_serviceName);
       if (serviceComponents) {
@@ -683,13 +688,13 @@ App.WizardController = Em.Controller.extend({
       }
     }, this);
     this.set('content.advancedServiceConfig', configs);
-    App.db.setAdvancedServiceConfig(configs);
+    this.setDBProperty('advancedServiceConfig', configs);
   },
   /**
    * Load serviceConfigProperties to model
    */
   loadServiceConfigProperties: function () {
-    var serviceConfigProperties = App.db.getServiceConfigProperties();
+    var serviceConfigProperties = this.getDBProperty('serviceConfigProperties');
     this.set('content.serviceConfigProperties', serviceConfigProperties);
     console.log("AddHostController.loadServiceConfigProperties: loaded config ", serviceConfigProperties);
   },
@@ -736,7 +741,7 @@ App.WizardController = Em.Controller.extend({
         serviceConfigProperties.push(configProperty);
       }, this);
     }, this);
-    App.db.setServiceConfigProperties(serviceConfigProperties);
+    this.setDBProperty('serviceConfigProperties', serviceConfigProperties);
     this.set('content.serviceConfigProperties', serviceConfigProperties);
   }
 });

+ 3 - 5
ambari-web/app/controllers/wizard/step3_controller.js

@@ -41,10 +41,8 @@ App.WizardStep3Controller = Em.Controller.extend({
       var hosts = this.get('controller.hosts').filter(function(_host) {
         if (_host.get('bootStatus') == category.get('hostsBootStatus')) {
           return true;
-        } else if (_host.get('bootStatus') == 'DONE' && category.get('hostsBootStatus') == 'REGISTERING') {
-          return true;
         } else {
-          return false;
+          return (_host.get('bootStatus') == 'DONE' && category.get('hostsBootStatus') == 'REGISTERING');
         }
       }, this);
       return hosts.get('length');
@@ -105,7 +103,7 @@ App.WizardStep3Controller = Em.Controller.extend({
   navigateStep: function () {
     if(this.get('isLoaded')){
       if (this.get('content.installOptions.manualInstall') !== true) {
-        if (!App.db.getBootStatus()) {
+        if (!this.get('wizardController').getDBProperty('bootStatus')) {
           this.startBootstrap();
         }
       } else {
@@ -129,7 +127,7 @@ App.WizardStep3Controller = Em.Controller.extend({
     this.set('stopBootstrap', false);
     this.hosts.clear();
     this.bootHosts.clear();
-    App.db.setBootStatus(false);
+    this.get('wizardController').setDBProperty('bootStatus', false);
     this.set('isSubmitDisabled', true);
     this.set('isRetryDisabled', true);
   },

+ 6 - 1
ambari-web/app/controllers/wizard/step7_controller.js

@@ -92,8 +92,13 @@ App.WizardStep7Controller = Em.Controller.extend({
     if(this.get('allInstalledServiceNames').contains('YARN') && !App.supports.capacitySchedulerUi){
       configs = App.config.fileConfigsIntoTextarea(configs, 'capacity-scheduler.xml');
     }
+    var localDB = {
+      hosts: this.get('wizardController').getDBProperty('hosts'),
+      masterComponentHosts: this.get('wizardController').getDBProperty('masterComponentHosts'),
+      slaveComponentHosts: this.get('wizardController').getDBProperty('slaveComponentHosts')
+    };
     //STEP 6: Distribute configs by service and wrap each one in App.ServiceConfigProperty (configs -> serviceConfigs)
-    var serviceConfigs = App.config.renderConfigs(configs, storedConfigs, this.get('allInstalledServiceNames'), this.get('selectedServiceNames'));
+    var serviceConfigs = App.config.renderConfigs(configs, storedConfigs, this.get('allInstalledServiceNames'), this.get('selectedServiceNames'), localDB);
     this.set('stepConfigs', serviceConfigs);
     this.activateSpecialConfigs();
     this.set('selectedService', this.get('stepConfigs').filterProperty('showConfig', true).objectAt(0));

+ 7 - 7
ambari-web/app/controllers/wizard/step8_controller.js

@@ -611,14 +611,14 @@ App.WizardStep8Controller = Em.Controller.extend({
   },
 
   loadHiveDbValue: function (dbComponent) {
-    var hiveDb = App.db.getServiceConfigProperties().findProperty('name', 'hive_database');
+    var hiveDb = this.get('wizardController').getDBProperty('serviceConfigProperties').findProperty('name', 'hive_database');
     if (hiveDb.value === 'New MySQL Database') {
       dbComponent.set('component_value', 'MySQL (New Database)');
     } else if(hiveDb.value === 'Existing MySQL Database'){
-      var db = App.db.getServiceConfigProperties().findProperty('name', 'hive_existing_mysql_database');
+      var db = this.get('wizardController').getDBProperty('serviceConfigProperties').findProperty('name', 'hive_existing_mysql_database');
       dbComponent.set('component_value', db.value + ' (' + hiveDb.value + ')');
     } else { // existing oracle database
-      var db = App.db.getServiceConfigProperties().findProperty('name', 'hive_existing_oracle_database');
+      var db = this.get('wizardController').getDBProperty('serviceConfigProperties').findProperty('name', 'hive_existing_oracle_database');
       dbComponent.set('component_value', db.value + ' (' + hiveDb.value + ')');
     }
   },
@@ -738,17 +738,17 @@ App.WizardStep8Controller = Em.Controller.extend({
   },
 
   loadOozieDbValue: function (dbComponent) {
-    var oozieDb = App.db.getServiceConfigProperties().findProperty('name', 'oozie_database');
+    var oozieDb = this.get('wizardController').getDBProperty('serviceConfigProperties').findProperty('name', 'oozie_database');
     if (oozieDb.value === 'New Derby Database'){
-      var db = App.db.getServiceConfigProperties().findProperty('name', 'oozie_derby_database');
+      var db = this.get('wizardController').getDBProperty('serviceConfigProperties').findProperty('name', 'oozie_derby_database');
       dbComponent.set('component_value', db.value + ' (' + oozieDb.value + ')');
     }/* else if (oozieDb.value === 'New MySQL Database') {
       dbComponent.set('component_value', 'MySQL (New Database)');
     } */else if(oozieDb.value === 'Existing MySQL Database'){
-      var db = App.db.getServiceConfigProperties().findProperty('name', 'oozie_existing_mysql_database');
+      var db = this.get('wizardController').getDBProperty('serviceConfigProperties').findProperty('name', 'oozie_existing_mysql_database');
       dbComponent.set('component_value', db.value + ' (' + oozieDb.value + ')');
     } else { // existing oracle database
-      var db = App.db.getServiceConfigProperties().findProperty('name', 'oozie_existing_oracle_database');
+      var db = this.get('wizardController').getDBProperty('serviceConfigProperties').findProperty('name', 'oozie_existing_oracle_database');
       dbComponent.set('component_value', db.value + ' (' + oozieDb.value + ')');
     }
 

+ 2 - 2
ambari-web/app/controllers/wizard/step9_controller.js

@@ -352,7 +352,7 @@ App.WizardStep9Controller = Em.Controller.extend({
 
     if (this.get('content.controllerName') === 'addHostController') {
       var hostnames = [];
-      for (var hostname in App.db.getHosts()) {
+      for (var hostname in this.get('wizardController').getDBProperty('hosts')) {
         hostnames.push(hostname);
       }
       data = {
@@ -745,7 +745,7 @@ App.WizardStep9Controller = Em.Controller.extend({
 
   loadLogData: function(requestId) {
     var url = this.getUrl(requestId);
-    var requestsId = App.db.getCluster().oldRequestsId;
+    var requestsId = this.get('wizardController').getDBProperty('cluster').oldRequestsId;
     if (App.testMode) {
       this.POLL_INTERVAL = 1;
     }

+ 0 - 4
ambari-web/app/mappers/dataset_mapper.js

@@ -181,9 +181,7 @@ App.dataSetMapper = App.QuickDataMapper.create({
         }
       }, this);
 
-      console.debug('Before load: App.Dataset.find().content : ' + App.Dataset.find().content);
       App.store.loadMany(this.get('model'), dataset_results);
-      console.debug('After load: App.Dataset.find().content : ' + App.Dataset.find().content);
 
       try {
         // Child records
@@ -204,9 +202,7 @@ App.dataSetMapper = App.QuickDataMapper.create({
           }, this)
         }, this);
 
-        console.debug('Before load: App.DataSetJob.find().content : ' + App.DataSetJob.find().content);
         App.store.loadMany(this.get('Jobs_model'), dataset_job_results);
-        console.debug('After load: App.DataSetJob.find().content : ' + App.DataSetJob.find().content);
       }
       catch (ex) {
         console.debug('Exception occured : ' + ex);

+ 17 - 4
ambari-web/app/routes/add_host_routes.js

@@ -96,6 +96,8 @@ module.exports = Em.Route.extend({
       controller.dataLoading().done(function () {
         controller.loadServicesFromServer();
         controller.loadAllPriorSteps();
+        var wizardStep2Controller = router.get('wizardStep2Controller');
+        wizardStep2Controller.set('wizardController', controller);
         controller.connectOutlet('wizardStep2', controller.get('content'));
       })
     },
@@ -106,7 +108,7 @@ module.exports = Em.Route.extend({
       //hosts was saved to content.hosts inside wizardStep2Controller
       controller.save('hosts');
       router.transitionTo('step2');
-      App.db.setBootStatus(false);
+      controller.setDBProperty('bootStatus', false);
     },
     evaluateStep: function (router) {
       console.log('in addHost.step1:evaluateStep');
@@ -129,6 +131,8 @@ module.exports = Em.Route.extend({
       controller.setCurrentStep('2');
       controller.dataLoading().done(function () {
         controller.loadAllPriorSteps();
+        var wizardStep3Controller = router.get('wizardStep3Controller');
+        wizardStep3Controller.set('wizardController', controller);
         controller.connectOutlet('wizardStep3', controller.get('content'));
       })
     },
@@ -144,7 +148,7 @@ module.exports = Em.Route.extend({
       addHostController.saveConfirmedHosts(wizardStep3Controller);
       addHostController.saveClients();
 
-      App.db.setBootStatus(true);
+      addHostController.setDBProperty('bootStatus', true);
       router.transitionTo('step3');
     },
     /**
@@ -168,8 +172,9 @@ module.exports = Em.Route.extend({
       controller.setCurrentStep('3');
       controller.dataLoading().done(function () {
         controller.loadAllPriorSteps();
-        controller.connectOutlet('wizardStep6', controller.get('content'));
         var wizardStep6Controller = router.get('wizardStep6Controller');
+        wizardStep6Controller.set('wizardController', controller);
+        controller.connectOutlet('wizardStep6', controller.get('content'));
         wizardStep6Controller.set('isMasters', false);
       });
     },
@@ -181,9 +186,10 @@ module.exports = Em.Route.extend({
       if (wizardStep6Controller.validate()) {
         addHostController.saveSlaveComponentHosts(wizardStep6Controller);
         addHostController.get('content').set('serviceConfigProperties', null);
-        App.db.setServiceConfigProperties(null);
+        addHostController.setDBProperty('serviceConfigProperties', null);
         addHostController.loadAdvancedConfigs();
         var wizardStep7Controller = router.get('wizardStep7Controller');
+        wizardStep7Controller.set('wizardController', addHostController);
         wizardStep7Controller.set('content', addHostController.get('content'));
         wizardStep7Controller.loadStep();
         addHostController.saveServiceConfigProperties(wizardStep7Controller);
@@ -200,6 +206,8 @@ module.exports = Em.Route.extend({
       controller.setCurrentStep('4');
       controller.dataLoading().done(function () {
         controller.loadAllPriorSteps();
+        var wizardStep8Controller = router.get('wizardStep8Controller');
+        wizardStep8Controller.set('wizardController', controller);
         controller.connectOutlet('wizardStep8', controller.get('content'));
       })
     },
@@ -228,6 +236,8 @@ module.exports = Em.Route.extend({
       var controller = router.get('addHostController');
       controller.setCurrentStep('5');
       controller.dataLoading().done(function () {
+        var wizardStep9Controller = router.get('wizardStep9Controller');
+        wizardStep9Controller.set('wizardController', controller);
         controller.loadAllPriorSteps();
         if (!App.testMode) {              //if test mode is ON don't disable prior steps link.
           controller.setLowerStepsDisable(5);
@@ -239,6 +249,7 @@ module.exports = Em.Route.extend({
     retry: function(router,context) {
       var addHostController = router.get('addHostController');
       var wizardStep9Controller = router.get('wizardStep9Controller');
+      wizardStep9Controller.set('wizardController', addHostController);
       if (wizardStep9Controller.get('showRetry')) {
         if (wizardStep9Controller.get('content.cluster.status') === 'INSTALL FAILED') {
           var isRetry = true;
@@ -274,6 +285,8 @@ module.exports = Em.Route.extend({
       controller.setCurrentStep('6');
       controller.dataLoading().done(function () {
         controller.loadAllPriorSteps();
+        var wizardStep10Controller = router.get('wizardStep10Controller');
+        wizardStep10Controller.set('wizardController', controller);
         if (!App.testMode) {              //if test mode is ON don't disable prior steps link.
           controller.setLowerStepsDisable(6);
         }

+ 11 - 4
ambari-web/app/routes/add_service_routes.js

@@ -114,7 +114,7 @@ module.exports = Em.Route.extend({
       var wizardStep4Controller = router.get('wizardStep4Controller');
       addServiceController.saveServices(wizardStep4Controller);
       addServiceController.saveClients(wizardStep4Controller);
-      App.db.setMasterComponentHosts(undefined);
+      addServiceController.setDBProperty('masterComponentHosts', undefined);
       router.transitionTo('step2');
     }
   }),
@@ -137,7 +137,7 @@ module.exports = Em.Route.extend({
       var addServiceController = router.get('addServiceController');
       var wizardStep5Controller = router.get('wizardStep5Controller');
       addServiceController.saveMasterComponentHosts(wizardStep5Controller);
-      App.db.setSlaveComponentHosts(undefined);
+      addServiceController.setDBProperty('slaveComponentHosts', undefined);
       router.transitionTo('step3');
     }
   }),
@@ -150,8 +150,9 @@ module.exports = Em.Route.extend({
       controller.setCurrentStep('3');
       controller.dataLoading().done(function () {
         controller.loadAllPriorSteps();
-        controller.connectOutlet('wizardStep6', controller.get('content'));
         var wizardStep6Controller = router.get('wizardStep6Controller');
+        wizardStep6Controller.set('wizardController', controller);
+        controller.connectOutlet('wizardStep6', controller.get('content'));
         wizardStep6Controller.set('isMasters', false);
       })
     },
@@ -170,7 +171,7 @@ module.exports = Em.Route.extend({
       if (wizardStep6Controller.validate()) {
         addServiceController.saveSlaveComponentHosts(wizardStep6Controller);
         addServiceController.get('content').set('serviceConfigProperties', null);
-        App.db.setServiceConfigProperties(null);
+        addServiceController.setDBProperty('serviceConfigProperties', null);
         router.transitionTo('step4');
       }
     }
@@ -185,6 +186,8 @@ module.exports = Em.Route.extend({
       controller.dataLoading().done(function () {
         controller.loadAllPriorSteps();
         controller.loadAdvancedConfigs();
+        var wizardStep7Controller = router.get('wizardStep7Controller');
+        wizardStep7Controller.set('wizardController', controller);
         controller.connectOutlet('wizardStep7', controller.get('content'));
       })
     },
@@ -214,6 +217,8 @@ module.exports = Em.Route.extend({
       controller.setCurrentStep('5');
       controller.dataLoading().done(function () {
         controller.loadAllPriorSteps();
+        var wizardStep8Controller = router.get('wizardStep8Controller');
+        wizardStep8Controller.set('wizardController', controller);
         controller.connectOutlet('wizardStep8', controller.get('content'));
       })
     },
@@ -256,6 +261,8 @@ module.exports = Em.Route.extend({
       controller.setCurrentStep('6');
       controller.dataLoading().done(function () {
         controller.loadAllPriorSteps();
+        var wizardStep9Controller = router.get('wizardStep9Controller');
+        wizardStep9Controller.set('wizardController', controller);
         if (!App.testMode) {              //if test mode is ON don't disable prior steps link.
           controller.setLowerStepsDisable(6);
         }

+ 15 - 7
ambari-web/app/routes/installer.js

@@ -146,10 +146,10 @@ module.exports = Em.Route.extend({
       var myVar = setInterval(
         function(){
           var cnt = installerController.get('validationCnt');
-          var invalidCnt = installerController.get('invalidCnt')
+          var invalidCnt = installerController.get('invalidCnt');
           if (cnt == 0 && invalidCnt == 0) { // all feedback exist and no invalid url
             installerController.saveStacks(wizardStep1Controller);
-            App.db.setService(undefined);
+            installerController.setDBProperty('service', undefined);
             installerController.clearInstallOptions();
             router.transitionTo('step2');
             clearInterval(myVar);
@@ -188,6 +188,8 @@ module.exports = Em.Route.extend({
       var controller = router.get('installerController');
       controller.setCurrentStep('3');
       controller.loadAllPriorSteps();
+      var wizardStep3Controller = router.get('wizardStep3Controller');
+      wizardStep3Controller.set('wizardController', controller);
       controller.connectOutlet('wizardStep3', controller.get('content'));
     },
     back: function(router){
@@ -197,7 +199,7 @@ module.exports = Em.Route.extend({
       var installerController = router.get('installerController');
       var wizardStep3Controller = router.get('wizardStep3Controller');
       installerController.saveConfirmedHosts(wizardStep3Controller);
-      App.db.setBootStatus(true);
+      installerController.setDBProperty('bootStatus', true);
       installerController.loadServicesFromServer();
       router.transitionTo('step4');
     },
@@ -234,7 +236,7 @@ module.exports = Em.Route.extend({
       controller.saveServices(wizardStep4Controller);
       controller.saveClients(wizardStep4Controller);
 
-      App.db.setMasterComponentHosts(undefined);
+      controller.setDBProperty('masterComponentHosts', undefined);
       router.transitionTo('step5');
     }
   }),
@@ -255,7 +257,7 @@ module.exports = Em.Route.extend({
       var controller = router.get('installerController');
       var wizardStep5Controller = router.get('wizardStep5Controller');
       controller.saveMasterComponentHosts(wizardStep5Controller);
-      App.db.setSlaveComponentHosts(undefined);
+      controller.setDBProperty('slaveComponentHosts', undefined);
       router.transitionTo('step6');
     }
   }),
@@ -280,8 +282,8 @@ module.exports = Em.Route.extend({
       if (wizardStep6Controller.validate()) {
         controller.saveSlaveComponentHosts(wizardStep6Controller);
         controller.get('content').set('serviceConfigProperties', null);
-        App.db.setServiceConfigProperties(null);
-        App.db.setAdvancedServiceConfig(null);
+        controller.setDBProperty('serviceConfigProperties', null);
+        controller.setDBProperty('advancedServiceConfig', null);
         controller.loadAdvancedConfigs();
         router.transitionTo('step7');
       }
@@ -298,6 +300,8 @@ module.exports = Em.Route.extend({
     },
     connectOutlets: function (router, context) {
       var controller = router.get('installerController');
+      var wizardStep7Controller = router.get('wizardStep7Controller');
+      wizardStep7Controller.set('wizardController', controller);
       controller.connectOutlet('wizardStep7', controller.get('content'));
     },
     back: Em.Router.transitionTo('step6'),
@@ -316,6 +320,8 @@ module.exports = Em.Route.extend({
       var controller = router.get('installerController');
       controller.setCurrentStep('8');
       controller.loadAllPriorSteps();
+      var wizardStep8Controller = router.get('wizardStep8Controller');
+      wizardStep8Controller.set('wizardController', controller);
       controller.connectOutlet('wizardStep8', controller.get('content'));
     },
     back: Em.Router.transitionTo('step7'),
@@ -342,6 +348,8 @@ module.exports = Em.Route.extend({
       if (!App.testMode) {
         controller.setLowerStepsDisable(9);
       }
+      var wizardStep9Controller = router.get('wizardStep9Controller');
+      wizardStep9Controller.set('wizardController', controller);
       controller.connectOutlet('wizardStep9', controller.get('content'));
     },
     back: Em.Router.transitionTo('step8'),

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

@@ -123,7 +123,6 @@ module.exports = Em.Route.extend({
         controller.set('datasets', datasets);
       },
       connectOutlets: function (router, context) {
-        console.debug('Inside connectOutlets in ' + App.get('router.currentState.path'));
         router.get('mainController').connectOutlet('mainMirroring');
       }
     }),
@@ -173,13 +172,11 @@ module.exports = Em.Route.extend({
             newDataSet = controller.getNewDataSet();
             var schedule = newDataSet.get('schedule');
             var targetCluster = newDataSet.get('targetCluster');
-            console.debug('Before setting, schedule = ' + schedule + " , targetCluster = " + targetCluster);
             var scheduleRecord = App.Dataset.Schedule.createRecord(schedule);
             var dataSetRecord = App.Dataset.createRecord(newDataSet);
             scheduleRecord.set('dataset', dataSetRecord);
             dataSetRecord.set('schedule', scheduleRecord);
 
-            console.debug('After setting, schedule = ' + dataSetRecord.get('schedule') + " , targetCluster = " + dataSetRecord.get('targetCluster'));
             this.hide();
             router.transitionTo('main.mirroring.index');
           },
@@ -278,7 +275,6 @@ module.exports = Em.Route.extend({
 
         enter: function (router, context) {
 
-          console.debug('Inside connectOutlets in ' + App.get('router.currentState.path'));
           var self = this;
           var controller = App.router.get('mainMirroringTargetClusterController');
           this.setupController(controller);

+ 1 - 6
ambari-web/app/utils/config.js

@@ -465,13 +465,8 @@ App.config = Em.Object.create({
    * @param selectedServiceNames
    * @return {Array}
    */
-  renderConfigs: function (configs, storedConfigs, allInstalledServiceNames, selectedServiceNames) {
+  renderConfigs: function (configs, storedConfigs, allInstalledServiceNames, selectedServiceNames, localDB) {
     var renderedServiceConfigs = [];
-    var localDB = {
-      hosts: App.db.getHosts(),
-      masterComponentHosts: App.db.getMasterComponentHosts(),
-      slaveComponentHosts: App.db.getSlaveComponentHosts()
-    };
     var services = [];
 
     this.get('preDefinedServiceConfigs').forEach(function (serviceConfig) {

+ 1 - 11
ambari-web/app/utils/db.js

@@ -95,7 +95,7 @@ App.db.get = function (namespace, key) {
 };
 
 App.db.set = function (namespace, key, value) {
-  console.log('TRACE: Entering db:set' + key + ';value: ' + value);
+  console.log('TRACE: Entering db:set' + key + ';value: ', value);
   App.db.data = localStorage.getObject('ambari');
   App.db.data[namespace][key] = value;
   localStorage.setObject('ambari', App.db.data);
@@ -216,16 +216,6 @@ App.db.setBootStatus = function (status) {
   localStorage.setObject('ambari', App.db.data);
 };
 
-App.db.removeHosts = function (hostInfo) {
-  console.log('TRACE: Entering db:setSoftRepo function');
-  var hostList = App.db.getHosts();
-  hostInfo.forEach(function (_hostInfo) {
-    var host = _hostInfo.hostName;
-    delete hostList[host];
-  });
-  App.db.setHosts(hostList);
-};
-
 App.db.setService = function (serviceInfo) {
   App.db.data = localStorage.getObject('ambari');
   App.db.data.Installer.serviceInfo = serviceInfo;

+ 0 - 2
ambari-web/app/views/main/mirroring/dataset_view.js

@@ -132,7 +132,6 @@ App.MainMirroringDataSetView = Em.View.extend({
 
   hourOptions: Ember.Object.create({
     selectedForStart: function (key, value) {
-      console.debug('selectedForStart value : ' + value);
       if (value) {
         var content = this.get('content');
         for (var i = 0; i < content.length; i++) {
@@ -314,7 +313,6 @@ App.MainMirroringDataSetView = Em.View.extend({
    * When View is displayed, it asks the controller "Give me the Model".
    */
   didInsertElement: function () {
-    console.debug('In didInsertElement');
     var controller = this.get('controller');
 
     // Load model and expose to view

+ 0 - 1
ambari-web/app/views/main/mirroring/dropdown_view.js

@@ -37,7 +37,6 @@ App.MainMirroringDropdownView = Em.View.extend({
   },
 
   didInsertElement:function () {
-    console.debug('In didInsertElement');
     var controller = this.get('controller');
   }
 })

+ 0 - 1
ambari-web/app/views/main/mirroring/testConnectionResults_view.js

@@ -27,7 +27,6 @@ App.TestConnectionResultsView = Em.View.extend({
   name: 'testConnectionResultsView',
 
   didInsertElement: function () {
-    console.debug('In didInsertElement');
     var controller = this.get('controller');
     controller.tryConnecting();
   }