You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by yu...@apache.org on 2012/12/09 16:11:06 UTC
svn commit: r1419002 [19/20] - in
/incubator/ambari/branches/AMBARI-666/ambari-web: ./ app/
app/assets/data/wizard/deploy/ app/assets/data/wizard/deploy/2_hosts/
app/assets/data/wizard/deploy/5_hosts/
app/assets/data/wizard/deploy/master_failure/ app/a...
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/controllers/main/host/details.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/controllers/main/host/details.js?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/controllers/main/host/details.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/controllers/main/host/details.js Sun Dec 9 15:10:57 2012
@@ -97,8 +97,8 @@ App.MainHostDetailsController = Em.Contr
setTimeout(function(){
component.set('workStatus', App.Component.Status.started);
},10000);
- } else{
- App.router.get('clusterController').loadUpdatedStatus();
+ } else {
+ App.router.get('clusterController').loadUpdatedStatusDelayed(500);
App.router.get('backgroundOperationsController.eventsArray').push({
"when" : function(controller){
var result = (controller.getOperationsForRequestId(requestId).length == 0);
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/controllers/main/service/add_controller.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/controllers/main/service/add_controller.js?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/controllers/main/service/add_controller.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/controllers/main/service/add_controller.js Sun Dec 9 15:10:57 2012
@@ -569,8 +569,8 @@ App.AddServiceController = App.WizardCon
},
/**
- * Generate clients list for selected services and save it to model
- * @param stepController step8WizardController or step9WizardController
+ * Invoke installation of selected services to the server and saves the request id returned by the server.
+ * @param isRetry
*/
installServices: function (isRetry) {
if(!isRetry && this.get('content.cluster.requestId')){
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/controllers/wizard/slave_component_groups_controller.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/controllers/wizard/slave_component_groups_controller.js?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/controllers/wizard/slave_component_groups_controller.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/controllers/wizard/slave_component_groups_controller.js Sun Dec 9 15:10:57 2012
@@ -20,7 +20,7 @@ var App = require('app');
* Used to manage slave component config. User could create different settings for separate group
* @type {*}
*/
-App.SlaveComponentGroupsController = Em.Controller.extend({
+App.SlaveComponentGroupsController = Em.ArrayController.extend({
name: 'slaveComponentGroupsController',
@@ -48,10 +48,10 @@ App.SlaveComponentGroupsController = Em.
if (categoryConfig.someProperty('isForSlaveComponent', true)) {
var slaveCategory = categoryConfig.findProperty('isForSlaveComponent', true);
if (this.get('content')) {
- if (this.get('content').someProperty('componentName', slaveCategory.get('name').toUpperCase())) {
- var component = this.get('content').findProperty('componentName', slaveCategory.get('name').toUpperCase());
+ if (this.get('content').someProperty('componentName', slaveCategory.get('primaryName'))) {
+ var component = this.get('content').findProperty('componentName', slaveCategory.get('primaryName'));
var slaveConfigs = slaveCategory.get('slaveConfigs');
- slaveCategory.set('slaveConfigs', component);
+ slaveCategory.set('slaveConfigs', App.SlaveConfigs.create(component));
var slaveGroups = [];
if (component.groups) {
component.groups.forEach(function (_group) {
@@ -75,7 +75,6 @@ App.SlaveComponentGroupsController = Em.
}
}
}, this);
- debugger;
},
componentProperties: function (serviceName) {
@@ -121,43 +120,45 @@ App.SlaveComponentGroupsController = Em.
}.property('App.router.wizardStep7Controller.selectedService'),
- selectedComponentDisplayName: function () {
- return App.format.role(this.get('selectedComponentName').name);
+ selectedComponentDisplayName: function() {
+ return App.format.role(this.get('selectedComponentName'));
}.property('selectedComponentName'),
selectedSlaveComponent: function () {
- var selectedComponentName = this.get('selectedComponentName').displayName;
+ var selectedComponentName = this.get('selectedComponentName') ? this.get('selectedComponentName').displayName : null;
var configs = null;
- this.get('stepConfigs').forEach(function (_serviceConfig) {
- var categoryConfig = _serviceConfig.get('configCategories');
- if (categoryConfig.someProperty('name', selectedComponentName)) {
- configs = categoryConfig.findProperty('name', selectedComponentName).get('slaveConfigs');
- }
- }, this);
- debugger;
+ if (selectedComponentName) {
+ App.router.get('wizardStep7Controller.stepConfigs').forEach(function (_serviceConfig) {
+ var categoryConfig = _serviceConfig.get('configCategories');
+ if (categoryConfig.someProperty('name', selectedComponentName)) {
+ configs = categoryConfig.findProperty('name', selectedComponentName).get('slaveConfigs');
+ }
+ }, this);
+ }
return configs;
- }.property('selectedComponentName', 'stepConfigs.@each.configCategories','stepConfigs.@each.configCategories.@each.slaveConfigs'),
+ }.property('selectedComponentName', 'stepConfigs.@each.configCategories', 'stepConfigs.@each.configCategories.@each.slaveConfigs'),
hosts: function () {
if (this.get('selectedSlaveComponent')) {
- return this.get('selectedSlaveComponent').hosts;
+ return this.get('selectedSlaveComponent').get('hosts');
}
}.property('selectedSlaveComponent'),
groups: function () {
var hosts = this.get('hosts');
- if (hosts) {
+ if(hosts){
return hosts.mapProperty('group').uniq();
}
}.property('hosts'),
componentGroups: function () {
var component = this.get('selectedSlaveComponent');
- if (component && component.groups) {
- return component.groups;
+ if (component && component.get('groups')) {
+ return component.get('groups');
}
return [];
- }.property('selectedSlaveComponent', 'selectedSlaveComponent.groups','stepConfigs.@each'),
+ }.property('selectedSlaveComponent', 'selectedSlaveComponent.groups', 'stepConfigs.@each.configCategories.@each.slaveConfigs.groups.@each.properties.@each.value'),
+
getGroupsForDropDown: function () {
return this.get('componentGroups').getEach('name');
@@ -167,12 +168,12 @@ App.SlaveComponentGroupsController = Em.
var componentGroups = this.get('componentGroups');
if (componentGroups) {
var active = componentGroups.findProperty('active', true);
- if (active) {
+ if (active){
return active;
}
}
return null;
- }.property('componentGroups.@each.active', 'componentGroups.@each.name'),
+ }.property('componentGroups.@each.active', 'componentGroups.@each.name', 'componentGroups.@each.properties.@each.value'),
/**
@@ -191,7 +192,7 @@ App.SlaveComponentGroupsController = Em.
onPrimary: function (event) {
if (component.tempSelectedGroups && component.tempSelectedGroups.length) {
component.tempSelectedGroups.forEach(function (item) {
- var changed = component.hosts.filterProperty('hostName', item.hostName);
+ var changed = component.get('hosts').filterProperty('hostName', item.hostName);
changed.setEach('group', item.groupName);
})
}
@@ -233,9 +234,9 @@ App.SlaveComponentGroupsController = Em.
addSlaveComponentGroup: function () {
var component = this.get('selectedSlaveComponent');
var newGroupName = 'New Group';
- component.groups.setEach('active', false);
- var newGroups = component.groups.filterProperty('name', newGroupName);
- if (newGroups.length === 0) {
+ component.get('groups').setEach('active', false);
+ var newGroups = component.get('groups').filterProperty('name', newGroupName);
+ if (newGroups.length === 0){
component.newGroupIndex = 0;
}
else {
@@ -252,7 +253,7 @@ App.SlaveComponentGroupsController = Em.
var component = this.get('selectedSlaveComponent');
component.newGroupIndex++;
var newGroupName = 'New Group ' + component.newGroupIndex;
- var groups = component.groups.filterProperty('name', newGroupName);
+ var groups = component.get('groups').filterProperty('name', newGroupName);
if (groups.length !== 0) {
this.checkGroupName();
}
@@ -268,7 +269,7 @@ App.SlaveComponentGroupsController = Em.
getHostsByGroup: function (group) {
var hosts = this.get('hosts');
- if (hosts) {
+ if(hosts){
return hosts.filterProperty('group', group.name);
}
},
@@ -279,12 +280,13 @@ App.SlaveComponentGroupsController = Em.
*/
showSlaveComponentGroup: function (event) {
var component = this.get('selectedSlaveComponent');
- if (!component.groups) {
+ if(!component.groups){
+
}
- component.groups.setEach('active', false);
- var group = component.groups.filterProperty('name', event.context.name);
+ component.get('groups').setEach('active', false);
+ var group = component.get('groups').filterProperty('name', event.context.name);
group.setEach('active', true);
- var assignedHosts = component.hosts.filterProperty('group', event.context.name);
+ var assignedHosts = component.get('hosts').filterProperty('group', event.context.name);
if (assignedHosts.length === 0) {
$('.remove-group-error').hide();
}
@@ -297,7 +299,7 @@ App.SlaveComponentGroupsController = Em.
removeSlaveComponentGroup: function (event) {
var group = event.context;
var component = this.get('selectedSlaveComponent');
- var assignedHosts = component.hosts.filterProperty('group', group.name);
+ var assignedHosts = component.get('hosts').filterProperty('group', group.name);
if (assignedHosts.length !== 0) {
$('.remove-group-error').show();
} else {
@@ -330,17 +332,18 @@ App.SlaveComponentGroupsController = Em.
*/
changeSlaveGroupName: function (group, newGroupName) {
var component = this.get('selectedSlaveComponent');
- var isExist = component.groups.filterProperty('name', newGroupName);
+ var isExist = component.get('groups').filterProperty('name', newGroupName);
if (isExist.length !== 0)
return true;
else {
- var assignedHosts = component.hosts.filterProperty('group', group.name);
- if (assignedHosts.length !== 0) {
+ var assignedHosts = component.get('hosts').filterProperty('group', group.name);
+ if (assignedHosts.length !== 0){
assignedHosts.setEach('group', newGroupName);
}
- var groupFilter = component.groups.filterProperty('name', group.name);
+ var groupFilter = component.get('groups').filterProperty('name', group.name);
groupFilter.setEach('name', newGroupName);
}
return false;
}
+
});
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/controllers/wizard/step3_controller.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/controllers/wizard/step3_controller.js?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/controllers/wizard/step3_controller.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/controllers/wizard/step3_controller.js Sun Dec 9 15:10:57 2012
@@ -44,15 +44,6 @@ App.WizardStep3Controller = Em.Controlle
navigateStep: function () {
this.loadStep();
- if (App.testMode && App.skipBootstrap) {
- this.get('hosts').forEach(function (_host) {
- _host.set('bootStatus', 'REGISTERED');
- _host.set('bootLog', 'Success');
- }, this);
- this.set('bootHosts', this.get('hosts'));
- this.stopRegistration();
- return;
- }
if (this.get('content.hosts.manualInstall') !== true) {
if (App.db.getBootStatus() === false) {
this.startBootstrap();
@@ -79,10 +70,14 @@ App.WizardStep3Controller = Em.Controlle
loadStep: function () {
console.log("TRACE: Loading step3: Confirm Hosts");
- this.clearStep();
- var hosts = this.loadHosts();
- // hosts.setEach('bootStatus', 'RUNNING');
- this.renderHosts(hosts);
+ if(!this.get('hosts').length){
+ this.clearStep();
+ var hosts = this.loadHosts();
+ // hosts.setEach('bootStatus', 'RUNNING');
+ this.renderHosts(hosts);
+ } else {
+ this.set('isSubmitDisabled', false);
+ }
},
/* Loads the hostinfo from localStorage on the insertion of view. It's being called from view */
@@ -254,7 +249,7 @@ App.WizardStep3Controller = Em.Controlle
//TODO: uncomment following line after the hook up with the API call
console.log('stopBootstrap() called');
// this.set('isSubmitDisabled',false);
- Ember.run.later(this, function () {
+ Ember.run.later(this, function(){
this.startRegistration();
}, 1000);
},
@@ -412,7 +407,7 @@ App.WizardStep3Controller = Em.Controlle
var self = this;
var button = $(this.get('element')).find('.textTrigger');
button.click(function () {
- if (self.get('isTextArea')) {
+ if(self.get('isTextArea')){
$(this).text('click to highlight');
} else {
$(this).text('press CTRL+C');
@@ -433,7 +428,7 @@ App.WizardStep3Controller = Em.Controlle
},
isTextArea: false,
textArea: Em.TextArea.extend({
- didInsertElement: function () {
+ didInsertElement: function(){
var element = $(this.get('element'));
element.width($(this.get('parentView').get('element')).width() - 10);
element.height($(this.get('parentView').get('element')).height());
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/controllers/wizard/step7_controller.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/controllers/wizard/step7_controller.js?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/controllers/wizard/step7_controller.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/controllers/wizard/step7_controller.js Sun Dec 9 15:10:57 2012
@@ -40,7 +40,7 @@ App.WizardStep7Controller = Em.Controlle
isSubmitDisabled: function () {
return !this.stepConfigs.everyProperty('errorCount', 0);
- }.property('stepConfigs.@each.errorCount','content.slaveGroupProperties.@each.groups.@each.errorCount'),
+ }.property('stepConfigs.@each.errorCount'),
selectedServiceNames: function () {
return this.get('content.services').filterProperty('isSelected', true).filterProperty('isInstalled', false).mapProperty('serviceName');
@@ -118,6 +118,7 @@ App.WizardStep7Controller = Em.Controlle
}
},
+
/**
* Render a custom conf-site box for entering properties that will be written in *-site.xml files of the services
*/
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/controllers/wizard/step8_controller.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/controllers/wizard/step8_controller.js?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/controllers/wizard/step8_controller.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/controllers/wizard/step8_controller.js Sun Dec 9 15:10:57 2012
@@ -27,8 +27,9 @@ App.WizardStep8Controller = Em.Controlle
configs: [],
globals: [],
configMapping: require('data/config_mapping'),
+ slaveComponentConfig: null,
+ isSubmitDisabled: false,
- isSubmitDisabled : false,
selectedServices: function () {
return this.get('content.services').filterProperty('isSelected', true).filterProperty('isInstalled', false);
@@ -48,9 +49,61 @@ App.WizardStep8Controller = Em.Controlle
this.loadConfigs();
this.setCustomConfigs();
this.loadClusterInfo();
+ this.loadSlaveConfiguration();
this.loadServices();
},
+ loadSlaveConfiguration: function () {
+ var slaveComponentConfig = this.convertSlaveConfig(this.get('content.slaveGroupProperties'));
+ this.set("slaveComponentConfig", slaveComponentConfig);
+ },
+
+ convertSlaveConfig: function (slaveContent) {
+ var dest = {
+ "version": "1.0",
+ "components": [
+ ]
+ };
+
+ slaveContent.forEach(function (_slaveContent) {
+ var newComponent = {};
+ newComponent.componentName = _slaveContent.componentName;
+ newComponent.serviceName = this.getServiceName(newComponent.componentName);
+ newComponent.groups = [];
+ _slaveContent.groups.forEach(function (_group) {
+ var newGroup = {};
+ newGroup.groupName = _group.name;
+ newGroup.configVersion = "1.0"; // TODO : every time a new version should be generated
+ newGroup.hostNames = _slaveContent.hosts.filterProperty("group", newGroup.groupName);
+ newGroup.properties = _group.properties;
+ if (!Ember.empty(newGroup.hostNames)) {
+ newComponent.groups.push(newGroup);
+ }
+ }, this);
+ dest.components.push(newComponent);
+ }, this);
+ return dest;
+
+ },
+
+ getServiceName: function (componentName) {
+ var serviceName = null
+ switch (componentName) {
+ case 'DATANODE':
+ serviceName = 'HDFS';
+ break;
+ case 'TASKTRACKER':
+ serviceName = 'MAPREDUCE';
+ break;
+ case 'HBASE_REGIONSERVER':
+ serviceName = 'HBASE';
+ break;
+ default:
+ serviceName = null;
+ }
+ return serviceName;
+ },
+
loadGlobals: function () {
var globals = this.get('content.serviceConfigProperties').filterProperty('id', 'puppet var');
if (globals.someProperty('name', 'hive_database')) {
@@ -100,7 +153,7 @@ App.WizardStep8Controller = Em.Controlle
return uiConfig;
},
- getRegisteredHosts: function() {
+ getRegisteredHosts: function () {
var allHosts = this.get('content.hostsInfo');
var hosts = [];
for (var hostName in allHosts) {
@@ -353,12 +406,7 @@ App.WizardStep8Controller = Em.Controlle
loadDnValue: function (dnComponent) {
var dnHosts = this.get('content.slaveComponentHosts').findProperty('displayName', 'DataNode');
var totalDnHosts = dnHosts.hosts.length;
- var dnHostGroups = [];
- dnHosts.hosts.forEach(function (_dnHost) {
- dnHostGroups.push(_dnHost.group);
-
- }, this);
- var totalGroups = dnHostGroups.uniq().length;
+ var totalGroups = this.get('slaveComponentConfig.components').findProperty('componentName','DATANODE').groups.length;
var groupLabel;
if (totalGroups == 1) {
groupLabel = 'group';
@@ -368,6 +416,7 @@ App.WizardStep8Controller = Em.Controlle
dnComponent.set('component_value', totalDnHosts + ' hosts ' + '(' + totalGroups + ' ' + groupLabel + ')');
},
+
/**
* Load all info about mapReduce service
* @param mrObj
@@ -395,11 +444,7 @@ App.WizardStep8Controller = Em.Controlle
loadTtValue: function (ttComponent) {
var ttHosts = this.get('content.slaveComponentHosts').findProperty('displayName', 'TaskTracker');
var totalTtHosts = ttHosts.hosts.length;
- var ttHostGroups = [];
- ttHosts.hosts.forEach(function (_ttHost) {
- ttHostGroups.push(_ttHost.group);
- }, this);
- var totalGroups = ttHostGroups.uniq().length;
+ var totalGroups = this.get('slaveComponentConfig.components').findProperty('componentName','TASKTRACKER').groups.length;
var groupLabel;
if (totalGroups == 1) {
groupLabel = 'group';
@@ -477,11 +522,7 @@ App.WizardStep8Controller = Em.Controlle
loadRegionServerValue: function (rsComponent) {
var rsHosts = this.get('content.slaveComponentHosts').findProperty('displayName', 'RegionServer');
var totalRsHosts = rsHosts.hosts.length;
- var rsHostGroups = [];
- rsHosts.hosts.forEach(function (_ttHost) {
- rsHostGroups.push(_ttHost.group);
- }, this);
- var totalGroups = rsHostGroups.uniq().length;
+ var totalGroups = this.get('slaveComponentConfig.components').findProperty('componentName','HBASE_REGIONSERVER').groups.length;
var groupLabel;
if (totalGroups == 1) {
groupLabel = 'group';
@@ -620,6 +661,7 @@ App.WizardStep8Controller = Em.Controlle
if (App.testMode || !this.get('content.cluster.requestId')) {
this.createCluster();
this.createSelectedServices();
+ this.setAmbariUIDb();
this.createConfigurations();
this.applyCreatedConfToServices();
this.createComponents();
@@ -630,7 +672,33 @@ App.WizardStep8Controller = Em.Controlle
App.router.send('next');
},
- clusterName: function() {
+ setAmbariUIDb: function () {
+ var slaveComponentConfig = this.get("slaveComponentConfig");
+ this.persistKeyValues(slaveComponentConfig.version, slaveComponentConfig);
+ },
+
+ persistKeyValues: function (key, value) {
+
+ var str = "{ '" + key + "' : '" + JSON.stringify(value) + "'}";
+ var obj = eval("(" + str + ")");
+ $.ajax({
+ type: "POST",
+ url: App.apiPrefix + '/persist',
+ data: JSON.stringify(obj),
+ async: false,
+ dataType: 'text',
+ timeout: App.timeout,
+ success: function (data) {
+ console.debug('success...ajax call returned');
+ },
+
+ error: function (request, ajaxOptions, error) {
+ console.log('Step8: Error message is: ' + request.responseText);
+ }
+ });
+ },
+
+ clusterName: function () {
return this.get('content.cluster.name');
}.property('content.cluster.name'),
@@ -654,7 +722,7 @@ App.WizardStep8Controller = Em.Controlle
async: false,
//accepts: 'text',
dataType: 'text',
- data: JSON.stringify({ "Clusters": {"version" : stackVersion }}),
+ data: JSON.stringify({ "Clusters": {"version": stackVersion }}),
timeout: App.timeout,
success: function (data) {
var jsonData = jQuery.parseJSON(data);
@@ -786,7 +854,7 @@ App.WizardStep8Controller = Em.Controlle
},
createRegisterHostData: function () {
- return this.getRegisteredHosts().map(function(host) {
+ return this.getRegisteredHosts().map(function (host) {
if (!host.isInstalled) {
return {"Hosts": { "host_name": host.hostName}};
}
@@ -804,7 +872,7 @@ App.WizardStep8Controller = Em.Controlle
// note: masterHosts has 'component' vs slaveHosts has 'componentName'
var masterComponents = masterHosts.mapProperty('component').uniq();
- masterComponents.forEach(function(component) {
+ masterComponents.forEach(function (component) {
var hostNames = masterHosts.filterProperty('component', component).filterProperty('isInstalled', false).mapProperty('hostName');
this.registerHostsToComponent(hostNames, component);
}, this);
@@ -835,7 +903,7 @@ App.WizardStep8Controller = Em.Controlle
masterHosts.filterProperty('component', 'OOZIE_SERVER').filterProperty('isInstalled', false).forEach(function (_masterHost) {
hostNames.pushObject(_masterHost.hostName);
}, this);
- break;
+ break;
}
hostNames = hostNames.uniq();
this.registerHostsToComponent(hostNames, _client.component_name);
@@ -858,17 +926,19 @@ App.WizardStep8Controller = Em.Controlle
}
console.log('registering ' + componentName + ' to ' + JSON.stringify(hostNames));
- var hostsPredicate = hostNames.map(function(hostName) {
+ var hostsPredicate = hostNames.map(function (hostName) {
return 'Hosts/host_name=' + hostName;
}).join('|');
var url = App.apiPrefix + '/clusters/' + this.get('clusterName') + '/hosts?' + hostsPredicate;
var data = {
- "host_components": [{
- "HostRoles": {
- "component_name": componentName
+ "host_components": [
+ {
+ "HostRoles": {
+ "component_name": componentName
+ }
}
- }]
+ ]
};
$.ajax({
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/controllers/wizard/step9_controller.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/controllers/wizard/step9_controller.js?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/controllers/wizard/step9_controller.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/controllers/wizard/step9_controller.js Sun Dec 9 15:10:57 2012
@@ -28,6 +28,7 @@ App.WizardStep9Controller = Em.Controlle
}.property('isStepCompleted'),
mockHostData: require('data/mock/step9_hosts'),
+ mockDataPrefix: '/data/wizard/deploy/5_hosts',
pollDataCounter: 0,
polledData: [],
@@ -47,7 +48,13 @@ App.WizardStep9Controller = Em.Controlle
return this.get('status') == 'failed';
}.property('status'),
+ // called by App.WizardStep9View's didInsertElement and "retry" from router.
navigateStep: function () {
+ if (App.testMode) {
+ // this is for repeatedly testing out installs in test mode
+ this.set('content.cluster.status', 'PENDING');
+ this.set('content.cluster.isCompleted', false);
+ }
if (this.get('content.cluster.isCompleted') === false) {
if (this.get('content.cluster.status') === 'INSTALL FAILED') {
this.loadStep();
@@ -211,8 +218,8 @@ App.WizardStep9Controller = Em.Controlle
var method = 'PUT';
if (App.testMode) {
- //debugger;
- url = '/data/wizard/deploy/poll_6.json';
+ debugger;
+ url = this.get('mockDataPrefix') + '/poll_6.json';
method = 'GET';
this.numPolls = 6;
}
@@ -468,7 +475,7 @@ App.WizardStep9Controller = Em.Controlle
var tasksData = polledData.tasks;
console.log("The value of tasksData is: ", tasksData);
if (!tasksData) {
- console.log("Step9: ERROR: NO tasks availaible to process");
+ console.log("Step9: ERROR: NO tasks available to process");
}
this.replacePolledData(tasksData);
this.hosts.forEach(function (_host) {
@@ -479,7 +486,7 @@ App.WizardStep9Controller = Em.Controlle
if (actionsPerHost !== null && actionsPerHost !== undefined && actionsPerHost.length !== 0) {
this.setLogTasksStatePerHost(actionsPerHost, _host);
this.onSuccessPerHost(actionsPerHost, _host); // every action should be a success
- this.onWarningPerHost(actionsPerHost, _host); // any action should be a faliure
+ this.onWarningPerHost(actionsPerHost, _host); // any action should be a failure
this.onInProgressPerHost(actionsPerHost, _host); // current running action for a host
totalProgress += self.progressPerHost(actionsPerHost, _host);
}
@@ -515,11 +522,12 @@ App.WizardStep9Controller = Em.Controlle
this.POLL_INTERVAL = 1;
this.numPolls++;
if (this.numPolls == 5) {
- url = 'data/wizard/deploy/poll_5.json';
- // url = 'data/wizard/deploy/poll_5_failed.json';
+ url = this.get('mockDataPrefix') + '/poll_5.json';
+ // url = this.get('mockDataPrefix') + '/poll_5_failed.json';
} else {
- url = 'data/wizard/deploy/poll_' + this.numPolls + '.json';
+ url = this.get('mockDataPrefix') + '/poll_' + this.numPolls + '.json';
}
+ debugger;
}
$.ajax({
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/data/config_properties.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/data/config_properties.js?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/data/config_properties.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/data/config_properties.js Sun Dec 9 15:10:57 2012
@@ -1165,7 +1165,8 @@ module.exports =
"displayType": "directories",
"isReconfigurable": false,
"isVisible": true,
- "serviceName": "MAPREDUCE"
+ "serviceName": "MAPREDUCE",
+ "category": "TaskTracker"
},
{
"id": "puppet var",
@@ -1324,7 +1325,8 @@ module.exports =
"displayType": "int",
"unit": "MB",
"isVisible": true,
- "serviceName": "MAPREDUCE"
+ "serviceName": "MAPREDUCE",
+ "category": "TaskTracker"
},
{
"id": "puppet var",
@@ -1394,7 +1396,7 @@ module.exports =
"name": "rca_enabled",
"displayName": "Enable RCA",
"description": "Enable RCA",
- "defaultValue": false,
+ "defaultValue": true,
"isReconfigurable": true,
"displayType": "checkbox",
"isVisible": true,
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/data/statusCodes.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/data/statusCodes.js?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/data/statusCodes.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/data/statusCodes.js Sun Dec 9 15:10:57 2012
@@ -20,7 +20,7 @@
module.exports = {
200: function () {
console.log("Status code 200: Success.");
- },
+ },
202: function () {
console.log("Status code 202: Success for creation.");
},
@@ -35,6 +35,7 @@ module.exports = {
},
403: function () {
console.log("Error code 403: Forbidden.");
+ App.router.logOff();
},
404: function () {
console.log("Error code 404: URI not found.");
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/models/component.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/models/component.js?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/models/component.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/models/component.js Sun Dec 9 15:10:57 2012
@@ -54,6 +54,13 @@ App.Component = DS.Model.extend({
return this.get('componentName');
}.property('componentName'),
+ isClient: function () {
+ if (!this.get('componentName')) {
+ return false;
+ }
+ return Boolean(this.get('componentName').match(/_client/gi));
+ }.property('componentName'),
+
decommissioned: DS.attr('boolean')
});
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/models/host.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/models/host.js?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/models/host.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/models/host.js Sun Dec 9 15:10:57 2012
@@ -65,7 +65,6 @@ App.Host = DS.Model.extend({
}.property('loadOne', 'loadFive', 'loadFifteen'),
updateHostStatus: function(){
-
/**
* Do nothing until load
*/
@@ -77,7 +76,7 @@ App.Host = DS.Model.extend({
var status;
var masterComponents = components.filterProperty('isMaster', true);
- if(components.everyProperty('workStatus', App.Component.Status.started)){
+ if(components.filterProperty('isClient', false).everyProperty('workStatus', App.Component.Status.started)){
status = 'LIVE';
} else if(this.get('isNotHeartBeating')){
status = 'DEAD-YELLOW';
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/models/service_config.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/models/service_config.js?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/models/service_config.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/models/service_config.js Sun Dec 9 15:10:57 2012
@@ -32,7 +32,7 @@ App.ServiceConfig = Ember.Object.extend(
var masterErrors = this.get('configs').filterProperty('isValid', false).filterProperty('isVisible', true).get('length');
var slaveErrors = 0;
this.get('configCategories').forEach(function(_category){
- slaveErrors += _category.get('slaveErrorCount');
+ slaveErrors += _category.get('slaveErrorCount');
},this);
return masterErrors + slaveErrors;
}.property('configs.@each.isValid', 'configs.@each.isVisible', 'configCategories.@each.slaveErrorCount')
@@ -40,7 +40,21 @@ App.ServiceConfig = Ember.Object.extend(
App.ServiceConfigCategory = Ember.Object.extend({
name: null,
+
slaveConfigs: null,
+ primaryName: function () {
+ switch (this.get('name')) {
+ case 'DataNode':
+ return 'DATANODE';
+ break;
+ case 'TaskTracker':
+ return 'TASKTRACKER';
+ break;
+ case 'RegionServer':
+ return 'HBASE_REGIONSERVER';
+ }
+ }.property('name'),
+
isForMasterComponent: function () {
var masterServices = [ 'NameNode', 'SNameNode', 'JobTracker', 'HBase Master', 'Oozie Master',
@@ -65,6 +79,14 @@ App.ServiceConfigCategory = Ember.Object
}.property('slaveConfigs.groups.@each.errorCount')
});
+
+App.SlaveConfigs = Ember.Object.extend({
+ componentName: null,
+ displayName: null,
+ hosts: null,
+ groups: null
+});
+
App.Group = Ember.Object.extend({
name: null,
hostNames: null,
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/router.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/router.js?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/router.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/router.js Sun Dec 9 15:10:57 2012
@@ -153,13 +153,13 @@ App.Router = Em.Router.extend({
},
statusCode: {
200: function () {
- console.log('Authorization status: 200');
+ console.log("Status code 200: Success.");
},
401: function () {
- console.log('Authorization status: 401');
+ console.log("Error code 401: Unauthorized.");
},
403: function () {
- console.log('Authorization status: 403');
+ console.log("Error code 403: Forbidden.");
}
},
success: function (data) {
@@ -255,7 +255,18 @@ App.Router = Em.Router.extend({
return 'installer';
}
},
-
+ logOff: function(context){
+ console.log('logging off');
+ // App.db.cleanUp() must be called before router.clearAllSteps().
+ // otherwise, this.set('installerController.currentStep, 0) would have no effect
+ // since it's a computed property but we are not setting it as a dependent of App.db.
+ App.db.cleanUp();
+ this.clearAllSteps();
+ console.log("Log off: " + App.db.getClusterName());
+ this.set('loginController.loginName', '');
+ this.set('loginController.password', '');
+ this.transitionTo('login', context);
+ },
root: Em.Route.extend({
index: Em.Route.extend({
route: '/',
@@ -290,16 +301,7 @@ App.Router = Em.Router.extend({
main: require('routes/main'),
logoff: function (router, context) {
- console.log('logging off');
- // App.db.cleanUp() must be called before router.clearAllSteps().
- // otherwise, this.set('installerController.currentStep, 0) would have no effect
- // since it's a computed property but we are not setting it as a dependent of App.db.
- App.db.cleanUp();
- router.clearAllSteps();
- console.log("Log off: " + App.db.getClusterName());
- router.set('loginController.loginName', '');
- router.set('loginController.password', '');
- router.transitionTo('login', context);
+ router.logOff(context);
}
})
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/routes/installer.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/routes/installer.js?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/routes/installer.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/routes/installer.js Sun Dec 9 15:10:57 2012
@@ -222,6 +222,7 @@ module.exports = Em.Route.extend({
controller.get('content').set('serviceConfigProperties', null);
App.db.setServiceConfigProperties(null);
App.db.setSlaveProperties(null);
+ controller.loadSlaveGroupProperties();
controller.loadAdvancedConfigs();
router.transitionTo('step7');
}
@@ -262,6 +263,7 @@ module.exports = Em.Route.extend({
next: function (router) {
var installerController = router.get('installerController');
var wizardStep8Controller = router.get('wizardStep8Controller');
+ // invoke API call to install selected services
installerController.installServices();
installerController.setInfoForStep9();
router.transitionTo('step9');
@@ -275,7 +277,7 @@ module.exports = Em.Route.extend({
var controller = router.get('installerController');
controller.setCurrentStep('9', false);
controller.loadAllPriorSteps();
- if (!App.testMode) { //if test mode is ON don't disable prior steps link.
+ if (!App.testMode) { // if test mode is ON don't disable prior steps link.
controller.setLowerStepsDisable(9);
}
controller.connectOutlet('wizardStep9', controller.get('content'));
@@ -286,15 +288,15 @@ module.exports = Em.Route.extend({
var wizardStep9Controller = router.get('wizardStep9Controller');
if (!wizardStep9Controller.get('isSubmitDisabled')) {
if (wizardStep9Controller.get('content.cluster.status') !== 'START FAILED') {
- installerController.installServices(true);
- installerController.setInfoForStep9();
+ installerController.installServices(true);
+ installerController.setInfoForStep9();
} else {
wizardStep9Controller.set('content.cluster.isCompleted', false);
}
wizardStep9Controller.navigateStep();
}
},
- unroutePath: function() {
+ unroutePath: function () {
return false;
},
next: function (router) {
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/styles/application.less
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/styles/application.less?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/styles/application.less (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/styles/application.less Sun Dec 9 15:10:57 2012
@@ -498,7 +498,9 @@ a:focus {
dd {
margin-left: 145px;
}
-
+ .like_pointer {
+ cursor: pointer;
+ }
.service {
position: relative;
margin-top: 10px;
@@ -528,7 +530,7 @@ a:focus {
margin-top: 14px;
color: #7b7b7b;
font-size: 13px;
- width: 80%;
+ //width: 80%;
tr > td:first-child {
padding-right: 10px;
text-align: right !important;
@@ -540,12 +542,16 @@ a:focus {
.dashboard-mini-chart {
right: 0;
+ float: right;
top: 7px;
position: absolute;
overflow: visible; // for quick links
text-align: center;
- width: 180px;
+ //width: 180px;
height: 200px;
+ .dropdown-menu {
+ text-align: left;
+ }
.chart-container{
.chart-x-axis{
left: 0%;
@@ -557,6 +563,12 @@ a:focus {
font-size: 11px;
color: #7b7b7b;
}
+ .chart-legend {
+ left: -205px;
+ text-align: left;
+ top: 0;
+ width: 185px;
+ }
}
}
}
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/application.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/application.hbs?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/application.hbs (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/application.hbs Sun Dec 9 15:10:57 2012
@@ -29,7 +29,7 @@
</a>
{{else}}
<a class="brand cluster-name" href="#">
- loading...
+ - Install Wizard
</a>
{{/if}}
<ul class="nav">
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main.hbs?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main.hbs (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main.hbs Sun Dec 9 15:10:57 2012
@@ -21,8 +21,11 @@
<div class="navbar">
<div class="navbar-inner">
<a class="brand" href="#">
- {{clusterName}}
-
+ {{#if clusterName}}
+ {{clusterName}}
+ {{else}}
+ My Cluster
+ {{/if}}
{{#view App.EmptyView controllerBinding="App.router.backgroundOperationsController"}}
{{#if allOperationsCount}}
<span class="label operations-count" {{action "showPopup" target="controller"}}>{{allOperationsCount}}</span>
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard/service/hbase.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard/service/hbase.hbs?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard/service/hbase.hbs (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard/service/hbase.hbs Sun Dec 9 15:10:57 2012
@@ -17,7 +17,7 @@
}}
{{#unless view.showOnlyRows}}
-<div class="clearfix" {{action toggleInfoView target="view"}}>
+<div class="clearfix like_pointer" {{action toggleInfoView target="view"}}>
<div class="name span2">
{{#if view.isCollapsed}}
<i class="icon-caret-down pull-left"></i>
@@ -35,60 +35,62 @@
</div>
</div>
<div id="hbase-info">
-<table class="table no-borders">
- <tbody>
-{{/unless}}
- <!-- HBase Master Server -->
- <tr>
- <td>{{t dashboard.services.hbase.masterServer}}</td>
- <td><a href="#" {{action showDetails view.service.master}}>{{view.service.master.publicHostName}}</a></td>
- </tr>
- <!-- RegionServers -->
- <tr>
- <td>{{t dashboard.services.hbase.regionServers}}</td>
- <td><a href="#" {{action filterHosts view.regionServerComponent}}>{{view.service.regionServers.length}} {{t dashboard.services.hbase.regionServers}}</a></td>
- </tr>
- <!-- Version -->
- <tr>
- <td>{{t dashboard.services.hbase.version}}</td>
- <td>{{view.service.version}} {{view.service.revision}}</td>
- </tr>
- <!-- HBaseMaster Web UI -->
- <tr>
- <td>{{t dashboard.services.hbase.masterWebUI}}</td>
- <td><a {{bindAttr href="view.hbaseMasterWebUrl"}} target="_blank">{{view.service.master.publicHostName}}:60010</a>
- </td>
- </tr>
- <!-- Regions in Transition -->
- <tr>
- <td>{{t dashboard.services.hbase.regions.transition}}</td>
- <td>{{view.service.regionsInTransition}}</td>
- </tr>
- <!-- HBase Master Started Time -->
- <tr>
- <td>{{t dashboard.services.hbase.masterStarted}}</td>
- <td>{{view.masterStartedTime}}</td>
- </tr>
- <!-- HBase Master Activated Time -->
- <tr>
- <td>{{t dashboard.services.hbase.masterActivated}}</td>
- <td>{{view.masterStartedTime}}</td>
- </tr>
- <!-- Average Load -->
- <tr>
- <td>{{t dashboard.services.hbase.averageLoad}}</td>
- <td>{{view.averageLoad}}</td>
- </tr>
- <!-- Master Server Heap -->
- <tr>
- <td>{{t dashboard.services.hbase.masterServerHeap}}</td>
- <td>{{view.masterServerHeapSummary}}</td>
- </tr>
-
-{{#unless view.showOnlyRows}}
- </tbody>
-</table>
-<div class="dashboard-mini-chart">
+ <div class="span4">
+ <table class="table no-borders">
+ <tbody>
+ {{/unless}}
+ <!-- HBase Master Server -->
+ <tr>
+ <td>{{t dashboard.services.hbase.masterServer}}</td>
+ <td><a href="#" {{action showDetails view.service.master}}>{{view.service.master.publicHostName}}</a></td>
+ </tr>
+ <!-- RegionServers -->
+ <tr>
+ <td>{{t dashboard.services.hbase.regionServers}}</td>
+ <td><a href="#" {{action filterHosts view.regionServerComponent}}>{{view.service.regionServers.length}} {{t dashboard.services.hbase.regionServers}}</a></td>
+ </tr>
+ <!-- Version -->
+ <tr>
+ <td>{{t dashboard.services.hbase.version}}</td>
+ <td>{{view.service.version}} {{view.service.revision}}</td>
+ </tr>
+ <!-- HBaseMaster Web UI -->
+ <tr>
+ <td>{{t dashboard.services.hbase.masterWebUI}}</td>
+ <td><a {{bindAttr href="view.hbaseMasterWebUrl"}} target="_blank">{{view.service.master.publicHostName}}:60010</a>
+ </td>
+ </tr>
+ <!-- Regions in Transition -->
+ <tr>
+ <td>{{t dashboard.services.hbase.regions.transition}}</td>
+ <td>{{view.service.regionsInTransition}}</td>
+ </tr>
+ <!-- HBase Master Started Time -->
+ <tr>
+ <td>{{t dashboard.services.hbase.masterStarted}}</td>
+ <td>{{view.masterStartedTime}}</td>
+ </tr>
+ <!-- HBase Master Activated Time -->
+ <tr>
+ <td>{{t dashboard.services.hbase.masterActivated}}</td>
+ <td>{{view.masterStartedTime}}</td>
+ </tr>
+ <!-- Average Load -->
+ <tr>
+ <td>{{t dashboard.services.hbase.averageLoad}}</td>
+ <td>{{view.averageLoad}}</td>
+ </tr>
+ <!-- Master Server Heap -->
+ <tr>
+ <td>{{t dashboard.services.hbase.masterServerHeap}}</td>
+ <td>{{view.masterServerHeapSummary}}</td>
+ </tr>
+
+ {{#unless view.showOnlyRows}}
+ </tbody>
+ </table>
+ </div>
+<div class="dashboard-mini-chart span2">
{{view App.ChartServiceMetricsHBASE_RegionServerReadWriteRequests}}
{{#if view.service.quickLinks.length}}
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard/service/hdfs.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard/service/hdfs.hbs?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard/service/hdfs.hbs (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard/service/hdfs.hbs Sun Dec 9 15:10:57 2012
@@ -17,7 +17,7 @@
}}
{{#unless view.showOnlyRows}}
-<div class="clearfix" {{action toggleInfoView target="view"}}>
+<div class="clearfix like_pointer" {{action toggleInfoView target="view"}}>
<div class="name span2">
{{#if view.isCollapsed}}
<i class="icon-caret-down pull-left"></i>
@@ -35,108 +35,110 @@
</div>
</div>
<div id="hdfs-info">
-<table class="table no-borders">
- <tbody>
-{{/unless}}
+ <div class="span4">
+ <table class="table no-borders">
+ <tbody>
+ {{/unless}}
- <!-- NameNode -->
- <tr>
- <td>{{t dashboard.services.hdfs.nanmenode}}</td>
- <td><a href="#" {{action showDetails view.service.nameNode}}>{{view.service.nameNode.publicHostName}}</a></td>
- </tr>
- <!-- SecondaryNameNode -->
- <tr>
- <td>{{t dashboard.services.hdfs.snanmenode}}</td>
- <td><a href="#" {{action showDetails view.service.snameNode}}>{{view.service.snameNode.publicHostName}}</a></td>
- </tr>
- <!-- Data Nodes -->
- <tr>
- <td>{{t dashboard.services.hdfs.datanodes}}</td>
- <td>
- <a href="#" {{action filterHosts view.dataNodeComponent}}>{{view.service.dataNodes.length}} {{t dashboard.services.hdfs.datanodes}}</a>
- </td>
- </tr>
- <!-- Version -->
- <tr>
- <td>{{t dashboard.services.hdfs.version}}</td>
- <td>{{view.service.version}}</td>
- </tr>
- <!-- NameNode Web UI -->
- <tr>
- <td>{{t dashboard.services.hdfs.nameNodeWebUI}}</td>
- <td><a {{bindAttr href="view.nodeWebUrl"}} target="_blank">{{view.service.nameNode.publicHostName}}:50070</a>
- </td>
- </tr>
- <!-- NameNode Uptime -->
- <tr>
- <td>{{t dashboard.services.hdfs.nodes.uptime}}</td>
- <td>{{view.nodeUptime}}</td>
- </tr>
- <!-- NameNode Heap -->
- <tr>
- <td>{{t dashboard.services.hdfs.nodes.heap}}</td>
- <td>{{view.nodeHeap}}</td>
- </tr>
- <!-- Data Node Counts -->
- <tr>
- <td>{{t dashboard.services.hdfs.datanodecounts}}</td>
- <td>
- {{view.service.liveDataNodes.length}} {{t dashboard.services.hdfs.nodes.live}} /
- {{view.service.deadDataNodes.length}} {{t dashboard.services.hdfs.nodes.dead}} /
- {{view.service.decommisionDataNodes.length}} {{t dashboard.services.hdfs.nodes.decom}}
- </td>
- </tr>
- <!-- HDFS Capacity -->
- <tr>
- <td>{{t dashboard.services.hdfs.capacity}}</td>
- <td>{{view.capacity}}</td>
- </tr>
- <!-- Blocks Total -->
- <tr>
- <td>{{t services.service.summary.blocksTotal}}</td>
- <td>{{view.service.dfsTotalBlocks}}</td>
- </tr>
- <!-- Block Errors -->
- <tr>
- <td>{{t services.service.summary.blockErrors}}</td>
- <td>
- {{view.service.dfsCorruptBlocks}} corrupt /
- {{view.service.dfsMissingBlocks}} missing /
- {{view.service.dfsUnderReplicatedBlocks}} under replicated
- </td>
- </tr>
- <!-- Total Files And Directories -->
- <tr>
- <td>{{t dashboard.services.hdfs.totalFilesAndDirs}}</td>
- <td>{{view.service.dfsTotalFiles}}</td>
- </tr>
- <!-- Upgrade Status -->
- <tr>
- <td>{{t services.service.summary.pendingUpgradeStatus}}</td>
- <td>
- {{#if view.service.upgradeStatus}}
- {{t services.service.summary.pendingUpgradeStatus.notPending}}
- {{else}}
- {{t services.service.summary.pendingUpgradeStatus.pending}}
- {{/if}}
- </td>
- </tr>
- <!-- Safe Mode Status -->
- <tr>
- <td>{{t services.service.summary.safeModeStatus}}</td>
- <td>
- {{#if view.isSafeMode}}
- {{t services.service.summary.safeModeStatus.inSafeMode}}
- {{else}}
- {{t services.service.summary.safeModeStatus.notInSafeMode}}
- {{/if}}
- </td>
- </tr>
-
-{{#unless view.showOnlyRows}}
- </tbody>
-</table>
-<div class="dashboard-mini-chart">
+ <!-- NameNode -->
+ <tr>
+ <td>{{t dashboard.services.hdfs.nanmenode}}</td>
+ <td><a href="#" {{action showDetails view.service.nameNode}}>{{view.service.nameNode.publicHostName}}</a></td>
+ </tr>
+ <!-- SecondaryNameNode -->
+ <tr>
+ <td>{{t dashboard.services.hdfs.snanmenode}}</td>
+ <td><a href="#" {{action showDetails view.service.snameNode}}>{{view.service.snameNode.publicHostName}}</a></td>
+ </tr>
+ <!-- Data Nodes -->
+ <tr>
+ <td>{{t dashboard.services.hdfs.datanodes}}</td>
+ <td>
+ <a href="#" {{action filterHosts view.dataNodeComponent}}>{{view.service.dataNodes.length}} {{t dashboard.services.hdfs.datanodes}}</a>
+ </td>
+ </tr>
+ <!-- Version -->
+ <tr>
+ <td>{{t dashboard.services.hdfs.version}}</td>
+ <td>{{view.service.version}}</td>
+ </tr>
+ <!-- NameNode Web UI -->
+ <tr>
+ <td>{{t dashboard.services.hdfs.nameNodeWebUI}}</td>
+ <td><a {{bindAttr href="view.nodeWebUrl"}} target="_blank">{{view.service.nameNode.publicHostName}}:50070</a>
+ </td>
+ </tr>
+ <!-- NameNode Uptime -->
+ <tr>
+ <td>{{t dashboard.services.hdfs.nodes.uptime}}</td>
+ <td>{{view.nodeUptime}}</td>
+ </tr>
+ <!-- NameNode Heap -->
+ <tr>
+ <td>{{t dashboard.services.hdfs.nodes.heap}}</td>
+ <td>{{view.nodeHeap}}</td>
+ </tr>
+ <!-- Data Node Counts -->
+ <tr>
+ <td>{{t dashboard.services.hdfs.datanodecounts}}</td>
+ <td>
+ {{view.service.liveDataNodes.length}} {{t dashboard.services.hdfs.nodes.live}} /
+ {{view.service.deadDataNodes.length}} {{t dashboard.services.hdfs.nodes.dead}} /
+ {{view.service.decommisionDataNodes.length}} {{t dashboard.services.hdfs.nodes.decom}}
+ </td>
+ </tr>
+ <!-- HDFS Capacity -->
+ <tr>
+ <td>{{t dashboard.services.hdfs.capacity}}</td>
+ <td>{{view.capacity}}</td>
+ </tr>
+ <!-- Blocks Total -->
+ <tr>
+ <td>{{t services.service.summary.blocksTotal}}</td>
+ <td>{{view.service.dfsTotalBlocks}}</td>
+ </tr>
+ <!-- Block Errors -->
+ <tr>
+ <td>{{t services.service.summary.blockErrors}}</td>
+ <td>
+ {{view.service.dfsCorruptBlocks}} corrupt /
+ {{view.service.dfsMissingBlocks}} missing /
+ {{view.service.dfsUnderReplicatedBlocks}} under replicated
+ </td>
+ </tr>
+ <!-- Total Files And Directories -->
+ <tr>
+ <td>{{t dashboard.services.hdfs.totalFilesAndDirs}}</td>
+ <td>{{view.service.dfsTotalFiles}}</td>
+ </tr>
+ <!-- Upgrade Status -->
+ <tr>
+ <td>{{t services.service.summary.pendingUpgradeStatus}}</td>
+ <td>
+ {{#if view.service.upgradeStatus}}
+ {{t services.service.summary.pendingUpgradeStatus.notPending}}
+ {{else}}
+ {{t services.service.summary.pendingUpgradeStatus.pending}}
+ {{/if}}
+ </td>
+ </tr>
+ <!-- Safe Mode Status -->
+ <tr>
+ <td>{{t services.service.summary.safeModeStatus}}</td>
+ <td>
+ {{#if view.isSafeMode}}
+ {{t services.service.summary.safeModeStatus.inSafeMode}}
+ {{else}}
+ {{t services.service.summary.safeModeStatus.notInSafeMode}}
+ {{/if}}
+ </td>
+ </tr>
+
+ {{#unless view.showOnlyRows}}
+ </tbody>
+ </table>
+ </div>
+<div class="dashboard-mini-chart span2">
{{view view.Chart serviceBinding="view.service"}}
<div class="chartLabel">{{t dashboard.services.hdfs.chart.label}}</div>
{{#if view.service.quickLinks.length}}
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard/service/hive.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard/service/hive.hbs?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard/service/hive.hbs (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard/service/hive.hbs Sun Dec 9 15:10:57 2012
@@ -16,7 +16,7 @@
* limitations under the License.
}}
-<div class="clearfix">
+<div class="clearfix like_pointer">
<div class="name span2">
{{view App.MainDashboardServiceHealthView serviceBinding="view.service"}}
<a {{action selectService view.service href=true}}>{{view.service.displayName}}</a>
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard/service/mapreduce.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard/service/mapreduce.hbs?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard/service/mapreduce.hbs (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard/service/mapreduce.hbs Sun Dec 9 15:10:57 2012
@@ -17,7 +17,7 @@
}}
{{#unless view.showOnlyRows}}
-<div class="clearfix" {{action toggleInfoView target="view"}}>
+<div class="clearfix like_pointer" {{action toggleInfoView target="view"}}>
<div class="name span2">
{{#if view.isCollapsed}}
<i class="icon-caret-down pull-left"></i>
@@ -35,89 +35,91 @@
</div>
</div>
<div id="mapreduce-info">
-<table class="table no-borders">
- <tbody>
-{{/unless}}
- <!-- JobTracker -->
- <tr>
- <td>{{t services.service.summary.jobTracker}}</td>
- <td><a href="#" {{action showDetails view.service.jobTracker}}>{{view.service.jobTracker.publicHostName}}</a></td>
- </tr>
- <!-- TaskTrackers -->
- <tr>
- <td>{{t dashboard.services.mapreduce.taskTrackers}}</td>
- <td><a href="#" {{action filterHosts view.taskTrackerComponent}}>{{view.service.taskTrackers.length}} {{t dashboard.services.mapreduce.taskTrackers}}</a></td>
- </tr>
- <!-- Version -->
- <tr>
- <td>{{t dashboard.services.hdfs.version}}</td>
- <td>{{view.service.version}}</td>
- </tr>
- <!-- JobTracker Web UI -->
- <tr>
- <td>{{t services.service.summary.jobTrackerWebUI}}</td>
- <td><a {{bindAttr href="view.jobTrackerWebUrl"}} target="_blank">{{view.service.jobTracker.publicHostName}}:50030</a>
- </td>
- </tr>
- <!-- Job Tracker Uptime -->
- <tr>
- <td>{{t dashboard.services.mapreduce.jobTrackerUptime}}</td>
- <td>{{view.jobTrackerUptime}}</td>
- </tr>
- <!-- Trackers -->
- <tr>
- <td>{{t dashboard.services.mapreduce.trackers}}</td>
- <td>{{view.trackersSummary}}</td>
- </tr>
- <!-- TaskTracker Counts -->
- <tr>
- <td>{{t dashboard.services.mapreduce.taskTrackerCounts}}</td>
- <td>
- {{view.service.grayListTrackers.length}} {{t dashboard.services.mapreduce.nodes.blacklist}} /
- {{view.service.blackListTrackers.length}} {{t dashboard.services.mapreduce.nodes.graylist}} /
- {{view.service.trackersDecommisioned}} {{t dashboard.services.hdfs.nodes.decom}}
- </td>
- </tr>
- <!-- JobTracker Heap -->
- <tr>
- <td>{{t dashboard.services.mapreduce.jobTrackerHeap}}</td>
- <td>{{view.trackersHeapSummary}}</td>
- </tr>
- <!-- Total slots capacity -->
- <tr>
- <td>{{t dashboard.services.mapreduce.slotCapacity}}</td>
- <td>{{view.slotsCapacitySummary}}</td>
- </tr>
- <!-- Jobs -->
- <tr>
- <td>{{t dashboard.services.mapreduce.jobs}}</td>
- <td>{{view.jobsSummary}}</td>
- </tr>
- <!-- Map Slots -->
- <tr>
- <td>{{t dashboard.services.mapreduce.mapSlots}}</td>
- <td>{{view.mapSlotsSummary}}</td>
- </tr>
- <!-- Reduce Slots -->
- <tr>
- <td>{{t dashboard.services.mapreduce.reduceSlots}}</td>
- <td>{{view.reduceSlotsSummary}}</td>
- </tr>
- <!-- Tasks:Maps -->
- <tr>
- <td>{{t dashboard.services.mapreduce.tasks.maps}}</td>
- <td>{{view.mapTasksSummary}}</td>
- </tr>
- <!-- Tasks:Reduces -->
- <tr>
- <td>{{t dashboard.services.mapreduce.tasks.reduces}}</td>
- <td>{{view.reduceTasksSummary}}</td>
- </tr>
-
-{{#unless view.showOnlyRows}}
- </tbody>
-</table>
-<div class="dashboard-mini-chart">
+ <div class="span4">
+ <table class="table no-borders">
+ <tbody>
+ {{/unless}}
+ <!-- JobTracker -->
+ <tr>
+ <td>{{t services.service.summary.jobTracker}}</td>
+ <td><a href="#" {{action showDetails view.service.jobTracker}}>{{view.service.jobTracker.publicHostName}}</a></td>
+ </tr>
+ <!-- TaskTrackers -->
+ <tr>
+ <td>{{t dashboard.services.mapreduce.taskTrackers}}</td>
+ <td><a href="#" {{action filterHosts view.taskTrackerComponent}}>{{view.service.taskTrackers.length}} {{t dashboard.services.mapreduce.taskTrackers}}</a></td>
+ </tr>
+ <!-- Version -->
+ <tr>
+ <td>{{t dashboard.services.hdfs.version}}</td>
+ <td>{{view.service.version}}</td>
+ </tr>
+ <!-- JobTracker Web UI -->
+ <tr>
+ <td>{{t services.service.summary.jobTrackerWebUI}}</td>
+ <td><a {{bindAttr href="view.jobTrackerWebUrl"}} target="_blank">{{view.service.jobTracker.publicHostName}}:50030</a>
+ </td>
+ </tr>
+ <!-- Job Tracker Uptime -->
+ <tr>
+ <td>{{t dashboard.services.mapreduce.jobTrackerUptime}}</td>
+ <td>{{view.jobTrackerUptime}}</td>
+ </tr>
+ <!-- Trackers -->
+ <tr>
+ <td>{{t dashboard.services.mapreduce.trackers}}</td>
+ <td>{{view.trackersSummary}}</td>
+ </tr>
+ <!-- TaskTracker Counts -->
+ <tr>
+ <td>{{t dashboard.services.mapreduce.taskTrackerCounts}}</td>
+ <td>
+ {{view.service.grayListTrackers.length}} {{t dashboard.services.mapreduce.nodes.blacklist}} /
+ {{view.service.blackListTrackers.length}} {{t dashboard.services.mapreduce.nodes.graylist}} /
+ {{view.service.trackersDecommisioned}} {{t dashboard.services.hdfs.nodes.decom}}
+ </td>
+ </tr>
+ <!-- JobTracker Heap -->
+ <tr>
+ <td>{{t dashboard.services.mapreduce.jobTrackerHeap}}</td>
+ <td>{{view.trackersHeapSummary}}</td>
+ </tr>
+ <!-- Total slots capacity -->
+ <tr>
+ <td>{{t dashboard.services.mapreduce.slotCapacity}}</td>
+ <td>{{view.slotsCapacitySummary}}</td>
+ </tr>
+ <!-- Jobs -->
+ <tr>
+ <td>{{t dashboard.services.mapreduce.jobs}}</td>
+ <td>{{view.jobsSummary}}</td>
+ </tr>
+ <!-- Map Slots -->
+ <tr>
+ <td>{{t dashboard.services.mapreduce.mapSlots}}</td>
+ <td>{{view.mapSlotsSummary}}</td>
+ </tr>
+ <!-- Reduce Slots -->
+ <tr>
+ <td>{{t dashboard.services.mapreduce.reduceSlots}}</td>
+ <td>{{view.reduceSlotsSummary}}</td>
+ </tr>
+ <!-- Tasks:Maps -->
+ <tr>
+ <td>{{t dashboard.services.mapreduce.tasks.maps}}</td>
+ <td>{{view.mapTasksSummary}}</td>
+ </tr>
+ <!-- Tasks:Reduces -->
+ <tr>
+ <td>{{t dashboard.services.mapreduce.tasks.reduces}}</td>
+ <td>{{view.reduceTasksSummary}}</td>
+ </tr>
+
+ {{#unless view.showOnlyRows}}
+ </tbody>
+ </table>
+ </div>
+<div class="dashboard-mini-chart span2">
{{view App.ChartServiceMetricsMapReduce_JobsRunningWaiting}}
{{#if view.service.quickLinks.length}}
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard/service/oozie.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard/service/oozie.hbs?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard/service/oozie.hbs (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard/service/oozie.hbs Sun Dec 9 15:10:57 2012
@@ -16,7 +16,7 @@
* limitations under the License.
}}
-<div class="clearfix">
+<div class="clearfix like_pointer">
<div class="name span2">
{{view App.MainDashboardServiceHealthView serviceBinding="view.service"}}
<a {{action selectService view.service href=true}}>{{view.service.displayName}}</a>
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard/service/zookeeper.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard/service/zookeeper.hbs?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard/service/zookeeper.hbs (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/dashboard/service/zookeeper.hbs Sun Dec 9 15:10:57 2012
@@ -16,7 +16,7 @@
* limitations under the License.
}}
-<div class="clearfix">
+<div class="clearfix like_pointer">
<div class="name span2">
{{view App.MainDashboardServiceHealthView serviceBinding="view.service"}}
<a {{action selectService view.service href=true}}>{{view.service.displayName}}</a>
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/service/info/summary.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/service/info/summary.hbs?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/service/info/summary.hbs (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/service/info/summary.hbs Sun Dec 9 15:10:57 2012
@@ -141,27 +141,7 @@
<ul id='summary-alerts-list' class="alerts">
{{#if controller.alerts.length}}
{{#each controller.alerts}}
- <li class="status-{{unbound status}}">
- <div class="container-fluid">
- <div class="row-fluid">
- <div class="span1 status-icon">
- {{#if isOk}}
- <i class="icon-ok icon-large"></i>
- {{else}}
- <i class="icon-remove icon-large"></i>
- {{/if}}
- </div>
- <div class="span11">
- <div class="row-fluid">
- <div class="span7 title">{{title}}
- </div>
- <div rel="tooltip" {{bindAttr data-title="timeSinceAlertDetails"}} data-placement="right" class="span5 date-time">{{timeSinceAlert}}</div>
- </div>
- <div class="row-fluid message">{{message}}</div>
- </div>
- </div>
- </div>
- </li>
+ {{view view.alertItemView contentBinding="this"}}
{{/each}}
{{else}}
{{#if controller.isNagiosInstalled}}
Added: incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/service/info/summary_alert.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/service/info/summary_alert.hbs?rev=1419002&view=auto
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/service/info/summary_alert.hbs (added)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/service/info/summary_alert.hbs Sun Dec 9 15:10:57 2012
@@ -0,0 +1,37 @@
+{{!
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements. See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership. The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License. You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+}}
+
+<div class="container-fluid">
+ <div class="row-fluid">
+ <div class="span1 status-icon">
+ {{#if isOk}}
+ <i class="icon-ok icon-large"></i>
+ {{else}}
+ <i class="icon-remove icon-large"></i>
+ {{/if}}
+ </div>
+ <div class="span11">
+ <div class="row-fluid">
+ <div class="span7 title">{{title}}
+ </div>
+ <div rel="tooltip" {{bindAttr data-title="timeSinceAlertDetails"}} data-placement="right" class="span5 date-time">{{timeSinceAlert}}</div>
+ </div>
+ <div class="row-fluid message">{{message}}</div>
+ </div>
+ </div>
+</div>
\ No newline at end of file
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/wizard/slave_component_hosts.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/wizard/slave_component_hosts.hbs?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/wizard/slave_component_hosts.hbs (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/wizard/slave_component_hosts.hbs Sun Dec 9 15:10:57 2012
@@ -17,16 +17,16 @@
}}
{{#if view.hasNoHosts}}
- none -
- <a href="#" {{action showEditSlaveComponentGroups view.serviceConfig.category target="controller"}}>
- select hosts for this group
- </a>
+none -
+<a href="#" {{action showEditSlaveComponentGroups view.serviceConfig.category target="controller"}}>
+ select hosts for this group
+</a>
{{else}}
- <a href="#" {{action showEditSlaveComponentGroups view.serviceConfig.category target="controller"}}>
- {{#if view.hasMultipleHosts}}
- {{view.hosts.firstObject.hostName}} and {{view.otherLength}}
- {{else}}
- {{view.hosts.firstObject.hostName}}
- {{/if}}
- </a>
-{{/if}}
+<a href="#" {{action showEditSlaveComponentGroups view.serviceConfig.category target="controller"}}>
+ {{#if view.hasMultipleHosts}}
+ {{view.hosts.firstObject.hostName}} and {{view.otherLength}}
+ {{else}}
+ {{view.hosts.firstObject.hostName}}
+ {{/if}}
+</a>
+ {{/if}}
\ No newline at end of file
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/wizard/slave_hosts.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/wizard/slave_hosts.hbs?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/wizard/slave_hosts.hbs (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/wizard/slave_hosts.hbs Sun Dec 9 15:10:57 2012
@@ -19,11 +19,12 @@
{{#if view.hasNoHosts}}
No host assigned
{{else}}
-<a href="#" {{action showEditSlaveComponentGroups view.serviceConfig.category target="controller"}}>
+<a
+ href="#" {{action showEditSlaveComponentGroups view.serviceConfig.category target="controller"}}>
{{#if view.hasMultipleHosts}}
{{hosts.firstObject.hostName}} and {{view.otherLength}}
{{else}}
{{hosts.firstObject.hostName}}
{{/if}}
</a>
-{{/if}}
+ {{/if}}
\ No newline at end of file
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/wizard/step7.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/wizard/step7.hbs?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/wizard/step7.hbs (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/wizard/step7.hbs Sun Dec 9 15:10:57 2012
@@ -131,4 +131,4 @@
class="btn btn-success pull-right" {{bindAttr disabled="isSubmitDisabled"}}
{{action submit target="controller"}}>Next →</a>
</div>
-</div>
+</div>
\ No newline at end of file
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/wizard/step9.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/wizard/step9.hbs?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/wizard/step9.hbs (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/wizard/step9.hbs Sun Dec 9 15:10:57 2012
@@ -79,7 +79,7 @@
</td>
<td>
<div class="progress-bar pull-left">
- <div {{bindAttr class="isStepCompleted::progress-striped isStepCompleted::active view.barColor :progress"}}>
+ <div {{bindAttr class="view.isHostCompleted::progress-striped view.isHostCompleted::active view.barColor :progress"}}>
<div class="bar" {{bindAttr style="view.barWidth"}}>
</div>
</div>
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/utils/db.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/utils/db.js?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/utils/db.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/utils/db.js Sun Dec 9 15:10:57 2012
@@ -51,9 +51,9 @@ App.db.cleanUp = function () {
'loginName': '',
'authenticated': false
},
- 'Installer': {},
- 'AddHost': {},
- 'AddService': {}
+ 'Installer' : {},
+ 'AddHost' : {},
+ 'AddService' : {}
};
console.log("In cleanup./..");
localStorage.setObject('ambari', App.db.data);
@@ -195,13 +195,19 @@ App.db.setSlaveComponentHosts = function
localStorage.setObject('ambari', App.db.data);
};
+App.db.setSlaveProperties = function (slaveProperties) {
+ App.db.data = localStorage.getObject('ambari');
+ App.db.data.Installer.slaveProperties = slaveProperties;
+ localStorage.setObject('ambari', App.db.data);
+};
+
App.db.setServiceConfigs = function (serviceConfigs) {
App.db.data = localStorage.getObject('ambari');
App.db.data.Installer.serviceConfigs = serviceConfigs;
localStorage.setObject('ambari', App.db.data);
};
-App.db.setAdvancedServiceConfig = function (serviceConfigs) {
+App.db.setAdvancedServiceConfig = function(serviceConfigs) {
App.db.data = localStorage.getObject('ambari');
App.db.data.Installer.advanceServiceConfigs = serviceConfigs;
localStorage.setObject('ambari', App.db.data);
@@ -213,12 +219,6 @@ App.db.setServiceConfigProperties = func
localStorage.setObject('ambari', App.db.data);
};
-App.db.setSlaveProperties = function (slaveProperties) {
- App.db.data = localStorage.getObject('ambari');
- App.db.data.Installer.slaveProperties = slaveProperties;
- localStorage.setObject('ambari', App.db.data);
-};
-
App.db.setClusterStatus = function (status) {
App.db.data = localStorage.getObject('ambari');
App.db.data.Installer.clusterStatus = status;
@@ -364,7 +364,7 @@ App.db.getServiceConfigs = function () {
return App.db.data.Installer.serviceConfigs;
};
-App.db.getAdvancedServiceConfig = function () {
+App.db.getAdvancedServiceConfig = function() {
App.db.data = localStorage.getObject('ambari');
return App.db.data.Installer.advanceServiceConfigs;
};
@@ -379,7 +379,6 @@ App.db.getSlaveProperties = function ()
return App.db.data.Installer.slaveProperties;
};
-
App.db.getClusterStatus = function () {
console.log('TRACE: Entering db:getClusterStatus function');
App.db.data = localStorage.getObject('ambari');
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/views/common/chart/linear_time.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/views/common/chart/linear_time.js?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/views/common/chart/linear_time.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/views/common/chart/linear_time.js Sun Dec 9 15:10:57 2012
@@ -86,6 +86,8 @@ App.ChartLinearTimeView = Ember.View.ext
_seriesProperties: null,
+ renderer: 'area',
+
popupSuffix: '-popup',
isPopup: false,
@@ -362,14 +364,19 @@ App.ChartLinearTimeView = Ember.View.ext
var legendElement = document.querySelector(legendElementId);
var timelineElement = document.querySelector(timelineElementId);
+ var strokeWidth = 1;
+ if (this.get('renderer') != 'area') {
+ strokeWidth = 2;
+ }
+
var _graph = new Rickshaw.Graph({
height: 150,
element: chartElement,
series: seriesData,
interpolation: 'step-after',
stroke: true,
- renderer: 'area',
- strokeWidth: 1
+ renderer: this.get('renderer'),
+ strokeWidth: strokeWidth
});
_graph.renderer.unstack = false;
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/dashboard/cluster_metrics/load.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/dashboard/cluster_metrics/load.js?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/dashboard/cluster_metrics/load.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/dashboard/cluster_metrics/load.js Sun Dec 9 15:10:57 2012
@@ -35,7 +35,7 @@ App.ChartClusterMetricsLoad = App.ChartL
clusterName: App.router.get('clusterController.clusterName')
}, "/data/cluster_metrics/load_1hr.json");
}.property('App.router.clusterController.clusterName'),
-
+ renderer: 'line',
title: "Cluster Load",
transformToSeries: function(jsonData){
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/dashboard/cluster_metrics/memory.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/dashboard/cluster_metrics/memory.js?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/dashboard/cluster_metrics/memory.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/dashboard/cluster_metrics/memory.js Sun Dec 9 15:10:57 2012
@@ -35,7 +35,7 @@ App.ChartClusterMetricsMemory = App.Char
}.property('App.router.clusterController.clusterName'),
title: "Memory Usage",
yAxisFormatter: App.ChartLinearTimeView.BytesFormatter,
-
+ renderer: 'line',
transformToSeries: function (jsonData) {
var seriesArray = [];
if (jsonData && jsonData.metrics && jsonData.metrics.memory) {
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/dashboard/cluster_metrics/network.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/dashboard/cluster_metrics/network.js?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/dashboard/cluster_metrics/network.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/dashboard/cluster_metrics/network.js Sun Dec 9 15:10:57 2012
@@ -36,7 +36,8 @@ App.ChartClusterMetricsNetwork = App.Cha
}.property('App.router.clusterController.clusterName'),
title: "Network Usage",
yAxisFormatter: App.ChartLinearTimeView.BytesFormatter,
-
+ renderer: 'line',
+
transformToSeries : function (jsonData) {
var seriesArray = [];
if (jsonData && jsonData.metrics && jsonData.metrics.network) {
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/host/metrics/disk.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/host/metrics/disk.js?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/host/metrics/disk.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/host/metrics/disk.js Sun Dec 9 15:10:57 2012
@@ -30,7 +30,7 @@ App.ChartHostMetricsDisk = App.ChartLine
id: "host-metrics-disk",
title: "Disk Usage",
yAxisFormatter: App.ChartLinearTimeView.BytesFormatter,
-
+ renderer: 'line',
url: function () {
return App.formatUrl(App.apiPrefix + "/clusters/{clusterName}/hosts/{hostName}?fields=metrics/disk/disk_total[{fromSeconds},{toSeconds},{stepSeconds}],metrics/part_max_used[{fromSeconds},{toSeconds},{stepSeconds}],metrics/disk/disk_free[{fromSeconds},{toSeconds},{stepSeconds}]", {
clusterName: App.router.get('clusterController.clusterName'),
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/host/metrics/load.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/host/metrics/load.js?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/host/metrics/load.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/host/metrics/load.js Sun Dec 9 15:10:57 2012
@@ -29,7 +29,7 @@ var App = require('app');
App.ChartHostMetricsLoad = App.ChartLinearTimeView.extend({
id: "host-metrics-load",
title: "Load",
-
+ renderer: 'line',
url: function () {
return App.formatUrl(App.apiPrefix + "/clusters/{clusterName}/hosts/{hostName}?fields=metrics/load/load_fifteen[{fromSeconds},{toSeconds},{stepSeconds}],metrics/load/load_one[{fromSeconds},{toSeconds},{stepSeconds}],metrics/load/load_five[{fromSeconds},{toSeconds},{stepSeconds}]", {
clusterName: App.router.get('clusterController.clusterName'),
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/host/metrics/memory.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/host/metrics/memory.js?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/host/metrics/memory.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/host/metrics/memory.js Sun Dec 9 15:10:57 2012
@@ -30,7 +30,7 @@ App.ChartHostMetricsMemory = App.ChartLi
id: "host-metrics-memory",
title: "Memory Usage",
yAxisFormatter: App.ChartLinearTimeView.BytesFormatter,
-
+ renderer: 'line',
url: function () {
return App.formatUrl(App.apiPrefix + "/clusters/{clusterName}/hosts/{hostName}?fields=metrics/memory/swap_free[{fromSeconds},{toSeconds},{stepSeconds}],metrics/memory/mem_total[{fromSeconds},{toSeconds},{stepSeconds}],metrics/memory/mem_free[{fromSeconds},{toSeconds},{stepSeconds}],metrics/memory/mem_cached[{fromSeconds},{toSeconds},{stepSeconds}],metrics/memory/mem_buffers[{fromSeconds},{toSeconds},{stepSeconds}]", {
clusterName: App.router.get('clusterController.clusterName'),
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/host/metrics/network.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/host/metrics/network.js?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/host/metrics/network.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/host/metrics/network.js Sun Dec 9 15:10:57 2012
@@ -30,7 +30,7 @@ App.ChartHostMetricsNetwork = App.ChartL
id: "host-metrics-network",
title: "Network Usage",
yAxisFormatter: App.ChartLinearTimeView.BytesFormatter,
-
+ renderer: 'line',
url: function () {
return App.formatUrl(App.apiPrefix + "/clusters/{clusterName}/hosts/{hostName}?fields=metrics/network/bytes_in[{fromSeconds},{toSeconds},{stepSeconds}],metrics/network/bytes_out[{fromSeconds},{toSeconds},{stepSeconds}],metrics/network/pkts_in[{fromSeconds},{toSeconds},{stepSeconds}],metrics/network/pkts_out[{fromSeconds},{toSeconds},{stepSeconds}]", {
clusterName: App.router.get('clusterController.clusterName'),
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/host/metrics/processes.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/host/metrics/processes.js?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/host/metrics/processes.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/host/metrics/processes.js Sun Dec 9 15:10:57 2012
@@ -29,7 +29,7 @@ var App = require('app');
App.ChartHostMetricsProcesses = App.ChartLinearTimeView.extend({
id: "host-metrics-processes",
title: "Processes",
-
+ renderer: 'line',
url: function () {
return App.formatUrl(App.apiPrefix + "/clusters/{clusterName}/hosts/{hostName}?fields=metrics/process/proc_total[{fromSeconds},{toSeconds},{stepSeconds}],metrics/process/proc_run[{fromSeconds},{toSeconds},{stepSeconds}]", {
clusterName: App.router.get('clusterController.clusterName'),
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/service/info/metrics/hbase/regionserver_queuesize.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/service/info/metrics/hbase/regionserver_queuesize.js?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/service/info/metrics/hbase/regionserver_queuesize.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/service/info/metrics/hbase/regionserver_queuesize.js Sun Dec 9 15:10:57 2012
@@ -29,7 +29,7 @@ var App = require('app');
App.ChartServiceMetricsHBASE_RegionServerQueueSize = App.ChartLinearTimeView.extend({
id: "service-metrics-hbase-regionserver-queuesize",
title: "RegionServer Queue Size",
-
+ renderer: 'line',
url: function () {
return App.formatUrl(App.apiPrefix + "/clusters/{clusterName}/services/HBASE/components/HBASE_REGIONSERVER?fields=metrics/hbase/regionserver/flushQueueSize[{fromSeconds},{toSeconds},{stepSeconds}],metrics/hbase/regionserver/compactionQueueSize[{fromSeconds},{toSeconds},{stepSeconds}]", {
clusterName: App.router.get('clusterController.clusterName')
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/service/info/metrics/hbase/regionserver_rw_requests.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/service/info/metrics/hbase/regionserver_rw_requests.js?rev=1419002&r1=1419001&r2=1419002&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/service/info/metrics/hbase/regionserver_rw_requests.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/service/info/metrics/hbase/regionserver_rw_requests.js Sun Dec 9 15:10:57 2012
@@ -29,7 +29,7 @@ var App = require('app');
App.ChartServiceMetricsHBASE_RegionServerReadWriteRequests = App.ChartLinearTimeView.extend({
id: "service-metrics-hbase-regionserver-rw-requests",
title: "RegionServer Requests",
-
+ renderer: 'line',
url: function () {
return App.formatUrl(App.apiPrefix + "/clusters/{clusterName}/services/HBASE/components/HBASE_REGIONSERVER?fields=metrics/hbase/regionserver/readRequestsCount[{fromSeconds},{toSeconds},{stepSeconds}],metrics/hbase/regionserver/writeRequestsCount[{fromSeconds},{toSeconds},{stepSeconds}]", {
clusterName: App.router.get('clusterController.clusterName')