You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ak...@apache.org on 2016/09/13 12:30:55 UTC
ambari git commit: AMBARI-17504 If client install fails there is no
way to reinstall after fixing the issue in the UI. (akovalenko)
Repository: ambari
Updated Branches:
refs/heads/branch-2.5 673f524b1 -> 275d5dffc
AMBARI-17504 If client install fails there is no way to reinstall after fixing the issue in the UI. (akovalenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/275d5dff
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/275d5dff
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/275d5dff
Branch: refs/heads/branch-2.5
Commit: 275d5dffcbbb9ea7976c650bf50f09320e034e8f
Parents: 673f524
Author: Aleksandr Kovalenko <ak...@hortonworks.com>
Authored: Thu Jun 30 17:45:56 2016 +0300
Committer: Aleksandr Kovalenko <ak...@hortonworks.com>
Committed: Tue Sep 13 15:30:29 2016 +0300
----------------------------------------------------------------------
ambari-web/app/messages.js | 1 +
ambari-web/app/templates/main/host/summary.hbs | 7 +++++++
ambari-web/app/views/main/host/summary.js | 15 ++++++++++++++-
ambari-web/test/views/main/host/summary_test.js | 19 +++++++++++++++++++
4 files changed, 41 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/275d5dff/ambari-web/app/messages.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js
index c7bab8d..0640916 100644
--- a/ambari-web/app/messages.js
+++ b/ambari-web/app/messages.js
@@ -2482,6 +2482,7 @@ Em.I18n.translations = {
'hosts.host.details.for.postfix':'{0} for host',
'hosts.host.details.setRackId':'Set Rack',
'host.host.details.installClients': 'Install clients',
+ 'host.host.details.reinstallClients': 'Reinstall clients',
'host.host.componentFilter.master':'Master Components',
'host.host.componentFilter.slave':'Slave Components',
http://git-wip-us.apache.org/repos/asf/ambari/blob/275d5dff/ambari-web/app/templates/main/host/summary.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/host/summary.hbs b/ambari-web/app/templates/main/host/summary.hbs
index b812f4b..7cf3314 100644
--- a/ambari-web/app/templates/main/host/summary.hbs
+++ b/ambari-web/app/templates/main/host/summary.hbs
@@ -95,6 +95,13 @@
{{t host.host.details.installClients}}
</a>
</li>
+ {{#if view.anyClientFailedToInstall}}
+ <li>
+ <a href="javascript:void(null)" {{action reinstallClients target="view"}}>
+ {{t host.host.details.reinstallClients}}
+ </a>
+ </li>
+ {{/if}}
{{#each option in view.clientsWithCustomCommands}}
<li class="dropdown-submenu submenu-left">
<a href="javascript:void(null)" >
http://git-wip-us.apache.org/repos/asf/ambari/blob/275d5dff/ambari-web/app/views/main/host/summary.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/host/summary.js b/ambari-web/app/views/main/host/summary.js
index 840b93f..80c4890 100644
--- a/ambari-web/app/views/main/host/summary.js
+++ b/ambari-web/app/views/main/host/summary.js
@@ -204,6 +204,12 @@ App.MainHostSummaryView = Em.View.extend(App.TimeRangeMixin, {
areClientWithStaleConfigs: Em.computed.someBy('clients', 'staleConfigs', true),
/**
+ * List of install failed clients
+ * @type {App.HostComponent[]}
+ */
+ installFailedClients: Em.computed.filterBy('clients', 'workStatus', 'INSTALL_FAILED'),
+
+ /**
* Template for addable component
* @type {Em.Object}
*/
@@ -333,9 +339,16 @@ App.MainHostSummaryView = Em.View.extend(App.TimeRangeMixin, {
}.property('controller'),
/**
- * Call installClients method from controller for not installed components
+ * Call installClients method from controller for not installed client components
*/
installClients: function () {
this.get('controller').installClients(this.get('notInstalledClientComponents'));
+ },
+
+ /**
+ * Call installClients method from controller for not install failed client components
+ */
+ reinstallClients: function () {
+ this.get('controller').installClients(this.get('installFailedClients'));
}
});
http://git-wip-us.apache.org/repos/asf/ambari/blob/275d5dff/ambari-web/test/views/main/host/summary_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/views/main/host/summary_test.js b/ambari-web/test/views/main/host/summary_test.js
index 4c91dea..31b6d94 100644
--- a/ambari-web/test/views/main/host/summary_test.js
+++ b/ambari-web/test/views/main/host/summary_test.js
@@ -675,4 +675,23 @@ describe('App.MainHostSummaryView', function() {
expect(mainHostSummaryView.get('controller.installClients').calledWith([1,2,3])).to.be.true;
});
});
+
+ describe("#reinstallClients()", function () {
+
+ beforeEach(function () {
+ var controller = {installClients: Em.K};
+ sinon.spy(controller, 'installClients');
+ mainHostSummaryView.set('controller', controller);
+ mainHostSummaryView.reopen({'installFailedClients': [1,2,3]});
+ });
+
+ afterEach(function () {
+ mainHostSummaryView.get('controller.installClients').restore();
+ });
+
+ it("should call installClients method from controller", function () {
+ mainHostSummaryView.reinstallClients();
+ expect(mainHostSummaryView.get('controller.installClients').calledWith([1,2,3])).to.be.true;
+ });
+ });
});