Repository: ambari Updated Branches: refs/heads/branch-2.1 486a40672 -> a539f3509
AMBARI-13799 Label in Express Upgrade Window shows "Downgrade" while doing upgrade after downgrade. (atkach) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/a539f350 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/a539f350 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/a539f350 Branch: refs/heads/branch-2.1 Commit: a539f35091c5173311de5ada4b4487819f6a23a5 Parents: 486a406 Author: Andrii Tkach <atk...@hortonworks.com> Authored: Mon Nov 9 20:08:42 2015 +0200 Committer: Andrii Tkach <atk...@hortonworks.com> Committed: Mon Nov 9 20:08:42 2015 +0200 ---------------------------------------------------------------------- .../global/background_operations_controller.js | 6 +++- .../controllers/global/cluster_controller.js | 2 ++ .../main/admin/stack_and_upgrade_controller.js | 2 +- ambari-web/app/utils/ajax/ajax.js | 2 +- .../admin/stack_and_upgrade_controller_test.js | 38 ++++++++++++++------ 5 files changed, 36 insertions(+), 14 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/a539f350/ambari-web/app/controllers/global/background_operations_controller.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/controllers/global/background_operations_controller.js b/ambari-web/app/controllers/global/background_operations_controller.js index b78a35b..bc05284 100644 --- a/ambari-web/app/controllers/global/background_operations_controller.js +++ b/ambari-web/app/controllers/global/background_operations_controller.js @@ -207,11 +207,12 @@ App.BackgroundOperationsController = Em.Controller.extend({ var currentRequestIds = []; var countIssued = this.get('operationsCount'); var countGot = data.itemTotal; + var restoreUpgradeState = false; data.items.forEach(function (request) { if (this.isUpgradeRequest(request)) { if (!App.get('upgradeIsRunning') && !App.get('testMode')) { - App.router.get('clusterController').restoreUpgradeState(); + restoreUpgradeState = true; } return; } @@ -252,6 +253,9 @@ App.BackgroundOperationsController = Em.Controller.extend({ } runningServices += ~~isRunning; }, this); + if (restoreUpgradeState) { + App.router.get('clusterController').restoreUpgradeState(); + } this.removeOldRequests(currentRequestIds); this.set("allOperationsCount", runningServices); this.set('isShowMoreAvailable', countGot >= countIssued); http://git-wip-us.apache.org/repos/asf/ambari/blob/a539f350/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 9422729..37e45a4 100644 --- a/ambari-web/app/controllers/global/cluster_controller.js +++ b/ambari-web/app/controllers/global/cluster_controller.js @@ -286,6 +286,7 @@ App.ClusterController = Em.Controller.extend({ var upgradeController = App.router.get('mainAdminStackAndUpgradeController'); var lastUpgradeData = data.items.sortProperty('Upgrade.request_id').pop(); var dbUpgradeState = App.db.get('MainAdminStackAndUpgrade', 'upgradeState'); + var fromVersion = App.RepositoryVersion.find().findProperty('repositoryVersion', lastUpgradeData.Upgrade.from_version); if (!Em.isNone(dbUpgradeState)) { App.set('upgradeState', dbUpgradeState); @@ -298,6 +299,7 @@ App.ClusterController = Em.Controller.extend({ upgradeState: lastUpgradeData.Upgrade.request_status, upgradeType: lastUpgradeData.Upgrade.upgrade_type, downgradeAllowed: lastUpgradeData.Upgrade.downgrade_allowed, + upgradeTypeDisplayName: fromVersion && fromVersion.get('displayName'), failuresTolerance: Em.Object.create({ skipComponentFailures: lastUpgradeData.Upgrade.skip_failures, skipSCFailures: lastUpgradeData.Upgrade.skip_service_check_failures http://git-wip-us.apache.org/repos/asf/ambari/blob/a539f350/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 79b3432..9133125 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 @@ -241,7 +241,7 @@ App.MainAdminStackAndUpgradeController = Em.Controller.extend(App.LocalStorage, initDBProperties: function () { var props = this.getDBProperties(this.get('wizardStorageProperties')); Em.keys(props).forEach(function (k) { - if (props[k]) { + if (!Em.isNone(props[k])) { this.set(k, props[k]); } }, this); http://git-wip-us.apache.org/repos/asf/ambari/blob/a539f350/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 2c48813..05841af 100644 --- a/ambari-web/app/utils/ajax/ajax.js +++ b/ambari-web/app/utils/ajax/ajax.js @@ -1291,7 +1291,7 @@ var urls = { 'mock': '/data/clusters/info.json' }, 'cluster.load_last_upgrade': { - 'real': '/clusters/{clusterName}/upgrades?fields=Upgrade/request_status,Upgrade/request_id,Upgrade/to_version,Upgrade/direction,Upgrade/upgrade_type,Upgrade/downgrade_allowed,Upgrade/skip_failures,Upgrade/skip_service_check_failures', + 'real': '/clusters/{clusterName}/upgrades?fields=Upgrade/request_status,Upgrade/request_id,Upgrade/to_version,Upgrade/from_version,Upgrade/direction,Upgrade/upgrade_type,Upgrade/downgrade_allowed,Upgrade/skip_failures,Upgrade/skip_service_check_failures', 'mock': '/data/stack_versions/upgrades.json' }, 'cluster.update_upgrade_version': { http://git-wip-us.apache.org/repos/asf/ambari/blob/a539f350/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 183dda8..45c4bd0 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 @@ -444,21 +444,37 @@ describe('App.MainAdminStackAndUpgradeController', function() { describe("#initDBProperties()", function() { before(function () { - sinon.stub(controller, 'getDBProperties', function (prop) { - var ret = {}; - prop.forEach(function (k) { - ret[k] = k; - }); - return ret; - }); + this.mock = sinon.stub(controller, 'getDBProperties'); }); after(function () { - controller.getDBProperties.restore(); + this.mock.restore(); + }); + it("set string properties", function () { + this.mock.returns({prop: 'string'}); + controller.initDBProperties(); + expect(controller.get('prop')).to.equal('string'); + }); + it("set number properties", function () { + this.mock.returns({prop: 0}); + controller.initDBProperties(); + expect(controller.get('prop')).to.equal(0); + }); + it("set boolean properties", function () { + this.mock.returns({prop: false}); + controller.initDBProperties(); + expect(controller.get('prop')).to.be.false; + }); + it("set undefined properties", function () { + this.mock.returns({prop: undefined}); + controller.set('prop', 'value'); + controller.initDBProperties(); + expect(controller.get('prop')).to.equal('value'); }); - it("set properties", function () { - controller.set('wizardStorageProperties', ['prop1']); + it("set null properties", function () { + this.mock.returns({prop: null}); + controller.set('prop', 'value'); controller.initDBProperties(); - expect(controller.get('prop1')).to.equal('prop1'); + expect(controller.get('prop')).to.equal('value'); }); });