Ver código fonte

AMBARI-9194 Description for Finalize needs to be more specific. Finalize action needs to have a confirmation. (atkach)

Andrii Tkach 10 anos atrás
pai
commit
6121d56df9

+ 5 - 0
ambari-web/app/messages.js

@@ -1330,6 +1330,11 @@ Em.I18n.translations = {
 
   'admin.stackVersions.details.install.hosts.popup.title': "Install {0} version",
 
+  'admin.stackUpgrade.finalize.later': "Finalize Later",
+  'admin.stackUpgrade.finalize.message': "Your cluster version has been upgraded. " +
+  "Click on <b>Finalize</b> when you are ready to finalize the upgrade and commit to the new version." +
+  " You are strongly encouraged to run tests on your cluster to ensure it is fully operational before finalizing." +
+  " <b>You cannot go back to the original version once the upgrade is finalized.</b>",
   'admin.stackUpgrade.doThisLater': "Do This Later",
   'admin.stackUpgrade.downgrade.proceed': "Proceed with Downgrade",
   'admin.stackUpgrade.downgrade.title': "Downgrade to {0}",

+ 37 - 16
ambari-web/app/templates/main/admin/stack_upgrade/stack_upgrade_wizard.hbs

@@ -67,7 +67,7 @@
                 {{#if view.isDowngradeAvailable}}
                   <button class="btn btn-danger" {{action confirmDowngrade target="controller"}}>{{t common.downgrade}}</button>
                 {{/if}}
-                {{#if view.isSkipable}}
+                {{#if view.failedItem.skippable}}
                   <button class="btn btn-warning" {{action continue view.failedItem target="view"}}>{{t admin.stackUpgrade.dialog.continue}}</button>
                 {{else}}
                   <button class="btn btn-danger" {{action cancel view.failedItem target="view"}}>{{t admin.stackUpgrade.dialog.cancel}}</button>
@@ -78,24 +78,45 @@
           </div>
         {{/if}}
         {{#if view.manualItem}}
-          <div class="box details-box">
-            <p><strong>{{t admin.stackUpgrade.dialog.manual}}</strong></p>
-            <p>{{view.manualItem.text}}</p>
+          {{#if view.isFinalizeItem}}
+            <div class="box details-box">
+              <p><strong>{{t admin.stackUpgrade.dialog.manual}}</strong></p>
+              <p>{{t admin.stackUpgrade.finalize.message}}</p>
 
-            <div class="message">
-              {{view Em.Checkbox checkedBinding="view.isManualDone"}}
-              {{t admin.stackUpgrade.dialog.manualDone}}
+              <div class="message">
+                {{view Em.Checkbox checkedBinding="view.isManualDone"}}
+                {{t admin.stackUpgrade.dialog.manualDone}}
+              </div>
+              <div class="button-row">
+                {{#if view.isDowngradeAvailable}}
+                  <button class="btn btn-danger" {{action confirmDowngrade target="controller"}}>{{t common.downgrade}}</button>
+                {{/if}}
+                <button class="btn" {{action closeWizard target="view.parentView"}}>{{t admin.stackUpgrade.finalize.later}}</button>
+                <button class="btn btn-success" {{bindAttr disabled="view.isManualProceedDisabled"}} {{action complete view.manualItem target="view"}}>
+                  {{t common.finalize}}
+                </button>
+              </div>
             </div>
-            <div class="button-row">
-              {{#if view.isDowngradeAvailable}}
-                <button class="btn btn-danger" {{action confirmDowngrade target="controller"}}>{{t common.downgrade}}</button>
-              {{/if}}
-              <button class="btn" {{action closeWizard target="view.parentView"}}>{{t admin.stackUpgrade.doThisLater}}</button>
-              <button class="btn btn-success" {{bindAttr disabled="view.isManualProceedDisabled"}} {{action complete view.manualItem target="view"}}>
-                {{t common.proceed}}
-              </button>
+          {{else}}
+            <div class="box details-box">
+              <p><strong>{{t admin.stackUpgrade.dialog.manual}}</strong></p>
+              <p>{{view.manualItem.text}}</p>
+
+              <div class="message">
+                {{view Em.Checkbox checkedBinding="view.isManualDone"}}
+                {{t admin.stackUpgrade.dialog.manualDone}}
+              </div>
+              <div class="button-row">
+                {{#if view.isDowngradeAvailable}}
+                  <button class="btn btn-danger" {{action confirmDowngrade target="controller"}}>{{t common.downgrade}}</button>
+                {{/if}}
+                <button class="btn" {{action closeWizard target="view.parentView"}}>{{t admin.stackUpgrade.doThisLater}}</button>
+                <button class="btn btn-success" {{bindAttr disabled="view.isManualProceedDisabled"}} {{action complete view.manualItem target="view"}}>
+                  {{t common.proceed}}
+                </button>
+              </div>
             </div>
-          </div>
+          {{/if}}
         {{/if}}
       </div>
       {{#each group in view.upgradeGroups}}

+ 8 - 8
ambari-web/app/views/main/admin/stack_upgrade/upgrade_wizard_view.js

@@ -137,14 +137,6 @@ App.upgradeWizardView = Em.View.extend({
     return Boolean(this.get('failedItem.status') && this.get('failedItem.status').contains('HOLDING'));
   }.property('failedItem.status'),
 
-  /**
-   * indicate whether failed item can be skipped or retried in order to continue Upgrade
-   * @type {boolean}
-   */
-  isSkipable: function () {
-    return this.get('failedItem.skippable');
-  }.property('failedItem.skippable'),
-
   /**
    * @type {boolean}
    */
@@ -165,6 +157,14 @@ App.upgradeWizardView = Em.View.extend({
     return this.get('activeGroup.upgradeItems') && this.get('activeGroup.upgradeItems').findProperty('status', 'HOLDING');
   }.property('activeGroup.upgradeItems.@each.status'),
 
+  /**
+   * indicate whether the step is Finalize
+   * @type {boolean}
+   */
+  isFinalizeItem: function () {
+    return this.get('manualItem.context') === 'Confirm Finalize';
+  }.property('manualItem.context'),
+
   /**
    * label of Upgrade status
    * @type {string}