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 2013/10/15 14:18:35 UTC
git commit: AMBARI-3514 Eliminate updating of immutable properties
for hosts. (atkach)
Updated Branches:
refs/heads/trunk 9dbf00eed -> d26023841
AMBARI-3514 Eliminate updating of immutable properties for hosts. (atkach)
Project: http://git-wip-us.apache.org/repos/asf/incubator-ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ambari/commit/d2602384
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ambari/tree/d2602384
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ambari/diff/d2602384
Branch: refs/heads/trunk
Commit: d26023841a5c2022169af0809ca9166dafe2d007
Parents: 9dbf00e
Author: atkach <an...@gmail.com>
Authored: Tue Oct 15 15:18:29 2013 +0300
Committer: atkach <an...@gmail.com>
Committed: Tue Oct 15 15:18:29 2013 +0300
----------------------------------------------------------------------
.../app/controllers/global/cluster_controller.js | 18 ++++++++++--------
.../app/controllers/global/update_controller.js | 3 +--
ambari-web/app/mappers/hosts_mapper.js | 14 ++++++++++++++
ambari-web/app/routes/add_host_routes.js | 4 ++++
ambari-web/app/routes/add_service_routes.js | 4 ++++
ambari-web/app/routes/reassign_master_routes.js | 4 ++++
6 files changed, 37 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/d2602384/ambari-web/app/controllers/global/cluster_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/global/cluster_controller.js b/ambari-web/app/controllers/global/cluster_controller.js
index 0a2d94f..8e1860c 100644
--- a/ambari-web/app/controllers/global/cluster_controller.js
+++ b/ambari-web/app/controllers/global/cluster_controller.js
@@ -312,8 +312,7 @@ App.ClusterController = Em.Controller.extend({
return;
}
var clusterUrl = this.getUrl('/data/clusters/cluster.json', '?fields=Clusters');
- var testHostUrl = App.get('isHadoop2Stack') ? '/data/hosts/HDP2/hosts.json':'/data/hosts/hosts.json';
- var hostsUrl = this.getUrl(testHostUrl, '/hosts?fields=Hosts/host_name,Hosts/public_host_name,Hosts/disk_info,Hosts/cpu_count,Hosts/total_mem,Hosts/host_status,Hosts/last_heartbeat_time,Hosts/os_arch,Hosts/os_type,Hosts/ip,host_components,metrics/disk,metrics/load/load_one');
+ var hostsRealUrl = '/hosts?fields=Hosts/host_name,Hosts/public_host_name,Hosts/cpu_count,Hosts/total_mem,Hosts/host_status,Hosts/last_heartbeat_time,Hosts/os_arch,Hosts/os_type,Hosts/ip,host_components,metrics/disk,metrics/load/load_one';
var usersUrl = App.testMode ? '/data/users/users.json' : App.apiPrefix + '/users/?fields=*';
var racksUrl = "/data/racks/racks.json";
var dataSetUrl = "/data/mirroring/all_datasets.json";
@@ -360,12 +359,8 @@ App.ClusterController = Em.Controller.extend({
});
}
- App.HttpClient.get(hostsUrl, App.hostsMapper, {
- complete:function (jqXHR, textStatus) {
- self.updateLoadStatus('hosts');
- }
- }, function (jqXHR, textStatus) {
- self.updateLoadStatus('hosts');
+ this.requestHosts(hostsRealUrl, function (jqXHR, textStatus) {
+ self.updateLoadStatus('hosts');
});
App.HttpClient.get(usersUrl, App.usersMapper, {
@@ -388,6 +383,13 @@ App.ClusterController = Em.Controller.extend({
});
},
+ requestHosts: function(realUrl, callback){
+ var testHostUrl = App.get('isHadoop2Stack') ? '/data/hosts/HDP2/hosts.json':'/data/hosts/hosts.json';
+ var url = this.getUrl(testHostUrl, realUrl);
+ App.HttpClient.get(url, App.hostsMapper, {
+ complete: callback
+ }, callback)
+ },
loadAmbariProperties: function() {
App.ajax.send({
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/d2602384/ambari-web/app/controllers/global/update_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/global/update_controller.js b/ambari-web/app/controllers/global/update_controller.js
index 713cade..344fff5 100644
--- a/ambari-web/app/controllers/global/update_controller.js
+++ b/ambari-web/app/controllers/global/update_controller.js
@@ -44,9 +44,8 @@ App.UpdateController = Em.Controller.extend({
}.observes('isWorking'),
updateHost:function(callback) {
- var self = this;
var testUrl = App.get('isHadoop2Stack') ? '/data/hosts/HDP2/hosts.json':'/data/hosts/hosts.json';
- var hostsUrl = this.getUrl(testUrl, '/hosts?fields=Hosts/host_name,Hosts/public_host_name,Hosts/disk_info,Hosts/cpu_count,Hosts/total_mem,Hosts/host_status,Hosts/last_heartbeat_time,Hosts/os_arch,Hosts/os_type,Hosts/ip,host_components,metrics/disk,metrics/load/load_one');
+ var hostsUrl = this.getUrl(testUrl, '/hosts?fields=Hosts/host_name,Hosts/host_status,Hosts/last_heartbeat_time,host_components,metrics/disk,metrics/load/load_one');
App.HttpClient.get(hostsUrl, App.hostsMapper, {
complete: callback
});
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/d2602384/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 706281f..25f799f 100644
--- a/ambari-web/app/mappers/hosts_mapper.js
+++ b/ambari-web/app/mappers/hosts_mapper.js
@@ -16,6 +16,7 @@
*/
var App = require('app');
+var cacheData = {};
App.hostsMapper = App.QuickDataMapper.create({
@@ -56,6 +57,7 @@ App.hostsMapper = App.QuickDataMapper.create({
var serverHostIds = {};
result.forEach(function (host) {
serverHostIds[host.id] = host.id;
+ cacheData[host.id] = host;
});
var hostsToDelete = [];
clientHosts.forEach(function (host) {
@@ -69,6 +71,18 @@ App.hostsMapper = App.QuickDataMapper.create({
host.deleteRecord();
});
}
+ //restore properties from cache instead request them from server
+ result.forEach(function (host) {
+ var cacheHost = cacheData[host.id];
+ if (cacheHost) {
+ host.ip = cacheHost.ip;
+ host.os_arch = cacheHost.os_arch;
+ host.os_type = cacheHost.os_type;
+ host.public_host_name = cacheHost.public_host_name;
+ host.memory = cacheHost.memory;
+ host.cpu = cacheHost.cpu;
+ }
+ });
App.store.loadMany(this.get('model'), result);
}
},
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/d2602384/ambari-web/app/routes/add_host_routes.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/routes/add_host_routes.js b/ambari-web/app/routes/add_host_routes.js
index 49594f9..8ef5f1b 100644
--- a/ambari-web/app/routes/add_host_routes.js
+++ b/ambari-web/app/routes/add_host_routes.js
@@ -280,6 +280,10 @@ module.exports = Em.Route.extend({
back: Em.Router.transitionTo('step5'),
complete: function (router, context) {
var addHostController = router.get('addHostController');
+ var hostsUrl = '/hosts?fields=Hosts/host_name,Hosts/public_host_name,Hosts/cpu_count,Hosts/total_mem,Hosts/host_status,Hosts/last_heartbeat_time,Hosts/os_arch,Hosts/os_type,Hosts/ip,host_components,metrics/disk,metrics/load/load_one';
+ router.get('clusterController').requestHosts(hostsUrl, function () {
+ console.log('Request for hosts, with immutable parameters')
+ });
router.get('updateController').updateAll();
addHostController.finish();
$(context.currentTarget).parents("#modal").find(".close").trigger('click');
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/d2602384/ambari-web/app/routes/add_service_routes.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/routes/add_service_routes.js b/ambari-web/app/routes/add_service_routes.js
index 9ecd9df..abf2907 100644
--- a/ambari-web/app/routes/add_service_routes.js
+++ b/ambari-web/app/routes/add_service_routes.js
@@ -27,6 +27,10 @@ module.exports = Em.Route.extend({
Em.run.next(function () {
var addServiceController = router.get('addServiceController');
App.router.get('updateController').set('isWorking', false);
+ var hostsUrl = '/hosts?fields=Hosts/host_name,Hosts/disk_info';
+ router.get('clusterController').requestHosts(hostsUrl, function () {
+ console.log('Request for hosts, with disk_info parameter');
+ });
App.ModalPopup.show({
classNames: ['full-width-modal'],
header:Em.I18n.t('services.add.header'),
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/d2602384/ambari-web/app/routes/reassign_master_routes.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/routes/reassign_master_routes.js b/ambari-web/app/routes/reassign_master_routes.js
index 08025d1..0435ba0 100644
--- a/ambari-web/app/routes/reassign_master_routes.js
+++ b/ambari-web/app/routes/reassign_master_routes.js
@@ -24,6 +24,10 @@ module.exports = Em.Route.extend({
Em.run.next(function () {
var reassignMasterController = router.get('reassignMasterController');
App.router.get('updateController').set('isWorking', false);
+ var hostsUrl = '/hosts?fields=Hosts/host_name,Hosts/disk_info';
+ router.get('clusterController').requestHosts(hostsUrl, function () {
+ console.log('Request for hosts, with disk_info parameter');
+ });
var popup = App.ModalPopup.show({
classNames: ['full-width-modal'],
header:Em.I18n.t('services.reassign.header'),