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 2013/06/06 01:27:43 UTC
svn commit: r1490077 [4/4] - in /incubator/ambari/trunk/ambari-web: ./ app/
app/assets/data/wizard/stack/ app/assets/data/wizard/stack/hdp/version/
app/assets/data/wizard/stack/hdp/version131/ app/controllers/
app/controllers/main/admin/ app/controller...
Modified: incubator/ambari/trunk/ambari-web/app/assets/data/wizard/stack/stacks.json
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/assets/data/wizard/stack/stacks.json?rev=1490077&r1=1490076&r2=1490077&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/assets/data/wizard/stack/stacks.json (original)
+++ incubator/ambari/trunk/ambari-web/app/assets/data/wizard/stack/stacks.json Wed Jun 5 23:27:41 2013
@@ -579,6 +579,159 @@
}
}
]
+ },
+ {
+ "href" : "http://dev.hortonworks.com:8080/api/v1/stacks2/HDP/versions/1.3.1",
+ "Versions" : {
+ "stack_version" : "1.3.1",
+ "stack_name" : "HDP",
+ "min_upgrade_version" : "1.2.0"
+ },
+ "stackServices" : [
+ {
+ "href" : "http://dev.hortonworks.com:8080/api/v1/stacks2/HDP/versions/1.3.0/stackServices/OOZIE",
+ "StackServices" : {
+ "user_name" : "root",
+ "stack_version" : "1.3.0",
+ "service_name" : "OOZIE",
+ "stack_name" : "HDP",
+ "service_version" : "3.2.0",
+ "comments" : "System for workflow coordination and execution of Apache Hadoop jobs"
+ }
+ },
+ {
+ "href" : "http://dev.hortonworks.com:8080/api/v1/stacks2/HDP/versions/1.3.0/stackServices/HCATALOG",
+ "StackServices" : {
+ "user_name" : "root",
+ "stack_version" : "1.3.0",
+ "service_name" : "HCATALOG",
+ "stack_name" : "HDP",
+ "service_version" : "0.5.0",
+ "comments" : "This is comment for HCATALOG service"
+ }
+ },
+ {
+ "href" : "http://dev.hortonworks.com:8080/api/v1/stacks2/HDP/versions/1.3.0/stackServices/MAPREDUCE",
+ "StackServices" : {
+ "user_name" : "mapred",
+ "stack_version" : "1.3.0",
+ "service_name" : "MAPREDUCE",
+ "stack_name" : "HDP",
+ "service_version" : "1.1.2",
+ "comments" : "Apache Hadoop Distributed Processing Framework"
+ }
+ },
+ {
+ "href" : "http://dev.hortonworks.com:8080/api/v1/stacks2/HDP/versions/1.3.0/stackServices/HBASE",
+ "StackServices" : {
+ "user_name" : "mapred",
+ "stack_version" : "1.3.0",
+ "service_name" : "HBASE",
+ "stack_name" : "HDP",
+ "service_version" : "0.94.5",
+ "comments" : "Non-relational distributed database and centralized service for configuration management & synchronization"
+ }
+ },
+ {
+ "href" : "http://dev.hortonworks.com:8080/api/v1/stacks2/HDP/versions/1.3.0/stackServices/ZOOKEEPER",
+ "StackServices" : {
+ "user_name" : "root",
+ "stack_version" : "1.3.0",
+ "service_name" : "ZOOKEEPER",
+ "stack_name" : "HDP",
+ "service_version" : "3.4.5",
+ "comments" : "This is comment for ZOOKEEPER service"
+ }
+ },
+ {
+ "href" : "http://dev.hortonworks.com:8080/api/v1/stacks2/HDP/versions/1.3.0/stackServices/HUE",
+ "StackServices" : {
+ "user_name" : "root",
+ "stack_version" : "1.3.0",
+ "service_name" : "HUE",
+ "stack_name" : "HDP",
+ "service_version" : "2.2.0",
+ "comments" : "Hue is a graphical user interface to operate and develop\n applications for Apache Hadoop."
+ }
+ },
+ {
+ "href" : "http://dev.hortonworks.com:8080/api/v1/stacks2/HDP/versions/1.3.0/stackServices/HDFS",
+ "StackServices" : {
+ "user_name" : "root",
+ "stack_version" : "1.3.0",
+ "service_name" : "HDFS",
+ "stack_name" : "HDP",
+ "service_version" : "1.1.2",
+ "comments" : "Apache Hadoop Distributed File System"
+ }
+ },
+ {
+ "href" : "http://dev.hortonworks.com:8080/api/v1/stacks2/HDP/versions/1.3.0/stackServices/GANGLIA",
+ "StackServices" : {
+ "user_name" : "root",
+ "stack_version" : "1.3.0",
+ "service_name" : "GANGLIA",
+ "stack_name" : "HDP",
+ "service_version" : "3.2.0",
+ "comments" : "Ganglia Metrics Collection system"
+ }
+ },
+ {
+ "href" : "http://dev.hortonworks.com:8080/api/v1/stacks2/HDP/versions/1.3.0/stackServices/WEBHCAT",
+ "StackServices" : {
+ "user_name" : "root",
+ "stack_version" : "1.3.0",
+ "service_name" : "WEBHCAT",
+ "stack_name" : "HDP",
+ "service_version" : "0.5.0",
+ "comments" : "This is comment for WEBHCAT service"
+ }
+ },
+ {
+ "href" : "http://dev.hortonworks.com:8080/api/v1/stacks2/HDP/versions/1.3.0/stackServices/SQOOP",
+ "StackServices" : {
+ "user_name" : "root",
+ "stack_version" : "1.3.0",
+ "service_name" : "SQOOP",
+ "stack_name" : "HDP",
+ "service_version" : "1.4.2",
+ "comments" : "Tool for transferring bulk data between Apache Hadoop and structured data stores such as relational databases"
+ }
+ },
+ {
+ "href" : "http://dev.hortonworks.com:8080/api/v1/stacks2/HDP/versions/1.3.0/stackServices/NAGIOS",
+ "StackServices" : {
+ "user_name" : "root",
+ "stack_version" : "1.3.0",
+ "service_name" : "NAGIOS",
+ "stack_name" : "HDP",
+ "service_version" : "3.2.3",
+ "comments" : "Nagios Monitoring and Alerting system"
+ }
+ },
+ {
+ "href" : "http://dev.hortonworks.com:8080/api/v1/stacks2/HDP/versions/1.3.0/stackServices/PIG",
+ "StackServices" : {
+ "user_name" : "root",
+ "stack_version" : "1.3.0",
+ "service_name" : "PIG",
+ "stack_name" : "HDP",
+ "service_version" : "0.10.1",
+ "comments" : "Scripting platform for analyzing large datasets"
+ }
+ },
+ {
+ "href" : "http://dev.hortonworks.com:8080/api/v1/stacks2/HDP/versions/1.3.0/stackServices/HIVE",
+ "StackServices" : {
+ "user_name" : "root",
+ "stack_version" : "1.3.0",
+ "service_name" : "HIVE",
+ "stack_name" : "HDP",
+ "service_version" : "0.10.0",
+ "comments" : "Data warehouse system for ad-hoc queries & analysis of large datasets and table & storage management service"
+ }
+ }
+ ]
}
]
}
\ No newline at end of file
Modified: incubator/ambari/trunk/ambari-web/app/controllers/main/admin/cluster.js
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/controllers/main/admin/cluster.js?rev=1490077&r1=1490076&r2=1490077&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/controllers/main/admin/cluster.js (original)
+++ incubator/ambari/trunk/ambari-web/app/controllers/main/admin/cluster.js Wed Jun 5 23:27:41 2013
@@ -87,7 +87,7 @@ App.MainAdminClusterController = Em.Cont
var myService = Em.Object.create({
serviceName: entry.service_name,
displayName: displayOrderConfig[i].displayName,
- isDisabled: i === 0,
+ isDisabled: displayOrderConfig[i].isDisabled,
isSelected: true,
isInstalled: false,
isHidden: displayOrderConfig[i].isHidden,
Modified: incubator/ambari/trunk/ambari-web/app/controllers/main/service/info/configs.js
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/controllers/main/service/info/configs.js?rev=1490077&r1=1490076&r2=1490077&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/controllers/main/service/info/configs.js (original)
+++ incubator/ambari/trunk/ambari-web/app/controllers/main/service/info/configs.js Wed Jun 5 23:27:41 2013
@@ -1124,7 +1124,7 @@ App.MainServiceInfoConfigsController = E
}
} else if (_serviceTags.siteName === 'core-site') {
console.log("TRACE: Inside core-site");
- if (this.get('content.serviceName') === 'HDFS') {
+ if (this.get('content.serviceName') === 'HDFS' || this.get('content.serviceName') === 'HCFS') {
var coreSiteConfigs = this.createCoreSiteObj(_serviceTags.newTagName);
siteNameToServerDataMap['core-site'] = coreSiteConfigs;
if(this.isConfigChanged(App.config.loadedConfigurationsCache['core-site_'+this.loadedClusterSiteToTagMap['core-site']], coreSiteConfigs.properties)){
@@ -1534,8 +1534,12 @@ App.MainServiceInfoConfigsController = E
var serviceConfigs = this.get('serviceConfigs').findProperty('serviceName', serviceName).configs;
//namenode_host is required to derive "fs.default.name" a property of core-site
var nameNodeHost = this.get('serviceConfigs').findProperty('serviceName', 'HDFS').configs.findProperty('name', 'namenode_host');
- nameNodeHost.defaultValue = App.Service.find('HDFS').get('hostComponents').findProperty('componentName', 'NAMENODE').get('host.hostName');
- globalConfigs.push(nameNodeHost);
+ try {
+ nameNodeHost.defaultValue = App.Service.find('HDFS').get('hostComponents').findProperty('componentName', 'NAMENODE').get('host.hostName');
+ globalConfigs.push(nameNodeHost);
+ } catch (err) {
+ console.log("No NameNode Host available. This is expected if you're using HCFS rather than HDFS.");
+ }
//zooKeeperserver_host
var zooKeperHost = this.get('serviceConfigs').findProperty('serviceName', 'ZOOKEEPER').configs.findProperty('name', 'zookeeperserver_hosts');
Modified: incubator/ambari/trunk/ambari-web/app/controllers/wizard.js
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/controllers/wizard.js?rev=1490077&r1=1490076&r2=1490077&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/controllers/wizard.js (original)
+++ incubator/ambari/trunk/ambari-web/app/controllers/wizard.js Wed Jun 5 23:27:41 2013
@@ -490,7 +490,7 @@ App.WizardController = Em.Controller.ext
var myService = Service.create({
serviceName: entry.StackServices.service_name,
displayName: displayOrderConfig[i].displayName,
- isDisabled: i === 0,
+ isDisabled: displayOrderConfig[i].isDisabled,
isSelected: displayOrderConfig[i].isSelected,
canBeSelected: displayOrderConfig[i].canBeSelected,
isInstalled: false,
Modified: incubator/ambari/trunk/ambari-web/app/controllers/wizard/step4_controller.js
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/controllers/wizard/step4_controller.js?rev=1490077&r1=1490076&r2=1490077&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/controllers/wizard/step4_controller.js (original)
+++ incubator/ambari/trunk/ambari-web/app/controllers/wizard/step4_controller.js Wed Jun 5 23:27:41 2013
@@ -95,6 +95,24 @@ App.WizardStep4Controller = Em.ArrayCont
return false;
},
+ /**
+ * Check whether we should turn on <code>HDFS or HCFS</code> service
+ * @return {Boolean}
+ */
+ needToAddHDFS: function () {
+ return (this.findProperty('serviceName', 'HDFS').get('isSelected') === false &&
+ (!this.findProperty('serviceName', 'HCFS') || this.findProperty('serviceName', 'HCFS').get('isSelected') === false));
+ },
+
+ /**
+ * Check if multiple distributed file systems were selected
+ * @return {Boolean}
+ */
+ multipleDFSs: function () {
+ return (this.findProperty('serviceName', 'HDFS').get('isSelected') === true &&
+ (this.findProperty('serviceName', 'HCFS') && this.findProperty('serviceName', 'HCFS').get('isSelected') === true));
+ },
+
/**
* Check do we have any monitoring service turned on
* @return {Boolean}
@@ -121,11 +139,49 @@ App.WizardStep4Controller = Em.ArrayCont
if(!this.get("isSubmitDisabled")){
if (this.needToAddMapReduce()) {
this.mapReduceCheckPopup();
- } else {
+ } else if (this.needToAddHDFS()) {
+ this.needToAddHDFSPopup();
+ } else if (this.multipleDFSs()) {
+ this.multipleDFSPopup();
+ }
+ else {
this.validateMonitoring();
}
}
},
+
+ multipleDFSPopup: function() {
+ var self = this;
+ App.ModalPopup.show({
+ header: Em.I18n.t('installer.step4.multipleDFS.popup.header'),
+ body: Em.I18n.t('installer.step4.multipleDFS.popup.body'),
+ onPrimary: function () {
+ self.findProperty('serviceName', 'HDFS').set('isSelected', true);
+ self.findProperty('serviceName', 'HCFS').set('isSelected', false);
+ this.hide();
+ self.validateMonitoring();
+ },
+ onSecondary: function () {
+ this.hide();
+ }
+ });
+ },
+
+ needToAddHDFSPopup: function() {
+ var self = this;
+ App.ModalPopup.show({
+ header: Em.I18n.t('installer.step4.hdfsCheck.popup.header'),
+ body: Em.I18n.t('installer.step4.hdfsCheck.popup.body'),
+ onPrimary: function () {
+ self.findProperty('serviceName', 'HDFS').set('isSelected', true);
+ this.hide();
+ self.validateMonitoring();
+ },
+ onSecondary: function () {
+ this.hide();
+ }
+ });
+ },
mapReduceCheckPopup: function () {
var self = this;
Modified: incubator/ambari/trunk/ambari-web/app/controllers/wizard/step6_controller.js
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/controllers/wizard/step6_controller.js?rev=1490077&r1=1490076&r2=1490077&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/controllers/wizard/step6_controller.js (original)
+++ incubator/ambari/trunk/ambari-web/app/controllers/wizard/step6_controller.js Wed Jun 5 23:27:41 2013
@@ -201,10 +201,12 @@ App.WizardStep6Controller = Em.Controlle
}
}
else {
- headers.pushObject(Ember.Object.create({
- name: 'DATANODE',
- label: self.getComponentDisplayName('DATANODE')
- }));
+ if (this.isServiceSelected('HDFS')) {
+ headers.pushObject(Ember.Object.create({
+ name: 'DATANODE',
+ label: self.getComponentDisplayName('DATANODE')
+ }));
+ }
if (this.isServiceSelected('MAPREDUCE')) {
headers.pushObject(Em.Object.create({
name: 'TASKTRACKER',
@@ -325,10 +327,12 @@ App.WizardStep6Controller = Em.Controlle
checkboxes.findProperty('title', headers.findProperty('name', 'CLIENT').get('label')).set('checked', false);
// First not Master should have Client (only first!)
if (!client_is_set) {
- var checkboxDatanode = checkboxes.findProperty('title', headers.findProperty('name', 'DATANODE').get('label'));
- if (checkboxDatanode && checkboxDatanode.get('checked')) {
- checkboxes.findProperty('title', headers.findProperty('name', 'CLIENT').get('label')).set('checked', true);
- client_is_set = true;
+ if (self.isServiceSelected("HDFS")) {
+ var checkboxDatanode = checkboxes.findProperty('title', headers.findProperty('name', 'DATANODE').get('label'));
+ if (checkboxDatanode && checkboxDatanode.get('checked')) {
+ checkboxes.findProperty('title', headers.findProperty('name', 'CLIENT').get('label')).set('checked', true);
+ client_is_set = true;
+ }
}
}
});
Modified: incubator/ambari/trunk/ambari-web/app/controllers/wizard/step7_controller.js
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/controllers/wizard/step7_controller.js?rev=1490077&r1=1490076&r2=1490077&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/controllers/wizard/step7_controller.js (original)
+++ incubator/ambari/trunk/ambari-web/app/controllers/wizard/step7_controller.js Wed Jun 5 23:27:41 2013
@@ -88,6 +88,7 @@ App.WizardStep7Controller = Em.Controlle
this.activateSpecialConfigs();
this.set('selectedService', this.get('stepConfigs').filterProperty('showConfig', true).objectAt(0));
},
+
/**
* make some configs visible depending on active services
*/
Modified: incubator/ambari/trunk/ambari-web/app/controllers/wizard/step8_controller.js
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/controllers/wizard/step8_controller.js?rev=1490077&r1=1490076&r2=1490077&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/controllers/wizard/step8_controller.js (original)
+++ incubator/ambari/trunk/ambari-web/app/controllers/wizard/step8_controller.js Wed Jun 5 23:27:41 2013
@@ -429,6 +429,9 @@ App.WizardStep8Controller = Em.Controlle
case 'HDFS':
this.loadHDFS(serviceObj);
break;
+ case 'HCFS':
+ this.loadHCFS(serviceObj);
+ break;
case 'MAPREDUCE':
this.loadMapReduce(serviceObj);
break;
@@ -498,6 +501,28 @@ App.WizardStep8Controller = Em.Controlle
//var
this.get('services').pushObject(hdfsObj);
},
+
+ /**
+ * load all info about HCFS service
+ * @param hcfsObj
+ */
+ loadHCFS: function (hcfsObj) {
+ hcfsObj.get('service_components').forEach(function (_component) {
+ switch (_component.get('display_name')) {
+ case 'HCFS Client':
+ this.loadHCFSClientValue(_component);
+ break;
+ default:
+ }
+ }, this);
+ this.get('services').pushObject(hcfsObj);
+ },
+
+ loadHCFSClientValue: function (hcfsComponent) {
+ var hcfsClientHosts = this.get('content.slaveComponentHosts').findProperty('displayName', 'Client');
+ var totalHCFSHosts = hcfsClientHosts.hosts.length;
+ hcfsComponent.set('component_value', totalHCFSHosts + ' hosts');
+ },
loadNnValue: function (nnComponent) {
var nnHostName = this.get('content.masterComponentHosts').findProperty('display_name', nnComponent.display_name);
@@ -1354,11 +1379,15 @@ App.WizardStep8Controller = Em.Controlle
var hiveUser = this.get('globals').someProperty('name', 'hive_user') ? this.get('globals').findProperty('name', 'hive_user').value : null;
var isHcatSelected = this.get('selectedServices').someProperty('serviceName', 'WEBHCAT');
var hcatUser = this.get('globals').someProperty('name', 'hcat_user') ? this.get('globals').findProperty('name', 'hcat_user').value : null;
+ var isHCFSSelected = this.get('selectedServices').someProperty('serviceName', 'HCFS');
coreSiteObj.forEach(function (_coreSiteObj) {
if ((isOozieSelected || (_coreSiteObj.name != 'hadoop.proxyuser.' + oozieUser + '.hosts' && _coreSiteObj.name != 'hadoop.proxyuser.' + oozieUser + '.groups')) && (isHiveSelected || (_coreSiteObj.name != 'hadoop.proxyuser.' + hiveUser + '.hosts' && _coreSiteObj.name != 'hadoop.proxyuser.' + hiveUser + '.groups')) && (isHcatSelected || (_coreSiteObj.name != 'hadoop.proxyuser.' + hcatUser + '.hosts' && _coreSiteObj.name != 'hadoop.proxyuser.' + hcatUser + '.groups'))) {
coreSiteProperties[_coreSiteObj.name] = _coreSiteObj.value;
this._recordHostOverrideFromObj(_coreSiteObj, 'core-site', 'version1', this);
}
+ if (isHCFSSelected && _coreSiteObj.name == "fs.default.name") {
+ coreSiteProperties[_coreSiteObj.name] = this.get('globals').someProperty('name', 'fs_default_name') ? this.get('globals').findProperty('name', 'fs_default_name').value : null;
+ }
console.log("STEP*: name of the property is: " + _coreSiteObj.name);
console.log("STEP8: value of the property is: " + _coreSiteObj.value);
}, this);
Modified: incubator/ambari/trunk/ambari-web/app/data/config_mapping.js
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/data/config_mapping.js?rev=1490077&r1=1490076&r2=1490077&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/data/config_mapping.js (original)
+++ incubator/ambari/trunk/ambari-web/app/data/config_mapping.js Wed Jun 5 23:27:41 2013
@@ -21,7 +21,7 @@ var configs = [
"name": "fs.default.name",
"templateName": ["namenode_host"],
"foreignKey": null,
- "value": "hdfs://<templateName[0]>:8020",
+ "value": "<templateName[0]>",
"filename": "core-site.xml"
},
{
@@ -679,7 +679,42 @@ var configs = [
"foreignKey": null,
"value": "/hbase-unsecure",
"filename": "hbase-site.xml"
- }
+ },
+ {
+ "name": "fs.glusterfs.impl",
+ "templateName": ["fs_glusterfs_impl"],
+ "foreignKey": null,
+ "value": "<templateName[0]>",
+ "filename": "core-site.xml"
+ },
+ {
+ "name": "fs.glusterfs.volname",
+ "templateName": ["fs_glusterfs_volname"],
+ "foreignKey": null,
+ "value": "<templateName[0]>",
+ "filename": "core-site.xml"
+ },
+ {
+ "name": "fs.glusterfs.mount",
+ "templateName": ["fs_glusterfs_mount"],
+ "foreignKey": null,
+ "value": "<templateName[0]>",
+ "filename": "core-site.xml"
+ },
+ {
+ "name": "fs.glusterfs.server",
+ "templateName": ["fs_glusterfs_server"],
+ "foreignKey": null,
+ "value": "<templateName[0]>",
+ "filename": "core-site.xml"
+ },
+ {
+ "name": "fs.glusterfs.automount",
+ "templateName": ["fs_glusterfs_automount"],
+ "foreignKey": null,
+ "value": "<templateName[0]>",
+ "filename": "core-site.xml"
+ }
];
/**
Modified: incubator/ambari/trunk/ambari-web/app/data/config_properties.js
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/data/config_properties.js?rev=1490077&r1=1490076&r2=1490077&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/data/config_properties.js (original)
+++ incubator/ambari/trunk/ambari-web/app/data/config_properties.js Wed Jun 5 23:27:41 2013
@@ -453,6 +453,79 @@ module.exports =
"serviceName": "HDFS",
"category": "Advanced"
},
+ /**********************************************HCFS***************************************/
+ {
+ "id": "puppet var",
+ "name": "fs_glusterfs_server",
+ "displayName": "Gluster server",
+ "description": "Gluster server (Slave FQDN)",
+ "defaultValue": "{firstHost}",
+ "displayType": "string",
+ "isVisible": true,
+ "domain": "global",
+ "serviceName": "HCFS",
+ "category": "General"
+ },
+ {
+ "id": "puppet var",
+ "name": "fs_default_name",
+ "displayName": "Gluster default fs name",
+ "description": "Gluster default filesystem name (glusterfs://{MasterFQDN}:9000)",
+ "defaultValue": "glusterfs://{firstHost}:9000",
+ "displayType": "string",
+ "isVisible": false,
+ "domain": "global",
+ "serviceName": "HCFS",
+ "category": "General"
+ },
+ {
+ "id": "puppet var",
+ "name": "fs_glusterfs_volname",
+ "displayName": "Gluster volume name",
+ "description": "Gluster volume name",
+ "defaultValue": "HadoopVol",
+ "displayType": "string",
+ "isVisible": true,
+ "domain": "global",
+ "serviceName": "HCFS",
+ "category": "General"
+ },
+ {
+ "id": "puppet var",
+ "name": "fs_glusterfs_mount",
+ "displayName": "Gluster mount point",
+ "description": "Gluster mount point",
+ "defaultValue": "/mnt/glusterfs",
+ "displayType": "string",
+ "isVisible": true,
+ "domain": "global",
+ "serviceName": "HCFS",
+ "category": "General"
+ },
+ {
+ "id": "puppet var",
+ "name": "fs_glusterfs_automount",
+ "displayName": "Automount HCFS",
+ "description": "Automount the HCFS Volume",
+ "defaultValue": "false",
+ "displayType": "string",
+ "isVisible": false,
+ "domain": "global",
+ "serviceName": "HCFS",
+ "category": "General"
+ },
+ {
+ "id": "puppet var",
+ "name": "fs_glusterfs_impl",
+ "displayName": "Gluster fs impl",
+ "description": "Gluster fs impl",
+ "defaultValue": "org.apache.hadoop.fs.glusterfs.GlusterFileSystem",
+ "displayType": "string",
+ "isVisible": false,
+ "domain": "global",
+ "serviceName": "HCFS",
+ "category": "General"
+ },
/**********************************************MAPREDUCE***************************************/
{
"id": "puppet var",
Modified: incubator/ambari/trunk/ambari-web/app/data/review_configs.js
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/data/review_configs.js?rev=1490077&r1=1490076&r2=1490077&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/data/review_configs.js (original)
+++ incubator/ambari/trunk/ambari-web/app/data/review_configs.js Wed Jun 5 23:27:41 2013
@@ -61,6 +61,16 @@ module.exports = [
]
}),
Ember.Object.create({
+ service_name: 'HCFS',
+ display_name: 'HCFS',
+ service_components: [
+ Ember.Object.create({
+ display_name: 'HCFS Client',
+ component_value: ''
+ })
+ ]
+ }),
+ Ember.Object.create({
service_name: 'MAPREDUCE',
display_name: 'MapReduce',
service_components: [
Modified: incubator/ambari/trunk/ambari-web/app/data/service_components.js
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/data/service_components.js?rev=1490077&r1=1490076&r2=1490077&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/data/service_components.js (original)
+++ incubator/ambari/trunk/ambari-web/app/data/service_components.js Wed Jun 5 23:27:41 2013
@@ -313,5 +313,13 @@ module.exports = new Ember.Set([
isMaster: true,
isClient: false,
description: ''
+ },
+ {
+ service_name: 'HCFS',
+ component_name: 'HCFS_CLIENT',
+ display_name: 'HCFS Client',
+ isMaster: false,
+ isClient: true,
+ description: 'Client component for HCFS'
}
]);
\ No newline at end of file
Modified: incubator/ambari/trunk/ambari-web/app/data/service_configs.js
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/data/service_configs.js?rev=1490077&r1=1490076&r2=1490077&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/data/service_configs.js (original)
+++ incubator/ambari/trunk/ambari-web/app/data/service_configs.js Wed Jun 5 23:27:41 2013
@@ -37,7 +37,16 @@ module.exports = [
sites: ['global', 'core-site', 'hdfs-site'],
configs: []
},
-
+ {
+ serviceName: 'HCFS',
+ displayName: 'HCFS',
+ filename: 'core-site',
+ configCategories: [
+ App.ServiceConfigCategory.create({ name: 'General', displayName : 'General'})
+ ],
+ sites: ['core-site'],
+ configs: []
+ },
{
serviceName: 'MAPREDUCE',
displayName: 'MapReduce',
Modified: incubator/ambari/trunk/ambari-web/app/data/services.js
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/data/services.js?rev=1490077&r1=1490076&r2=1490077&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/data/services.js (original)
+++ incubator/ambari/trunk/ambari-web/app/data/services.js Wed Jun 5 23:27:41 2013
@@ -22,12 +22,20 @@ module.exports = [
{
serviceName: 'HDFS',
displayName: 'HDFS',
- isDisabled: true,
+ isDisabled: false,
isSelected: true,
canBeSelected: true,
description: Em.I18n.t('services.hdfs.description')
},
{
+ serviceName: 'HCFS',
+ displayName: 'HCFS',
+ isDisabled: false,
+ isSelected: false,
+ canBeSelected: true,
+ description: Em.I18n.t('services.hcfs.description')
+ },
+ {
serviceName: 'MAPREDUCE',
displayName: 'MapReduce',
isDisabled: false,
Modified: incubator/ambari/trunk/ambari-web/app/messages.js
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/messages.js?rev=1490077&r1=1490076&r2=1490077&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/messages.js (original)
+++ incubator/ambari/trunk/ambari-web/app/messages.js Wed Jun 5 23:27:41 2013
@@ -184,6 +184,7 @@ Em.I18n.translations = {
'services.nagios.description':'Nagios Monitoring and Alerting system',
'services.ganglia.description':'Ganglia Metrics Collection system',
'services.hdfs.description':'Apache Hadoop Distributed File System',
+ 'services.hcfs.description':'Apache Hadoop Compatible File System (must be installed manually)',
'services.mapreduce.description':'Apache Hadoop Distributed Processing Framework',
'services.sqoop.description':'Tool for transferring bulk data between Apache Hadoop and structured data stores such as relational databases',
'services.pig.description':'Scripting platform for analyzing large datasets',
@@ -341,6 +342,10 @@ Em.I18n.translations = {
'installer.step4.header':'Choose Services',
'installer.step4.body':'Choose which services you want to install on your cluster.',
+ 'installer.step4.hdfsCheck.popup.header':'Hadoop File System Needed',
+ 'installer.step4.hdfsCheck.popup.body':'You did not select HDFS or HCFS, but one is required. We will automatically add HDFS. Is this OK?',
+ 'installer.step4.multipleDFS.popup.header':'Multiple File Systems Selected',
+ 'installer.step4.multipleDFS.popup.body':'You selected more than one file system. We will automatically select only HDFS. Is this OK?',
'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',
Modified: incubator/ambari/trunk/ambari-web/app/utils/config.js
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/utils/config.js?rev=1490077&r1=1490076&r2=1490077&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/utils/config.js (original)
+++ incubator/ambari/trunk/ambari-web/app/utils/config.js Wed Jun 5 23:27:41 2013
@@ -414,6 +414,7 @@ App.config = Em.Object.create({
serviceConfigProperty = App.ServiceConfigProperty.create(_config);
this.updateHostOverrides(serviceConfigProperty, _config);
serviceConfigProperty.initialValue(localDB);
+ this.tweakDynamicDefaults(localDB, serviceConfigProperty, _config);
serviceConfigProperty.validate();
configsByService.pushObject(serviceConfigProperty);
}, this);
@@ -425,6 +426,26 @@ App.config = Em.Object.create({
return renderedServiceConfigs;
},
/**
+ Takes care of the "dynamic defaults" for the HCFS configs. Sets
+ some of the config defaults to previously user-entered data.
+ **/
+ tweakDynamicDefaults: function (localDB, serviceConfigProperty, config) {
+ console.log("Step7: Tweaking Dynamic defaults");
+ var firstHost = null;
+ for(var host in localDB.hosts) {
+ firstHost = host;
+ break;
+ }
+ try {
+ if (typeof(config == "string") && config.defaultValue.indexOf("{firstHost}") >= 0) {
+ serviceConfigProperty.set('value', serviceConfigProperty.value.replace(new RegExp("{firstHost}"), firstHost));
+ serviceConfigProperty.set('defaultValue', serviceConfigProperty.defaultValue.replace(new RegExp("{firstHost}"), firstHost));
+ }
+ } catch (err) {
+ // Nothing to worry about here, most likely trying indexOf on a non-string
+ }
+ },
+ /**
* create new child configs from overrides, attach them to parent config
* override - value of config, related to particular host(s)
* @param configProperty
Modified: incubator/ambari/trunk/ambari-web/app/utils/helper.js
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/utils/helper.js?rev=1490077&r1=1490076&r2=1490077&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/utils/helper.js (original)
+++ incubator/ambari/trunk/ambari-web/app/utils/helper.js Wed Jun 5 23:27:41 2013
@@ -348,6 +348,10 @@ App.format = {
return 'Update Exclude File';
case 'HUE_SERVER':
return 'Hue Server';
+ case 'HCFS_CLIENT':
+ return 'HCFS Client';
+ case 'HCFS_SERVICE_CHECK':
+ return 'HCFS Service Check';
}
},
Modified: incubator/ambari/trunk/ambari-web/pom.xml
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/pom.xml?rev=1490077&r1=1490076&r2=1490077&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/pom.xml (original)
+++ incubator/ambari/trunk/ambari-web/pom.xml Wed Jun 5 23:27:41 2013
@@ -75,6 +75,9 @@
<arg value="-rf"/>
<arg value="public"/>
</exec>
+ <exec dir="${basedir}" executable="mkdir" failonerror="false">
+ <arg value="public"/>
+ </exec>
</target>
</configuration>
</execution>