You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by al...@apache.org on 2016/10/19 16:43:13 UTC

ambari git commit: AMBARI-18627. Add service wizard hung at Choose services page as no ClusterStackVersion is available with state=CURRENT . Additional fix (alexantonenko)

Repository: ambari
Updated Branches:
  refs/heads/branch-2.5 342a088d5 -> 17069e8a1


AMBARI-18627. Add service wizard hung at Choose services page as no ClusterStackVersion is available with state=CURRENT	. Additional fix
 (alexantonenko)


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

Branch: refs/heads/branch-2.5
Commit: 17069e8a1c9c385503bb9510aed9882fbbb95a72
Parents: 342a088
Author: Alex Antonenko <hi...@gmail.com>
Authored: Wed Oct 19 19:28:54 2016 +0300
Committer: Alex Antonenko <hi...@gmail.com>
Committed: Wed Oct 19 19:43:05 2016 +0300

----------------------------------------------------------------------
 .../controllers/global/cluster_controller.js    | 13 ++--
 .../main/admin/stack_and_upgrade_controller.js  |  8 +--
 ambari-web/app/controllers/wizard.js            |  8 +--
 ambari-web/app/utils/ajax/ajax.js               |  4 +-
 .../global/cluster_controller_test.js           | 22 ++++++
 .../admin/stack_and_upgrade_controller_test.js  | 74 +-------------------
 6 files changed, 36 insertions(+), 93 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/17069e8a/ambari-web/app/controllers/global/cluster_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/global/cluster_controller.js b/ambari-web/app/controllers/global/cluster_controller.js
index 7a4f63c..ea80c41 100644
--- a/ambari-web/app/controllers/global/cluster_controller.js
+++ b/ambari-web/app/controllers/global/cluster_controller.js
@@ -468,14 +468,11 @@ App.ClusterController = Em.Controller.extend(App.ReloadPopupMixin, {
   },
 
   checkDetailedRepoVersionSuccessCallback: function (data) {
-    var items = data.items;
-    var version;
-    if (items && items.length) {
-      var repoVersions = items[0].repository_versions;
-      if (repoVersions && repoVersions.length) {
-        version = Em.get(repoVersions[0], 'RepositoryVersions.repository_version');
-      }
-    }
+    var rv = (Em.getWithDefault(data, 'items', []) || []).filter(function(i) {
+      return Em.getWithDefault(i || {}, 'ClusterStackVersions.stack', null) === App.get('currentStackName') &&
+        Em.getWithDefault(i || {}, 'ClusterStackVersions.version', null) === App.get('currentStackVersionNumber');
+    })[0];
+    var version = Em.getWithDefault(rv || {}, 'repository_versions.0.RepositoryVersions.repository_version', false);
     App.set('isStormMetricsSupported', stringUtils.compareVersions(version, '2.2.2') > -1 || !version);
   },
   checkDetailedRepoVersionErrorCallback: function () {

http://git-wip-us.apache.org/repos/asf/ambari/blob/17069e8a/ambari-web/app/controllers/main/admin/stack_and_upgrade_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/admin/stack_and_upgrade_controller.js b/ambari-web/app/controllers/main/admin/stack_and_upgrade_controller.js
index afd4b81..58de476 100644
--- a/ambari-web/app/controllers/main/admin/stack_and_upgrade_controller.js
+++ b/ambari-web/app/controllers/main/admin/stack_and_upgrade_controller.js
@@ -1903,11 +1903,9 @@ App.MainAdminStackAndUpgradeController = Em.Controller.extend(App.LocalStorage,
    * @param {object|null} jsonData
    */
   loadServiceVersionFromVersionDefinitionsSuccessCallback: function (jsonData) {
-    var versions = Em.getWithDefault(jsonData, 'items', []);
-    var currentVersion = versions.filterProperty('ClusterStackVersions.state', 'CURRENT')[0];
-    var rv = currentVersion || versions.filter(function(i) {
-      return i.ClusterStackVersions.stack === App.get('currentStackName') &&
-       i.ClusterStackVersions.version === App.get('currentStackVersionNumber');
+    var rv = Em.getWithDefault(jsonData, 'items', []).filter(function(i) {
+      return Em.getWithDefault(i, 'ClusterStackVersions.stack', null) === App.get('currentStackName') &&
+       Em.getWithDefault(i, 'ClusterStackVersions.version', null) === App.get('currentStackVersionNumber');
     })[0];
     var map = this.get('serviceVersionsMap');
     var stackServices = Em.getWithDefault(rv || {}, 'repository_versions.0.RepositoryVersions.stack_services', false);

http://git-wip-us.apache.org/repos/asf/ambari/blob/17069e8a/ambari-web/app/controllers/wizard.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/wizard.js b/ambari-web/app/controllers/wizard.js
index 05cd35c..f61d92e 100644
--- a/ambari-web/app/controllers/wizard.js
+++ b/ambari-web/app/controllers/wizard.js
@@ -696,11 +696,9 @@ App.WizardController = Em.Controller.extend(App.LocalStorage, App.ThemesMappingM
 
   serviceVersionsMap: {},
   loadServiceVersionFromVersionDefinitionsSuccessCallback: function (jsonData) {
-    var versions = Em.getWithDefault(jsonData, 'items', []);
-    var currentVersion = versions.filterProperty('ClusterStackVersions.state', 'CURRENT')[0];
-    var rv = currentVersion || versions.filter(function(i) {
-      return i.ClusterStackVersions.stack === App.get('currentStackName') &&
-       i.ClusterStackVersions.version === App.get('currentStackVersionNumber');
+    var rv = Em.getWithDefault(jsonData, 'items', []).filter(function(i) {
+      return Em.getWithDefault(i, 'ClusterStackVersions.stack', null) === App.get('currentStackName') &&
+        Em.getWithDefault(i, 'ClusterStackVersions.version', null) === App.get('currentStackVersionNumber');
     })[0];
     var map = this.get('serviceVersionsMap');
     var stackServices = Em.getWithDefault(rv || {}, 'repository_versions.0.RepositoryVersions.stack_services', false);

http://git-wip-us.apache.org/repos/asf/ambari/blob/17069e8a/ambari-web/app/utils/ajax/ajax.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/utils/ajax/ajax.js b/ambari-web/app/utils/ajax/ajax.js
index f17a785..3075665 100644
--- a/ambari-web/app/utils/ajax/ajax.js
+++ b/ambari-web/app/utils/ajax/ajax.js
@@ -1373,11 +1373,11 @@ var urls = {
     'mock': ''
   },
   'cluster.load_detailed_repo_version': {
-    'real': '/clusters/{clusterName}/stack_versions?ClusterStackVersions/state=CURRENT&fields=repository_versions/RepositoryVersions/repository_version&minimal_response=true',
+    'real': '/clusters/{clusterName}/stack_versions?fields=repository_versions/RepositoryVersions/repository_version,ClusterStackVersions/stack,ClusterStackVersions/version&minimal_response=true',
     'mock': '/data/stack_versions/stack_version_all.json'
   },
   'cluster.load_current_repo_stack_services': {
-    'real': '/clusters/{clusterName}/stack_versions?fields=repository_versions/RepositoryVersions/stack_services,ClusterStackVersions/state',
+    'real': '/clusters/{clusterName}/stack_versions?fields=repository_versions/RepositoryVersions/stack_services,ClusterStackVersions/stack,ClusterStackVersions/version',
     'mock': '/data/stack_versions/stack_version_all.json'
   },
   'cluster.save_provisioning_state': {

http://git-wip-us.apache.org/repos/asf/ambari/blob/17069e8a/ambari-web/test/controllers/global/cluster_controller_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/controllers/global/cluster_controller_test.js b/ambari-web/test/controllers/global/cluster_controller_test.js
index 0fb8b22..fa95c3e 100644
--- a/ambari-web/test/controllers/global/cluster_controller_test.js
+++ b/ambari-web/test/controllers/global/cluster_controller_test.js
@@ -295,11 +295,29 @@ describe('App.clusterController', function () {
   });
 
   describe('#checkDetailedRepoVersionSuccessCallback()', function () {
+    beforeEach(function () {
+      sinon.stub(App, 'get', function(key) {
+        if (key === 'currentStackName') {
+          return 'HDP';
+        }
+        if (key === 'currentStackVersionNumber') {
+          return '2.2';
+        }
+        return Em.get(App, key);
+      });
+    });
+    afterEach(function() {
+      App.get.restore();
+    });
 
     var cases = [
       {
         items: [
           {
+            ClusterStackVersions: {
+              stack: 'HDP',
+              version: '2.2'
+            },
             repository_versions: [
               {
                 RepositoryVersions: {
@@ -315,6 +333,10 @@ describe('App.clusterController', function () {
       {
         items: [
           {
+            ClusterStackVersions: {
+              stack: 'HDP',
+              version: '2.2'
+            },
             repository_versions: [
               {
                 RepositoryVersions: {

http://git-wip-us.apache.org/repos/asf/ambari/blob/17069e8a/ambari-web/test/controllers/main/admin/stack_and_upgrade_controller_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/controllers/main/admin/stack_and_upgrade_controller_test.js b/ambari-web/test/controllers/main/admin/stack_and_upgrade_controller_test.js
index 536ebe8..ff8bf11 100644
--- a/ambari-web/test/controllers/main/admin/stack_and_upgrade_controller_test.js
+++ b/ambari-web/test/controllers/main/admin/stack_and_upgrade_controller_test.js
@@ -3136,32 +3136,6 @@ describe('App.MainAdminStackAndUpgradeController', function() {
           items: [
             {
               ClusterStackVersions: {
-                state: 'CURRENT'
-              },
-              repository_versions: [
-                {
-                  RepositoryVersions: {
-                    stack_services: [
-                      { name: 'S1', versions: ['v1']}
-                    ]
-                  }
-                }
-              ]
-            }
-          ]
-        },
-        currentStackData: {
-          currentStackVersionNumber: '2.2',
-          currentStackName: 'HDP'
-        },
-        m: 'should add stack services from stack version with state CURRENT',
-        e: { "S1": "v1"}
-      },
-      {
-        jsonData: {
-          items: [
-            {
-              ClusterStackVersions: {
                 version: '2.3',
                 stack: 'HDP',
                 state: 'INIT'
@@ -3198,54 +3172,8 @@ describe('App.MainAdminStackAndUpgradeController', function() {
           currentStackVersionNumber: '2.2',
           currentStackName: 'HDP'
         },
-        m: 'should add stack services from stack version by current stack name and version number' +
-           'when CURRENT version not available',
+        m: 'should add stack services from stack version by current stack name and version number',
         e: { "S2": "v2"}
-      },
-      {
-        jsonData: {
-          items: [
-            {
-              ClusterStackVersions: {
-                version: '2.3',
-                stack: 'HDP',
-                state: 'CURRENT'
-              },
-              repository_versions: [
-                {
-                  RepositoryVersions: {
-                    stack_services: [
-                      { name: 'S3', versions: ['v3']}
-                    ]
-                  }
-                }
-              ]
-            },
-            {
-              ClusterStackVersions: {
-                version: '2.2',
-                stack: 'HDP',
-                state: 'INIT'
-              },
-              repository_versions: [
-                {
-                  RepositoryVersions: {
-                    stack_services: [
-                      { name: 'S2', versions: ['v2']}
-                    ]
-                  }
-                }
-              ]
-            }
-          ]
-        },
-        currentStackData: {
-          currentStackVersionNumber: '2.2',
-          currentStackName: 'HDP'
-        },
-        m: 'should add stack services by state CURRENT even when there is stack version with ' +
-           'current stack name and version number',
-        e: { "S3": "v3"}
       }
     ];