浏览代码

AMBARI-5603. Ambari version is unknown during installer via UI.(xiwang)

Xi Wang 11 年之前
父节点
当前提交
179e5b29b4

+ 5 - 2
ambari-web/app/controllers/application.js

@@ -27,9 +27,12 @@ App.ApplicationController = Em.Controller.extend(App.UserPref, {
     return (App.router.get('clusterController.clusterName') || 'My Cluster');
   }.property('App.router.clusterController.clusterName'),
 
+  /**
+   * set ambari server version from installerController or mainController, making sure version shown up all the time
+   */
   ambariVersion: function () {
-    return (App.router.get('clusterController.ambariVersion') || Em.I18n.t('common.notAvailable'));
-  }.property('App.router.clusterController.ambariVersion'),
+    return (App.router.get('installerController.ambariServerVersion') || App.router.get('mainController.ambariServerVersion') || Em.I18n.t('common.notAvailable'));
+  }.property('App.router.installerController.ambariServerVersion', 'App.router.mainController.ambariServerVersion'),
 
   clusterDisplayName: function () {
     var name = this.get('clusterName');

+ 0 - 2
ambari-web/app/controllers/global/cluster_controller.js

@@ -23,7 +23,6 @@ App.ClusterController = Em.Controller.extend({
   cluster: null,
   isLoaded: false,
   ambariProperties: null,
-  ambariVersion: null,
   ambariViews: [],
   clusterDataLoadedPercent: 'width:0', // 0 to 1
   /**
@@ -457,7 +456,6 @@ App.ClusterController = Em.Controller.extend({
   loadAmbariPropertiesSuccess: function (data) {
     console.log('loading ambari properties');
     this.set('ambariProperties', data.RootServiceComponents.properties);
-    this.set('ambariVersion', data.RootServiceComponents.component_version);
   },
 
   loadAmbariPropertiesError: function () {

+ 9 - 9
ambari-web/app/controllers/installer.js

@@ -331,14 +331,9 @@ App.InstallerController = App.WizardController.extend({
   checkServerClientVersion: function () {
     var dfd = $.Deferred();
     var self = this;
-    if (App.get('version')) {
-      self.getServerVersion().done(function () {
-        dfd.resolve();
-      });
-    } else {
-      this.set('isServerClientVersionMismatch', false);
+    self.getServerVersion().done(function () {
       dfd.resolve();
-    }
+    });
     return dfd.promise();
   },
   getServerVersion: function(){
@@ -352,8 +347,13 @@ App.InstallerController = App.WizardController.extend({
   getServerVersionSuccessCallback: function (data) {
     var clientVersion = App.get('version');
     var serverVersion = (data.RootServiceComponents.component_version).toString();
-    this.set('versionConflictAlertBody', Em.I18n.t('app.versionMismatchAlert.body').format(serverVersion, clientVersion));
-    this.set('isServerClientVersionMismatch', clientVersion != serverVersion);
+    this.set('ambariServerVersion', serverVersion);
+    if (clientVersion) {
+      this.set('versionConflictAlertBody', Em.I18n.t('app.versionMismatchAlert.body').format(serverVersion, clientVersion));
+      this.set('isServerClientVersionMismatch', clientVersion != serverVersion);
+    } else {
+      this.set('isServerClientVersionMismatch', false);
+    }
   },
   getServerVersionErrorCallback: function () {
     console.log('ERROR: Cannot load Ambari server version');

+ 9 - 9
ambari-web/app/controllers/main.js

@@ -127,14 +127,9 @@ App.MainController = Em.Controller.extend({
   checkServerClientVersion: function () {
     var dfd = $.Deferred();
     var self = this;
-    if (App.get('version')) {
-      self.getServerVersion().done(function () {
-        dfd.resolve();
-      });
-    } else {
-      this.set('isServerClientVersionMismatch', false);
+    self.getServerVersion().done(function () {
       dfd.resolve();
-    }
+    });
     return dfd.promise();
   },
   getServerVersion: function(){
@@ -148,8 +143,13 @@ App.MainController = Em.Controller.extend({
   getServerVersionSuccessCallback: function (data) {
     var clientVersion = App.get('version');
     var serverVersion = (data.RootServiceComponents.component_version).toString();
-    this.set('versionConflictAlertBody', Em.I18n.t('app.versionMismatchAlert.body').format(serverVersion, clientVersion));
-    this.set('isServerClientVersionMismatch', clientVersion != serverVersion);
+    this.set('ambariServerVersion', serverVersion);
+    if (clientVersion) {
+      this.set('versionConflictAlertBody', Em.I18n.t('app.versionMismatchAlert.body').format(serverVersion, clientVersion));
+      this.set('isServerClientVersionMismatch', clientVersion != serverVersion);
+    } else {
+      this.set('isServerClientVersionMismatch', false);
+    }
   },
   getServerVersionErrorCallback: function () {
     console.log('ERROR: Cannot load Ambari server version');