#
# Licensed to Cloudera, Inc. under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# Cloudera, Inc. licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

# The name of the cluster, must be alpha-numeric
whirr.cluster-name=whirr

# A Cloudera Enterprise Data Hub cluster topology, defining 1 CM server node,
# 3 CDH master nodes and 3 CDH slave nodes
whirr.instance-templates=\
1 \
cm-java+\
cm-server+\
cm-agent,\
\
1 \
cm-java+\
cm-cdh-namenode+\
cm-cdh-hue+\
cm-cdh-huebeeswax+\
cm-cdh-httpfs+\
cm-cdh-zookeeper+\
cm-agent,\
\
1 \
cm-java+\
cm-cdh-secondarynamenode+\
cm-cdh-sparkmaster+\
cm-cdh-oozie+\
cm-cdh-hbasemaster+\
cm-cdh-hbasethrift+\
cm-cdh-hbaserest+\
cm-cdh-sqoop+\
cm-cdh-zookeeper+\
cm-cdh-httpfs+\
cm-agent,\
\
1 \
cm-java+\
cm-balancer+\
cm-cdh-jobtracker+\
cm-cdh-resourcemanager+\
cm-cdh-jobhistory+\
cm-cdh-hivemetastore+\
cm-cdh-impalastatestore+\
cm-cdh-impalacatalog+\
cm-cdh-hiveserver2+\
cm-cdh-hcatalog+\
cm-cdh-zookeeper+\
cm-cdh-httpfs+\
cm-agent,\
\
3 \
cm-java+\
cm-cdh-datanode+\
cm-cdh-tasktracker+\
cm-cdh-nodemanager+\
cm-cdh-sparkworker+\
cm-cdh-hbaseregion+\
cm-cdh-impala+\
cm-cdh-solr+\
cm-cdh-flumeagent+\
cm-cdh-solrhbaseindexer+\
cm-cdh-httpfs+\
cm-agent

# The user to provision and run under on each cluster node
whirr.cluster-user=whirr

# List of client IP ranges that can access the CM and CDH web console and client
# servers. Note that CM is deployed with the default admin accounts and
# credentials and CDH is provisioned without strong authentication (kerberos) so
# this setting should be used with caution, ie the default '0.0.0.0/0' allows
# any source origin to connect
whirr.client-cidrs=0.0.0.0/0

# The keys used by the cluster nodes
whirr.private-key-file=${sys:user.home}/.ssh/whirr
whirr.public-key-file=${sys:user.home}/.ssh/whirr.pub

# Cloud provider details, example Amazon AWS EC2 details provided,
# identity and credentials provided via environment variables 
whirr.provider=aws-ec2
whirr.identity=${env:WHIRR_CLOUD_PROVIDER_ID}
whirr.credential=${env:WHIRR_CLOUD_PROVIDER_KEY}
whirr.hardware-id=m1.large
whirr.image-id=ap-southeast-1/ami-e0e9bdb2
whirr.location-id=ap-southeast-1a

# Switch to enable (true) or disable (false) the automatic setup of a cluster
# within CM, its initialization and launch, defaults to true
#whirr.cm.auto=false

# Override automatically determined node storage device mount points directory
# list for CM service directories, ',' separated list (these directories must
# exist and be correctly formatted and mounted)
#whirr.cm.data.dirs.root=/mnt/data0,/mnt/data1,/mnt/data2,/mnt/data3

# Decide whether to issue cloud security profile and iptables directives to open
# ports (true) or rely on unfettered network access (false), defaults to true
#whirr.cm.firewall.enable=false

# Global database type setting for all CM and CDH datastores, overridden on a
# case by case basis by CM Service settings (see below), defaults to 'mysql'
#whirr.cm.db.type=mysql

# Define the CM repository version in 'cm$MAJOR_VERSION.$MINOR_VERSION.$VERSION'
# format (major version mandatory, minor and incremental optional), defaults to 
# latest available
whirr.env.repocm=cm5.1.0

# Define the CM API version in 'v$MAJOR_VERSION' format, defaults to most
# advanced available from CM version
#whirr.cm.api=v6

# Define the the CDH major version to install, in 'cdh$MAJOR_VERSION' format.
# Minor and incremental versions defined by the latest available from the
# 'whirr.cm.config.cm.remote_parcel_repo_urls' list
whirr.env.repocdh=cdh5

# Provide an optional JDK install URL, supporting JDK 1.6 and 1.7 '.bin', '.tar'
# and '.tar.gz' installs as downloaded from Oracle and hosted on a web server.
# If not set, the JDK will default to the latest distributed in the Cloudera 
# RPM/.deb repositories
#whirr.jdk-install-url=http://www.reucon.com/cdn/java/jdk-7u40-linux-x64.tar.gz

# Indidcate JDK is installed by whirr-cm (as above) and other whirr components
# should not attempt an install 
whirr.env.jdk_installed=true

# Provide CM settings with prefix 'whirr.cm.config.cm.' followed by setting name
# (see http://cloudera.github.com/cm_api/apidocs/v3/path__cm_config.html)
# All settings are defaulted to reasonable values, but some overriding examples
# are show below:
whirr.cm.config.cm.cm_database_name=cm
whirr.cm.config.cm.cm_database_type=mysql
whirr.cm.config.cm.custom_banner_html=My Cloudera Managed\, Whirr provisioned\, CDH Cluster
whirr.cm.config.cm.remote_parcel_repo_urls=\
http://archive.cloudera.com/cdh5/parcels/latest/\\,\
http://archive.cloudera.com/cdh4/parcels/latest/\\,\
http://archive.cloudera.com/impala/parcels/latest/\\,\
http://archive.cloudera.com/search/parcels/latest/\\,\
http://archive.cloudera.com/spark/parcels/latest/


# Provide CM Services settings with prefix 'whirr.cm.config.' followed by
# service name (see http://cloudera.github.io/cm_api/apidocs/v6/path__clusters_-clusterName-_services.html)
# or role name (see http://cloudera.github.io/cm_api/apidocs/v6/path__clusters_-clusterName-_services_-serviceName-_roles.html)
# then followed by '.' and setting name
# (see http://cloudera.github.io/cm_api/apidocs/v6/path__clusters_-clusterName-_services_-serviceName-_roles_-roleName-_config.html) 
# All settings are defaulted to reasonable values, but some overriding examples
# are show below:
whirr.cm.config.datanode.dfs_datanode_data_dir_perm=755
whirr.cm.config.mapreduce_gateway.mapred_submit_replication=3
whirr.cm.config.mapreduce_gateway.mapred_reduce_tasks=3
whirr.cm.config.hive.hive_metastore_database_type=mysql
whirr.cm.config.hive.hive_metastore_database_host=localhost
whirr.cm.config.hive.hive_metastore_database_port=3306
whirr.cm.config.hive.hive_metastore_database_user=cdh_hive
whirr.cm.config.hive.hive_metastore_database_password=cdh_hive
whirr.cm.config.hive.hive_metastore_database_name=cdh_hive

# Increase communication layer default timeouts to allow for long running provisioning tasks
jclouds.compute.timeout.port-open=1200000
jclouds.compute.timeout.node-running=3200000
jclouds.compute.timeout.script-complete=18000000