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:23:07 UTC
svn commit: r1419009 [2/4] - in
/incubator/ambari/branches/AMBARI-666/ambari-web/app: ./ assets/data/apps/
assets/data/wizard/bootstrap/ assets/img/ controllers/ controllers/global/
controllers/main/host/ controllers/main/service/ controllers/wizard/ d...
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=1419009&r1=1419008&r2=1419009&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:23:01 2012
@@ -48,66 +48,15 @@ App.WizardStep8Controller = Em.Controlle
this.loadGlobals();
this.loadConfigs();
this.setCustomConfigs();
- this.loadClusterInfo();
this.loadSlaveConfiguration();
+ this.loadClusterInfo();
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')) {
- //TODO: Hive host depends on the type of db selected. Change puppet variable name if postgress is not the default db
+ //TODO: Hive host depends on the type of db selected. Change puppet variable name if postgres is not the default db
var hiveDb = globals.findProperty('name', 'hive_database');
if (hiveDb.value === 'New PostgreSQL Database') {
globals.findProperty('name', 'hive_ambari_host').name = 'hive_mysql_host';
@@ -284,6 +233,100 @@ App.WizardStep8Controller = Em.Controlle
}
},
+ loadSlaveConfiguration: function () {
+
+ var slaveComponentConfig = this.convertSlaveConfig(this.get('content.slaveGroupProperties'));
+ this.set("slaveComponentConfig", slaveComponentConfig);
+ },
+
+ convertSlaveConfig: function (slaveContent) {
+ var dest = {
+ "version": "1.0",
+ "components": [
+ ],
+ "slaveHostComponents": []
+ };
+
+ slaveContent.forEach(function (_slaveContent) {
+ var newComponent = {};
+ newComponent.componentName = _slaveContent.componentName;
+ newComponent.serviceName = this.getServiceInfo(newComponent.componentName).name;
+ newComponent.groups = [];
+ var index = 2;
+ _slaveContent.groups.forEach(function (_group) {
+ var newGroup = {};
+ newGroup.groupName = _group.name;
+ newGroup.configVersion = {config: {'global': 'version1', 'core-site': 'version1'}}; // TODO : every time a new version should be generated
+ if (this.getServiceInfo(_slaveContent.componentName)) {
+ newGroup.configVersion.config[this.getServiceInfo(_slaveContent.componentName).domain] = 'version' + index;
+ newGroup.configVersion.config[this.getServiceInfo(_slaveContent.componentName).siteName] = 'version' + index;
+ }
+ newGroup.siteVersion = 'version' + index;
+ newGroup.hostNames = _slaveContent.hosts.filterProperty("group", newGroup.groupName).mapProperty('hostName');
+ newGroup.properties = _group.properties;
+ if (!Ember.empty(newGroup.hostNames)) {
+ newComponent.groups.push(newGroup);
+ }
+ index++;
+ }, this);
+ dest.components.push(newComponent);
+ }, this);
+ var hostsInfo = this.get('content.hostsInfo');
+
+ for (var index in hostsInfo) {
+ var hostIndex = 2;
+ var slaveHost = {name: null, configVersion: null, slaveComponents: []};
+ dest.components.forEach(function (_component) {
+ _component.groups.forEach(function (_group) {
+ if (_group.hostNames.contains(hostsInfo[index].name)) {
+ var slaveComponent = {};
+ slaveHost.name = hostsInfo[index].name;
+ slaveComponent.componentName = _component.componentName;
+ slaveComponent.groupName = _group.groupName;
+ slaveComponent.properties = _group.properties;
+ slaveHost.slaveComponents.pushObject(slaveComponent);
+ }
+ }, this);
+ }, this);
+ hostIndex++;
+ if (!Ember.none(slaveHost.name)) {
+ dest.slaveHostComponents.pushObject(slaveHost);
+ }
+
+ }
+ return dest;
+ },
+
+ getServiceInfo: function (componentName) {
+ var serviceConfig;
+ switch (componentName) {
+ case 'DATANODE':
+ serviceConfig = {
+ name: 'HDFS',
+ siteName: 'hdfs-site',
+ domain: 'datanode-global'
+ };
+ break;
+ case 'TASKTRACKER':
+ serviceConfig = {
+ name: 'MAPREDUCE',
+ siteName: 'mapred-site',
+ domain: 'tasktracker-global'
+ };
+ break;
+ case 'HBASE_REGIONSERVER':
+ serviceConfig = {
+ name: 'HBASE',
+ siteName: 'hbase-site',
+ domain: 'regionserver-global'
+ };
+ break;
+ default:
+ serviceConfig = null;
+ }
+ return serviceConfig;
+ },
+
/**
* Load all info about cluster to <code>clusterInfo</code> variable
*/
@@ -406,7 +449,7 @@ App.WizardStep8Controller = Em.Controlle
loadDnValue: function (dnComponent) {
var dnHosts = this.get('content.slaveComponentHosts').findProperty('displayName', 'DataNode');
var totalDnHosts = dnHosts.hosts.length;
- var totalGroups = this.get('slaveComponentConfig.components').findProperty('componentName','DATANODE').groups.length;
+ var totalGroups = this.get('slaveComponentConfig.components').findProperty('componentName', 'DATANODE').groups.length;
var groupLabel;
if (totalGroups == 1) {
groupLabel = 'group';
@@ -444,7 +487,7 @@ App.WizardStep8Controller = Em.Controlle
loadTtValue: function (ttComponent) {
var ttHosts = this.get('content.slaveComponentHosts').findProperty('displayName', 'TaskTracker');
var totalTtHosts = ttHosts.hosts.length;
- var totalGroups = this.get('slaveComponentConfig.components').findProperty('componentName','TASKTRACKER').groups.length;
+ var totalGroups = this.get('slaveComponentConfig.components').findProperty('componentName', 'TASKTRACKER').groups.length;
var groupLabel;
if (totalGroups == 1) {
groupLabel = 'group';
@@ -522,7 +565,7 @@ App.WizardStep8Controller = Em.Controlle
loadRegionServerValue: function (rsComponent) {
var rsHosts = this.get('content.slaveComponentHosts').findProperty('displayName', 'RegionServer');
var totalRsHosts = rsHosts.hosts.length;
- var totalGroups = this.get('slaveComponentConfig.components').findProperty('componentName','HBASE_REGIONSERVER').groups.length;
+ var totalGroups = this.get('slaveComponentConfig.components').findProperty('componentName', 'HBASE_REGIONSERVER').groups.length;
var groupLabel;
if (totalGroups == 1) {
groupLabel = 'group';
@@ -667,33 +710,35 @@ App.WizardStep8Controller = Em.Controlle
this.createComponents();
this.registerHostsToCluster();
this.createAllHostComponents();
+ this.applyCreatedConfToSlaveGroups();
+ this.ajaxQueueFinished = function(){
+ console.log('everything is loaded')
+ App.router.send('next');
+ };
+ this.doNextAjaxCall();
+ } else {
+ App.router.send('next');
}
-
- App.router.send('next');
},
setAmbariUIDb: function () {
+ var dbContent = this.get('content.slaveGroupProperties');
var slaveComponentConfig = this.get("slaveComponentConfig");
- this.persistKeyValues(slaveComponentConfig.version, slaveComponentConfig);
+ this.persistKeyValues(slaveComponentConfig.version, dbContent);
+ this.persistKeyValues('current_version',slaveComponentConfig.version);
},
persistKeyValues: function (key, value) {
var str = "{ '" + key + "' : '" + JSON.stringify(value) + "'}";
var obj = eval("(" + str + ")");
- $.ajax({
+
+ this.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);
+ beforeSend: function () {
+ console.log('BeforeSend: persistKeyValues', obj);
}
});
},
@@ -712,61 +757,35 @@ App.WizardStep8Controller = Em.Controlle
return false;
}
- var url = App.apiPrefix + '/clusters/' + this.get('clusterName');
+ var clusterName = this.get('clusterName');
+ var url = App.apiPrefix + '/clusters/' + clusterName;
var stackVersion = (App.db.getSoftRepo().repoType == 'local') ? App.defaultLocalStackVersion : App.defaultStackVersion;
- $.ajax({
+ this.ajax({
type: 'POST',
url: url,
- async: false,
- //accepts: 'text',
- dataType: 'text',
data: JSON.stringify({ "Clusters": {"version": stackVersion }}),
- timeout: App.timeout,
- success: function (data) {
- var jsonData = jQuery.parseJSON(data);
- console.log("TRACE: Step8 -> In success function for createCluster call");
- console.log("TRACE: Step8 -> value of the received data is: " + jsonData);
- },
-
- error: function (request, ajaxOptions, error) {
- console.log('Step8: In Error ');
- console.log('Step8: Error message is: ' + request.responseText);
- },
-
- statusCode: require('data/statusCodes')
+ beforeSend: function () {
+ console.log("BeforeSend: createCluster for " + clusterName);
+ }
});
- console.log("Exiting createCluster");
},
- createSelectedServices: function (service, httpMethod) {
+ createSelectedServices: function () {
var url = App.apiPrefix + '/clusters/' + this.get('clusterName') + '/services';
var data = this.createServiceData();
var httpMethod = 'POST';
- $.ajax({
+
+ this.ajax({
type: httpMethod,
url: url,
data: JSON.stringify(data),
- async: false,
- dataType: 'text',
- timeout: App.timeout,
- success: function (data) {
- var jsonData = jQuery.parseJSON(data);
- console.log("TRACE: Step8 -> In success function for the createSelectedServices call");
- console.log("TRACE: Step8 -> value of the url is: " + url);
- console.log("TRACE: Step8 -> value of the received data is: " + jsonData);
-
- },
-
- error: function (request, ajaxOptions, error) {
- console.log('Step8: In Error ');
- console.log('Step8: Error message is: ' + request.responseText);
- },
-
- statusCode: require('data/statusCodes')
+ beforeSend: function () {
+ console.log('BeforeSend: createSelectedServices ', data);
+ }
});
},
@@ -795,26 +814,14 @@ App.WizardStep8Controller = Em.Controlle
var data = {
"components": componentsData
}
- $.ajax({
+
+ this.ajax({
type: 'POST',
url: url,
- async: false,
- dataType: 'text',
data: JSON.stringify(data),
- timeout: App.timeout,
- success: function (data) {
- var jsonData = jQuery.parseJSON(data);
- console.log("TRACE: Step8 -> In success function for createComponents");
- console.log("TRACE: Step8 -> value of the url is: " + url);
- console.log("TRACE: Step8 -> value of the received data is: " + jsonData);
- },
-
- error: function (request, ajaxOptions, error) {
- console.log('Step8: In Error ');
- console.log('Step8: Error message is: ' + request.responseText);
- },
-
- statusCode: require('data/statusCodes')
+ beforeSend: function () {
+ console.log('BeforeSend: createComponents for ' + _service, componentsData);
+ }
});
}, this);
@@ -829,27 +836,13 @@ App.WizardStep8Controller = Em.Controlle
return;
}
- $.ajax({
+ this.ajax({
type: 'POST',
url: url,
data: JSON.stringify(data),
- async: false,
- dataType: 'text',
- timeout: App.timeout,
- success: function (data) {
- var jsonData = jQuery.parseJSON(data);
- console.log("TRACE: Step8 -> In success function for registerHostsToCluster");
- console.log("TRACE: Step8 -> value of the url is: " + url);
- console.log("TRACE: Step8 -> value of the received data is: " + jsonData);
-
- },
-
- error: function (request, ajaxOptions, error) {
- console.log('Step8: In Error ');
- console.log('Step8: Error message is: ' + request.responseText);
- },
-
- statusCode: require('data/statusCodes')
+ beforeSend: function () {
+ console.log('BeforeSend: registerHostsToCluster', data);
+ }
});
},
@@ -933,7 +926,7 @@ App.WizardStep8Controller = Em.Controlle
// return 'Hosts/host_name=' + hostName;
// }).join('|');
- var queryStrArr = []
+ var queryStrArr = [];
var queryStr = '';
hostNames.forEach(function (hostName) {
queryStr += 'Hosts/host_name=' + hostName + '|';
@@ -960,26 +953,13 @@ App.WizardStep8Controller = Em.Controlle
]
};
- $.ajax({
+ this.ajax({
type: 'POST',
url: url,
- async: false,
- dataType: 'text',
- timeout: App.timeout,
data: JSON.stringify(data),
- success: function (data) {
- var jsonData = jQuery.parseJSON(data);
- console.log("TRACE: Step8 -> In success function for the registerHostsToComponent");
- console.log("TRACE: Step8 -> value of the url is: " + url);
- console.log("TRACE: Step8 -> value of the received data is: " + jsonData);
- },
-
- error: function (request, ajaxOptions, error) {
- console.log('Step8: In Error ');
- console.log('Step8: Error message is: ' + request.responseText);
- },
-
- statusCode: require('data/statusCodes')
+ beforeSend: function () {
+ console.log('BeforeSend: registerHostsToComponent for ' + queryStr + ' and component ' + componentName);
+ }
});
}, this);
},
@@ -987,64 +967,56 @@ App.WizardStep8Controller = Em.Controlle
createConfigurations: function () {
var selectedServices = this.get('selectedServices');
if (!this.get('content.isWizard')) {
- this.createConfigSite(this.createGlobalSiteObj());
- this.createConfigSite(this.createCoreSiteObj());
- this.createConfigSite(this.createHdfsSiteObj('HDFS'));
+ this.createConfigSiteForService(this.createGlobalSiteObj());
+ this.createGlobalSitePerSlaveGroup();
+ this.createConfigSiteForService(this.createCoreSiteObj());
+ this.createConfigSiteForService(this.createHdfsSiteObj());
+ this.createHdfsSitePerSlaveGroup('HDFS');
}
if (selectedServices.someProperty('serviceName', 'MAPREDUCE')) {
- this.createConfigSite(this.createMrSiteObj('MAPREDUCE'));
+ this.createConfigSiteForService(this.createMrSiteObj());
+ this.createMrSitePerSlaveGroup('MAPREDUCE');
}
if (selectedServices.someProperty('serviceName', 'HBASE')) {
- this.createConfigSite(this.createHbaseSiteObj('HBASE'));
+ this.createConfigSiteForService(this.createHbaseSiteObj());
+ this.createHbaseSitePerSlaveGroup('HBASE');
}
if (selectedServices.someProperty('serviceName', 'OOZIE')) {
- this.createConfigSite(this.createOozieSiteObj('OOZIE'));
+ this.createConfigSiteForService(this.createOozieSiteObj('OOZIE'));
}
if (selectedServices.someProperty('serviceName', 'HIVE')) {
- // TODO
- // this.createConfigSite(this.createHiveSiteObj('HIVE'));
+ this.createConfigSiteForService(this.createHiveSiteObj('HIVE'));
}
},
- createConfigSite: function (data) {
- console.log("Inside createConfigSite");
+ createConfigSiteForService: function (data) {
+ console.log("Inside createConfigSiteForService");
var url = App.apiPrefix + '/clusters/' + this.get('clusterName') + '/configurations';
- $.ajax({
+
+ this.ajax({
type: 'POST',
url: url,
data: JSON.stringify(data),
- async: false,
- dataType: 'text',
- timeout: App.timeout,
- success: function (data) {
- var jsonData = jQuery.parseJSON(data);
- console.log("TRACE: STep8 -> In success function for the createConfigSite");
- console.log("TRACE: STep8 -> value of the url is: " + url);
- console.log("TRACE: STep8 -> value of the received data is: " + jsonData);
- },
-
- error: function (request, ajaxOptions, error) {
- console.log('Step8: In Error ');
- console.log('Step8: Error message is: ' + request.responseText);
- console.log("TRACE: STep8 -> value of the url is: " + url);
- },
-
- statusCode: require('data/statusCodes')
+ beforeSend: function () {
+ console.log("BeforeSend: createConfigSiteForService for " + data.type);
+ }
});
- console.log("Exiting createConfigSite");
},
createGlobalSiteObj: function () {
var globalSiteProperties = {};
- this.get('globals').forEach(function (_globalSiteObj) {
+ this.get('globals').filterProperty('domain', 'global').forEach(function (_globalSiteObj) {
// do not pass any globals whose name ends with _host or _hosts
if (!/_hosts?$/.test(_globalSiteObj.name)) {
// append "m" to JVM memory options
+ var value = null;
if (/_heapsize|_newsize|_maxnewsize$/.test(_globalSiteObj.name)) {
- _globalSiteObj.value += "m";
+ value = _globalSiteObj.value + "m";
+ globalSiteProperties[_globalSiteObj.name] = value;
+ } else {
+ globalSiteProperties[_globalSiteObj.name] = _globalSiteObj.value;
}
- globalSiteProperties[_globalSiteObj.name] = _globalSiteObj.value;
console.log("STEP8: name of the global property is: " + _globalSiteObj.name);
console.log("STEP8: value of the global property is: " + _globalSiteObj.value);
}
@@ -1052,6 +1024,36 @@ App.WizardStep8Controller = Em.Controlle
return {"type": "global", "tag": "version1", "properties": globalSiteProperties};
},
+ createGlobalSitePerSlaveGroup: function () {
+ this.get('slaveComponentConfig.components').forEach(function (_component) {
+ _component.groups.forEach(function (_group) {
+ var globalSiteProperties = {};
+ var properties = _group.properties;
+ properties.forEach(function (_property) {
+ if (!/_hosts?$/.test(_property.name)) {
+ // append "m" to JVM memory options
+ var value = null;
+ if (/_heapsize|_newsize|_maxnewsize$/.test(_property.name)) {
+ value = _property.value + "m";
+ globalSiteProperties[_property.name] = value;
+ } else {
+ globalSiteProperties[_property.name] = _property.storeValue;
+ }
+ console.log("STEP8: name of the global property is: " + _property.name);
+ console.log("STEP8: value of the global property is: " + _property.storeValue);
+ }
+ }, this);
+ var config = _group.configVersion.config;
+ for (var index in config) {
+ if (index === 'datanode-global' || index === 'tasktracker-global' || index === 'regionserver-global') {
+ var data = {"type": index, "tag": config[index], "properties": globalSiteProperties};
+ this.createConfigSiteForService(data);
+ }
+ }
+ }, this);
+ }, this);
+ },
+
createCoreSiteObj: function () {
var coreSiteObj = this.get('configs').filterProperty('filename', 'core-site.xml');
var coreSiteProperties = {};
@@ -1067,7 +1069,7 @@ App.WizardStep8Controller = Em.Controlle
return {"type": "core-site", "tag": "version1", "properties": coreSiteProperties};
},
- createHdfsSiteObj: function (serviceName) {
+ createHdfsSiteObj: function () {
var hdfsSiteObj = this.get('configs').filterProperty('filename', 'hdfs-site.xml');
var hdfsProperties = {};
hdfsSiteObj.forEach(function (_configProperty) {
@@ -1078,7 +1080,29 @@ App.WizardStep8Controller = Em.Controlle
return {"type": "hdfs-site", "tag": "version1", "properties": hdfsProperties };
},
- createMrSiteObj: function (serviceName) {
+ createHdfsSitePerSlaveGroup: function (serviceName) {
+ var hdfsSite = this.createHdfsSiteObj();
+ var component = this.get('slaveComponentConfig.components').findProperty('serviceName', serviceName);
+ component.groups.forEach(function (_group) {
+ var siteProperties = hdfsSite.properties;
+ _group.properties.forEach(function (_property) {
+ this.get('configMapping').forEach(function (_config) {
+ if (_config.templateName.contains(_property.name)) {
+ this.get('globals').findProperty('name', _property.name).value = _property.storeValue;
+ var value = this.getGlobConfigValue(_config.templateName, _config.value);
+ if (siteProperties[_config.name]) {
+ siteProperties[_config.name] = value;
+ }
+ }
+ }, this);
+ }, this);
+ var data = {"type": hdfsSite.type, "tag": _group.siteVersion, "properties": siteProperties};
+ console.log("The value of globalConfig is: " + JSON.stringify(siteProperties));
+ this.createConfigSiteForService(data);
+ }, this);
+ },
+
+ createMrSiteObj: function () {
var configs = this.get('configs').filterProperty('filename', 'mapred-site.xml');
var mrProperties = {};
configs.forEach(function (_configProperty) {
@@ -1089,7 +1113,28 @@ App.WizardStep8Controller = Em.Controlle
return {type: 'mapred-site', tag: 'version1', properties: mrProperties};
},
- createHbaseSiteObj: function (serviceName) {
+ createMrSitePerSlaveGroup: function (serviceName) {
+ var mrSite = this.createMrSiteObj();
+ var component = this.get('slaveComponentConfig.components').findProperty('serviceName', serviceName);
+ component.groups.forEach(function (_group) {
+ var siteProperties = mrSite.properties;
+ _group.properties.forEach(function (_property) {
+ this.get('configMapping').forEach(function (_config) {
+ if (_config.templateName.contains(_property.name)) {
+ this.get('globals').findProperty('name', _property.name).value = _property.storeValue;
+ var value = this.getGlobConfigValue(_config.templateName, _config.value);
+ if (siteProperties[_config.name]) {
+ siteProperties[_config.name] = value;
+ }
+ }
+ }, this);
+ }, this);
+ var data = {"type": mrSite.type, "tag": _group.siteVersion, "properties": siteProperties};
+ this.createConfigSiteForService(data);
+ }, this);
+ },
+
+ createHbaseSiteObj: function () {
var configs = this.get('configs').filterProperty('filename', 'hbase-site.xml');
var hbaseProperties = {};
configs.forEach(function (_configProperty) {
@@ -1102,17 +1147,38 @@ App.WizardStep8Controller = Em.Controlle
return {type: 'hbase-site', tag: 'version1', properties: hbaseProperties};
},
+ createHbaseSitePerSlaveGroup: function (serviceName) {
+ var hbaseSite = this.createHbaseSiteObj();
+ var component = this.get('slaveComponentConfig.components').findProperty('serviceName', serviceName);
+ component.groups.forEach(function (_group) {
+ var siteProperties = hbaseSite.properties;
+ _group.properties.forEach(function (_property) {
+ this.get('configMapping').forEach(function (_config) {
+ if (_config.templateName.contains(_property.name)) {
+ this.get('globals').findProperty('name', _property.name).value = _property.storeValue;
+ var value = this.getGlobConfigValue(_config.templateName, _config.value);
+ if (siteProperties[_config.name]) {
+ siteProperties[_config.name] = value;
+ }
+ }
+ }, this);
+ }, this);
+ var data = {"type": hbaseSite.type, "tag": _group.siteVersion, "properties": siteProperties};
+ this.createConfigSiteForService(data);
+ }, this);
+ },
+
createOozieSiteObj: function (serviceName) {
var configs = this.get('configs').filterProperty('filename', 'oozie-site.xml');
var oozieProperties = {};
configs.forEach(function (_configProperty) {
oozieProperties[_configProperty.name] = _configProperty.value;
}, this);
- var baseUrl = oozieProperties['oozie.base.url'];
- oozieProperties = {
- "oozie.service.JPAService.jdbc.password": " ", "oozie.db.schema.name": "oozie", "oozie.service.JPAService.jdbc.url": "jdbc:derby:/var/data/oozie/oozie-db;create=true", "oozie.service.JPAService.jdbc.driver": "org.apache.derby.jdbc.EmbeddedDriver", "oozie.service.WorkflowAppService.system.libpath": "/user/oozie/share/lib", "oozie.service.JPAService.jdbc.username": "sa", "oozie.service.SchemaService.wf.ext.schemas": "shell-action-0.1.xsd,email-action-0.1.xsd,hive-action-0.2.xsd,sqoop-action-0.2.xsd,ssh-action-0.1.xsd,distcp-action-0.1.xsd", "oozie.service.JPAService.create.db.schema": "false", "use.system.libpath.for.mapreduce.and.pig.jobs": "false", "oozie.service.ActionService.executor.ext.classes": "org.apache.oozie.action.email.EmailActionExecutor,org.apache.oozie.action.hadoop.HiveActionExecutor,org.apache.oozie.action.hadoop.ShellActionExecutor,org.apache.oozie.action.hadoop.SqoopActionExecutor,org.apache.oozie.action.hadoop.DistcpActionExecutor", "oozie.service.Ha
doopAccessorService.hadoop.configurations": "*=/etc/hadoop/conf"
- };
- oozieProperties['oozie.base.url'] = baseUrl;
+ // var baseUrl = oozieProperties['oozie.base.url'];
+ // oozieProperties = {
+ // "oozie.service.JPAService.jdbc.password": " ", "oozie.db.schema.name": "oozie", "oozie.service.JPAService.jdbc.url": "jdbc:derby:/var/data/oozie/oozie-db;create=true", "oozie.service.JPAService.jdbc.driver": "org.apache.derby.jdbc.EmbeddedDriver", "oozie.service.WorkflowAppService.system.libpath": "/user/oozie/share/lib", "oozie.service.JPAService.jdbc.username": "sa", "oozie.service.SchemaService.wf.ext.schemas": "shell-action-0.1.xsd,email-action-0.1.xsd,hive-action-0.2.xsd,sqoop-action-0.2.xsd,ssh-action-0.1.xsd,distcp-action-0.1.xsd", "oozie.service.JPAService.create.db.schema": "false", "use.system.libpath.for.mapreduce.and.pig.jobs": "false", "oozie.service.ActionService.executor.ext.classes": "org.apache.oozie.action.email.EmailActionExecutor,org.apache.oozie.action.hadoop.HiveActionExecutor,org.apache.oozie.action.hadoop.ShellActionExecutor,org.apache.oozie.action.hadoop.SqoopActionExecutor,org.apache.oozie.action.hadoop.DistcpActionExecutor", "oozie.service
.HadoopAccessorService.hadoop.configurations": "*=/etc/hadoop/conf"
+ // };
+ // oozieProperties['oozie.base.url'] = baseUrl;
return {type: 'oozie-site', tag: 'version1', properties: oozieProperties};
},
@@ -1122,7 +1188,7 @@ App.WizardStep8Controller = Em.Controlle
configs.forEach(function (_configProperty) {
hiveProperties[_configProperty.name] = _configProperty.value;
}, this);
- return {type: 'hbase-site', tag: 'version1', properties: hiveProperties};
+ return {type: 'hive-site', tag: 'version1', properties: hiveProperties};
},
applyCreatedConfToServices: function () {
@@ -1138,28 +1204,45 @@ App.WizardStep8Controller = Em.Controlle
var url = App.apiPrefix + '/clusters/' + this.get('clusterName') + '/services/' + service;
- $.ajax({
+ this.ajax({
type: httpMethod,
url: url,
- async: false,
- dataType: 'text',
data: JSON.stringify(data),
- timeout: App.timeout,
- success: function (data) {
- var jsonData = jQuery.parseJSON(data);
- console.log("TRACE: STep8 -> In success function for the applyCreatedConfToService call");
- console.log("TRACE: STep8 -> value of the url is: " + url);
- console.log("TRACE: STep8 -> value of the received data is: " + jsonData);
- },
+ beforeSend: function () {
+ console.log("BeforeSend: applyCreatedConfToService for " + service);
+ }
+ });
+ },
- error: function (request, ajaxOptions, error) {
- console.log('Step8: In Error ');
- console.log('Step8: Error message is: ' + request.responseText);
- },
- statusCode: require('data/statusCodes')
+ applyCreatedConfToSlaveGroups: function () {
+ this.get('slaveComponentConfig.components').forEach(function (_component) {
+ _component.groups.forEach(function (_group) {
+ var aggregatedHostNames = '';
+ _group.hostNames.forEach(function (_hostName, index) {
+ aggregatedHostNames += 'HostRoles/host_name=' + _hostName;
+ if (index !== _group.hostNames.length-1) {
+ aggregatedHostNames += '|';
+ }
+ }, this);
+ console.log("The aggregated hostNames value is: " + aggregatedHostNames);
+ this.applyCreatedConfToSlaveGroup(aggregatedHostNames, 'PUT', _group.configVersion,_group.groupName);
+ }, this);
+ }, this);
+ },
+
+ applyCreatedConfToSlaveGroup: function (aggregatedHostNames, httpMethod, data, groupName) {
+ console.log("Inside applyCreatedConfToHost");
+ var url = App.apiPrefix + '/clusters/' + this.get('clusterName') + '/host_components?' + aggregatedHostNames;
+
+ this.ajax({
+ type: httpMethod,
+ url: url,
+ data: JSON.stringify(data),
+ beforeSend: function () {
+ console.log("BeforeSend: applyCreatedConfToSlaveGroup for group: " + groupName);
+ }
});
- console.log("Exiting applyCreatedConfToService");
},
getConfigForService: function (serviceName) {
@@ -1175,6 +1258,85 @@ App.WizardStep8Controller = Em.Controlle
default:
return {config: {'global': 'version1'}};
}
+ },
+
+ ajaxQueue: [],
+
+ ajaxQueueFinished: function () {
+ //do something
+ },
+
+ doNextAjaxCall: function () {
+
+ if (this.get('ajaxBusy')) {
+ return;
+ }
+
+ var queue = this.get('ajaxQueue');
+ if (!queue.length) {
+ this.ajaxQueueFinished();
+ return;
+ }
+
+ var first = queue[0];
+ this.set('ajaxQueue', queue.slice(1));
+
+ this.set('ajaxBusy', true);
+ console.log('AJAX send ' + first.url);
+ $.ajax(first);
+
+ },
+
+ /**
+ * We need to do a lot of ajax calls(about 10 or more) async in special order.
+ * To do this i generate array of ajax objects and then send requests step by step.
+ * All ajax objects are stored in <code>ajaxQueue</code>
+ * @param params
+ */
+
+ ajax: function(params){
+ if(App.testMode) return;
+
+ var self = this;
+ params = jQuery.extend({
+ async: true,
+ dataType: 'text',
+ statusCode: require('data/statusCodes'),
+ timeout: App.timeout,
+ error: function (request, ajaxOptions, error) {
+ console.log('Step8: In Error ');
+ console.log('Step8: Error message is: ' + request.responseText);
+ },
+ success: function (data) {
+ var jsonData = jQuery.parseJSON(data);
+ console.log("TRACE: STep8 -> In success function");
+ console.log("TRACE: STep8 -> value of the url is: " + params.url);
+ console.log("TRACE: STep8 -> value of the received data is: " + jsonData);
+ }
+ }, params);
+
+ var success = params.success;
+ var error = params.error;
+
+ params.success = function () {
+ if (success) {
+ success();
+ }
+ ;
+ self.set('ajaxBusy', false);
+ self.doNextAjaxCall();
+ }
+
+ params.error = function () {
+ if (error) {
+ error();
+ }
+ ;
+ self.set('ajaxBusy', false);
+ self.doNextAjaxCall();
+ }
+
+ this.get('ajaxQueue').pushObject(params);
}
})
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=1419009&r1=1419008&r2=1419009&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:23:01 2012
@@ -70,6 +70,7 @@ App.WizardStep9Controller = Em.Controlle
this.launchStartServices();
} else {
this.loadStep();
+ this.loadLogData(this.get('content.cluster.requestId'));
this.startPolling();
}
} else {
@@ -240,13 +241,11 @@ App.WizardStep9Controller = Em.Controlle
console.log("TRACE: Step9 -> In success function for the startService call");
console.log("TRACE: Step9 -> value of the url is: " + url);
console.log("TRACE: Step9 -> value of the received data is: " + jsonData);
- var requestId = jsonData.href.match(/.*\/(.*)$/)[1];
+ var requestId = jsonData.Requests.id;
console.log('requestId is: ' + requestId);
var clusterStatus = {
- name: clusterName,
status: 'INSTALLED',
requestId: requestId,
- installStartTime: self.get('content.cluster').installStartTime,
isStartError: false,
isCompleted: false
};
@@ -258,9 +257,7 @@ App.WizardStep9Controller = Em.Controlle
error: function () {
console.log("ERROR");
var clusterStatus = {
- name: clusterName,
status: 'START FAILED',
- installStartTime: self.get('content.cluster').installStartTime,
isStartError: true,
isCompleted: false
};
@@ -387,8 +384,7 @@ App.WizardStep9Controller = Em.Controlle
clusterStatus = {
status: 'INSTALLED',
requestId: requestId,
- isCompleted: true,
- installStartTime: this.get('content.cluster.installStartTime')
+ isCompleted: true
}
if (this.isSuccess(polledData)) {
clusterStatus.status = 'STARTED';
@@ -414,8 +410,7 @@ App.WizardStep9Controller = Em.Controlle
clusterStatus = {
status: 'PENDING',
requestId: requestId,
- isCompleted: false,
- installStartTime: this.get('content.cluster.installStartTime')
+ isCompleted: false
}
if (this.isStepFailed(polledData)) {
console.log("In installation failure");
@@ -525,25 +520,28 @@ App.WizardStep9Controller = Em.Controlle
loadLogData:function(requestId){
var url = this.getUrl(requestId);
-
+ var requestsId = App.db.getCluster().oldRequestsId;
if (App.testMode) {
this.POLL_INTERVAL = 1;
this.numPolls++;
- if (this.numPolls == 5) {
- url = this.get('mockDataPrefix') + '/poll_5.json';
- // url = this.get('mockDataPrefix') + '/poll_5_failed.json';
- } else {
- url = this.get('mockDataPrefix') + '/poll_' + this.numPolls + '.json';
- }
}
- this.getLogsByRequest(url);
- if(typeof(requestId) === 'number' && requestId > 1){
- requestId--;
- this.loadLogData(requestId);
- }
+ requestsId.forEach(function(requestId) {
+ url = this.getUrl(requestId);
+ if (App.testMode) {
+ this.POLL_INTERVAL = 1;
+
+ if (requestId == 1) {
+ url = this.get('mockDataPrefix') + '/poll_' + this.numPolls + '.json';
+ // url = this.get('mockDataPrefix') + '/poll_5_failed.json';
+ } else {
+ url = this.get('mockDataPrefix') + '/poll_9.json';
+ }
+ }
+ this.getLogsByRequest(url, false);
+ }, this);
},
- getLogsByRequest: function(url){
+ getLogsByRequest: function(url, polling){
var self = this;
$.ajax({
type: 'GET',
@@ -555,6 +553,9 @@ App.WizardStep9Controller = Em.Controlle
console.log("TRACE: In success function for the GET logs data");
console.log("TRACE: STep9 -> The value is: ", jQuery.parseJSON(data));
var result = self.parseHostInfo(jQuery.parseJSON(data));
+ if(!polling){
+ return;
+ }
if (result !== true) {
window.setTimeout(function () {
self.doPolling();
@@ -578,16 +579,10 @@ App.WizardStep9Controller = Em.Controlle
var url = this.getUrl();
if (App.testMode) {
- this.POLL_INTERVAL = 1;
this.numPolls++;
- if (this.numPolls == 5) {
- url = this.get('mockDataPrefix') + '/poll_5.json';
- // url = this.get('mockDataPrefix') + '/poll_5_failed.json';
- } else {
- url = this.get('mockDataPrefix') + '/poll_' + this.numPolls + '.json';
- }
+ url = this.get('mockDataPrefix') + '/poll_' + this.get('numPolls') + '.json';
}
- this.getLogsByRequest(url);
+ this.getLogsByRequest(url, true);
},
stopPolling: function () {
@@ -597,8 +592,6 @@ App.WizardStep9Controller = Em.Controlle
submit: function () {
if (!this.get('isSubmitDisabled')) {
- this.set('content.cluster.status', this.get('status'));
- this.set('content.cluster.isCompleted', true);
App.router.send('next');
}
},
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/data/config_mapping.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/data/config_mapping.js?rev=1419009&r1=1419008&r2=1419009&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/data/config_mapping.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/data/config_mapping.js Sun Dec 9 15:23:01 2012
@@ -294,7 +294,7 @@ module.exports = [
"value": "http://<templateName[0]>:11000/oozie",
"filename": "oozie-site.xml"
},
- //TODO: Oozie configs hardcoded for now. Map them to templates later
+ /*
{
"name": "oozie.service.JPAService.jdbc.password",
"templateName": [],
@@ -323,6 +323,7 @@ module.exports = [
"value": " ",
"filename": "oozie-site.xml"
},
+ */
{
"name": "javax.jdo.option.ConnectionURL",
"templateName": ["hive_mysql_host", "hive_database_name"],
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=1419009&r1=1419008&r2=1419009&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:23:01 2012
@@ -73,6 +73,7 @@ module.exports =
"description": "The host that has been assigned to run HBase Master",
"displayType": "masterHost",
"isVisible": true,
+ "domain": "global",
"serviceName": "HBASE",
"category": "HBase Master"
},
@@ -86,6 +87,7 @@ module.exports =
"displayType": "slaveHosts",
"isVisible": true,
"isRequired": false,
+ "domain": "regionserver-global",
"serviceName": "HBASE",
"category": "RegionServer"
},
@@ -98,6 +100,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "directory",
"isVisible": true,
+ "domain": "global",
"serviceName": "HBASE",
"category": "Advanced"
},
@@ -110,6 +113,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "directory",
"isVisible": true,
+ "domain": "global",
"serviceName": "HBASE",
"category": "Advanced"
},
@@ -122,6 +126,7 @@ module.exports =
"displayType": "int",
"unit": "MB",
"isVisible": true,
+ "domain": "regionserver-global",
"serviceName": "HBASE",
"category": "RegionServer"
},
@@ -134,6 +139,7 @@ module.exports =
"displayType": "int",
"unit": "MB",
"isVisible": true,
+ "domain": "global",
"serviceName": "HBASE",
"category": "HBase Master"
},
@@ -145,6 +151,7 @@ module.exports =
"defaultValue": "3",
"displayType": "int",
"isVisible": true,
+ "domain": "global",
"serviceName": "HBASE"
},
{
@@ -155,6 +162,7 @@ module.exports =
"defaultValue": "0.25",
"displayType": "float",
"isVisible": true,
+ "domain": "global",
"serviceName": "HBASE"
},
{
@@ -166,6 +174,7 @@ module.exports =
"displayType": "int",
"unit": "bytes",
"isVisible": true,
+ "domain": "global",
"serviceName": "HBASE"
},
{
@@ -176,6 +185,7 @@ module.exports =
"defaultValue": "30",
"displayType": "int",
"isVisible": true,
+ "domain": "regionserver-global",
"serviceName": "HBASE",
"category": "RegionServer"
},
@@ -188,6 +198,7 @@ module.exports =
"displayType": "int",
"unit": "ms",
"isVisible": true,
+ "domain": "regionserver-global",
"serviceName": "HBASE",
"category": "RegionServer"
},
@@ -199,6 +210,7 @@ module.exports =
"defaultValue": "2",
"displayType": "int",
"isVisible": true,
+ "domain": "regionserver-global",
"serviceName": "HBASE",
"category": "RegionServer"
},
@@ -211,6 +223,7 @@ module.exports =
"displayType": "int",
"unit": "bytes",
"isVisible": true,
+ "domain": "regionserver-global",
"serviceName": "HBASE",
"category": "RegionServer"
},
@@ -223,6 +236,7 @@ module.exports =
"displayType": "int",
"unit": "rows",
"isVisible": true,
+ "domain": "global",
"serviceName": "HBASE"
},
{
@@ -234,6 +248,7 @@ module.exports =
"displayType": "int",
"unit": "ms",
"isVisible": true,
+ "domain": "global",
"serviceName": "HBASE"
},
{
@@ -245,6 +260,7 @@ module.exports =
"displayType": "int",
"unit": "bytes",
"isVisible": true,
+ "domain": "global",
"serviceName": "HBASE"
},
/* {
@@ -268,6 +284,7 @@ module.exports =
"isRequired": true,
"displayType": "advanced",
"isVisible": false,
+ "domain": "global",
"serviceName": "HBASE",
"category": "Advanced"
},
@@ -280,6 +297,7 @@ module.exports =
"isRequired": false,
"displayType": "advanced",
"isVisible": false,
+ "domain": "global",
"serviceName": "HBASE",
"category": "Advanced"
},
@@ -292,6 +310,7 @@ module.exports =
"isRequired": false,
"displayType": "checkbox",
"isVisible": true,
+ "domain": "global",
"serviceName": "HBASE",
"category": "Advanced"
},
@@ -304,6 +323,7 @@ module.exports =
"isRequired": false,
"displayType": "checkbox",
"isVisible": true,
+ "domain": "global",
"serviceName": "HBASE",
"category": "Advanced"
},
@@ -316,6 +336,7 @@ module.exports =
"isRequired": false,
"displayType": "checkbox",
"isVisible": true,
+ "domain": "global",
"serviceName": "HBASE",
"category": "Advanced"
},
@@ -330,6 +351,7 @@ module.exports =
"isRequired": true,
"displayType": "init",
"isVisible": true,
+ "domain": "global",
"serviceName": "HBASE",
"category": "Advanced"
},
@@ -342,6 +364,7 @@ module.exports =
"isRequired": false,
"displayType": "checkbox",
"isVisible": false,
+ "domain": "global",
"serviceName": "HBASE",
"category": "Advanced"
},
@@ -354,6 +377,7 @@ module.exports =
"isRequired": false,
"displayType": "float",
"isVisible": false,
+ "domain": "global",
"serviceName": "HBASE",
"category": "Advanced"
},
@@ -366,6 +390,7 @@ module.exports =
"isRequired": true,
"displayType": "float",
"isVisible": false,
+ "domain": "global",
"serviceName": "HBASE",
"category": "Advanced"
},
@@ -378,6 +403,7 @@ module.exports =
"isRequired": false,
"displayType": "directory",
"isVisible": false,
+ "domain": "global",
"serviceName": "MISC",
"category": "General"
},
@@ -390,6 +416,7 @@ module.exports =
"description": "The host that has been assigned to run NameNode",
"displayType": "masterHost",
"isVisible": true,
+ "domain": "global",
"serviceName": "HDFS",
"category": "NameNode"
},
@@ -399,9 +426,11 @@ module.exports =
"displayName": "NameNode directories",
"description": "NameNode directories for HDFS to store the file system image",
"defaultValue": "/grid/0/hadoop/hdfs/namenode\n/grid/1/hadoop/hdfs/namenode\n",
+ "defaultDirectory": "hadoop/hdfs/namenode",
"isReconfigurable": false,
"displayType": "directories",
"isVisible": true,
+ "domain": "global",
"serviceName": "HDFS",
"category": "NameNode"
},
@@ -414,6 +443,7 @@ module.exports =
"description": "The host that has been assigned to run SecondaryNameNode",
"displayType": "masterHost",
"isVisible": true,
+ "domain": "global",
"serviceName": "HDFS",
"category": "SNameNode"
},
@@ -423,9 +453,11 @@ module.exports =
"displayName": "SecondaryNameNode Checkpoint directory",
"description": "Directory on the local filesystem where the Secondary NameNode should store the temporary images to merge",
"defaultValue": "/grid/0/hadoop/hdfs/namesecondary",
+ "defaultDirectory": "hadoop/hdfs/namesecondary",
"isReconfigurable": false,
"displayType": "directory",
"isVisible": true,
+ "domain": "global",
"serviceName": "HDFS",
"category": "SNameNode"
},
@@ -439,6 +471,7 @@ module.exports =
"displayType": "slaveHosts",
"isRequired": false,
"isVisible": true,
+ "domain": "datanode-global",
"serviceName": "HDFS",
"category": "DataNode"
},
@@ -448,9 +481,11 @@ module.exports =
"displayName": "DataNode directories",
"description": "DataNode directories for HDFS to store the data blocks",
"defaultValue": "/tmp/hadoop-hdfs/dfs/data",
+ "defaultDirectory": "hadoop-hdfs/dfs/data",
"isReconfigurable": false,
"displayType": "directories",
"isVisible": true,
+ "domain": "datanode-global",
"serviceName": "HDFS",
"category": "DataNode"
},
@@ -463,6 +498,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "directory",
"isVisible": true,
+ "domain": "global",
"serviceName": "HDFS",
"category": "Advanced"
},
@@ -475,6 +511,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "directory",
"isVisible": true,
+ "domain": "global",
"serviceName": "HDFS",
"category": "Advanced"
},
@@ -486,6 +523,7 @@ module.exports =
"defaultValue": true,
"displayType": "checkbox",
"isVisible": true,
+ "domain": "global",
"serviceName": "HDFS"
},
{
@@ -496,6 +534,7 @@ module.exports =
"defaultValue": false,
"displayType": "checkbox",
"isVisible": true,
+ "domain": "global",
"serviceName": "HDFS"
},
{
@@ -507,6 +546,7 @@ module.exports =
"displayType": "int",
"unit": "MB",
"isVisible": true,
+ "domain": "global",
"serviceName": "HDFS"
},
{
@@ -518,6 +558,7 @@ module.exports =
"displayType": "int",
"unit": "MB",
"isVisible": true,
+ "domain": "global",
"serviceName": "HDFS",
"category": "NameNode"
},
@@ -530,6 +571,7 @@ module.exports =
"displayType": "int",
"unit": "MB",
"isVisible": true,
+ "domain": "global",
"serviceName": "HDFS",
"category": "NameNode"
},
@@ -542,6 +584,7 @@ module.exports =
"displayType": "int",
"unit": "MB",
"isVisible": false,
+ "domain": "global",
"serviceName": "HDFS",
"category": "NameNode"
},
@@ -554,6 +597,7 @@ module.exports =
"displayType": "int",
"unit": "GB",
"isVisible": true,
+ "domain": "global",
"serviceName": "HDFS"
},
{
@@ -565,6 +609,7 @@ module.exports =
"displayType": "int",
"unit": "MB",
"isVisible": true,
+ "domain": "datanode-global",
"serviceName": "HDFS",
"category": "DataNode"
},
@@ -576,6 +621,7 @@ module.exports =
"defaultValue": "0",
"displayType": "int",
"isVisible": true,
+ "domain": "datanode-global",
"serviceName": "HDFS",
"category": "DataNode"
},
@@ -589,6 +635,7 @@ module.exports =
"displayType": "int",
"unit": "seconds",
"isVisible": true,
+ "domain": "global",
"filename": "core-site.xml",
"serviceName": "HDFS"
},
@@ -603,6 +650,7 @@ module.exports =
"displayType": "float",
"unit": "GB",
"isVisible": true,
+ "domain": "global",
"filename": "core-site.xml",
"serviceName": "HDFS"
},
@@ -616,6 +664,7 @@ module.exports =
"displayType": "advanced",
"isVisible": true,
"filename": "core-site.xml",
+ "domain": "global",
"serviceName": "MISC",
"category": "Users and Groups"
},
@@ -629,6 +678,7 @@ module.exports =
"displayType": "advanced",
"isVisible": true,
"filename": "hdfs-site.xml",
+ "domain": "global",
"serviceName": "HDFS",
"category": "Advanced"
},
@@ -642,6 +692,7 @@ module.exports =
"displayType": "advanced",
"isVisible": true,
"filename": "hdfs-site.xml",
+ "domain": "global",
"serviceName": "HDFS",
"category": "Advanced"
},
@@ -655,6 +706,7 @@ module.exports =
"isReconfigurable": false,
"isVisible": true,
"filename": "hdfs-site.xml",
+ "domain": "global",
"serviceName": "HDFS",
"category": "Advanced"
},
@@ -668,6 +720,7 @@ module.exports =
"isReconfigurable": false,
"isVisible": true,
"filename": "hdfs-site.xml",
+ "domain": "global",
"serviceName": "HDFS",
"category": "Advanced"
},
@@ -681,6 +734,7 @@ module.exports =
"displayType": "int",
"isVisible": true,
"filename": "hdfs-site.xml",
+ "domain": "global",
"serviceName": "MISC",
"category": "Advanced"
},
@@ -694,6 +748,7 @@ module.exports =
"displayType": "int",
"isVisible": true,
"filename": "hdfs-site.xml",
+ "domain": "global",
"serviceName": "MISC",
"category": "Advanced"
},
@@ -707,6 +762,7 @@ module.exports =
"displayType": "int",
"isVisible": true,
"filename": "hdfs-site.xml",
+ "domain": "global",
"serviceName": "MISC",
"category": "Advanced"
},
@@ -720,6 +776,7 @@ module.exports =
"displayType": "int",
"isVisible": false,
"filename": "hdfs-site.xml",
+ "domain": "global",
"serviceName": "HDFS",
"category": "Advanced"
},
@@ -732,6 +789,7 @@ module.exports =
"isRequired": false,
"displayType": "checkbox",
"isVisible": false,
+ "domain": "global",
"serviceName": "HDFS",
"category": "Advanced"
},
@@ -743,6 +801,7 @@ module.exports =
"defaultValue": "EXAMPLE.COM",
"isRequired": true,
"isVisible": false,
+ "domain": "global",
"serviceName": "HDFS",
"category": "Advanced"
},
@@ -755,6 +814,7 @@ module.exports =
"isRequired": true,
"displayType": "password",
"isVisible": false,
+ "domain": "global",
"serviceName": "HDFS",
"category": "Advanced"
},
@@ -767,6 +827,7 @@ module.exports =
"isRequired": true,
"displayType": "advanced",
"isVisible": false,
+ "domain": "global",
"serviceName": "HDFS",
"category": "Advanced"
},
@@ -794,6 +855,7 @@ module.exports =
"serviceName": "HIVE",
"category": "Hive Metastore"
},
+ /* Comment out the other hive_database and uncomment this for Hive with Postgres support
{
"id": "puppet var",
"name": "hive_database",
@@ -810,10 +872,64 @@ module.exports =
foreignKeys: ['hive_existing_database', 'hive_existing_host']
}
],
- "description": "PostgreSQL will be installed by ambari. Any other database will have to be installed by the user.",
+ "description": "PostgreSQL will be installed by Ambari. Any other database will have to be installed by the user.",
+ "displayType": "radio button",
+ "radioName": "hive-database",
+ "isVisible": true,
+ "domain": "global",
+ "serviceName": "HIVE",
+ "category": "Hive Metastore"
+ },
+ */
+ {
+ "id": "puppet var",
+ "name": "hive_database",
+ "displayName": "Hive Database",
+ "value": "",
+ "defaultValue": "New MySQL Database",
+ "options": [
+ {
+ displayName: 'New MySQL Database',
+ foreignKeys: ['hive_ambari_database', 'hive_ambari_host']
+ },
+ {
+ displayName: 'Existing MySQL Database',
+ foreignKeys: ['hive_existing_database', 'hive_existing_host']
+ }
+ ],
+ "description": "MySQL will be installed by Ambari",
"displayType": "radio button",
"radioName": "hive-database",
"isVisible": true,
+ "domain": "global",
+ "serviceName": "HIVE",
+ "category": "Hive Metastore"
+ },
+ {
+ "id": "puppet var",
+ "name": "hive_existing_database",
+ "displayName": "Database Type",
+ "value": "",
+ "defaultValue": "MySQL",
+ "description": "Using an existing database for Hive Metastore",
+ "displayType": "masterHost",
+ "isVisible": false,
+ "domain": "global",
+ "serviceName": "HIVE",
+ "category": "Hive Metastore"
+ },
+ /* Uncomment for Hive with Postgres support
+ {
+ "id": "puppet var",
+ "name": "hive_existing_database",
+ "displayName": "Hive Database",
+ "value": "",
+ "defaultValue": "MySQL",
+ "description": "Select the database, if you already have existing one for Hive Metastore.",
+ "displayType": "string",
+ "isVisible": false,
+ "options": ['MySQL', 'PostgreSQL'],
+ "domain": "global",
"serviceName": "HIVE",
"category": "Hive Metastore"
},
@@ -827,30 +943,34 @@ module.exports =
"displayType": "combobox",
"isVisible": false,
"options": ['MySQL', 'PostgreSQL'],
+ "domain": "global",
"serviceName": "HIVE",
"category": "Hive Metastore"
},
+ */
{
"id": "puppet var",
"name": "hive_existing_host",
"displayName": "Database host",
- "description": "Select the host on which the existing database is hosted.",
+ "description": "Specify the host on which the existing database is hosted",
"defaultValue": "",
"isReconfigurable": false,
"displayType": "host",
"isVisible": false,
+ "domain": "global",
"serviceName": "HIVE",
"category": "Hive Metastore"
},
{
"id": "puppet var",
"name": "hive_ambari_database",
- "displayName": "Hive Database",
+ "displayName": "Database Type",
"value": "",
- "defaultValue": "PostgreSQL",
- "description": "PostgreSQL will be installed by ambari.",
+ "defaultValue": "MySQL",
+ "description": "MySQL will be installed by Ambari",
"displayType": "masterHost",
"isVisible": true,
+ "domain": "global",
"serviceName": "HIVE",
"category": "Hive Metastore"
},
@@ -860,10 +980,11 @@ module.exports =
"value": "",
"defaultValue": "",
"displayName": "PostgreSQL host",
- "description": "Host on which the PostgreSQL database will be created by ambari. ",
+ "description": "Host on which the PostgreSQL database will be created by Ambari",
"isReconfigurable": false,
"displayType": "masterHost",
"isVisible": true,
+ "domain": "global",
"serviceName": "HIVE",
"category": "Hive Metastore"
},
@@ -876,6 +997,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "host",
"isVisible": true,
+ "domain": "global",
"serviceName": "HIVE",
"category": "Hive Metastore"
},
@@ -888,6 +1010,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "user",
"isVisible": true,
+ "domain": "global",
"serviceName": "HIVE",
"category": "Hive Metastore"
},
@@ -900,6 +1023,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "password",
"isVisible": true,
+ "domain": "global",
"serviceName": "HIVE",
"category": "Hive Metastore"
},
@@ -912,6 +1036,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "int",
"isVisible": false,
+ "domain": "global",
"serviceName": "HIVE",
"category": "Advanced"
},
@@ -924,6 +1049,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "directory",
"isVisible": false,
+ "domain": "global",
"serviceName": "HIVE",
"category": "Advanced"
},
@@ -936,6 +1062,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "directory",
"isVisible": false,
+ "domain": "global",
"serviceName": "HIVE",
"category": "Advanced"
},
@@ -948,6 +1075,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "directory",
"isVisible": false,
+ "domain": "global",
"serviceName": "HIVE",
"category": "Advanced"
},
@@ -960,6 +1088,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "directory",
"isVisible": false,
+ "domain": "global",
"serviceName": "HIVE",
"category": "Advanced"
},
@@ -972,6 +1101,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "directory",
"isVisible": true,
+ "domain": "global",
"serviceName": "HIVE",
"category": "Advanced"
},
@@ -984,6 +1114,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "advanced",
"isVisible": false,
+ "domain": "global",
"serviceName": "MISC",
"category": "General"
},
@@ -996,6 +1127,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "advanced",
"isVisible": false,
+ "domain": "global",
"serviceName": "MISC",
"category": "General"
},
@@ -1008,6 +1140,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "directory",
"isVisible": false,
+ "domain": "global",
"serviceName": "HIVE",
"category": "Advanced"
},
@@ -1020,6 +1153,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "directory",
"isVisible": false,
+ "domain": "global",
"serviceName": "HIVE",
"category": "Advanced"
},
@@ -1032,6 +1166,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "directory",
"isVisible": false,
+ "domain": "global",
"serviceName": "GANGLIA",
"category": "Advanced"
},
@@ -1044,6 +1179,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "directory",
"isVisible": false,
+ "domain": "global",
"serviceName": "MISC",
"category": "General"
},
@@ -1056,6 +1192,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "advanced",
"isVisible": false,
+ "domain": "global",
"serviceName": "MISC",
"category": "Users and Groups"
},
@@ -1068,6 +1205,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "advanced",
"isVisible": false,
+ "domain": "global",
"serviceName": "MISC",
"category": "Users and Groups"
},
@@ -1080,6 +1218,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "directory",
"isVisible": false,
+ "domain": "global",
"serviceName": "MISC",
"category": "General"
},
@@ -1092,6 +1231,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "advanced",
"isVisible": false,
+ "domain": "global",
"serviceName": "MISC",
"category": "General"
},
@@ -1104,6 +1244,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "directory",
"isVisible": true,
+ "domain": "global",
"serviceName": "HIVE",
"category": "Advanced"
},
@@ -1116,6 +1257,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "directory",
"isVisible": true,
+ "domain": "global",
"serviceName": "HIVE",
"category": "Advanced"
},
@@ -1140,6 +1282,7 @@ module.exports =
"description": "The host that has been assigned to run JobTracker",
"displayType": "masterHost",
"isVisible": true,
+ "domain": "global",
"serviceName": "MAPREDUCE",
"category": "JobTracker"
},
@@ -1153,6 +1296,7 @@ module.exports =
"displayType": "slaveHosts",
"isVisible": true,
"isRequired": false,
+ "domain": "tasktracker-global",
"serviceName": "MAPREDUCE",
"category": "TaskTracker"
},
@@ -1162,9 +1306,11 @@ module.exports =
"displayName": "MapReduce local directories",
"description": "Directories for MapReduce to store intermediate data files",
"defaultValue": "/grid/0/hadoop/mapred\n/grid/1/hadoop/mapred\n",
+ "defaultDirectory": "hadoop/mapred",
"displayType": "directories",
"isReconfigurable": false,
"isVisible": true,
+ "domain": "tasktracker-global",
"serviceName": "MAPREDUCE",
"category": "TaskTracker"
},
@@ -1178,6 +1324,7 @@ module.exports =
"isReconfigurable": false,
"isVisible": true,
"isRequired": false,
+ "domain": "global",
"serviceName": "MAPREDUCE",
"category": "Advanced"
},
@@ -1200,6 +1347,7 @@ module.exports =
"displayType": "int",
"unit": "MB",
"isVisible": true,
+ "domain": "global",
"serviceName": "MAPREDUCE",
"category": "JobTracker"
},
@@ -1212,6 +1360,7 @@ module.exports =
"displayType": "int",
"unit": "MB",
"isVisible": true,
+ "domain": "global",
"serviceName": "MAPREDUCE",
"category": "JobTracker"
},
@@ -1224,6 +1373,7 @@ module.exports =
"displayType": "int",
"unit": "MB",
"isVisible": true,
+ "domain": "global",
"serviceName": "MAPREDUCE",
"category": "JobTracker"
},
@@ -1235,6 +1385,7 @@ module.exports =
"defaultValue": "4",
"displayType": "int",
"isVisible": true,
+ "domain": "tasktracker-global",
"serviceName": "MAPREDUCE",
"category": "TaskTracker"
},
@@ -1247,6 +1398,7 @@ module.exports =
"displayType": "int",
"isVisible": true,
"isRequired": false,
+ "domain": "tasktracker-global",
"serviceName": "MAPREDUCE",
"category": "TaskTracker"
},
@@ -1259,6 +1411,7 @@ module.exports =
"displayType": "int",
"unit": "MB",
"isVisible": true,
+ "domain": "global",
"serviceName": "MAPREDUCE"
},
{
@@ -1270,6 +1423,7 @@ module.exports =
"displayType": "int",
"unit": "MB",
"isVisible": true,
+ "domain": "global",
"serviceName": "MAPREDUCE"
},
{
@@ -1281,6 +1435,7 @@ module.exports =
"displayType": "int",
"unit": "MB",
"isVisible": true,
+ "domain": "global",
"serviceName": "MAPREDUCE"
},
{
@@ -1292,6 +1447,7 @@ module.exports =
"displayType": "int",
"unit": "MB",
"isVisible": true,
+ "domain": "global",
"serviceName": "MAPREDUCE"
},
{
@@ -1303,6 +1459,7 @@ module.exports =
"displayType": "int",
"unit": "MB",
"isVisible": true,
+ "domain": "global",
"serviceName": "MAPREDUCE"
},
{
@@ -1314,6 +1471,7 @@ module.exports =
"displayType": "int",
"unit": "MB",
"isVisible": true,
+ "domain": "global",
"serviceName": "MAPREDUCE"
},
{
@@ -1325,6 +1483,7 @@ module.exports =
"displayType": "int",
"unit": "MB",
"isVisible": true,
+ "domain": "tasktracker-global",
"serviceName": "MAPREDUCE",
"category": "TaskTracker"
},
@@ -1337,6 +1496,7 @@ module.exports =
"displayType": "int",
"unit": "MB",
"isVisible": true,
+ "domain": "global",
"serviceName": "MAPREDUCE"
},
{
@@ -1347,6 +1507,7 @@ module.exports =
"defaultValue": "0.9",
"displayType": "float",
"isVisible": true,
+ "domain": "global",
"serviceName": "MAPREDUCE"
},
{
@@ -1358,6 +1519,7 @@ module.exports =
"displayType": "int",
"unit": "hours",
"isVisible": true,
+ "domain": "global",
"serviceName": "MAPREDUCE"
},
{
@@ -1368,6 +1530,7 @@ module.exports =
"defaultValue": "-1",
"displayType": "int",
"isVisible": true,
+ "domain": "global",
"serviceName": "MAPREDUCE"
},
{
@@ -1378,6 +1541,7 @@ module.exports =
"defaultValue": false,
"displayType": "checkbox",
"isVisible": true,
+ "domain": "global",
"serviceName": "MAPREDUCE"
},
{
@@ -1389,6 +1553,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "checkbox",
"isVisible": true,
+ "domain": "global",
"serviceName": "MAPREDUCE"
},
{
@@ -1400,6 +1565,7 @@ module.exports =
"isReconfigurable": true,
"displayType": "checkbox",
"isVisible": true,
+ "domain": "global",
"serviceName": "MAPREDUCE"
},
/*{
@@ -1423,6 +1589,7 @@ module.exports =
"displayType": "directories",
"isVisible": false,
"serviceName": "MAPREDUCE",
+ "domain": "global",
"category": "Advanced"
},
{
@@ -1434,6 +1601,7 @@ module.exports =
"displayType": "directories",
"isVisible": false,
"serviceName": "MAPREDUCE",
+ "domain": "global",
"category": "Advanced"
},
{
@@ -1445,6 +1613,7 @@ module.exports =
"displayType": "advanced",
"isVisible": false,
"serviceName": "MAPREDUCE",
+ "domain": "global",
"category": "Advanced"
},
{
@@ -1456,6 +1625,7 @@ module.exports =
"displayType": "advanced",
"isVisible": false,
"serviceName": "MAPREDUCE",
+ "domain": "global",
"category": "Advanced"
},
/*
@@ -1476,12 +1646,13 @@ module.exports =
"id": "puppet var",
"name": "java64_home",
"displayName": "Path to 64-bit JAVA_HOME",
- "description": "Path to 64-bit JAVA_HOME",
- "defaultValue": "",
- "isRequired": false,
+ "description": "Path to 64-bit JAVA_HOME. /usr/jdk/jdk1.6.0_31 is the default used by Ambari. You can override this to a specific path that contains the JDK. Note that the path must be valid on ALL hosts in your cluster.",
+ "defaultValue": "/usr/jdk64/jdk1.6.0_31",
+ "isRequired": true,
"isReconfigurable": false,
"displayType": "directory",
"isVisible": true,
+ "domain": "global",
"serviceName": "MISC"
},
{
@@ -1494,6 +1665,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "directory",
"isVisible": false,
+ "domain": "global",
"serviceName": "MISC",
"category": "Advanced"
},
@@ -1507,6 +1679,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "directory",
"isVisible": false,
+ "domain": "global",
"serviceName": "MISC",
"category": "Advanced"
},
@@ -1520,6 +1693,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "directory",
"isVisible": false,
+ "domain": "global",
"serviceName": "HDFS",
"category": "NameNode"
},
@@ -1533,6 +1707,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "directory",
"isVisible": false,
+ "domain": "global",
"serviceName": "HDFS",
"category": "Advanced"
},
@@ -1546,6 +1721,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "directory",
"isVisible": false,
+ "domain": "global",
"serviceName": "MISC"
},
{
@@ -1558,6 +1734,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "directory",
"isVisible": false,
+ "domain": "global",
"serviceName": "MISC"
},
{
@@ -1570,6 +1747,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "directory",
"isVisible": false,
+ "domain": "global",
"serviceName": "MISC"
},
{
@@ -1582,6 +1760,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "directory",
"isVisible": false,
+ "domain": "global",
"serviceName": "MISC"
},
/*
@@ -1607,7 +1786,6 @@ module.exports =
"isVisible": true, "serviceName": "MISC",
"category": "Advanced"
},
- */
{
"id": "puppet var",
"name": "using_local_repo",
@@ -1616,7 +1794,8 @@ module.exports =
"defaultValue": false,
"isReconfigurable": false,
"displayType": "checkbox",
- "isVisible": true,
+ "isVisible": false,
+ "domain": "global",
"serviceName": "MISC"
},
{
@@ -1628,8 +1807,10 @@ module.exports =
"isReconfigurable": false,
"displayType": "directory",
"isVisible": true,
+ "domain": "global",
"serviceName": "MISC"
},
+ */
{
"id": "puppet var",
"name": "hdfs_user",
@@ -1640,6 +1821,7 @@ module.exports =
"displayType": "user",
"isVisible": true,
"serviceName": "MISC",
+ "domain": "global",
"category": "Users and Groups"
},
{
@@ -1651,6 +1833,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "user",
"isVisible": true,
+ "domain": "global",
"serviceName": "MISC",
"category": "Users and Groups"
},
@@ -1663,6 +1846,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "user",
"isVisible": true,
+ "domain": "global",
"serviceName": "MISC",
"category": "Users and Groups"
},
@@ -1675,6 +1859,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "user",
"isVisible": true,
+ "domain": "global",
"serviceName": "MISC",
"category": "Users and Groups"
},
@@ -1687,6 +1872,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "user",
"isVisible": true,
+ "domain": "global",
"serviceName": "MISC",
"category": "Users and Groups"
},
@@ -1699,6 +1885,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "user",
"isVisible": true,
+ "domain": "global",
"serviceName": "MISC",
"category": "Users and Groups"
},
@@ -1711,6 +1898,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "user",
"isVisible": true,
+ "domain": "global",
"serviceName": "MISC",
"category": "Users and Groups"
},
@@ -1723,6 +1911,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "directory",
"isVisible": false,
+ "domain": "global",
"serviceName": "MISC",
"category": "General"
},
@@ -1735,6 +1924,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "directory",
"isVisible": false,
+ "domain": "global",
"serviceName": "MISC",
"category": "General"
},
@@ -1747,6 +1937,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "user",
"isVisible": true,
+ "domain": "global",
"serviceName": "MISC",
"category": "Users and Groups"
},
@@ -1759,6 +1950,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "directory",
"isVisible": false,
+ "domain": "global",
"serviceName": "MISC",
"category": "General"
},
@@ -1771,6 +1963,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "directory",
"isVisible": false,
+ "domain": "global",
"serviceName": "MISC",
"category": "General"
},
@@ -1783,6 +1976,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "user",
"isVisible": true,
+ "domain": "global",
"serviceName": "MISC",
"category": "Users and Groups"
},
@@ -1795,6 +1989,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "user",
"isVisible": true,
+ "domain": "global",
"serviceName": "MISC",
"category": "Users and Groups"
},
@@ -1807,6 +2002,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "user",
"isVisible": true,
+ "domain": "global",
"serviceName": "MISC",
"category": "Users and Groups"
},
@@ -1818,6 +2014,7 @@ module.exports =
"defaultValue": "nagios",
"isReconfigurable": false,
"displayType": "user",
+ "domain": "global",
"isVisible": false,
"serviceName": "NAGIOS"
},
@@ -1829,6 +2026,7 @@ module.exports =
"defaultValue": "nagios",
"isReconfigurable": false,
"displayType": "user",
+ "domain": "global",
"isVisible": false,
"serviceName": "NAGIOS"
},
@@ -1840,6 +2038,7 @@ module.exports =
"defaultValue": "nagiosadmin",
"isReconfigurable": false,
"displayType": "user",
+ "domain": "global",
"isVisible": true,
"serviceName": "NAGIOS"
},
@@ -1852,6 +2051,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "password",
"isVisible": true,
+ "domain": "global",
"serviceName": "NAGIOS"
},
{
@@ -1862,6 +2062,7 @@ module.exports =
"defaultValue": "",
"displayType": "email",
"isVisible": true,
+ "domain": "global",
"serviceName": "NAGIOS"
},
{
@@ -1873,6 +2074,7 @@ module.exports =
"description": "The host that has been assigned to run Oozie Server",
"displayType": "masterHost",
"isVisible": true,
+ "domain": "global",
"serviceName": "OOZIE",
"category": "Oozie Server"
},
@@ -1997,6 +2199,7 @@ module.exports =
"displayType": "directory",
"isVisible": true,
"isRequired": false,
+ "domain": "global",
"serviceName": "OOZIE",
"category": "Oozie Server"
},
@@ -2009,6 +2212,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "directory",
"isVisible": true,
+ "domain": "global",
"serviceName": "OOZIE",
"category": "Advanced"
},
@@ -2021,6 +2225,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "directory",
"isVisible": true,
+ "domain": "global",
"serviceName": "OOZIE",
"category": "Advanced"
},
@@ -2043,9 +2248,11 @@ module.exports =
"displayName": "ZooKeeper directory",
"description": "Data directory for ZooKeeper",
"defaultValue": "/grid/0/hadoop/zookeeper",
+ "defaultDirectory": "hadoop/zookeeper",
"isReconfigurable": false,
"displayType": "directory",
"isVisible": true,
+ "domain": "global",
"serviceName": "ZOOKEEPER",
"category": "ZooKeeper Server"
},
@@ -2058,6 +2265,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "directory",
"isVisible": true,
+ "domain": "global",
"serviceName": "ZOOKEEPER",
"category": "Advanced"
},
@@ -2070,6 +2278,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "directory",
"isVisible": true,
+ "domain": "global",
"serviceName": "ZOOKEEPER",
"category": "Advanced"
},
@@ -2082,6 +2291,7 @@ module.exports =
"isReconfigurable": false,
"displayType": "directory",
"isVisible": false,
+ "domain": "global",
"serviceName": "ZOOKEEPER",
"category": "Advanced"
},
@@ -2094,6 +2304,7 @@ module.exports =
"displayType": "int",
"unit": "ms",
"isVisible": true,
+ "domain": "global",
"serviceName": "ZOOKEEPER",
"category": "ZooKeeper Server"
},
@@ -2105,6 +2316,7 @@ module.exports =
"defaultValue": "10",
"displayType": "int",
"isVisible": true,
+ "domain": "global",
"serviceName": "ZOOKEEPER",
"category": "ZooKeeper Server"
},
@@ -2116,6 +2328,7 @@ module.exports =
"defaultValue": "5",
"displayType": "int",
"isVisible": true,
+ "domain": "global",
"serviceName": "ZOOKEEPER",
"category": "ZooKeeper Server"
},
@@ -2127,6 +2340,7 @@ module.exports =
"defaultValue": "2181",
"displayType": "int",
"isVisible": true,
+ "domain": "global",
"serviceName": "ZOOKEEPER",
"category": "ZooKeeper Server"
},
@@ -2138,6 +2352,7 @@ module.exports =
"defaultValue": "/etc/conf/",
"displayType": "directory",
"isVisible": false,
+ "domain": "global",
"serviceName": "MISC",
"category": "General"
}
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/data/service_components.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/data/service_components.js?rev=1419009&r1=1419008&r2=1419009&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/data/service_components.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/data/service_components.js Sun Dec 9 15:23:01 2012
@@ -164,13 +164,21 @@ module.exports = new Ember.Set([
},
{
service_name: 'HIVE',
- component_name: 'HIVE_MYSQL',
+ component_name: 'MYSQL_SERVER',
display_name: 'MySql Server for Hive',
isMaster: false,
isClient: false,
description: 'The slave for HBase'
},
{
+ service_name: 'HCATALOG',
+ component_name: 'HCAT',
+ display_name: 'HCat Client',
+ isMaster: false,
+ isClient: true,
+ description: ''
+ },
+ {
service_name: 'TEMPLETON',
component_name: 'TEMPLETON_SERVER',
display_name: 'Templeton Server',
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/data/service_configs.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/data/service_configs.js?rev=1419009&r1=1419008&r2=1419009&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/data/service_configs.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/data/service_configs.js Sun Dec 9 15:23:01 2012
@@ -107,7 +107,7 @@ module.exports = [
serviceName: 'MISC',
displayName: 'Misc',
configCategories: [
- // App.ServiceConfigCategory.create({ name: 'General'}),
+ App.ServiceConfigCategory.create({ name: 'General'}),
App.ServiceConfigCategory.create({ name: 'Users and Groups'})
],
configs: configProperties.filterProperty('serviceName', 'MISC')
Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/messages.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/messages.js?rev=1419009&r1=1419008&r2=1419009&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-web/app/messages.js (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-web/app/messages.js Sun Dec 9 15:23:01 2012
@@ -62,6 +62,7 @@ Em.I18n.translations = {
'installer.step2.hostName.error.required':'You must specify at least one host name',
'installer.step2.hostName.error.notRequired':'Host Names will be ignored if not using SSH to automatically configure hosts',
'installer.step2.hostName.error.invalid':'Invalid Host Name(s) - cannot start or end with a hyphen',
+ 'installer.step2.hostName.pattern.header':'Host name pattern expressions',
'installer.step2.sshKey':'Host Connectivity Information',
'installer.step2.sshKey.info':'Provide your SSH Private Key (<b>id_rsa</b> for <b>root</b>)',
'installer.step2.sshKey.error.required':'SSH Private Key is required',
@@ -74,13 +75,11 @@ Em.I18n.translations = {
'installer.step2.localRepo.header':'Software Repository',
'installer.step2.localRepo.label':'Use a local software repository',
'installer.step2.localRepo.error.required':'Local repository file path is required',
- 'installer.step2.localRepo.info':'The repository configuration file should be installed on each host in your cluster. ' +
- 'This file instructs the package manager to use your local software repository to retrieve software packages, instead of ' +
- 'downloading them from the internet.',
+ 'installer.step2.localRepo.info':'Instructs the package manager to use your local software repository to retrieve software packages, instead of ' +
+ 'downloading from the internet.',
'installer.step2.localRepo.tooltip.title':'Local Software Repository',
- 'installer.step2.localRepo.tooltip.content':'The repository configuration file should be installed on each host ' +
- 'in your cluster. This file instructs package manager to use your local' +
- 'software repository to retrieve software packages, instead of using the internet.',
+ 'installer.step2.localRepo.tooltip.content':'Instructs the package manager to use your local software repository to retrieve software packages, instead of' +
+ 'downloading from the internet.',
'installer.step2.manualInstall.tooltip.title':'Not Using SSH (Manual Install)',
'installer.step2.manualInstall.tooltip.content':'If you do not wish Ambari to automatically configure the target hosts via SSH,' +
' you have the option of configuring them yourself. This involves installing and starting Ambari Agent on each of your target hosts.',
@@ -88,17 +87,18 @@ Em.I18n.translations = {
'installer.step2.manualInstall.popup.body':'You must install Ambari Agents on each host you want to manage before you proceed. <a href="#" target="_blank">Learn more</a>',
'installer.step3.header':'Confirm Hosts',
- 'installer.step3.body':'Here are the results of the host discovery process.<br>' +
- 'Please verify and remove the ones that you do not want to be part of the cluster.',
- 'installer.step3.hostLog.popup.header':'Bootstrap log for {0}',
+ 'installer.step3.body':'Registering your hosts.<br>' +
+ 'Please confirm the host list and remove any hosts you do not want to include the cluster.',
+ 'installer.step3.hostLog.popup.header':'Registration log for {0}',
'installer.step3.hosts.remove.popup.header':'Remove Hosts',
'installer.step3.hosts.remove.popup.body':'Are you sure you want to remove the selected host(s)?',
'installer.step3.hosts.retry.popup.header':'Retry Host Discovery',
'installer.step3.hosts.retry.popup.body':'Are you sure you want to retry discovery of the selected host(s)?',
+ 'installer.step3.hosts.summary' : 'Installing: %@, Registering: %@, Successful: %@, Failed: %@ ',
'installer.step3.hostInformation.popup.header':'Error in retrieving host Information',
'installer.step3.hostInformation.popup.body' : 'All bootstrapped hosts registered but unable to retrieve cpu and memory related information',
'installer.step4.header':'Choose Services',
- 'installer.step4.body':'Choose which services you want to install on your cluster.<br>Note that some services have dependencies (e.g., HBase requires ZooKeeper.)',
+ 'installer.step4.body':'Choose which services you want to install on your cluster.',
'installer.step4.mapreduceCheck.popup.header':'MapReduce Needed',
'installer.step4.mapreduceCheck.popup.body':'You did not select MapReduce, but it is needed by other services you selected. We will automatically add MapReduce. Is this OK?',
'installer.step4.monitoringCheck.popup.header':'Limited Functionality Warning',
@@ -109,7 +109,7 @@ Em.I18n.translations = {
'installer.step5.body':'Assign master components to hosts you want to run them on.',
'installer.step6.header':'Assign Slaves and Clients',
- 'installer.step6.body':'Assign slave and client components to hosts you want to run them on. <br/>Client component will install ',
+ 'installer.step6.body':'Assign slave and client components to hosts you want to run them on.<br/>Hosts that are assigned master components are shown with <i class=icon-asterisks>✵</i>. <br/>"Client" will install ',
'installer.step6.error.mustSelectOne':'You must assign at least one host to each.',
'installer.step7.header':'Customize Services',