Updated Branches: refs/heads/trunk 8eb0034ca -> 7fd4f92e0
AMBARI-3584: Reassign Master: Misc UI display fixes. (jaimin) Project: http://git-wip-us.apache.org/repos/asf/incubator-ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ambari/commit/7fd4f92e Tree: http://git-wip-us.apache.org/repos/asf/incubator-ambari/tree/7fd4f92e Diff: http://git-wip-us.apache.org/repos/asf/incubator-ambari/diff/7fd4f92e Branch: refs/heads/trunk Commit: 7fd4f92e0c537756ced5c4b3b3e58108fdcd53d9 Parents: 8eb0034 Author: Jaimin Jetly <[email protected]> Authored: Wed Oct 23 18:22:33 2013 -0700 Committer: Jaimin Jetly <[email protected]> Committed: Wed Oct 23 18:22:39 2013 -0700 ---------------------------------------------------------------------- ambari-web/app/config.js | 6 +-- .../main/service/reassign/step4_controller.js | 8 ++-- .../main/service/reassign/step6_controller.js | 4 +- ambari-web/app/messages.js | 45 +++++++++++--------- .../main/admin/highAvailability/progress.hbs | 2 +- .../templates/main/service/reassign/step1.hbs | 4 +- .../views/main/service/reassign/step1_view.js | 11 ++++- .../views/main/service/reassign/step4_view.js | 8 ++-- .../views/main/service/reassign/step6_view.js | 8 ++-- 9 files changed, 57 insertions(+), 39 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/7fd4f92e/ambari-web/app/config.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/config.js b/ambari-web/app/config.js index fe29686..3be03fa 100644 --- a/ambari-web/app/config.js +++ b/ambari-web/app/config.js @@ -47,19 +47,19 @@ App.supports = { mirroring: false, secureCluster: true, secureClusterProceedPopup: false, - reassignMaster: false, + reassignMaster: true, stackUpgrade: false, capacitySchedulerUi: false, startStopAllServices: true, hiveOozieExtraDatabases: true, - multipleHBaseMasters: false, + multipleHBaseMasters: true, addMasters: false, customizeSmokeTestUser: true, hue: false, ldapGroupMapping: false, localRepositories: true, highAvailability: true, - deleteHost: false, + deleteHost: true, autoRollbackHA: false }; http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/7fd4f92e/ambari-web/app/controllers/main/service/reassign/step4_controller.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/controllers/main/service/reassign/step4_controller.js b/ambari-web/app/controllers/main/service/reassign/step4_controller.js index 8c3b3f6..4efcfd2 100644 --- a/ambari-web/app/controllers/main/service/reassign/step4_controller.js +++ b/ambari-web/app/controllers/main/service/reassign/step4_controller.js @@ -36,6 +36,7 @@ App.ReassignMasterWizardStep4Controller = App.HighAvailabilityProgressPageContro } else { this.set('hostComponents', [this.get('content.reassign.component_name')]); } + this.set('serviceName', [this.get('content.reassign.service_id')]); this._super(); }, @@ -45,12 +46,13 @@ App.ReassignMasterWizardStep4Controller = App.HighAvailabilityProgressPageContro var hostComponentsNames = ''; this.get('hostComponents').forEach(function (comp, index) { - hostComponentsNames += index ? ', ' : ''; - hostComponentsNames += App.format.role(comp); + hostComponentsNames += index ? '+' : ''; + hostComponentsNames += comp === 'ZKFC' ? comp : App.format.role(comp); }, this); for (var i = 0; i < commands.length; i++) { - var title = Em.I18n.t('services.reassign.step4.task' + i + '.title').format(hostComponentsNames); + var TaskLabel = i === 3 ? this.get('serviceName') : hostComponentsNames; //For Reconfigure task, show serviceName + var title = Em.I18n.t('services.reassign.step4.task' + i + '.title').format(TaskLabel); this.get('tasks').pushObject(Ember.Object.create({ title: title, status: 'PENDING', http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/7fd4f92e/ambari-web/app/controllers/main/service/reassign/step6_controller.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/controllers/main/service/reassign/step6_controller.js b/ambari-web/app/controllers/main/service/reassign/step6_controller.js index 13bd14f..3efc638 100644 --- a/ambari-web/app/controllers/main/service/reassign/step6_controller.js +++ b/ambari-web/app/controllers/main/service/reassign/step6_controller.js @@ -43,8 +43,8 @@ App.ReassignMasterWizardStep6Controller = App.HighAvailabilityProgressPageContro var commands = this.get('commands'); var hostComponentsNames = ''; this.get('hostComponents').forEach(function (comp, index) { - hostComponentsNames += index ? ', ' : ''; - hostComponentsNames += App.format.role(comp); + hostComponentsNames += index ? '+' : ''; + hostComponentsNames += comp === 'ZKFC' ? comp : App.format.role(comp); }, this); var currentStep = App.router.get('reassignMasterController.currentStep'); for (var i = 0; i < commands.length; i++) { http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/7fd4f92e/ambari-web/app/messages.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js index ad1eb3b..dbf9cb3 100644 --- a/ambari-web/app/messages.js +++ b/ambari-web/app/messages.js @@ -778,7 +778,7 @@ Em.I18n.translations = { 'This allows for an Active-Standby NameNode configuration that automatically performs failover.<br/><br/>' + 'The process to enable HA involves a combination of <b>automated steps</b> (that will be handled by the wizard) and ' + '<b>manual steps</b> (that you must perform in sequence as instructed by the wizard).<br/><br/>' + - '<b>You should plan a cluster maintanance window and prepare for cluster downtime when enabling NameNode HA.</b>', + '<b>You should plan a cluster maintenance window and prepare for cluster downtime when enabling NameNode HA.</b>', 'admin.highAvailability.wizard.step1.alert':'If you have HBase running, please exit this wizard and stop HBase first.', 'admin.security.title':'Kerberos security has not been enabled', 'admin.security.enabled': 'Kerberos security is enabled', @@ -1083,28 +1083,33 @@ Em.I18n.translations = { 'services.service.startAll':'Start All', 'services.service.stopAll':'Stop All', - 'services.reassign.step1.header':'Prerequisites', - 'services.reassign.step1.message':'{0} master component does not have any prerequisites.', + 'services.reassign.step1.header':'Get Started', + 'services.reassign.step1.message1': 'This wizard will walk you through reassigning {0}.<br/>', + 'services.reassign.step1.message2': 'The process to reassign {0} involves a combination of <b>automated steps</b> (that will be handled by the wizard) and ' + + '<b>manual steps</b> (that you must perform in sequence as instructed by the wizard).<br/><br/>', + 'services.reassign.step1.message3': '<b>All services will be restarted as part of the wizard. You should plan a cluster maintenance window and prepare ' + + 'for cluster downtime when reassigning {0}.</b>', + 'services.reassign.step2.header':'Assign Masters', 'services.reassign.step3.header':'Review', 'services.reassign.step3.body':'Please review the changes you made', 'services.reassign.step3.targetHost':'Target Host:', 'services.reassign.step3.sourceHost':'Source Host:', 'services.reassign.step3.component':'Component name:', - 'services.reassign.step4.header':'Install, Start and Test', + 'services.reassign.step4.header':'Configure Components', 'services.reassign.step4.task0.title':'Stop All Services', - 'services.reassign.step4.task1.title':'{0} create', - 'services.reassign.step4.task2.title':'{0} disable', - 'services.reassign.step4.task3.title':'{0} reconfigure', - 'services.reassign.step4.task4.title':'{0} install', + 'services.reassign.step4.task1.title':'Create {0}', + 'services.reassign.step4.task2.title':'Disable {0}', + 'services.reassign.step4.task3.title':'Reconfigure {0}', + 'services.reassign.step4.task4.title':'Install {0}', 'services.reassign.step4.task5.title':'Start ZooKeeper Servers', 'services.reassign.step4.task6.title':'Start NameNode', - 'services.reassign.step4.task7.title':'{0} remove', + 'services.reassign.step4.task7.title':'Delete disabled {0}', 'services.reassign.step4.task8.title':'Start All Services', - 'services.reassign.step4.status.success': 'Successfully reassigned {0}', + 'services.reassign.step4.status.success': 'Successfully moved <b>{0}</b> from <b>{1}</b> host to <b>{2}</b> host', 'services.reassign.step4.status.success.withManualSteps': 'Proceed to the next step', - 'services.reassign.step4.status.failed': 'Failed to reassign {0}', - 'services.reassign.step4.status.info': 'Reassigning {0}. \nPlease wait while all tasks will be completed.', + 'services.reassign.step4.status.failed': 'Failed to move <b>{0}</b> from <b>{1}</b> host to <b>{2}</b> host', + 'services.reassign.step4.status.info': 'Reassigning {0}. \nPlease wait for all tasks to be completed.', 'services.reassign.step4.retry': 'You can click on the Retry or Abort button to retry failed task or abort changes', 'services.reassign.step4.abortError': 'Error in aborting changes.', 'services.reassign.step5.header': 'Manual commands', @@ -1129,7 +1134,9 @@ Em.I18n.translations = { '</div>' + '<div class="alert alert-info">' + '<ol start="3">' + - '<li>Login to the newly installed NameNode host <b>{2}</b></li>' + + '<li>Login to the newly installed NameNode host <b>{2}</b>.<br>' + + '<div class="alert alert-warn"><strong>Important!</strong> Be sure to login to the newly installed NameNode host.<br>This is a different host from the Steps 1 and 2 above.</div>' + + '</li>' + '<li>Initialize the metadata by running:' + "<div class='code-snippet'>sudo su -l {3} -c 'hdfs namenode -bootstrapStandby'</div></li>" + '</ol>' + @@ -1153,12 +1160,12 @@ Em.I18n.translations = { '<li>Proceed next' + '</ol>'+ '</div>', - 'services.reassign.step6.header': 'Install, Start and Test', - 'services.reassign.step6.task0.title':'{0} remove', - 'services.reassign.step6.task1.title':'Start All Services', - 'services.reassign.step6.status.success': 'Successfully reassigned {0}', - 'services.reassign.step6.status.failed': 'Failed to reassign {0}', - 'services.reassign.step6.status.info': 'Reassigning {0}. \nPlease wait while all tasks will be completed.', + 'services.reassign.step6.header': 'Start and Test services', + 'services.reassign.step6.task0.title': 'Delete disabled {0}', + 'services.reassign.step6.task1.title': 'Start All Services', + 'services.reassign.step6.status.success': 'Successfully moved <b>{0}</b> from <b>{1}</b> host to <b>{2}</b> host', + 'services.reassign.step6.status.failed': 'Failed to move <b>{0}</b> from <b>{1}</b> host to <b>{2}</b> host', + 'services.reassign.step6.status.info': 'Reassigning {0}. \nPlease wait for all tasks to be completed.', /** services page constants **/ http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/7fd4f92e/ambari-web/app/templates/main/admin/highAvailability/progress.hbs ---------------------------------------------------------------------- diff --git a/ambari-web/app/templates/main/admin/highAvailability/progress.hbs b/ambari-web/app/templates/main/admin/highAvailability/progress.hbs index 59102b3..3a2ad8a 100644 --- a/ambari-web/app/templates/main/admin/highAvailability/progress.hbs +++ b/ambari-web/app/templates/main/admin/highAvailability/progress.hbs @@ -18,7 +18,7 @@ <div id="ha-progress-page"> <h2>{{view.headerTitle}}</h2> - <div {{bindAttr class="view.noticeClass"}}>{{view.notice}}</div> + <div {{bindAttr class="view.noticeClass"}}>{{{view.notice}}}</div> {{#each task in controller.tasks}} {{#view view.taskView contentBinding="task"}} <div class="item"> http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/7fd4f92e/ambari-web/app/templates/main/service/reassign/step1.hbs ---------------------------------------------------------------------- diff --git a/ambari-web/app/templates/main/service/reassign/step1.hbs b/ambari-web/app/templates/main/service/reassign/step1.hbs index 7481c1a..9862cbe 100644 --- a/ambari-web/app/templates/main/service/reassign/step1.hbs +++ b/ambari-web/app/templates/main/service/reassign/step1.hbs @@ -18,7 +18,9 @@ <h2>{{t services.reassign.step1.header}}</h2> <div class="alert alert-info"> - {{view.message}} + {{#each message in view.message}} + {{{message}}} + {{/each}} </div> <div class="btn-area"> <a class="btn btn-success pull-right" {{bindAttr disabled="isSubmitDisabled"}} {{action next}}>{{t common.next}} →</a> http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/7fd4f92e/ambari-web/app/views/main/service/reassign/step1_view.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/views/main/service/reassign/step1_view.js b/ambari-web/app/views/main/service/reassign/step1_view.js index 83668e5..2478c37 100644 --- a/ambari-web/app/views/main/service/reassign/step1_view.js +++ b/ambari-web/app/views/main/service/reassign/step1_view.js @@ -22,8 +22,15 @@ var App = require('app'); App.ReassignMasterWizardStep1View = Em.View.extend({ message: function () { - return Em.I18n.t('services.reassign.step1.message').format(this.get('controller.content.reassign.display_name')); - }.property('controller.content.reassign.display_name'), + messages = [ + Em.I18n.t('services.reassign.step1.message1').format(this.get('controller.content.reassign.display_name')), + Em.I18n.t('services.reassign.step1.message3').format(this.get('controller.content.reassign.display_name')) + ]; + if (this.get('controller.content.hasManualSteps')) { + messages.splice(1,0, Em.I18n.t('services.reassign.step1.message2').format(this.get('controller.content.reassign.display_name'))); + } + return messages; + }.property('controller.content.reassign.display_name','controller.content.hasManualSteps'), templateName: require('templates/main/service/reassign/step1') http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/7fd4f92e/ambari-web/app/views/main/service/reassign/step4_view.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/views/main/service/reassign/step4_view.js b/ambari-web/app/views/main/service/reassign/step4_view.js index b3eaad7..3ffdb4b 100644 --- a/ambari-web/app/views/main/service/reassign/step4_view.js +++ b/ambari-web/app/views/main/service/reassign/step4_view.js @@ -28,16 +28,16 @@ App.ReassignMasterWizardStep4View = App.HighAvailabilityProgressPageView.extend( }.property('controller.content.reassign.component_name'), noticeFailed: function () { - return Em.I18n.t('services.reassign.step4.status.failed').format(App.format.role(this.get('controller.content.reassign.component_name'))) - }.property('controller.content.reassign.component_name'), + return Em.I18n.t('services.reassign.step4.status.failed').format(App.format.role(this.get('controller.content.reassign.component_name')),this.get('controller.content.reassignHosts.source'),this.get('controller.content.reassignHosts.target')); + }.property('controller.content.reassign.component_name','controller.content.reassignHosts.source','controller.content.reassignHosts.target'), noticeCompleted: function () { if (this.get('controller.content.hasManualSteps')) { return Em.I18n.t('services.reassign.step4.status.success.withManualSteps').format(App.format.role(this.get('controller.content.reassign.component_name'))); } else { - return Em.I18n.t('services.reassign.step4.status.success').format(App.format.role(this.get('controller.content.reassign.component_name'))); + return Em.I18n.t('services.reassign.step4.status.success').format(App.format.role(this.get('controller.content.reassign.component_name')),this.get('controller.content.reassignHosts.source'),this.get('controller.content.reassignHosts.target')); } - }.property('controller.content.reassign.component_name'), + }.property('controller.content.reassign.component_name','controller.content.reassignHosts.source','controller.content.reassignHosts.target'), submitButtonText: function () { if (this.get('controller.content.hasManualSteps')) { http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/7fd4f92e/ambari-web/app/views/main/service/reassign/step6_view.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/views/main/service/reassign/step6_view.js b/ambari-web/app/views/main/service/reassign/step6_view.js index 02aa506..4833ab7 100644 --- a/ambari-web/app/views/main/service/reassign/step6_view.js +++ b/ambari-web/app/views/main/service/reassign/step6_view.js @@ -28,12 +28,12 @@ App.ReassignMasterWizardStep6View = App.HighAvailabilityProgressPageView.extend( }.property('controller.content.reassign.component_name'), noticeFailed: function () { - return Em.I18n.t('services.reassign.step6.status.failed').format(App.format.role(this.get('controller.content.reassign.component_name'))) - }.property('controller.content.reassign.component_name'), + return Em.I18n.t('services.reassign.step6.status.failed').format(App.format.role(this.get('controller.content.reassign.component_name')),this.get('controller.content.reassignHosts.source'),this.get('controller.content.reassignHosts.target')) + }.property('controller.content.reassign.component_name','controller.content.reassignHosts.source','controller.content.reassignHosts.target'), noticeCompleted: function () { - return Em.I18n.t('services.reassign.step6.status.success').format(App.format.role(this.get('controller.content.reassign.component_name'))) - }.property('controller.content.reassign.component_name'), + return Em.I18n.t('services.reassign.step6.status.success').format(App.format.role(this.get('controller.content.reassign.component_name')),this.get('controller.content.reassignHosts.source'),this.get('controller.content.reassignHosts.target')) + }.property('controller.content.reassign.component_name','controller.content.reassignHosts.source','controller.content.reassignHosts.target'), submitButtonText: Em.I18n.t('common.complete'),
