You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by jl...@apache.org on 2017/10/09 06:01:37 UTC
[39/50] [abbrv] ambari git commit: AMBARI-22157. Web Client Should
Never List Any Upgrade Actions On Only Stack In System (alexantonenko)
AMBARI-22157. Web Client Should Never List Any Upgrade Actions On Only Stack In System (alexantonenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/fab2aa3c
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/fab2aa3c
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/fab2aa3c
Branch: refs/heads/branch-feature-AMBARI-14714
Commit: fab2aa3c62e3dbe5cce795ca50c4b61baee1d19e
Parents: 7172655
Author: Alex Antonenko <aa...@hortonworks.com>
Authored: Fri Oct 6 16:35:29 2017 +0300
Committer: Alex Antonenko <aa...@hortonworks.com>
Committed: Fri Oct 6 16:35:29 2017 +0300
----------------------------------------------------------------------
.../stack_upgrade/upgrade_version_box_view.js | 13 ++++--
.../upgrade_version_box_view_test.js | 44 ++++++++++++++++++--
2 files changed, 49 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/fab2aa3c/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 28f4f32..355ad88 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
@@ -199,7 +199,8 @@ App.UpgradeVersionBoxView = Em.View.extend({
'isUpgrading',
'controller.requestInProgress',
'controller.requestInProgressRepoId',
- 'parentView.repoVersions.@each.status'
+ 'parentView.repoVersions.@each.status',
+ 'isCurrentStackPresent'
),
/**
@@ -208,6 +209,7 @@ App.UpgradeVersionBoxView = Em.View.extend({
*/
isDisabledOnInit: function() {
return this.get('controller.requestInProgress') ||
+ !this.get('isCurrentStackPresent') ||
!this.get('content.isCompatible') ||
(App.get('upgradeIsRunning') && !App.get('upgradeSuspended')) ||
this.get('parentView.repoVersions').someProperty('status', 'INSTALLING');
@@ -312,8 +314,6 @@ App.UpgradeVersionBoxView = Em.View.extend({
});
}
-
-
}
element.set('isDisabled', isDisabled);
}
@@ -357,7 +357,8 @@ App.UpgradeVersionBoxView = Em.View.extend({
* @returns {boolean}
*/
isDisabledOnInstalled: function() {
- return !App.isAuthorized('CLUSTER.UPGRADE_DOWNGRADE_STACK') ||
+ return !this.get('isCurrentStackPresent') ||
+ !App.isAuthorized('CLUSTER.UPGRADE_DOWNGRADE_STACK') ||
this.get('controller.requestInProgress') ||
this.get('parentView.repoVersions').someProperty('status', 'INSTALLING') ||
(this.get('controller.isDowngrade') &&
@@ -392,6 +393,10 @@ App.UpgradeVersionBoxView = Em.View.extend({
$('.out-of-sync-badge').tooltip('destroy');
},
+ isCurrentStackPresent: Ember.computed('parentView.repoVersions.@each.stackVersion.state', function () {
+ return this.get('parentView.repoVersions').someProperty('stackVersion.state', 'CURRENT');
+ }),
+
/**
* run custom action of controller
*/
http://git-wip-us.apache.org/repos/asf/ambari/blob/fab2aa3c/ambari-web/test/views/main/admin/stack_upgrade/upgrade_version_box_view_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/views/main/admin/stack_upgrade/upgrade_version_box_view_test.js b/ambari-web/test/views/main/admin/stack_upgrade/upgrade_version_box_view_test.js
index 506fb81..9bee7af 100644
--- a/ambari-web/test/views/main/admin/stack_upgrade/upgrade_version_box_view_test.js
+++ b/ambari-web/test/views/main/admin/stack_upgrade/upgrade_version_box_view_test.js
@@ -29,6 +29,7 @@ describe('App.UpgradeVersionBoxView', function () {
sinon.stub(App.db, 'getFilterConditions', function () {return [];});
view = App.UpgradeVersionBoxView.create({
initFilters: Em.K,
+ isCurrentStackPresent: true,
controller: Em.Object.create({
upgrade: Em.K,
getRepoVersionInstallId: Em.K,
@@ -1103,6 +1104,7 @@ describe('App.UpgradeVersionBoxView', function () {
upgradeSuspended: true,
status: 'INSTALLED',
isCompatible: true,
+ isCurrentStackPresent: true,
expected: true
},
{
@@ -1111,6 +1113,7 @@ describe('App.UpgradeVersionBoxView', function () {
upgradeSuspended: false,
status: 'INSTALLED',
isCompatible: true,
+ isCurrentStackPresent: true,
expected: true
},
{
@@ -1119,6 +1122,7 @@ describe('App.UpgradeVersionBoxView', function () {
upgradeSuspended: false,
status: 'INSTALLING',
isCompatible: true,
+ isCurrentStackPresent: true,
expected: true
},
{
@@ -1127,6 +1131,7 @@ describe('App.UpgradeVersionBoxView', function () {
upgradeSuspended: true,
status: 'INSTALLED',
isCompatible: false,
+ isCurrentStackPresent: true,
expected: true
},
{
@@ -1135,6 +1140,7 @@ describe('App.UpgradeVersionBoxView', function () {
upgradeSuspended: true,
status: 'INSTALLED',
isCompatible: true,
+ isCurrentStackPresent: true,
expected: false
},
{
@@ -1143,7 +1149,17 @@ describe('App.UpgradeVersionBoxView', function () {
upgradeSuspended: false,
status: 'INSTALLED',
isCompatible: true,
+ isCurrentStackPresent: true,
expected: false
+ },
+ {
+ requestInProgress: false,
+ upgradeIsRunning: false,
+ upgradeSuspended: false,
+ status: 'INSTALLED',
+ isCompatible: true,
+ isCurrentStackPresent: false,
+ expected: true
}
];
@@ -1156,16 +1172,18 @@ describe('App.UpgradeVersionBoxView', function () {
});
testCases.forEach(function(test) {
- it("requestInProgress: " + test.requestInProgress +
+ it(" requestInProgress: " + test.requestInProgress +
" upgradeIsRunning: " + test.upgradeIsRunning +
" upgradeSuspended: " + test.upgradeSuspended +
- " status" + test.status +
- " isCompatible" + test.isCompatible, function() {
+ " status: " + test.status +
+ " isCompatible: " + test.isCompatible +
+ " isCurrentStackPresent: " + test.isCurrentStackPresent, function() {
this.mock.withArgs('upgradeSuspended').returns(test.upgradeSuspended);
this.mock.withArgs('upgradeIsRunning').returns(test.upgradeIsRunning);
view.set('parentView.repoVersions', [Em.Object.create({
status: test.status
})]);
+ view.set('isCurrentStackPresent', test.isCurrentStackPresent)
view.set('controller.requestInProgress', test.requestInProgress);
view.set('content.isCompatible', test.isCompatible);
expect(view.isDisabledOnInit()).to.be.equal(test.expected);
@@ -1191,6 +1209,7 @@ describe('App.UpgradeVersionBoxView', function () {
isDowngrade: false,
repositoryName: 'HDP-2.2',
upgradeVersion: 'HDP-2.3',
+ isCurrentStackPresent: true,
expected: true
},
{
@@ -1200,6 +1219,7 @@ describe('App.UpgradeVersionBoxView', function () {
isDowngrade: false,
repositoryName: 'HDP-2.2',
upgradeVersion: 'HDP-2.3',
+ isCurrentStackPresent: true,
expected: true
},
{
@@ -1209,6 +1229,7 @@ describe('App.UpgradeVersionBoxView', function () {
isDowngrade: false,
repositoryName: 'HDP-2.2',
upgradeVersion: 'HDP-2.3',
+ isCurrentStackPresent: true,
expected: true
},
{
@@ -1218,6 +1239,7 @@ describe('App.UpgradeVersionBoxView', function () {
isDowngrade: true,
repositoryName: 'HDP-2.2',
upgradeVersion: 'HDP-2.2',
+ isCurrentStackPresent: true,
expected: true
},
{
@@ -1227,6 +1249,7 @@ describe('App.UpgradeVersionBoxView', function () {
isDowngrade: true,
repositoryName: 'HDP-2.2',
upgradeVersion: 'HDP-2.3',
+ isCurrentStackPresent: true,
expected: false
},
{
@@ -1236,7 +1259,18 @@ describe('App.UpgradeVersionBoxView', function () {
isDowngrade: false,
repositoryName: 'HDP-2.2',
upgradeVersion: 'HDP-2.2',
+ isCurrentStackPresent: true,
expected: false
+ },
+ {
+ isAuthorized: true,
+ requestInProgress: false,
+ status: 'INSTALLED',
+ isDowngrade: false,
+ repositoryName: 'HDP-2.2',
+ upgradeVersion: 'HDP-2.2',
+ isCurrentStackPresent: false,
+ expected: true
}
];
@@ -1246,13 +1280,15 @@ describe('App.UpgradeVersionBoxView', function () {
"status: " + test.status +
"isDowngrade: " + test.isDowngrade +
"repositoryName: " + test.repositoryName +
- "upgradeVersion: " + test.upgradeVersion, function() {
+ "upgradeVersion: " + test.upgradeVersion +
+ "isCurrentStackPresent: " + test.isCurrentStackPresent, function() {
this.authorizedMock.returns(test.isAuthorized);
view.set('controller.requestInProgress', test.requestInProgress);
view.set('parentView.repoVersions', [Em.Object.create({status: test.status})]);
view.set('controller.isDowngrade', test.isDowngrade);
view.set('controller.currentVersion.repository_name', test.repositoryName);
view.set('controller.upgradeVersion', test.upgradeVersion);
+ view.set('isCurrentStackPresent', test.isCurrentStackPresent);
expect(view.isDisabledOnInstalled()).to.be.equal(test.expected);
});
});