You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ab...@apache.org on 2016/05/17 15:03:23 UTC
[2/2] ambari git commit: AMBARI-16704 UI - RU/EU,
when initiating a downgrade,
should ensure that request to ABORT upgrade returns 200.(ababiichuk)
AMBARI-16704 UI - RU/EU, when initiating a downgrade, should ensure that request to ABORT upgrade returns 200.(ababiichuk)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/1893d15f
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/1893d15f
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/1893d15f
Branch: refs/heads/trunk
Commit: 1893d15f9ee2faff2ad680daa27208aa752ef081
Parents: 83017ec
Author: ababiichuk <ab...@hortonworks.com>
Authored: Tue May 17 16:48:06 2016 +0300
Committer: ababiichuk <ab...@hortonworks.com>
Committed: Tue May 17 18:02:50 2016 +0300
----------------------------------------------------------------------
.../main/admin/stack_and_upgrade_controller.js | 42 ++++++++++++--------
.../admin/stack_and_upgrade_controller_test.js | 35 ++++++++++++----
2 files changed, 53 insertions(+), 24 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/1893d15f/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 cdc2aa7..53fdc03 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
@@ -560,22 +560,10 @@ App.MainAdminStackAndUpgradeController = Em.Controller.extend(App.LocalStorage,
* @param {object} event
*/
downgrade: function (currentVersion, event) {
+ var self = this;
this.set('requestInProgress', true);
- this.abortUpgrade();
- App.ajax.send({
- name: 'admin.downgrade.start',
- sender: this,
- data: {
- from: App.RepositoryVersion.find().findProperty('displayName', this.get('upgradeVersion')).get('repositoryVersion'),
- value: currentVersion.repository_version,
- label: currentVersion.repository_name,
- isDowngrade: true,
- upgradeType: this.get('upgradeType')
- },
- success: 'upgradeSuccessCallback',
- callback: function() {
- this.sender.set('requestInProgress', false);
- }
+ this.abortUpgrade().done(function() {
+ self.startDowngrade(currentVersion);
});
},
@@ -594,7 +582,29 @@ App.MainAdminStackAndUpgradeController = Em.Controller.extend(App.LocalStorage,
error: errorCallback
});
},
-
+
+ /**
+ * just request ro start downgrade,
+ * should be performed only if <code>abortUpgrade<code> was completed
+ */
+ startDowngrade: function(currentVersion) {
+ App.ajax.send({
+ name: 'admin.downgrade.start',
+ sender: this,
+ data: {
+ from: App.RepositoryVersion.find().findProperty('displayName', this.get('upgradeVersion')).get('repositoryVersion'),
+ value: currentVersion.repository_version,
+ label: currentVersion.repository_name,
+ isDowngrade: true,
+ upgradeType: this.get('upgradeType')
+ },
+ success: 'upgradeSuccessCallback',
+ callback: function() {
+ this.sender.set('requestInProgress', false);
+ }
+ });
+ },
+
/**
* suspend upgrade (in order to restart it later)
*/
http://git-wip-us.apache.org/repos/asf/ambari/blob/1893d15f/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 2481bdd..193ed44 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
@@ -998,9 +998,32 @@ describe('App.MainAdminStackAndUpgradeController', function() {
});
});
- describe("#downgrade()", function() {
+ describe("#downgrade", function() {
+ beforeEach(function () {
+ sinon.stub(controller, 'abortUpgrade').returns({
+ done: function(callback) {callback()}
+ });
+ sinon.stub(controller, 'startDowngrade');
+ controller.downgrade('versionInfo');
+ });
+
+ afterEach(function () {
+ controller.abortUpgrade.restore();
+ controller.startDowngrade.restore();
+ });
+
+ it('should run abortUpgrade', function() {
+ expect(controller.abortUpgrade.calledOnce).to.be.true;
+ });
+
+ it('should run startDowngrade on done', function() {
+ expect(controller.startDowngrade.calledWith('versionInfo')).to.be.true;
+ });
+
+ });
+
+ describe("#startDowngrade()", function() {
beforeEach(function () {
- sinon.stub(controller, 'abortUpgrade');
sinon.stub(App.RepositoryVersion, 'find').returns([
Em.Object.create({
displayName: 'HDP-2.3',
@@ -1009,21 +1032,17 @@ describe('App.MainAdminStackAndUpgradeController', function() {
]);
controller.set('upgradeVersion', 'HDP-2.3');
controller.set('upgradeType', 'NON_ROLLING');
- controller.downgrade(Em.Object.create({
+ controller.startDowngrade(Em.Object.create({
repository_version: '2.2',
repository_name: 'HDP-2.2'
- }), {context: 'context'});
+ }));
this.callArgs = testHelpers.findAjaxRequest('name', 'admin.downgrade.start')[0];
});
afterEach(function () {
- controller.abortUpgrade.restore();
App.RepositoryVersion.find.restore();
});
- it('abortUpgrade is called once', function() {
- expect(controller.abortUpgrade.calledOnce).to.be.true;
- });
it('request-data is valid', function () {
expect(this.callArgs.data).to.eql({
from: '2.3',