You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by at...@apache.org on 2015/09/24 12:15:58 UTC

ambari git commit: AMBARI-13219 Not all hosts displayed on hosts page. (atkach)

Repository: ambari
Updated Branches:
  refs/heads/trunk 0a0e29d0e -> 0f10e841a


AMBARI-13219 Not all hosts displayed on hosts page. (atkach)


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

Branch: refs/heads/trunk
Commit: 0f10e841a24940bbba4281a0a09e936b43df00ee
Parents: 0a0e29d
Author: Andrii Tkach <at...@hortonworks.com>
Authored: Thu Sep 24 13:15:49 2015 +0300
Committer: Andrii Tkach <at...@hortonworks.com>
Committed: Thu Sep 24 13:15:49 2015 +0300

----------------------------------------------------------------------
 ambari-web/app/controllers/main/host.js         |  1 -
 ambari-web/app/mappers/hosts_mapper.js          | 10 +++---
 .../details/host_components/decommissionable.js |  1 +
 ambari-web/app/views/main/host/details.js       |  5 +--
 .../decommissionable_test.js                    | 34 ++++++++++++++++++++
 5 files changed, 44 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/0f10e841/ambari-web/app/controllers/main/host.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/host.js b/ambari-web/app/controllers/main/host.js
index 4a0a418..7ffd89e 100644
--- a/ambari-web/app/controllers/main/host.js
+++ b/ambari-web/app/controllers/main/host.js
@@ -24,7 +24,6 @@ var hostsManagement = require('utils/hosts');
 App.MainHostController = Em.ArrayController.extend(App.TableServerMixin, {
   name: 'mainHostController',
 
-  dataSource: App.Host.find(),
   clearFilters: null,
 
   filteredCount: 0,

http://git-wip-us.apache.org/repos/asf/ambari/blob/0f10e841/ambari-web/app/mappers/hosts_mapper.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mappers/hosts_mapper.js b/ambari-web/app/mappers/hosts_mapper.js
index 733160e..ed9ef26 100644
--- a/ambari-web/app/mappers/hosts_mapper.js
+++ b/ambari-web/app/mappers/hosts_mapper.js
@@ -182,15 +182,17 @@ App.hostsMapper = App.QuickDataMapper.create({
 
 
       for (var k = 0; k < advancedHostComponents.length; k++) {
-        var id = advancedHostComponents[k];
-        if (componentsIdMap[id]) componentsIdMap[id].display_name_advanced = App.HostComponent.find(id).get('displayNameAdvanced');
-      };
+        var key = advancedHostComponents[k];
+        if (componentsIdMap[key]) componentsIdMap[key].display_name_advanced = App.HostComponent.find(key).get('displayNameAdvanced');
+      }
+
       App.store.commit();
       if (stackUpgradeSupport) {
         App.store.loadMany(App.HostStackVersion, stackVersions);
       }
       App.store.loadMany(App.HostComponent, components);
-      if (App.router.get('currentState.parentState.name') != 'hostDetails') {
+      //"itemTotal" present only for Hosts page request
+      if (!Em.isNone(json.itemTotal)) {
         App.Host.find().clear();
       }
       App.store.loadMany(App.Host, hostsWithFullInfo);

http://git-wip-us.apache.org/repos/asf/ambari/blob/0f10e841/ambari-web/app/mixins/main/host/details/host_components/decommissionable.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mixins/main/host/details/host_components/decommissionable.js b/ambari-web/app/mixins/main/host/details/host_components/decommissionable.js
index 8dae252..b99cea7 100644
--- a/ambari-web/app/mixins/main/host/details/host_components/decommissionable.js
+++ b/ambari-web/app/mixins/main/host/details/host_components/decommissionable.js
@@ -143,6 +143,7 @@ App.Decommissionable = Em.Mixin.create({
    * Get desired_admin_state status from server
    */
   getDesiredAdminState: function () {
+    if (Em.isNone(this.get('content'))) return null;
     return App.ajax.send({
       name: 'host.host_component.slave_desired_admin_state',
       sender: this,

http://git-wip-us.apache.org/repos/asf/ambari/blob/0f10e841/ambari-web/app/views/main/host/details.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/host/details.js b/ambari-web/app/views/main/host/details.js
index 3113135..ea60181 100644
--- a/ambari-web/app/views/main/host/details.js
+++ b/ambari-web/app/views/main/host/details.js
@@ -58,12 +58,13 @@ App.MainHostDetailsView = Em.View.extend({
   }.property('controller.content','isActive', 'controller.content.isNotHeartBeating'),
   didInsertElement: function() {
     var self = this;
+    var host = self.get('content');
 
-    this.set('isLoaded', App.Host.find(this.get('content.id')).get('isLoaded'));
+    this.set('isLoaded', App.Host.find(host.get('id')).get('isLoaded'));
     App.router.get('updateController').updateHost(function () {
       self.set('isLoaded', true);
       App.tooltip($("[rel='HealthTooltip']"));
-      if (!self.get('content.isLoaded')) {
+      if (!host.get('isLoaded')) {
         //if host is not existed then route to list of hosts
         App.router.transitionTo('main.hosts.index');
       }

http://git-wip-us.apache.org/repos/asf/ambari/blob/0f10e841/ambari-web/test/views/main/host/details/host_component_views/decommissionable_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/views/main/host/details/host_component_views/decommissionable_test.js b/ambari-web/test/views/main/host/details/host_component_views/decommissionable_test.js
index 659cfbd..7c02870 100644
--- a/ambari-web/test/views/main/host/details/host_component_views/decommissionable_test.js
+++ b/ambari-web/test/views/main/host/details/host_component_views/decommissionable_test.js
@@ -220,4 +220,38 @@ describe('App.Decommissionable', function() {
 
   });
 
+  describe("#getDesiredAdminState()", function() {
+    beforeEach(function () {
+      sinon.stub(App.ajax, 'send', Em.K);
+    });
+    afterEach(function () {
+      App.ajax.send.restore();
+    });
+    it("content is null", function() {
+      hostComponentView = Em.View.create(App.Decommissionable, {
+        content: null
+      });
+      hostComponentView.getDesiredAdminState();
+      expect(App.ajax.send.called).to.be.false;
+    });
+    it("content is correct", function() {
+      hostComponentView = Em.View.create(App.Decommissionable, {
+        content: Em.Object.create({
+          hostName: 'host1',
+          componentName: 'C1'
+        })
+      });
+      hostComponentView.getDesiredAdminState();
+      expect(App.ajax.send.calledWith({
+        name: 'host.host_component.slave_desired_admin_state',
+        sender: hostComponentView,
+        data: {
+          hostName: 'host1',
+          componentName: 'C1'
+        },
+        success: 'getDesiredAdminStateSuccessCallback',
+        error: 'getDesiredAdminStateErrorCallback'
+      })).to.be.true;
+    });
+  });
 });