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

ambari git commit: AMBARI-12635. If the "current" stack version status is OUT_OF_SYNC, no version box is displayed on Admin > Stacks > Version page (dlysnichenko)

Repository: ambari
Updated Branches:
  refs/heads/trunk b4f13a2fe -> 1a4ad4956


AMBARI-12635. If the "current" stack version status is OUT_OF_SYNC, no version box is displayed on Admin > Stacks > Version page (dlysnichenko)


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

Branch: refs/heads/trunk
Commit: 1a4ad49566a6651a73ecf14723975b2ae5ef0c98
Parents: b4f13a2
Author: Lisnichenko Dmitro <dl...@hortonworks.com>
Authored: Wed Aug 5 15:24:10 2015 +0300
Committer: Lisnichenko Dmitro <dl...@hortonworks.com>
Committed: Wed Aug 5 15:25:08 2015 +0300

----------------------------------------------------------------------
 .../server/state/cluster/ClusterImpl.java       |   2 +
 .../stack_upgrade/upgrade_version_box_view.js   |   2 +-
 .../main/admin/stack_upgrade/versions_view.js   |   2 +-
 .../admin/stack_upgrade/version_view_test.js    | 318 ++++++++++---------
 4 files changed, 175 insertions(+), 149 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/1a4ad495/ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java
index 6b92e87..1f8bf8d 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java
@@ -1250,6 +1250,8 @@ public class ClusterImpl implements Cluster {
     }
 
     // Also returns when have a mix of CURRENT and INSTALLING|INSTALLED|UPGRADING|UPGRADED
+    LOG.warn("have a mix of CURRENT and INSTALLING|INSTALLED|UPGRADING|UPGRADED host versions, " +
+            "returning OUT_OF_SYNC as cluster version. Host version states: " + stateToHosts.toString());
     return RepositoryVersionState.OUT_OF_SYNC;
   }
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/1a4ad495/ambari-web/app/views/main/admin/stack_upgrade/upgrade_version_box_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/admin/stack_upgrade/upgrade_version_box_view.js b/ambari-web/app/views/main/admin/stack_upgrade/upgrade_version_box_view.js
index 6ea53ac..178a542 100644
--- a/ambari-web/app/views/main/admin/stack_upgrade/upgrade_version_box_view.js
+++ b/ambari-web/app/views/main/admin/stack_upgrade/upgrade_version_box_view.js
@@ -131,7 +131,7 @@ App.UpgradeVersionBoxView = Em.View.extend({
       element.set('text', Em.I18n.t('hosts.host.stackVersions.status.installing'));
       element.set('action', 'showProgressPopup');
     } else if (status === 'INSTALLED' && !this.get('isUpgrading')) {
-      if (stringUtils.compareVersions(this.get('content.repositoryVersion'), currentVersion.repository_version) === 1) {
+      if (stringUtils.compareVersions(this.get('content.repositoryVersion'), Em.get(currentVersion, 'repository_version')) === 1) {
         var isDisabled = !App.isAccessible('ADMIN') || this.get('controller.requestInProgress') || isInstalling;
         element.set('isButtonGroup', true);
         element.set('text', Em.I18n.t('admin.stackVersions.version.performUpgrade'));

http://git-wip-us.apache.org/repos/asf/ambari/blob/1a4ad495/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 0e21794..33b995b 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
@@ -153,7 +153,7 @@ App.MainAdminStackVersionsView = Em.View.extend({
         }
       }, this);
     }
-    if (App.get('supports.displayOlderVersions')) {
+    if (App.get('supports.displayOlderVersions') || Em.isNone(currentVersion)) {
       return versions.toArray();
     } else {
       return versions.filter(function(v) {

http://git-wip-us.apache.org/repos/asf/ambari/blob/1a4ad495/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 a46cd0c..887b25c 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
@@ -32,166 +32,190 @@ describe('App.mainAdminStackVersionsView', function () {
 
   describe("#filterBy()", function () {
     var versions = [
-      Em.Object.create({
-        status: "INIT",
-        repositoryVersion: "2.2.1.1"
-      }),
-      Em.Object.create({
-        status: "INSTALLING",
-        repositoryVersion: "2.2.1.1"
-      }),
-      Em.Object.create({
-        status: "INSTALLED",
-        repositoryVersion: "2.2.0.1"
-      }),
-      Em.Object.create({
-        status: "INSTALLED",
-        repositoryVersion: "2.2.2.1"
-      }),
-      Em.Object.create({
-        status: "INSTALL_FAILED",
-        repositoryVersion: "2.2.1.1"
-      }),
-      Em.Object.create({
-        status: "OUT_OF_SYNC",
-        repositoryVersion: "2.2.1.1"
-      }),
-      Em.Object.create({
-        status: "UPGRADING",
-        repositoryVersion: "2.2.1.1"
-      }),
-      Em.Object.create({
-        status: "UPGRADED",
-        repositoryVersion: "2.2.1.1"
-      }),
-      Em.Object.create({
-        status: "CURRENT",
-        repositoryVersion: "2.2.1.1"
-      })
-    ];
-
-    var testCases = [
-      {
-        filter:  Em.Object.create({
-          value: ''
+        Em.Object.create({
+          status: "INIT",
+          repositoryVersion: "2.2.1.1"
         }),
-        filteredVersions: [
-          Em.Object.create({
-            status: "INIT",
-            repositoryVersion: "2.2.1.1"
-          }),
-          Em.Object.create({
-            status: "INSTALLING",
-            repositoryVersion: "2.2.1.1"
+        Em.Object.create({
+          status: "INSTALLING",
+          repositoryVersion: "2.2.1.1"
+        }),
+        Em.Object.create({
+          status: "INSTALLED",
+          repositoryVersion: "2.2.0.1"
+        }),
+        Em.Object.create({
+          status: "INSTALLED",
+          repositoryVersion: "2.2.2.1"
+        }),
+        Em.Object.create({
+          status: "INSTALL_FAILED",
+          repositoryVersion: "2.2.1.1"
+        }),
+        Em.Object.create({
+          status: "OUT_OF_SYNC",
+          repositoryVersion: "2.2.1.1"
+        }),
+        Em.Object.create({
+          status: "UPGRADING",
+          repositoryVersion: "2.2.1.1"
+        }),
+        Em.Object.create({
+          status: "UPGRADED",
+          repositoryVersion: "2.2.1.1"
+        }),
+        Em.Object.create({
+          status: "CURRENT",
+          repositoryVersion: "2.2.1.1"
+        })
+      ],
+      testCases = [
+        {
+          filter:  Em.Object.create({
+            value: ''
           }),
-          Em.Object.create({
-            status: "INSTALLED",
-            repositoryVersion: "2.2.2.1"
+          filteredVersions: [
+            Em.Object.create({
+              status: "INIT",
+              repositoryVersion: "2.2.1.1"
+            }),
+            Em.Object.create({
+              status: "INSTALLING",
+              repositoryVersion: "2.2.1.1"
+            }),
+            Em.Object.create({
+              status: "INSTALLED",
+              repositoryVersion: "2.2.2.1"
+            }),
+            Em.Object.create({
+              status: "INSTALL_FAILED",
+              repositoryVersion: "2.2.1.1"
+            }),
+            Em.Object.create({
+              status: "OUT_OF_SYNC",
+              repositoryVersion: "2.2.1.1"
+            }),
+            Em.Object.create({
+              status: "UPGRADING",
+              repositoryVersion: "2.2.1.1"
+            }),
+            Em.Object.create({
+              status: "UPGRADED",
+              repositoryVersion: "2.2.1.1"
+            }),
+            Em.Object.create({
+              status: "CURRENT",
+              repositoryVersion: "2.2.1.1"
+            })
+          ]
+        },
+        {
+          filter:  Em.Object.create({
+            value: 'NOT_INSTALLED'
           }),
-          Em.Object.create({
-            status: "INSTALL_FAILED",
-            repositoryVersion: "2.2.1.1"
+          filteredVersions: [
+            Em.Object.create({
+              status: "INIT",
+              repositoryVersion: "2.2.1.1"
+            }),
+            Em.Object.create({
+              status: "INSTALLING",
+              repositoryVersion: "2.2.1.1"
+            }),
+            Em.Object.create({
+              status: "INSTALL_FAILED",
+              repositoryVersion: "2.2.1.1"
+            }),
+            Em.Object.create({
+              status: "OUT_OF_SYNC",
+              repositoryVersion: "2.2.1.1"
+            })
+          ]
+        },
+        {
+          filter:  Em.Object.create({
+            value: 'INSTALLED'
           }),
-          Em.Object.create({
-            status: "OUT_OF_SYNC",
-            repositoryVersion: "2.2.1.1"
+          filteredVersions: [
+
+          ]
+        },
+        {
+          filter:  Em.Object.create({
+            value: 'UPGRADE_READY'
           }),
-          Em.Object.create({
-            status: "UPGRADING",
-            repositoryVersion: "2.2.1.1"
+          filteredVersions: [
+            Em.Object.create({
+              status: "INSTALLED",
+              repositoryVersion: "2.2.2.1"
+            })
+          ]
+        },
+        {
+          filter:  Em.Object.create({
+            value: 'CURRENT'
           }),
-          Em.Object.create({
-            status: "UPGRADED",
-            repositoryVersion: "2.2.1.1"
+          filteredVersions: [
+            Em.Object.create({
+              status: "CURRENT",
+              repositoryVersion: "2.2.1.1"
+            })
+          ]
+        },
+        {
+          filter:  Em.Object.create({
+            value: 'UPGRADING'
           }),
-          Em.Object.create({
-            status: "CURRENT",
-            repositoryVersion: "2.2.1.1"
-          })
-        ]
-      },
-      {
-        filter:  Em.Object.create({
-          value: 'NOT_INSTALLED'
-        }),
-        filteredVersions: [
-          Em.Object.create({
-            status: "INIT",
-            repositoryVersion: "2.2.1.1"
+          filteredVersions: [
+            Em.Object.create({
+              status: "UPGRADING",
+              repositoryVersion: "2.2.1.1"
+            })
+          ]
+        },
+        {
+          filter:  Em.Object.create({
+            value: 'UPGRADED'
           }),
-          Em.Object.create({
-            status: "INSTALLING",
-            repositoryVersion: "2.2.1.1"
+          filteredVersions: [
+            Em.Object.create({
+              status: "UPGRADED",
+              repositoryVersion: "2.2.1.1"
+            })
+          ]
+        },
+        {
+          noCurrentVersion: true,
+          filter:  Em.Object.create({
+            value: ''
           }),
-          Em.Object.create({
-            status: "INSTALL_FAILED",
-            repositoryVersion: "2.2.1.1"
+          filteredVersions: versions,
+          message: 'no current version'
+        },
+        {
+          displayOlderVersions: true,
+          filter:  Em.Object.create({
+            value: ''
           }),
-          Em.Object.create({
-            status: "OUT_OF_SYNC",
-            repositoryVersion: "2.2.1.1"
-          })
-        ]
-      },
-      {
-        filter:  Em.Object.create({
-          value: 'INSTALLED'
-        }),
-        filteredVersions: [
+          filteredVersions: versions,
+          message: 'display older versions'
+        }
+      ];
 
-        ]
-      },
-      {
-        filter:  Em.Object.create({
-          value: 'UPGRADE_READY'
-        }),
-        filteredVersions: [
-          Em.Object.create({
-            status: "INSTALLED",
-            repositoryVersion: "2.2.2.1"
-          })
-        ]
-      },
-      {
-        filter:  Em.Object.create({
-          value: 'CURRENT'
-        }),
-        filteredVersions: [
-          Em.Object.create({
-            status: "CURRENT",
-            repositoryVersion: "2.2.1.1"
-          })
-        ]
-      },
-      {
-        filter:  Em.Object.create({
-          value: 'UPGRADING'
-        }),
-        filteredVersions: [
-          Em.Object.create({
-            status: "UPGRADING",
-            repositoryVersion: "2.2.1.1"
-          })
-        ]
-      },
-      {
-        filter:  Em.Object.create({
-          value: 'UPGRADED'
-        }),
-        filteredVersions: [
-          Em.Object.create({
-            status: "UPGRADED",
-            repositoryVersion: "2.2.1.1"
-          })
-        ]
-      }
-    ].forEach(function(t) {
-        var msg = t.filter.get('value') ? t.filter.get('value') : "All";
-        it("filter By " + msg, function () {
-          view.set('controller.currentVersion', {repository_version: '2.2.1.1'});
-          expect(view.filterBy(versions, t.filter)).to.eql(t.filteredVersions);
+    afterEach(function () {
+      App.get.restore();
+    });
+
+    testCases.forEach(function(t) {
+      var msg = t.filter.get('value') ? t.filter.get('value') : "All";
+      it(t.message || "filter By " + msg, function () {
+        sinon.stub(App, 'get', function (key) {
+          return key == 'supports.displayOlderVersions' ? Boolean(t.displayOlderVersions) : Em.get(App, key);
         });
+        view.set('controller.currentVersion', t.noCurrentVersion ? null : {repository_version: '2.2.1.1'});
+        expect(view.filterBy(versions, t.filter)).to.eql(t.filteredVersions);
       });
+    });
   });
 
   describe("#didInsertElement()", function() {