فهرست منبع

AMBARI-11928 RU: UI does not specify from_version when downgrading. (ababiichuk)

aBabiichuk 10 سال پیش
والد
کامیت
cae5552e60

+ 1 - 1
ambari-web/app/controllers/global/cluster_controller.js

@@ -334,7 +334,7 @@ App.ClusterController = Em.Controller.extend({
         upgradeController.setDBProperty('upgradeId', lastUpgradeData.Upgrade.request_id);
         upgradeController.setDBProperty('isDowngrade', lastUpgradeData.Upgrade.direction === 'DOWNGRADE');
         upgradeController.setDBProperty('upgradeState', lastUpgradeData.Upgrade.request_status);
-        upgradeController.setDBProperty('upgradeVersion', lastUpgradeData.Upgrade.to_version);
+        upgradeController.setDBProperty('upgradeVersion', App.get('currentStackName') + '-' + lastUpgradeData.Upgrade.to_version);
       }
 
       var dbUpgradeState = App.db.get('MainAdminStackAndUpgrade', 'upgradeState');

+ 1 - 0
ambari-web/app/controllers/main/admin/stack_and_upgrade_controller.js

@@ -350,6 +350,7 @@ App.MainAdminStackAndUpgradeController = Em.Controller.extend(App.LocalStorage,
       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

+ 1 - 0
ambari-web/app/utils/ajax/ajax.js

@@ -1532,6 +1532,7 @@ var urls = {
             "downgrade": "true"
           },
           "Upgrade": {
+            "from_version": data.from,
             "repository_version": data.value
           }
         })

+ 14 - 1
ambari-web/test/controllers/main/admin/stack_and_upgrade_controller_test.js

@@ -638,18 +638,31 @@ describe('App.MainAdminStackAndUpgradeController', function() {
     before(function () {
       sinon.stub(App.ajax, 'send', Em.K);
       sinon.stub(controller, 'abortUpgrade');
+      sinon.stub(App.RepositoryVersion, 'find').returns([
+        Em.Object.create({
+          displayName: 'HDP-2.3',
+          repositoryVersion: '2.3'
+        })
+      ]);
     });
     after(function () {
       App.ajax.send.restore();
       controller.abortUpgrade.restore();
+      App.RepositoryVersion.find.restore();
     });
     it("make ajax call", function() {
+      controller.set('upgradeVersion', 'HDP-2.3');
       controller.downgrade(Em.Object.create({
         repository_version: '2.2',
         repository_name: 'HDP-2.2'
       }), {context: 'context'});
       expect(controller.abortUpgrade.calledOnce).to.be.true;
-      expect(App.ajax.send.getCall(0).args[0].data).to.eql({"value": '2.2', "label": 'HDP-2.2', isDowngrade: true});
+      expect(App.ajax.send.getCall(0).args[0].data).to.eql({
+        value: '2.2',
+        label: 'HDP-2.2',
+        from: '2.3',
+        isDowngrade: true
+      });
       expect(App.ajax.send.getCall(0).args[0].name).to.eql('admin.downgrade.start');
       expect(App.ajax.send.getCall(0).args[0].sender).to.eql(controller);
       expect(App.ajax.send.getCall(0).args[0].success).to.eql('upgradeSuccessCallback');