continuuity/loom — pull request #117 by nistala (2014-05-02 01:47:57+00:00)
Title: Feature/add provider automator type

- Add user editable fields to create cluster page
- Required fields checking on the client side for user editable fields and admin fields
- Sending providerFields with response as per spec:

{
"name": "test",
"description": "",
"clusterTemplate": "reactor-distributed",
"numMachines": 5,
"provider": "rackspace",
"providerFields": {
"userfield1": "val",
"overridable1": "val"
},
"services": [
"hadoop-hdfs-namenode",
"hadoop-hdfs-datanode",
"hadoop-yarn-resourcemanager",
"hadoop-yarn-nodemanager",
"zookeeper-server",
"hbase-master",
"hbase-regionserver",
"reactor",
"continuuity-chef-bootstrap",
"base"
],
"hardwaretype": "large",
"imagetype": "ubuntu12",
"initialLeaseDuration": 604800000,
"config": {
"hadoop": {
"core_site": {
"fs.defaultFS": "hdfs://%host.service.hadoop-hdfs-namenode%",
"io.file.buffer.size": "131072"
},
"hdfs_site": {
"dfs.datanode.max.xcievers": "4096",
"dfs.datanode.max.transfer.threads": "4096",
"dfs.replication": "1",
"dfs.blocksize": "134217728",
"dfs.namenode.handler.count": "30",
"dfs.datanode.handler.count": "8",
"dfs.datanode.du.reserved": "1073741824"
},
"mapred_site": {
"mapreduce.framework.name": "yarn",
"mapreduce.map.java.opts": "-Xmx512m",
"mapreduce.reduce.java.opts": "-Xmx512m",
"mapreduce.job.maps": "3",
"mapreduce.job.reduces": "3",
"mapreduce.task.io.sort.factor": "25",
"imapreduce.task.io.sort.mb": "250",
"mapreduce.jobtracker.taskscheduler": "org.apache.hadoop.mapred.FairScheduler"
},
"yarn_site": {
"yarn.resourcemanager.hostname": "%host.service.hadoop-yarn-resourcemanager%",
"yarn.resourcemanager.address": "%host.service.hadoop-yarn-resourcemanager%:8032",
"yarn.resourcemanager.scheduler.address": "%host.service.hadoop-yarn-resourcemanager%:8030",
"yarn.resourcemanager.resource-tracker.address": "%host.service.hadoop-yarn-resourcemanager%:8031",
"yarn.resourcemanager.admin.address": "%host.service.hadoop-yarn-resourcemanager%:8033",
"yarn.nodemanager.resource.memory-mb": "4096"
}
},
"hbase": {
"hbase_site": {
"hbase.rootdir": "hdfs://%host.service.hadoop-hdfs-namenode%/hbase",
"hbase.cluster.distributed": "true",
"hbase.zookeeper.quorum": "%join(map(host.service.zookeeper-server,'$:2181'),',')%",
"hbase.regionserver.handler.count": "100",
"zookeeper.session.timeout": "60000"
}
},
"hive": {
"hive_site": {
"javax.jdo.option.ConnectionURL": "jdbc:mysql://%host.service.mysql-server%:3306/hive?createDatabaseIfNotExist=true",
"javax.jdo.option.ConnectionDriverName": "com.mysql.jdbc.Driver",
"javax.jdo.option.ConnectionUserName": "dbuser",
"javax.jdo.option.ConnectionPassword": "dbuserpassword",
"hive.metastore.uris": "thrift://%host.service.hive-metastore%:9083"
}
},
"mysql": {
"server_debian_password": "somedefaultpassword",
"server_root_password": "somedefaultpassword",
"server_repl_password": "somedefaultpassword",
"bind_address": "%ip.service.mysql-server%"
},
"reactor": {
"repo": {
"user": "aptuser",
"password": "aptuser"
},
"continuuity_site": {
"log.saver.run.memory.megs": "512",
"gateway.memory.mb": "512"
}
},
"zookeeper": {
"zoocfg": {
"maxClientCnxns": "100",
"tickTime": "2000",
"initLimit": "10",
"syncLimit": "2"
}
}
}
}