AMBARI-21704 Upgrade Wizard Has Incorrect Title. (atkach)

Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/6b523208
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/6b523208
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/6b523208

Branch: refs/heads/feature-branch-AMBARI-21307
Commit: 6b5232088c87d07eaa8b740d12a35c3d1b171590
Parents: 8f0bcc0
Author: Andrii Tkach <atk...@apache.org>
Authored: Mon Aug 28 13:10:39 2017 +0300
Committer: Andrii Tkach <atk...@apache.org>
Committed: Mon Aug 28 13:10:39 2017 +0300

----------------------------------------------------------------------
 .../main/admin/stack_and_upgrade_controller.js  | 59 ++++++++++++++------
 ambari-web/app/messages.js                      |  9 +--
 ambari-web/app/utils/ajax/ajax.js               |  2 +-
 .../stack_upgrade/upgrade_version_box_view.js   | 11 ++--
 .../admin/stack_and_upgrade_controller_test.js  | 39 +++++++++----
 .../upgrade_version_box_view_test.js            |  6 +-
 6 files changed, 86 insertions(+), 40 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/6b523208/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 b33c55d..f02c5f3 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
@@ -151,12 +151,33 @@ App.MainAdminStackAndUpgradeController = 
Em.Controller.extend(App.LocalStorage,
    * @type {string}
    */
   wizardModalTitle: function () {
-    if (this.get('isDowngrade')) {
-      return 
Em.I18n.t('admin.stackUpgrade.dialog.downgrade.header').format(this.get('upgradeVersion'));
-    }
-    return 
Em.I18n.t('admin.stackUpgrade.dialog.header').format(this.get('upgradeVersion'));
+    var repoVersion = 
App.RepositoryVersion.find().findProperty('repositoryVersion', 
this.get('toVersion'));
+    return this.getUpgradeDowngradeHeader(
+      this.get('upgradeTypeDisplayName'),
+      this.get('upgradeVersion'),
+      this.get('isDowngrade'),
+      repoVersion && repoVersion.get('isPatch')
+    );
   }.property('upgradeTypeDisplayName', 'upgradeVersion', 'isDowngrade'),
 
+
+  /**
+   * @param {string} upgradeType
+   * @param {string} upgradeVersion
+   * @param {boolean} isDowngrade
+   * @param {boolean} isPatch
+   * @returns {string}
+   */
+  getUpgradeDowngradeHeader: function(upgradeType, upgradeVersion, 
isDowngrade, isPatch) {
+    if (isDowngrade) {
+      return 
Em.I18n.t('admin.stackUpgrade.dialog.downgrade.header').format(upgradeVersion);
+    }
+    if (isPatch) {
+      return 
Em.I18n.t('admin.stackUpgrade.dialog.upgrade.patch.header').format(upgradeType, 
upgradeVersion);
+    }
+    return 
Em.I18n.t('admin.stackUpgrade.dialog.upgrade.header').format(upgradeType, 
upgradeVersion);
+  },
+
   /**
    * methods through which cluster could be upgraded, "allowed" indicated if 
the method is allowed
    * by stack upgrade path
@@ -258,6 +279,7 @@ App.MainAdminStackAndUpgradeController = 
Em.Controller.extend(App.LocalStorage,
     'fromVersion',
     'upgradeId',
     'upgradeVersion',
+    'toVersion',
     'currentVersion',
     'upgradeTypeDisplayName',
     'upgradeType',
@@ -687,7 +709,7 @@ App.MainAdminStackAndUpgradeController = 
Em.Controller.extend(App.LocalStorage,
       },
       
Em.I18n.t('admin.stackUpgrade.downgrade.body').format(currentVersion.repository_name),
       null,
-      
Em.I18n.t('admin.stackUpgrade.dialog.downgrade.header').format(currentVersion.repository_name),
+      
Em.I18n.t('admin.stackUpgrade.dialog.downgrade.header').format(this.get('upgradeVersion')),
       Em.I18n.t('admin.stackUpgrade.downgrade.proceed')
     );
   },
@@ -736,7 +758,7 @@ App.MainAdminStackAndUpgradeController = 
Em.Controller.extend(App.LocalStorage,
       sender: this,
       data: {
         value: currentVersion.repository_version,
-        label: currentVersion.repository_name,
+        label: this.get('upgradeVersion'),
         id: currentVersion.id,
         isDowngrade: true,
         upgradeType: this.get('upgradeType')
@@ -897,7 +919,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', params.isDowngrade ? 
data.resources[0].Upgrade.associated_version : null);
+    this.set('toVersion', params.value);
     this.set('upgradeVersion', params.label);
     this.set('isDowngrade', !!params.isDowngrade);
     var upgradeMethod = this.get('upgradeMethods').findProperty('type', 
params.type),
@@ -921,7 +943,7 @@ App.MainAdminStackAndUpgradeController = 
Em.Controller.extend(App.LocalStorage,
     this.setDBProperties({
       upgradeVersion: params.label,
       upgradeId: data.resources[0].Upgrade.request_id,
-      fromVersion: params.isDowngrade ? 
data.resources[0].Upgrade.associated_version : null,
+      toVersion: params.value,
       upgradeState: 'PENDING',
       isDowngrade: !!params.isDowngrade,
       upgradeType: upgradeType,
@@ -960,7 +982,8 @@ App.MainAdminStackAndUpgradeController = 
Em.Controller.extend(App.LocalStorage,
     this.get('upgradeMethods').forEach(function (method) {
       if (method.get('allowed')) {
         this.runPreUpgradeCheckOnly({
-          value: version.get('id'),
+          id: version.get('id'),
+          value: version.get('repositoryVersion'),
           label: version.get('displayName'),
           type: method.get('type')
         });
@@ -1376,7 +1399,7 @@ App.MainAdminStackAndUpgradeController = 
Em.Controller.extend(App.LocalStorage,
    */
   runPreUpgradeCheck: function(version) {
     var params = {
-      value: version.get('id'),
+      value: version.get('repositoryVersion'),
       label: version.get('displayName'),
       type: version.get('upgradeType'),
       skipComponentFailures: version.get('skipComponentFailures') ? 'true' : 
'false',
@@ -1451,7 +1474,7 @@ App.MainAdminStackAndUpgradeController = 
Em.Controller.extend(App.LocalStorage,
       },
       
Em.I18n.t('admin.stackUpgrade.upgrade.retry.confirm.body').format(version.get('displayName')),
       null,
-      
Em.I18n.t('admin.stackUpgrade.dialog.header').format(version.get('upgradeTypeDislayName'),
 version.get('displayName'))
+      this.getUpgradeDowngradeHeader(version.get('upgradeTypeDislayName'), 
version.get('displayName'), false)
     );
   },
 
@@ -2039,11 +2062,9 @@ App.MainAdminStackAndUpgradeController = 
Em.Controller.extend(App.LocalStorage,
       data: {
         upgradeId: upgrade && upgrade.get('upgradeId'),
         id: version.get('id'),
-        value: version.get('id'),
+        value: version.get('repositoryVersion'),
         label: version.get('displayName'),
-        type: version.get('upgradeType'),
-        skipComponentFailures: version.get('skipComponentFailures') ? 'true' : 
'false',
-        skipSCFailures: version.get('skipSCFailures') ? 'true' : 'false'
+        isDowngrade: true
       }
     });
   },
@@ -2057,7 +2078,7 @@ App.MainAdminStackAndUpgradeController = 
Em.Controller.extend(App.LocalStorage,
     var upgradeType = this.get('upgradeMethods').findProperty('type', 
lastUpgradeData.Upgrade.upgrade_type);
     const isDowngrade = lastUpgradeData.Upgrade.direction === 'DOWNGRADE';
     this.setDBProperties({
-      fromVersion: isDowngrade ? lastUpgradeData.Upgrade.associated_version : 
null,
+      toVersion: lastUpgradeData.Upgrade.associated_version,
       upgradeId: lastUpgradeData.Upgrade.request_id,
       isDowngrade,
       upgradeState: lastUpgradeData.Upgrade.request_status,
@@ -2071,8 +2092,10 @@ App.MainAdminStackAndUpgradeController = 
Em.Controller.extend(App.LocalStorage,
       })
     });
     this.loadRepoVersionsToModel().done(function () {
-      var toVersion = isDowngrade ? null : 
App.RepositoryVersion.find().findProperty('repositoryVersion', 
lastUpgradeData.Upgrade.associated_version);
-      self.setDBProperty('upgradeVersion', toVersion && 
toVersion.get('displayName'));
+      var toVersion = 
App.RepositoryVersion.find().findProperty('repositoryVersion', 
lastUpgradeData.Upgrade.associated_version);
+      if (!isDowngrade) {
+        self.setDBProperty('upgradeVersion', toVersion && 
toVersion.get('displayName'));
+      }
       self.initDBProperties();
       self.loadUpgradeData(true);
     });

http://git-wip-us.apache.org/repos/asf/ambari/blob/6b523208/ambari-web/app/messages.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js
index 805a760..2f07163 100644
--- a/ambari-web/app/messages.js
+++ b/ambari-web/app/messages.js
@@ -1764,10 +1764,10 @@ Em.I18n.translations = {
   'admin.stackVersions.version.upgrade.upgradeOptions.tolerance.option1': 
"Skip all Slave Component failures",
   'admin.stackVersions.version.upgrade.upgradeOptions.tolerance.option2': 
"Skip all Service Check failures",
   'admin.stackVersions.version.upgrade.upgradeOptions.tolerance.tooltip': 
"These upgrade failure tolerance options are useful when performing an upgrade 
on a large cluster and you want to minimize user intervention.",
-  'admin.stackVersions.version.upgrade.upgradeOptions.RU.title': "Rolling 
Upgrade",
+  'admin.stackVersions.version.upgrade.upgradeOptions.RU.title': "Rolling",
   'admin.stackVersions.version.upgrade.upgradeOptions.RU.description': 
"Services remain running while the upgrade is performed. Minimized disruption 
but slower upgrade.",
-  'admin.stackVersions.version.upgrade.upgradeOptions.EU.title': "Express 
Upgrade",
-  'admin.stackVersions.version.upgrade.upgradeOptions.HOU.title': "Host 
Ordered Upgrade",
+  'admin.stackVersions.version.upgrade.upgradeOptions.EU.title': "Express",
+  'admin.stackVersions.version.upgrade.upgradeOptions.HOU.title': "Host 
Ordered",
   'admin.stackVersions.version.upgrade.upgradeOptions.EU.description': 
"Services are stopped while the upgrade is performed. Incurs downtime, but 
faster upgrade.",
   'admin.stackVersions.version.upgrade.upgradeOptions.errors_bypassed': 
"Bypassed errors,<br/>proceed at your own risk.",
   'admin.stackVersions.version.upgrade.upgradeOptions.preCheck.rerun':'Rerun 
Checks',
@@ -1867,7 +1867,8 @@ Em.I18n.translations = {
   'admin.stackUpgrade.state.paused.downgrade': "Downgrade Paused",
   'admin.stackUpgrade.state.aborted.downgrade': "Downgrade Aborted",
   'admin.stackUpgrade.state.completed.downgrade': "Downgrade Finished",
-  'admin.stackUpgrade.dialog.header': "Upgrade to {0}",
+  'admin.stackUpgrade.dialog.upgrade.header': "{0} Upgrade to {1}",
+  'admin.stackUpgrade.dialog.upgrade.patch.header': "{0} Patch Upgrade to {1}",
   'admin.stackUpgrade.dialog.downgrade.header': "Downgrade from {0}",
   'admin.stackUpgrade.dialog.operationFailed': "This operation failed.",
   'admin.stackUpgrade.dialog.stop': "Stop Upgrade",

http://git-wip-us.apache.org/repos/asf/ambari/blob/6b523208/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 0dcc945..ab771e7 100644
--- a/ambari-web/app/utils/ajax/ajax.js
+++ b/ambari-web/app/utils/ajax/ajax.js
@@ -1853,7 +1853,7 @@ var urls = {
   },
 
   'admin.upgrade.pre_upgrade_check': {
-    'real': 
'/clusters/{clusterName}/rolling_upgrades_check?fields=*&UpgradeChecks/repository_version_id={value}&UpgradeChecks/upgrade_type={type}&UpgradeChecks/target_stack={targetStack}',
+    'real': 
'/clusters/{clusterName}/rolling_upgrades_check?fields=*&UpgradeChecks/repository_version_id={id}&UpgradeChecks/upgrade_type={type}',
     'mock': '/data/stack_versions/pre_upgrade_check.json'
   },
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/6b523208/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 b93b097..719cd96 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
@@ -172,12 +172,11 @@ App.UpgradeVersionBoxView = Em.View.extend({
     });
     var isSuspended = App.get('upgradeSuspended');
 
-    if (['INSTALLING', 'CURRENT'].contains(status)) {
-      if (this.get('content.isPatch') && status === 'CURRENT') {
-        element.setProperties(statePropertiesMap['CURRENT_PATCH']);
-      } else {
-        element.setProperties(statePropertiesMap[status]);
-      }
+    if (status === 'CURRENT' && this.get('content.isPatch') && 
!this.get('isUpgrading')) {
+      element.setProperties(statePropertiesMap['CURRENT_PATCH']);
+    }
+    else if (['INSTALLING', 'CURRENT'].contains(status) && 
!this.get('content.isPatch')) {
+      element.setProperties(statePropertiesMap[status]);
     }
     else if (status === 'NOT_REQUIRED') {
       requestInProgressRepoId && requestInProgressRepoId == 
this.get('content.id') ? element.setProperties(statePropertiesMap['LOADING']) : 
element.setProperties(statePropertiesMap[status]);

http://git-wip-us.apache.org/repos/asf/ambari/blob/6b523208/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 918c92f..71b9df1 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
@@ -405,7 +405,7 @@ describe('App.MainAdminStackAndUpgradeController', 
function() {
       expect(args[0].sender).to.be.eql(controller);
       expect(args[0].data).to.be.eql({
         id: '1',
-        value: '1',
+        value: '2.2',
         label: 'HDP-2.2',
         type: 'ROLLING',
         targetStack: "HDP-2.2",
@@ -1148,7 +1148,7 @@ describe('App.MainAdminStackAndUpgradeController', 
function() {
       expect(this.callArgs.data).to.eql({
         id: '1',
         value: '2.2',
-        label: 'HDP-2.2',
+        label: 'HDP-2.3',
         isDowngrade: true,
         upgradeType: "NON_ROLLING"
       });
@@ -1728,11 +1728,13 @@ describe('App.MainAdminStackAndUpgradeController', 
function() {
     it("Rolling method allowed", function () {
       controller.get('upgradeMethods').setEach('allowed', true);
       controller.runUpgradeMethodChecks(Em.Object.create({
-        id: '1',
+        id: 1,
+        repositoryVersion: '1.2',
         displayName: 'V1'
       }));
       expect(controller.runPreUpgradeCheckOnly.calledWith({
-        value: '1',
+        id: 1,
+        value: '1.2',
         label: 'V1',
         type: 'ROLLING'
       })).to.be.true;
@@ -1783,7 +1785,7 @@ describe('App.MainAdminStackAndUpgradeController', 
function() {
     });
     it('proper data is saved to the localDB', function () {
       expect(controller.setDBProperties.getCall(0).args[0]).to.eql({
-        fromVersion: null,
+        toVersion: '1.1',
         upgradeId: 1,
         isDowngrade: false,
         upgradeState: 'PENDING',
@@ -3500,16 +3502,33 @@ describe('App.MainAdminStackAndUpgradeController', 
function() {
       expect(args[0]).to.exists;
       expect(args[0].data).to.be.eql({
         upgradeId: 1,
+        isDowngrade: true,
         id: 2,
-        value: 2,
-        label: '1.2',
-        type: 'EXPRESS',
-        skipComponentFailures: 'false',
-        skipSCFailures: 'false'
+        value: '1.1',
+        label: '1.2'
       });
       args[0].callback();
       expect(controller.get('requestInProgress')).to.be.false;
     });
   });
 
+  describe('#getUpgradeDowngradeHeader', function() {
+
+    it('should return downgrade header', function() {
+      expect(controller.getUpgradeDowngradeHeader('t1', 'v1', 
true)).to.be.equal(
+        Em.I18n.t('admin.stackUpgrade.dialog.downgrade.header').format('v1')
+      );
+    });
+    it('should return patch upgrade header', function() {
+      expect(controller.getUpgradeDowngradeHeader('t1', 'v1', false, 
true)).to.be.equal(
+        
Em.I18n.t('admin.stackUpgrade.dialog.upgrade.patch.header').format('t1', 'v1')
+      );
+    });
+    it('should return upgrade header', function() {
+      expect(controller.getUpgradeDowngradeHeader('t1', 'v1', false, 
false)).to.be.equal(
+        Em.I18n.t('admin.stackUpgrade.dialog.upgrade.header').format('t1', 
'v1')
+      );
+    });
+  });
+
 });

http://git-wip-us.apache.org/repos/asf/ambari/blob/6b523208/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 0337913..71519c5 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
@@ -451,7 +451,8 @@ describe('App.UpgradeVersionBoxView', function () {
       {
         inputData: {
           'content.status': 'CURRENT',
-          'content.isPatch': true
+          'content.isPatch': true,
+          'isUpgrading': false
         },
         expected: {
           status: 'CURRENT',
@@ -1020,6 +1021,9 @@ describe('App.UpgradeVersionBoxView', function () {
         if (item.setup) {
           item.setup.call(this);
         }
+        view.reopen({
+          isUpgrading: item.inputData.isUpgrading
+        });
         view.setProperties(item.inputData);
         var result = 
view.get('stateElement').getProperties(Em.keys(item.expected));
         if (result.buttons) {

Reply via email to