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>
