You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by at...@apache.org on 2016/12/13 11:18:13 UTC
ambari git commit: AMBARI-19174 Version in process of downgrade isn't
displayed by selecting any filter. (atkach)
Repository: ambari
Updated Branches:
refs/heads/trunk 9ff6b22e9 -> d7ccc4c99
AMBARI-19174 Version in process of downgrade isn't displayed by selecting any filter. (atkach)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/d7ccc4c9
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/d7ccc4c9
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/d7ccc4c9
Branch: refs/heads/trunk
Commit: d7ccc4c990291750cda968a8b65ee25a64f1220a
Parents: 9ff6b22
Author: Andrii Tkach <at...@apache.org>
Authored: Mon Dec 12 19:04:12 2016 +0200
Committer: Andrii Tkach <at...@apache.org>
Committed: Tue Dec 13 13:17:57 2016 +0200
----------------------------------------------------------------------
.../main/admin/stack_and_upgrade_controller.js | 13 +++++
.../stack_upgrade/upgrade_version_box_view.js | 6 ++-
.../main/admin/stack_upgrade/versions_view.js | 12 ++++-
.../admin/stack_and_upgrade_controller_test.js | 36 ++++---------
.../upgrade_version_box_view_test.js | 11 ++++
.../admin/stack_upgrade/version_view_test.js | 53 +++++++++++++++++++-
6 files changed, 100 insertions(+), 31 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/d7ccc4c9/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 6d97205..59f2a90 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
@@ -40,6 +40,13 @@ App.MainAdminStackAndUpgradeController = Em.Controller.extend(App.LocalStorage,
upgradeId: null,
/**
+ * Start version of upgrade
+ * @type {string}
+ * @default null
+ */
+ fromVersion: null,
+
+ /**
* @type {string}
* @default null
*/
@@ -233,6 +240,7 @@ App.MainAdminStackAndUpgradeController = Em.Controller.extend(App.LocalStorage,
* properties that stored to localStorage to resume wizard progress
*/
wizardStorageProperties: [
+ 'fromVersion',
'upgradeId',
'upgradeVersion',
'currentVersion',
@@ -860,6 +868,7 @@ App.MainAdminStackAndUpgradeController = Em.Controller.extend(App.LocalStorage,
upgradeSuccessCallback: function (data, opt, params) {
this.set('upgradeData', null);
this.set('upgradeId', data.resources[0].Upgrade.request_id);
+ this.set('fromVersion', data.resources[0].Upgrade.from_version);
this.set('upgradeVersion', params.label);
this.set('isDowngrade', !!params.isDowngrade);
var upgradeMethod = this.get('upgradeMethods').findProperty('type', params.type),
@@ -883,6 +892,7 @@ App.MainAdminStackAndUpgradeController = Em.Controller.extend(App.LocalStorage,
this.setDBProperties({
upgradeVersion: params.label,
upgradeId: data.resources[0].Upgrade.request_id,
+ fromVersion: data.resources[0].Upgrade.from_version,
upgradeState: 'PENDING',
isDowngrade: !!params.isDowngrade,
upgradeType: upgradeType,
@@ -1672,6 +1682,7 @@ App.MainAdminStackAndUpgradeController = Em.Controller.extend(App.LocalStorage,
finish: function () {
var upgradeVersion = this.get('upgradeVersion') && this.get('upgradeVersion').match(/[a-zA-Z]+\-\d+\.\d+/);
this.setDBProperties({
+ fromVersion: undefined,
upgradeId: undefined,
upgradeState: 'INIT',
upgradeVersion: undefined,
@@ -1683,6 +1694,7 @@ App.MainAdminStackAndUpgradeController = Em.Controller.extend(App.LocalStorage,
isDowngrade: undefined,
downgradeAllowed: undefined
});
+ this.initDBProperties();
App.clusterStatus.setClusterStatus({
localdb: App.db.data
});
@@ -1913,6 +1925,7 @@ App.MainAdminStackAndUpgradeController = Em.Controller.extend(App.LocalStorage,
var upgradeType = this.get('upgradeMethods').findProperty('type', lastUpgradeData.Upgrade.upgrade_type);
this.setDBProperties({
+ fromVersion: lastUpgradeData.Upgrade.from_version,
upgradeId: lastUpgradeData.Upgrade.request_id,
isDowngrade: lastUpgradeData.Upgrade.direction === 'DOWNGRADE',
upgradeState: lastUpgradeData.Upgrade.request_status,
http://git-wip-us.apache.org/repos/asf/ambari/blob/d7ccc4c9/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 3508feb..a714149 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
@@ -51,11 +51,13 @@ App.UpgradeVersionBoxView = Em.View.extend({
}.property('App.router.backgroundOperationsController.serviceTimestamp'),
/**
- * version is upgrading
+ * version is upgrading or downgrading
* @type {boolean}
*/
isUpgrading: function () {
- return (this.get('controller.upgradeVersion') === this.get('content.displayName') && App.get('upgradeState') !== 'INIT');
+ return (this.get('controller.upgradeVersion') === this.get('content.displayName') ||
+ this.get('controller.fromVersion') === this.get('content.repositoryVersion'))
+ && App.get('upgradeState') !== 'INIT';
}.property('App.upgradeState', 'content.displayName', 'controller.upgradeVersion'),
isRepoUrlsEditDisabled: function () {
http://git-wip-us.apache.org/repos/asf/ambari/blob/d7ccc4c9/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 8fccbd9..c317465 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
@@ -149,7 +149,7 @@ App.MainAdminStackVersionsView = Em.View.extend({
if (filter && filter.get('value')) {
versions = versions.filter(function (version) {
var status = version.get('status');
- var isUpgrading = App.router.get('mainAdminStackAndUpgradeController.upgradeVersion') === version.get('displayName');
+ var isUpgrading = this.isVersionUpgrading(version);
if (status === 'INSTALLED' && ['UPGRADE_READY', 'INSTALLED', 'UPGRADING'].contains(filter.get('value'))) {
if (filter.get('value') === 'UPGRADING') {
return isUpgrading;
@@ -176,6 +176,16 @@ App.MainAdminStackVersionsView = Em.View.extend({
},
/**
+ * is version in upgrading or downgrading state
+ * @param version
+ */
+ isVersionUpgrading: function(version) {
+ var upgradeController = App.router.get('mainAdminStackAndUpgradeController');
+ return upgradeController.get('upgradeVersion') === version.get('displayName') ||
+ upgradeController.get('fromVersion') === version.get('repositoryVersion');
+ },
+
+ /**
* route to versions in Admin View
* @return {App.ModalPopup}
*/
http://git-wip-us.apache.org/repos/asf/ambari/blob/d7ccc4c9/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 e83ae2c..de2bf3b 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
@@ -900,32 +900,6 @@ describe('App.MainAdminStackAndUpgradeController', function() {
});
});
- describe.skip("#finish()", function() {
- before(function () {
- sinon.stub(App.clusterStatus, 'setClusterStatus', Em.K);
- sinon.stub(controller, 'setDBProperty', Em.K);
- });
- after(function () {
- App.clusterStatus.setClusterStatus.restore();
- controller.setDBProperty.restore();
- });
- it("upgradeState is not COMPLETED", function() {
- App.set('upgradeState', 'UPGRADING');
- controller.finish();
- expect(App.clusterStatus.setClusterStatus.called).to.be.false;
- });
- it("upgradeState is COMPLETED", function() {
- App.set('upgradeState', 'COMPLETED');
- controller.finish();
- expect(controller.setDBProperty.calledWith('upgradeId', undefined)).to.be.true;
- expect(controller.setDBProperty.calledWith('upgradeVersion', undefined)).to.be.true;
- expect(controller.setDBProperty.calledWith('upgradeState', 'INIT')).to.be.true;
- expect(controller.setDBProperty.calledWith('currentVersion', undefined)).to.be.true;
- expect(App.get('upgradeState')).to.equal('INIT');
- expect(App.clusterStatus.setClusterStatus.calledOnce).to.be.true;
- });
- });
-
describe("#confirmDowngrade()", function() {
before(function () {
@@ -1762,6 +1736,7 @@ describe('App.MainAdminStackAndUpgradeController', function() {
var data = {
Upgrade: {
+ from_version: '1.1',
request_id: 1,
direction: 'UPGRADE',
request_status: 'PENDING',
@@ -1801,6 +1776,7 @@ describe('App.MainAdminStackAndUpgradeController', function() {
});
it('proper data is saved to the localDB', function () {
expect(controller.setDBProperties.getCall(0).args[0]).to.eql({
+ fromVersion: '1.1',
upgradeId: 1,
isDowngrade: false,
upgradeState: 'PENDING',
@@ -3059,18 +3035,21 @@ describe('App.MainAdminStackAndUpgradeController', function() {
beforeEach(function() {
sinon.stub(controller, 'setDBProperties', Em.K);
sinon.stub(App.clusterStatus, 'setClusterStatus');
+ sinon.stub(controller, 'initDBProperties');
App.set('upgradeState', 'COMPLETED');
controller.set('upgradeVersion', '');
});
afterEach(function() {
controller.setDBProperties.restore();
+ controller.initDBProperties.restore();
App.clusterStatus.setClusterStatus.restore();
});
it("setDBProperties should be called", function() {
controller.finish();
expect(controller.setDBProperties.calledWith({
+ fromVersion: undefined,
upgradeId: undefined,
upgradeState: 'INIT',
upgradeVersion: undefined,
@@ -3084,6 +3063,11 @@ describe('App.MainAdminStackAndUpgradeController', function() {
})).to.be.true;
});
+ it("initDBProperties should be called", function() {
+ controller.finish();
+ expect(controller.initDBProperties).to.be.calledOnce;
+ });
+
it("App.clusterStatus.setClusterStatus should be called", function() {
controller.finish();
expect(App.clusterStatus.setClusterStatus.calledOnce).to.be.true;
http://git-wip-us.apache.org/repos/asf/ambari/blob/d7ccc4c9/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 8087c67..58067a2 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
@@ -46,6 +46,9 @@ describe('App.UpgradeVersionBoxView', function () {
});
describe("#isUpgrading", function () {
+ beforeEach(function() {
+ view.set('controller.fromVersion', 'HDP-1');
+ });
afterEach(function () {
App.set('upgradeState', 'INIT');
});
@@ -63,6 +66,14 @@ describe('App.UpgradeVersionBoxView', function () {
view.propertyDidChange('isUpgrading');
expect(view.get('isUpgrading')).to.be.true;
});
+ it("fromVersion correct", function () {
+ App.set('upgradeState', 'IN_PROGRESS');
+ view.set('controller.upgradeVersion', 'HDP-2.2.2');
+ view.set('content.displayName', 'HDP-2.2.1');
+ view.set('content.repositoryVersion', 'HDP-1');
+ view.propertyDidChange('isUpgrading');
+ expect(view.get('isUpgrading')).to.be.true;
+ });
it("upgradeState INIT", function () {
App.set('upgradeState', 'INIT');
view.set('controller.upgradeVersion', 'HDP-2.2.2');
http://git-wip-us.apache.org/repos/asf/ambari/blob/d7ccc4c9/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 b9e8e6d..651c361 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
@@ -222,12 +222,14 @@ describe('App.mainAdminStackVersionsView', function () {
sinon.stub(App, 'get', function (key) {
return key === 'supports.displayOlderVersions' ? displayOlderVersions : Em.get(App, key);
});
- sinon.stub(App.router, 'get').returns('HDP-2.2')
+ sinon.stub(view, 'isVersionUpgrading', function(v) {
+ return v.get('displayName') === 'HDP-2.2';
+ });
});
afterEach(function () {
App.get.restore();
- App.router.get.restore();
+ view.isVersionUpgrading.restore();
});
testCases.forEach(function(t) {
@@ -330,6 +332,53 @@ describe('App.mainAdminStackVersionsView', function () {
});
});
+ describe('#isVersionUpgrading()', function() {
+
+ beforeEach(function() {
+ this.mock = sinon.stub(App.router, 'get');
+ });
+
+ afterEach(function() {
+ this.mock.restore();
+ });
+
+ it('should return false, when version not being upgraded', function() {
+ var version = Em.Object.create({
+ displayName: 'HDP',
+ repositoryVersion: 'HDP'
+ });
+ this.mock.returns(Em.Object.create({
+ upgradeVersion: 'HDP-2',
+ fromVersion: 'HDP-1'
+ }));
+ expect(view.isVersionUpgrading(version)).to.be.false;
+ });
+
+ it('should return true, when version being upgraded', function() {
+ var version = Em.Object.create({
+ displayName: 'HDP-2',
+ repositoryVersion: 'HDP'
+ });
+ this.mock.returns(Em.Object.create({
+ upgradeVersion: 'HDP-2',
+ fromVersion: 'HDP-1'
+ }));
+ expect(view.isVersionUpgrading(version)).to.be.true;
+ });
+
+ it('should return true, when version being downgraded', function() {
+ var version = Em.Object.create({
+ displayName: 'HDP',
+ repositoryVersion: 'HDP-1'
+ });
+ this.mock.returns(Em.Object.create({
+ upgradeVersion: 'HDP-2',
+ fromVersion: 'HDP-1'
+ }));
+ expect(view.isVersionUpgrading(version)).to.be.true;
+ });
+ });
+
describe("#goToVersions()", function() {
var data = {
components: [{