AMBARI-21428 Host Versions Page Doesn't Show Stacks From Different Vendors. (atkach)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/cdc7897d Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/cdc7897d Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/cdc7897d Branch: refs/heads/branch-2.5 Commit: cdc7897dc4c919e435529ab110e2b9d4f244dbbf Parents: 4302da1 Author: Andrii Tkach <[email protected]> Authored: Fri Jul 7 12:59:48 2017 +0300 Committer: Andrii Tkach <[email protected]> Committed: Fri Jul 7 12:59:48 2017 +0300 ---------------------------------------------------------------------- ambari-web/app/controllers/global/cluster_controller.js | 1 + ambari-web/app/mappers/hosts_mapper.js | 12 ++++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/cdc7897d/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 58fac34..1b473a1 100644 --- a/ambari-web/app/controllers/global/cluster_controller.js +++ b/ambari-web/app/controllers/global/cluster_controller.js @@ -320,6 +320,7 @@ App.ClusterController = Em.Controller.extend(App.ReloadPopupMixin, { } upgradeController.loadStackVersionsToModel(true).done(function () { + upgradeController.loadCompatibleVersions(); App.set('stackVersionsAvailable', App.StackVersion.find().content.length > 0); }); }); http://git-wip-us.apache.org/repos/asf/ambari/blob/cdc7897d/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 203cd67..4d6618f 100644 --- a/ambari-web/app/mappers/hosts_mapper.js +++ b/ambari-web/app/mappers/hosts_mapper.js @@ -171,9 +171,17 @@ App.hostsMapper = App.QuickDataMapper.create({ ? Em.get(currentVersion.repository_versions[0], 'RepositoryVersions.repository_version') : ''; for (var j = 0; j < item.stack_versions.length; j++) { var stackVersion = item.stack_versions[j]; + var versionNumber = Em.get(stackVersion.repository_versions[0], 'RepositoryVersions.repository_version'); + var isDifferentStack = stackVersion.HostStackVersions.stack !== currentVersion.HostStackVersions.stack; + var isCompatible = App.RepositoryVersion.find(Em.get(stackVersion.repository_versions[0], 'RepositoryVersions.id')).get('isCompatible'); 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; + if (isDifferentStack && !isCompatible) { + stackVersion.is_visible = false; + } else { + stackVersion.is_visible = isDifferentStack + || (App.get('supports.displayOlderVersions') || stringUtils.compareVersions(versionNumber, currentVersionNumber) >= 0) + || !currentVersionNumber; + } stackVersions.push(this.parseIt(stackVersion, this.stackVersionConfig)); }
