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

ambari git commit: AMBARI-9944 RU: web should not display older versions by default. (ababiichuk)

Repository: ambari
Updated Branches:
  refs/heads/trunk 1fcffa731 -> d39ceac00


AMBARI-9944 RU: web should not display older versions by default. (ababiichuk)


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

Branch: refs/heads/trunk
Commit: d39ceac00289c0372467db506abc856fdf3b4a1e
Parents: 1fcffa7
Author: aBabiichuk <ab...@hortonworks.com>
Authored: Thu Mar 5 20:50:57 2015 +0200
Committer: aBabiichuk <ab...@hortonworks.com>
Committed: Thu Mar 5 20:50:57 2015 +0200

----------------------------------------------------------------------
 ambari-web/app/config.js                        |  1 +
 ambari-web/app/mappers/hosts_mapper.js          |  7 +-
 ambari-web/app/models/host_stack_version.js     |  2 +-
 ambari-web/app/templates/main/host.hbs          |  2 +-
 .../main/admin/stack_upgrade/versions_view.js   | 10 ++-
 ambari-web/app/views/main/host.js               | 10 +--
 .../app/views/main/host/stack_versions_view.js  |  4 +-
 .../admin/stack_upgrade/version_view_test.js    | 72 ++++++++++++--------
 .../views/main/host/stack_versions_view_test.js | 10 +--
 9 files changed, 74 insertions(+), 44 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/d39ceac0/ambari-web/app/config.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/config.js b/ambari-web/app/config.js
index 02bf616..2bcdab4 100644
--- a/ambari-web/app/config.js
+++ b/ambari-web/app/config.js
@@ -64,6 +64,7 @@ App.enableExperimental = false;
 App.supports = {
   preUpgradeCheck: true,
   stackUpgrade: true,
+  displayOlderVersions: false,
   autoRollbackHA: false,
   alwaysEnableManagedMySQLForHive: false,
   preKerberizeCheck: false,

http://git-wip-us.apache.org/repos/asf/ambari/blob/d39ceac0/ambari-web/app/mappers/hosts_mapper.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mappers/hosts_mapper.js b/ambari-web/app/mappers/hosts_mapper.js
index 5af2dae..f09da5d 100644
--- a/ambari-web/app/mappers/hosts_mapper.js
+++ b/ambari-web/app/mappers/hosts_mapper.js
@@ -74,7 +74,8 @@ App.hostsMapper = App.QuickDataMapper.create({
     version: 'HostStackVersions.version',
     status: 'HostStackVersions.state',
     host_name: 'host_name',
-    host_id: 'host_name'
+    host_id: 'host_name',
+    is_visible: 'is_visible'
   },
   map: function (json, returnMapped) {
     returnMapped = !!returnMapped;
@@ -109,8 +110,12 @@ App.hostsMapper = App.QuickDataMapper.create({
         }, this);
 
         if (App.get('supports.stackUpgrade')) {
+          var currentVersion = item.stack_versions.findProperty('HostStackVersions.state', 'CURRENT');
+          var currentVersionNumber = Em.get(currentVersion.repository_versions[0], 'RepositoryVersions.repository_version');
           item.stack_versions.forEach(function (stackVersion) {
             stackVersion.host_name = item.Hosts.host_name;
+            stackVersion.is_visible = stringUtils.compareVersions(Em.get(stackVersion.repository_versions[0], 'RepositoryVersions.repository_version'), currentVersionNumber) >= 0
+              || App.get('supports.displayOlderVersions') || !currentVersionNumber;
             stackVersions.push(this.parseIt(stackVersion, this.stackVersionConfig));
           }, this);
         }

http://git-wip-us.apache.org/repos/asf/ambari/blob/d39ceac0/ambari-web/app/models/host_stack_version.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/models/host_stack_version.js b/ambari-web/app/models/host_stack_version.js
index 55639ab..2d49a76 100644
--- a/ambari-web/app/models/host_stack_version.js
+++ b/ambari-web/app/models/host_stack_version.js
@@ -24,7 +24,7 @@ App.HostStackVersion = DS.Model.extend({
   repo: DS.belongsTo('App.Repository'),
   repoVersion: DS.attr('string'),
   displayName: DS.attr('string'),
-
+  isVisible: DS.attr('boolean', {defaultValue: true}),
   /**
    * possible property value defined at App.HostStackVersion.statusDefinition
    * @type {string}

http://git-wip-us.apache.org/repos/asf/ambari/blob/d39ceac0/ambari-web/app/templates/main/host.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/host.hbs b/ambari-web/app/templates/main/host.hbs
index 40b9c61..3724926 100644
--- a/ambari-web/app/templates/main/host.hbs
+++ b/ambari-web/app/templates/main/host.hbs
@@ -140,7 +140,7 @@
               {{view.currentVersion}}
             </a>
             <div {{bindAttr class="view.isVersionsCollapsed:noDisplay:display :stack-versions :collapsed-list"}}>
-              {{{view.versionlabels}}}
+              {{{view.versionLabels}}}
             </div>
           </td>
           <td class="host-table-components">

http://git-wip-us.apache.org/repos/asf/ambari/blob/d39ceac0/ambari-web/app/views/main/admin/stack_upgrade/versions_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/admin/stack_upgrade/versions_view.js b/ambari-web/app/views/main/admin/stack_upgrade/versions_view.js
index e6832f8..3b2848d 100644
--- a/ambari-web/app/views/main/admin/stack_upgrade/versions_view.js
+++ b/ambari-web/app/views/main/admin/stack_upgrade/versions_view.js
@@ -138,7 +138,7 @@ App.MainAdminStackVersionsView = Em.View.extend({
   filterBy: function (versions, filter) {
     var currentVersion = this.get('controller.currentVersion');
     if (filter && filter.get('value')) {
-      return versions.filter(function (version) {
+      versions = versions.filter(function (version) {
         var status = version.get('status');
         if (status === 'INSTALLED' && ['UPGRADE_READY', 'INSTALLED'].contains(filter.get('value'))) {
           if (filter.get('value') === 'UPGRADE_READY') {
@@ -153,7 +153,13 @@ App.MainAdminStackVersionsView = Em.View.extend({
         }
       }, this);
     }
-    return versions.toArray();
+    if (App.get('supports.displayOlderVersions')) {
+      return versions.toArray();
+    } else {
+      return versions.filter(function(v) {
+        return stringUtils.compareVersions(v.get('repositoryVersion'), Em.get(currentVersion, 'repository_version')) >= 0;
+      }).toArray();
+    }
   },
 
   /**

http://git-wip-us.apache.org/repos/asf/ambari/blob/d39ceac0/ambari-web/app/views/main/host.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/host.js b/ambari-web/app/views/main/host.js
index f2d4002..f771f75 100644
--- a/ambari-web/app/views/main/host.js
+++ b/ambari-web/app/views/main/host.js
@@ -594,7 +594,7 @@ App.MainHostView = App.TableView.extend(App.TableServerViewMixin, {
      * @returns {Boolean}
      */
     hasSingleVersion: function() {
-      return this.get('content.stackVersions.length') < 2;
+      return this.get('content.stackVersions').filterProperty('isVisible', true).length < 2;
     }.property('content.stackVersions.length'),
 
     /**
@@ -611,8 +611,10 @@ App.MainHostView = App.TableView.extend(App.TableServerViewMixin, {
      * String with list of host components <code>displayName</code>
      * @returns {String}
      */
-    versionlabels: function () {
-      return this.get('content.stackVersions').filterProperty('isCurrent', false).map(function (version) {
+    versionLabels: function () {
+      return this.get('content.stackVersions').filter(function(sv) {
+        return sv.get('isVisible') === true && sv.get('isCurrent') === false;
+      }).map(function (version) {
         return version.get('displayName');
       }).join("<br />");
     }.property('content.stackVersions.length'),
@@ -1042,7 +1044,7 @@ App.MainHostView = App.TableView.extend(App.TableServerViewMixin, {
               value: '',
               label: Em.I18n.t('common.all')
             }
-          ].concat(this.get('controller.allHostStackVersions').mapProperty('displayName').uniq().map(function (version) {
+          ].concat(this.get('controller.allHostStackVersions').filterProperty('isVisible', true).mapProperty('displayName').uniq().map(function (version) {
             return {
               value: version,
               label: version

http://git-wip-us.apache.org/repos/asf/ambari/blob/d39ceac0/ambari-web/app/views/main/host/stack_versions_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/host/stack_versions_view.js b/ambari-web/app/views/main/host/stack_versions_view.js
index 5e57a21..df1e38f 100644
--- a/ambari-web/app/views/main/host/stack_versions_view.js
+++ b/ambari-web/app/views/main/host/stack_versions_view.js
@@ -35,8 +35,8 @@ App.MainHostStackVersionsView = App.TableView.extend({
    * @type {Ember.Array}
    */
   content: function () {
-    return this.get('host.stackVersions');
-  }.property('host.stackVersions'),
+    return this.get('host.stackVersions').filterProperty('isVisible', true);
+  }.property('host.stackVersions.length'),
 
   /**
    * return filtered number of all content number information displayed on the page footer bar

http://git-wip-us.apache.org/repos/asf/ambari/blob/d39ceac0/ambari-web/test/views/main/admin/stack_upgrade/version_view_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/views/main/admin/stack_upgrade/version_view_test.js b/ambari-web/test/views/main/admin/stack_upgrade/version_view_test.js
index 8e12b5c..5a457bf 100644
--- a/ambari-web/test/views/main/admin/stack_upgrade/version_view_test.js
+++ b/ambari-web/test/views/main/admin/stack_upgrade/version_view_test.js
@@ -33,10 +33,12 @@ describe('App.mainAdminStackVersionsView', function () {
   describe("#filterBy()", function () {
     var versions = [
       Em.Object.create({
-        status: "INIT"
+        status: "INIT",
+        repositoryVersion: "2.2.1.1"
       }),
       Em.Object.create({
-        status: "INSTALLING"
+        status: "INSTALLING",
+        repositoryVersion: "2.2.1.1"
       }),
       Em.Object.create({
         status: "INSTALLED",
@@ -47,19 +49,24 @@ describe('App.mainAdminStackVersionsView', function () {
         repositoryVersion: "2.2.2.1"
       }),
       Em.Object.create({
-        status: "INSTALL_FAILED"
+        status: "INSTALL_FAILED",
+        repositoryVersion: "2.2.1.1"
       }),
       Em.Object.create({
-        status: "OUT_OF_SYNC"
+        status: "OUT_OF_SYNC",
+        repositoryVersion: "2.2.1.1"
       }),
       Em.Object.create({
-        status: "UPGRADING"
+        status: "UPGRADING",
+        repositoryVersion: "2.2.1.1"
       }),
       Em.Object.create({
-        status: "UPGRADED"
+        status: "UPGRADED",
+        repositoryVersion: "2.2.1.1"
       }),
       Em.Object.create({
-        status: "CURRENT"
+        status: "CURRENT",
+        repositoryVersion: "2.2.1.1"
       })
     ];
 
@@ -70,33 +77,36 @@ describe('App.mainAdminStackVersionsView', function () {
         }),
         filteredVersions: [
           Em.Object.create({
-            status: "INIT"
+            status: "INIT",
+            repositoryVersion: "2.2.1.1"
           }),
           Em.Object.create({
-            status: "INSTALLING"
-          }),
-          Em.Object.create({
-            status: "INSTALLED",
-            repositoryVersion: "2.2.0.1"
+            status: "INSTALLING",
+            repositoryVersion: "2.2.1.1"
           }),
           Em.Object.create({
             status: "INSTALLED",
             repositoryVersion: "2.2.2.1"
           }),
           Em.Object.create({
-            status: "INSTALL_FAILED"
+            status: "INSTALL_FAILED",
+            repositoryVersion: "2.2.1.1"
           }),
           Em.Object.create({
-            status: "OUT_OF_SYNC"
+            status: "OUT_OF_SYNC",
+            repositoryVersion: "2.2.1.1"
           }),
           Em.Object.create({
-            status: "UPGRADING"
+            status: "UPGRADING",
+            repositoryVersion: "2.2.1.1"
           }),
           Em.Object.create({
-            status: "UPGRADED"
+            status: "UPGRADED",
+            repositoryVersion: "2.2.1.1"
           }),
           Em.Object.create({
-            status: "CURRENT"
+            status: "CURRENT",
+            repositoryVersion: "2.2.1.1"
           })
         ]
       },
@@ -106,16 +116,20 @@ describe('App.mainAdminStackVersionsView', function () {
         }),
         filteredVersions: [
           Em.Object.create({
-            status: "INIT"
+            status: "INIT",
+            repositoryVersion: "2.2.1.1"
           }),
           Em.Object.create({
-            status: "INSTALLING"
+            status: "INSTALLING",
+            repositoryVersion: "2.2.1.1"
           }),
           Em.Object.create({
-            status: "INSTALL_FAILED"
+            status: "INSTALL_FAILED",
+            repositoryVersion: "2.2.1.1"
           }),
           Em.Object.create({
-            status: "OUT_OF_SYNC"
+            status: "OUT_OF_SYNC",
+            repositoryVersion: "2.2.1.1"
           })
         ]
       },
@@ -124,10 +138,7 @@ describe('App.mainAdminStackVersionsView', function () {
           value: 'INSTALLED'
         }),
         filteredVersions: [
-          Em.Object.create({
-            status: "INSTALLED",
-            repositoryVersion: "2.2.0.1"
-          })
+
         ]
       },
       {
@@ -147,7 +158,8 @@ describe('App.mainAdminStackVersionsView', function () {
         }),
         filteredVersions: [
           Em.Object.create({
-            status: "CURRENT"
+            status: "CURRENT",
+            repositoryVersion: "2.2.1.1"
           })
         ]
       },
@@ -157,7 +169,8 @@ describe('App.mainAdminStackVersionsView', function () {
         }),
         filteredVersions: [
           Em.Object.create({
-            status: "UPGRADING"
+            status: "UPGRADING",
+            repositoryVersion: "2.2.1.1"
           })
         ]
       },
@@ -167,7 +180,8 @@ describe('App.mainAdminStackVersionsView', function () {
         }),
         filteredVersions: [
           Em.Object.create({
-            status: "UPGRADED"
+            status: "UPGRADED",
+            repositoryVersion: "2.2.1.1"
           })
         ]
       }

http://git-wip-us.apache.org/repos/asf/ambari/blob/d39ceac0/ambari-web/test/views/main/host/stack_versions_view_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/views/main/host/stack_versions_view_test.js b/ambari-web/test/views/main/host/stack_versions_view_test.js
index 86bcbff..8023cc9 100644
--- a/ambari-web/test/views/main/host/stack_versions_view_test.js
+++ b/ambari-web/test/views/main/host/stack_versions_view_test.js
@@ -21,7 +21,11 @@ var App = require('app');
 describe('App.MainHostStackVersionsView', function() {
   var view = App.MainHostStackVersionsView.create({
     filteredCount: 0,
-    totalCount: 0
+    totalCount: 0,
+    host: {
+      id: 1,
+      stackVersions: []
+    }
   });
 
   describe("#host", function () {
@@ -39,9 +43,7 @@ describe('App.MainHostStackVersionsView', function() {
     });
     it("", function () {
       view.propertyDidChange('host');
-      expect(view.get('host')).to.eql(Em.Object.create({
-        id: 1
-      }));
+      expect(view.get('host.id')).to.equal(1);
     });
   });