ambari-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jlun...@apache.org
Subject [22/23] ambari git commit: AMBARI-12779: [PluggableStackDefinition] Remove ambari-server/src/main/resources/stacks/PHD (jluniya)
Date Mon, 17 Aug 2015 05:13:47 GMT
http://git-wip-us.apache.org/repos/asf/ambari/blob/930d4499/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/hooks/before-START/scripts/shared_initialization.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/hooks/before-START/scripts/shared_initialization.py b/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/hooks/before-START/scripts/shared_initialization.py
deleted file mode 100644
index f70eee8..0000000
--- a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/hooks/before-START/scripts/shared_initialization.py
+++ /dev/null
@@ -1,177 +0,0 @@
-"""
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF 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.
-
-"""
-
-import os
-
-from resource_management import *
-
-def setup_hadoop():
-  """
-  Setup hadoop files and directories
-  """
-  import params
-
-  Execute("/bin/echo 0 > /selinux/enforce",
-          only_if="test -f /selinux/enforce"
-  )
-
-  install_snappy()
-
-  #directories
-  if params.has_namenode:
-    Directory(params.hdfs_log_dir_prefix,
-              recursive=True,
-              owner='root',
-              group=params.user_group,
-              mode=0775
-    )
-    Directory(params.hadoop_pid_dir_prefix,
-              recursive=True,
-              owner='root',
-              group='root'
-    )
-  #this doesn't needed with stack 1
-    Directory(params.hadoop_tmp_dir,
-              recursive=True,
-              owner=params.hdfs_user,
-              )
-  #files
-    if params.security_enabled:
-      tc_owner = "root"
-    else:
-      tc_owner = params.hdfs_user
-
-    File(os.path.join(params.hadoop_conf_dir, 'commons-logging.properties'),
-         owner=tc_owner,
-         content=Template('commons-logging.properties.j2')
-    )
-
-    health_check_template = "health_check-v2" #for stack 1 use 'health_check'
-    File(os.path.join(params.hadoop_conf_dir, "health_check"),
-         owner=tc_owner,
-         content=Template(health_check_template + ".j2")
-    )
-
-    log4j_filename = os.path.join(params.hadoop_conf_dir, "log4j.properties")
-    if (params.log4j_props != None):
-      File(log4j_filename,
-           mode=0644,
-           group=params.user_group,
-           owner=params.hdfs_user,
-           content=params.log4j_props
-      )
-    elif (os.path.exists(format("{params.hadoop_conf_dir}/log4j.properties"))):
-      File(log4j_filename,
-           mode=0644,
-           group=params.user_group,
-           owner=params.hdfs_user,
-      )
-
-    File(os.path.join(params.hadoop_conf_dir, "hadoop-metrics2.properties"),
-         owner=params.hdfs_user,
-         content=Template("hadoop-metrics2.properties.j2")
-    )
-
-def setup_database():
-  """
-  Load DB
-  """
-  import params
-  db_driver_dload_cmd = ""
-  environment = {
-    "no_proxy": format("{ambari_server_hostname}")
-  }
-  if params.server_db_name == 'oracle' and params.oracle_driver_url != "":
-    db_driver_dload_cmd = format(
-      "curl -kf -x \"\" \
-      --retry 5 {oracle_driver_symlink_url} -o {hadoop_lib_home}/{db_driver_filename}",)
-  elif params.server_db_name == 'mysql' and params.mysql_driver_url != "":
-    db_driver_dload_cmd = format(
-      "curl -kf -x \"\" \
-      --retry 5 {mysql_driver_symlink_url} -o {hadoop_lib_home}/{db_driver_filename}")
-
-  if db_driver_dload_cmd:
-    Execute(db_driver_dload_cmd,
-            not_if =format("test -e {hadoop_lib_home}/{db_driver_filename}"),
-            environment = environment
-    )
-
-
-def setup_configs():
-  """
-  Creates configs for services HDFS mapred
-  """
-  import params
-
-  if params.has_namenode:
-    File(params.task_log4j_properties_location,
-         content=StaticFile("task-log4j.properties"),
-         mode=0755
-    )
-
-    if os.path.exists(os.path.join(params.hadoop_conf_dir, 'configuration.xsl')):
-      File(os.path.join(params.hadoop_conf_dir, 'configuration.xsl'),
-           owner=params.hdfs_user,
-           group=params.user_group
-      )
-    if os.path.exists(os.path.join(params.hadoop_conf_dir, 'masters')):
-      File(os.path.join(params.hadoop_conf_dir, 'masters'),
-                owner=params.hdfs_user,
-                group=params.user_group
-      )
-
-  generate_include_file()
-
-
-def generate_include_file():
-  import params
-
-  if params.has_namenode and params.dfs_hosts and params.has_slaves:
-    include_hosts_list = params.slave_hosts
-    File(params.dfs_hosts,
-         content=Template("include_hosts_list.j2"),
-         owner=params.hdfs_user,
-         group=params.user_group
-    )
-
-
-def install_snappy():
-  import params
-
-  snappy_so = "libsnappy.so"
-  so_target_dir_x86 = format("{hadoop_lib_home}/native/Linux-i386-32")
-  so_target_dir_x64 = format("{hadoop_lib_home}/native/Linux-amd64-64")
-  so_target_x86 = format("{so_target_dir_x86}/{snappy_so}")
-  so_target_x64 = format("{so_target_dir_x64}/{snappy_so}")
-  so_src_dir_x86 = format("{hadoop_home}/lib")
-  so_src_dir_x64 = format("{hadoop_home}/lib64")
-  so_src_x86 = format("{so_src_dir_x86}/{snappy_so}")
-  so_src_x64 = format("{so_src_dir_x64}/{snappy_so}")
-  if params.has_namenode:
-    Execute(
-      format("mkdir -p {so_target_dir_x86}; ln -sf {so_src_x86} {so_target_x86}"))
-    Execute(
-      format("mkdir -p {so_target_dir_x64}; ln -sf {so_src_x64} {so_target_x64}"))
-
-
-def create_javahome_symlink():
-  if os.path.exists("/usr/jdk/jdk1.6.0_31") and not os.path.exists("/usr/jdk64/jdk1.6.0_31"):
-    Execute("mkdir -p /usr/jdk64/")
-    Execute("ln -s /usr/jdk/jdk1.6.0_31 /usr/jdk64/jdk1.6.0_31")
-

http://git-wip-us.apache.org/repos/asf/ambari/blob/930d4499/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/hooks/before-START/templates/commons-logging.properties.j2
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/hooks/before-START/templates/commons-logging.properties.j2 b/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/hooks/before-START/templates/commons-logging.properties.j2
deleted file mode 100644
index 2197ba5..0000000
--- a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/hooks/before-START/templates/commons-logging.properties.j2
+++ /dev/null
@@ -1,43 +0,0 @@
-{#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF 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.
-#}
-
-#/*
-# * Licensed to the Apache Software Foundation (ASF) under one
-# * or more contributor license agreements.  See the NOTICE file
-# * distributed with this work for additional information
-# * regarding copyright ownership.  The ASF 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.
-# */
-
-#Logging Implementation
-
-#Log4J
-org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
-
-#JDK Logger
-#org.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger

http://git-wip-us.apache.org/repos/asf/ambari/blob/930d4499/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/hooks/before-START/templates/exclude_hosts_list.j2
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/hooks/before-START/templates/exclude_hosts_list.j2 b/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/hooks/before-START/templates/exclude_hosts_list.j2
deleted file mode 100644
index 1adba80..0000000
--- a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/hooks/before-START/templates/exclude_hosts_list.j2
+++ /dev/null
@@ -1,21 +0,0 @@
-{#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF 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.
-#}
-
-{% for host in hdfs_exclude_file %}
-{{host}}
-{% endfor %}

http://git-wip-us.apache.org/repos/asf/ambari/blob/930d4499/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/hooks/before-START/templates/hadoop-metrics2.properties.j2
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/hooks/before-START/templates/hadoop-metrics2.properties.j2 b/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/hooks/before-START/templates/hadoop-metrics2.properties.j2
deleted file mode 100644
index c4759f4..0000000
--- a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/hooks/before-START/templates/hadoop-metrics2.properties.j2
+++ /dev/null
@@ -1,65 +0,0 @@
-{#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF 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.
-#}
-
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF 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.
-
-# syntax: [prefix].[source|sink|jmx].[instance].[options]
-# See package.html for org.apache.hadoop.metrics2 for details
-
-{% if has_ganglia_server %}
-*.period=60
-
-*.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
-*.sink.ganglia.period=10
-
-# default for supportsparse is false
-*.sink.ganglia.supportsparse=true
-
-.sink.ganglia.slope=jvm.metrics.gcCount=zero,jvm.metrics.memHeapUsedM=both
-.sink.ganglia.dmax=jvm.metrics.threadsBlocked=70,jvm.metrics.memHeapUsedM=40
-
-# Hook up to the server
-namenode.sink.ganglia.servers={{ganglia_server_host}}:8661
-datanode.sink.ganglia.servers={{ganglia_server_host}}:8659
-jobtracker.sink.ganglia.servers={{ganglia_server_host}}:8662
-tasktracker.sink.ganglia.servers={{ganglia_server_host}}:8658
-maptask.sink.ganglia.servers={{ganglia_server_host}}:8660
-reducetask.sink.ganglia.servers={{ganglia_server_host}}:8660
-resourcemanager.sink.ganglia.servers={{ganglia_server_host}}:8664
-nodemanager.sink.ganglia.servers={{ganglia_server_host}}:8657
-historyserver.sink.ganglia.servers={{ganglia_server_host}}:8666
-journalnode.sink.ganglia.servers={{ganglia_server_host}}:8654
-nimbus.sink.ganglia.servers={{ganglia_server_host}}:8649
-supervisor.sink.ganglia.servers={{ganglia_server_host}}:8650
-
-resourcemanager.sink.ganglia.tagsForPrefix.yarn=Queue
-
-{% endif %}

http://git-wip-us.apache.org/repos/asf/ambari/blob/930d4499/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/hooks/before-START/templates/health_check-v2.j2
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/hooks/before-START/templates/health_check-v2.j2 b/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/hooks/before-START/templates/health_check-v2.j2
deleted file mode 100644
index 0a03d17..0000000
--- a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/hooks/before-START/templates/health_check-v2.j2
+++ /dev/null
@@ -1,81 +0,0 @@
-{#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF 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.
-#}
-
-#!/bin/bash
-#
-#/*
-# * Licensed to the Apache Software Foundation (ASF) under one
-# * or more contributor license agreements.  See the NOTICE file
-# * distributed with this work for additional information
-# * regarding copyright ownership.  The ASF 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.
-# */
-
-err=0;
-
-function check_disks {
-
-  for m in `awk '$3~/ext3/ {printf" %s ",$2}' /etc/fstab` ; do
-    fsdev=""
-    fsdev=`awk -v m=$m '$2==m {print $1}' /proc/mounts`;
-    if [ -z "$fsdev" -a "$m" != "/mnt" ] ; then
-      msg_="$msg_ $m(u)"
-    else
-      msg_="$msg_`awk -v m=$m '$2==m { if ( $4 ~ /^ro,/ ) {printf"%s(ro)",$2 } ; }' /proc/mounts`"
-    fi
-  done
-
-  if [ -z "$msg_" ] ; then
-    echo "disks ok" ; exit 0
-  else
-    echo "$msg_" ; exit 2
-  fi
-
-}
-
-# Run all checks
-for check in disks ; do
-  msg=`check_${check}` ;
-  if [ $? -eq 0 ] ; then
-    ok_msg="$ok_msg$msg,"
-  else
-    err_msg="$err_msg$msg,"
-  fi
-done
-
-if [ ! -z "$err_msg" ] ; then
-  echo -n "ERROR $err_msg "
-fi
-if [ ! -z "$ok_msg" ] ; then
-  echo -n "OK: $ok_msg"
-fi
-
-echo
-
-# Success!
-exit 0

http://git-wip-us.apache.org/repos/asf/ambari/blob/930d4499/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/hooks/before-START/templates/health_check.j2
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/hooks/before-START/templates/health_check.j2 b/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/hooks/before-START/templates/health_check.j2
deleted file mode 100644
index ff17b19..0000000
--- a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/hooks/before-START/templates/health_check.j2
+++ /dev/null
@@ -1,109 +0,0 @@
-{#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF 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.
-#}
-
-#!/bin/bash
-#
-#/*
-# * Licensed to the Apache Software Foundation (ASF) under one
-# * or more contributor license agreements.  See the NOTICE file
-# * distributed with this work for additional information
-# * regarding copyright ownership.  The ASF 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.
-# */
-
-err=0;
-
-function check_disks {
-
-  for m in `awk '$3~/ext3/ {printf" %s ",$2}' /etc/fstab` ; do
-    fsdev=""
-    fsdev=`awk -v m=$m '$2==m {print $1}' /proc/mounts`;
-    if [ -z "$fsdev" ] ; then
-      msg_="$msg_ $m(u)"
-    else
-      msg_="$msg_`awk -v m=$m '$2==m { if ( $4 ~ /^ro,/ ) {printf"%s(ro)",$2 } ; }' /proc/mounts`"
-    fi
-  done
-
-  if [ -z "$msg_" ] ; then
-    echo "disks ok" ; exit 0
-  else
-    echo "$msg_" ; exit 2
-  fi
-
-}
-
-function check_taskcontroller {
-  if [ "<%=scope.function_phd_template_var("::phd::params::security_enabled")%>" == "true" ]; then
-    perm=`stat -c %a:%U:%G <%=scope.function_phd_template_var("task_bin_exe")%> 2>/dev/null`
-    if [ $? -eq 0 ] && [ "$perm" == "6050:root:hadoop" ] ; then
-      echo "taskcontroller ok"
-    else
-      echo 'check taskcontroller' ; exit 1
-    fi
-  fi
-}
-
-function check_jetty {
-  hname=`hostname`
-  jmx=`curl -s -S -m 5 "http://$hname:<%=scope.function_phd_template_var("::phd::tasktracker_port")%>/jmx?qry=Hadoop:service=TaskTracker,name=ShuffleServerMetrics" 2>/dev/null` ;
-  if [ $? -eq 0 ] ; then
-    e=`echo $jmx | awk '/shuffle_exceptions_caught/ {printf"%d",$2}'` ;
-    e=${e:-0} # no jmx servlet ?
-    if [ $e -gt 10 ] ; then
-      echo "check jetty: shuffle_exceptions=$e" ; exit 1
-    else
-      echo "jetty ok"
-    fi
-  else
-    echo "check jetty: ping failed" ; exit 1
-  fi
-}
-
-
-# Run all checks
-for check in disks taskcontroller jetty; do
-  msg=`check_${check}` ;
-  if [ $? -eq 0 ] ; then
-    ok_msg="$ok_msg$msg,"
-  else
-    err_msg="$err_msg$msg,"
-  fi
-done
-
-if [ ! -z "$err_msg" ] ; then
-  echo -n "ERROR $err_msg "
-fi
-if [ ! -z "$ok_msg" ] ; then
-  echo -n "OK: $ok_msg"
-fi
-
-echo
-
-# Success!
-exit 0

http://git-wip-us.apache.org/repos/asf/ambari/blob/930d4499/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/hooks/before-START/templates/include_hosts_list.j2
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/hooks/before-START/templates/include_hosts_list.j2 b/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/hooks/before-START/templates/include_hosts_list.j2
deleted file mode 100644
index 4a9e713..0000000
--- a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/hooks/before-START/templates/include_hosts_list.j2
+++ /dev/null
@@ -1,21 +0,0 @@
-{#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF 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.
-#}
-
-{% for host in slave_hosts %}
-{{host}}
-{% endfor %}

http://git-wip-us.apache.org/repos/asf/ambari/blob/930d4499/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/metainfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/metainfo.xml b/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/metainfo.xml
deleted file mode 100644
index ca45822..0000000
--- a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/metainfo.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0"?>
-<!--
-   Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF 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.
--->
-<metainfo>
-    <versions>
-	  <active>true</active>
-    </versions>
-</metainfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/930d4499/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/repos/repoinfo.xml b/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/repos/repoinfo.xml
deleted file mode 100644
index 4ca3b26..0000000
--- a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/repos/repoinfo.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0"?>
-<!--
-   Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF 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.
--->
-<reposinfo>
-  
-  <os family="redhat6">
-    <repo>
-      <baseurl>http://localhost/PHD</baseurl>
-      <repoid>PHD-3.0.0.0</repoid>
-      <reponame>PHD</reponame>
-    </repo>
-    <repo>
-  	  
-      <baseurl>http://localhost/PHD-UTILS</baseurl>
-      <repoid>PHD-UTILS-1.0</repoid>
-      <reponame>PHD-UTILS</reponame>
-    </repo>
-  </os>
-</reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/930d4499/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/role_command_order.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/role_command_order.json b/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/role_command_order.json
deleted file mode 100644
index b52c4d2..0000000
--- a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/role_command_order.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
-  "_comment" : "Record format:",
-  "_comment" : "blockedRole-blockedCommand: [blockerRole1-blockerCommand1, blockerRole2-blockerCommand2, ...]",
-  "general_deps" : {
-    "_comment" : "dependencies for all cases",
-    "NAGIOS_SERVER-INSTALL" : ["HIVE_CLIENT-INSTALL", "HCAT-INSTALL",
-        "MAPREDUCE_CLIENT-INSTALL", "OOZIE_CLIENT-INSTALL"],
-    "HBASE_MASTER-START": ["ZOOKEEPER_SERVER-START"],
-    "HBASE_REGIONSERVER-START": ["HBASE_MASTER-START"],
-    "OOZIE_SERVER-START": ["NODEMANAGER-START", "RESOURCEMANAGER-START"],
-    "WEBHCAT_SERVER-START": ["NODEMANAGER-START", "HIVE_SERVER-START"],
-    "HIVE_METASTORE-START": ["MYSQL_SERVER-START", "POSTGRESQL_SERVER-START"],
-    "HIVE_SERVER-START": ["NODEMANAGER-START", "MYSQL_SERVER-START", "POSTGRESQL_SERVER-START"],
-    "HUE_SERVER-START": ["HIVE_SERVER-START", "HCAT-START", "OOZIE_SERVER-START"],
-    "FLUME_HANDLER-START": ["OOZIE_SERVER-START"],
-    "NAGIOS_SERVER-START": ["HBASE_MASTER-START", "HBASE_REGIONSERVER-START",
-        "GANGLIA_SERVER-START", "GANGLIA_MONITOR-START", "HCAT-START",
-        "HIVE_SERVER-START", "HIVE_METASTORE-START", "HUE_SERVER-START",
-        "ZOOKEEPER_SERVER-START", "NODEMANAGER-START", "RESOURCEMANAGER-START",
-        "MYSQL_SERVER-START", "POSTGRESQL_SERVER-START", "OOZIE_SERVER-START", "PIG-START", "SQOOP-START",
-        "WEBHCAT_SERVER-START", "FLUME_HANDLER-START"],
-    "MAPREDUCE_SERVICE_CHECK-SERVICE_CHECK": ["NODEMANAGER-START", "RESOURCEMANAGER-START"],
-    "OOZIE_SERVICE_CHECK-SERVICE_CHECK": ["OOZIE_SERVER-START", "MAPREDUCE2_SERVICE_CHECK-SERVICE_CHECK"],
-    "HBASE_SERVICE_CHECK-SERVICE_CHECK": ["HBASE_MASTER-START", "HBASE_REGIONSERVER-START"],
-    "HIVE_SERVICE_CHECK-SERVICE_CHECK": ["HIVE_SERVER-START", "HIVE_METASTORE-START", "WEBHCAT_SERVER-START"],
-    "HCAT_SERVICE_CHECK-SERVICE_CHECK": ["HIVE_SERVER-START"],
-    "PIG_SERVICE_CHECK-SERVICE_CHECK": ["NODEMANAGER-START", "RESOURCEMANAGER-START"],
-    "MAHOUT_SERVICE_CHECK-SERVICE_CHECK": ["NODEMANAGER-START", "RESOURCEMANAGER-START"],
-    "SQOOP_SERVICE_CHECK-SERVICE_CHECK": ["NODEMANAGER-START", "RESOURCEMANAGER-START"],
-    "ZOOKEEPER_SERVICE_CHECK-SERVICE_CHECK": ["ZOOKEEPER_SERVER-START"],
-    "ZOOKEEPER_QUORUM_SERVICE_CHECK-SERVICE_CHECK": ["ZOOKEEPER_SERVER-START"],
-    "ZOOKEEPER_SERVER-STOP" : ["HBASE_MASTER-STOP", "HBASE_REGIONSERVER-STOP"],
-    "HBASE_MASTER-STOP": ["HBASE_REGIONSERVER-STOP"]
-  },
-  "_comment" : "GLUSTERFS-specific dependencies",
-  "optional_glusterfs": {
-    "HBASE_MASTER-START": ["PEERSTATUS-START"],
-    "GLUSTERFS_SERVICE_CHECK-SERVICE_CHECK": ["PEERSTATUS-START"]
-  },
-  "_comment" : "Dependencies that are used when GLUSTERFS is not present in cluster",
-  "optional_no_glusterfs": {
-    "SECONDARY_NAMENODE-START": ["NAMENODE-START"],
-    "RESOURCEMANAGER-START": ["NAMENODE-START", "DATANODE-START"],
-    "NODEMANAGER-START": ["NAMENODE-START", "DATANODE-START", "RESOURCEMANAGER-START"],
-    "HISTORYSERVER-START": ["NAMENODE-START", "DATANODE-START"],
-    "HBASE_MASTER-START": ["NAMENODE-START", "DATANODE-START"],
-    "HIVE_SERVER-START": ["DATANODE-START"],
-    "WEBHCAT_SERVER-START": ["DATANODE-START"],
-    "NAGIOS_SERVER-START": ["NAMENODE-START", "SECONDARY_NAMENODE-START",
-        "DATANODE-START", "RESOURCEMANAGER-START", "NODEMANAGER-START", "HISTORYSERVER-START"],
-    "HDFS_SERVICE_CHECK-SERVICE_CHECK": ["NAMENODE-START", "DATANODE-START",
-        "SECONDARY_NAMENODE-START"],
-    "MAPREDUCE2_SERVICE_CHECK-SERVICE_CHECK": ["NODEMANAGER-START",
-        "RESOURCEMANAGER-START", "HISTORYSERVER-START", "YARN_SERVICE_CHECK-SERVICE_CHECK"],
-    "YARN_SERVICE_CHECK-SERVICE_CHECK": ["NODEMANAGER-START", "RESOURCEMANAGER-START"],
-    "RESOURCEMANAGER_SERVICE_CHECK-SERVICE_CHECK": ["RESOURCEMANAGER-START"],
-    "PIG_SERVICE_CHECK-SERVICE_CHECK": ["RESOURCEMANAGER-START", "NODEMANAGER-START"],
-    "MAHOUT_SERVICE_CHECK-SERVICE_CHECK": ["RESOURCEMANAGER-START", "NODEMANAGER-START"],
-    "NAMENODE-STOP": ["RESOURCEMANAGER-STOP", "NODEMANAGER-STOP",
-        "HISTORYSERVER-STOP", "HBASE_MASTER-STOP"],
-    "DATANODE-STOP": ["RESOURCEMANAGER-STOP", "NODEMANAGER-STOP",
-        "HISTORYSERVER-STOP", "HBASE_MASTER-STOP"]
-  },
-  "_comment" : "Dependencies that are used in HA NameNode cluster",
-  "namenode_optional_ha": {
-    "NAMENODE-START": ["ZKFC-START", "JOURNALNODE-START", "ZOOKEEPER_SERVER-START"],
-    "ZKFC-START": ["ZOOKEEPER_SERVER-START"],
-    "NAGIOS_SERVER-START": ["ZKFC-START", "JOURNALNODE-START"]
-  },
-  "_comment" : "Dependencies that are used in ResourceManager HA cluster",
-  "resourcemanager_optional_ha" : {
-    "RESOURCEMANAGER-START": ["ZOOKEEPER_SERVER-START"]
-  }
-}
-

http://git-wip-us.apache.org/repos/asf/ambari/blob/930d4499/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/configuration/flume-conf.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/configuration/flume-conf.xml b/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/configuration/flume-conf.xml
deleted file mode 100644
index 74a4c15..0000000
--- a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/configuration/flume-conf.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
-<!--
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF 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.
- */
--->
-
-<configuration supports_final="false">
-  <property>
-    <name>content</name>
-    <description>Describe all the Flume agent configurations</description>
-    <value>
-# Flume agent config
-    </value>
-  </property>
-</configuration>

http://git-wip-us.apache.org/repos/asf/ambari/blob/930d4499/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/configuration/flume-env.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/configuration/flume-env.xml b/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/configuration/flume-env.xml
deleted file mode 100644
index 902b3ca..0000000
--- a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/configuration/flume-env.xml
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
-<!--
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF 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.
- */
--->
-
-<configuration>
-  <property>
-    <name>flume_conf_dir</name>
-    <value>/etc/flume/conf</value>
-    <description>Location to save configuration files</description>
-  </property>
-  <property>
-    <name>flume_log_dir</name>
-    <value>/var/log/flume</value>
-    <description>Location to save log files</description>
-  </property>
-  <property>
-    <name>flume_user</name>
-    <value>flume</value>
-    <property-type>USER</property-type>
-    <description>Flume User</description>
-  </property>
-
-  <!-- flume-env.sh -->
-  <property>
-    <name>content</name>
-    <description>This is the jinja template for flume-env.sh file</description>
-    <value>
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF 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.
-
-# If this file is placed at FLUME_CONF_DIR/flume-env.sh, it will be sourced
-# during Flume startup.
-
-# Enviroment variables can be set here.
-
-export JAVA_HOME={{java_home}}
-
-# Give Flume more memory and pre-allocate, enable remote monitoring via JMX
-# export JAVA_OPTS="-Xms100m -Xmx2000m -Dcom.sun.management.jmxremote"
-
-# Note that the Flume conf directory is always included in the classpath.
-#FLUME_CLASSPATH=""
-
-# export HIVE_HOME=/usr/lib/hive
-# export HCAT_HOME=/usr/lib/hive-hcatalog
-    </value>
-  </property>
-</configuration>

http://git-wip-us.apache.org/repos/asf/ambari/blob/930d4499/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/configuration/flume-log4j.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/configuration/flume-log4j.xml b/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/configuration/flume-log4j.xml
deleted file mode 100644
index 8c6ac27..0000000
--- a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/configuration/flume-log4j.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
-<!--
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF 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.
- */
--->
-
-<configuration supports_final="false">
-  <property>
-    <name>content</name>
-    <description>Custom log4j.properties</description>
-    <value>
-# Flume log4j config
-    </value>
-  </property>
-</configuration>

http://git-wip-us.apache.org/repos/asf/ambari/blob/930d4499/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/metainfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/metainfo.xml b/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/metainfo.xml
deleted file mode 100644
index 7421be1..0000000
--- a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/metainfo.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-<!--
-   Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF 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.
--->
-<metainfo>
-  <schemaVersion>2.0</schemaVersion>
-  <services>
-    <service>
-      <name>FLUME</name>
-      <displayName>Flume</displayName>
-      <comment>Data management and processing platform</comment>
-      <version>1.5.0.1.phd.3.0.0.0</version>
-      <components>
-        <component>
-          <name>FLUME_HANDLER</name>
-          <displayName>Flume</displayName>
-          <category>SLAVE</category>
-          <cardinality>1+</cardinality>
-          <commandScript>
-            <script>scripts/flume_handler.py</script>
-            <scriptType>PYTHON</scriptType>
-            <timeout>600</timeout>
-          </commandScript>
-        </component>
-      </components>
-
-      <osSpecifics>
-        <osSpecific>
-          <osFamily>any</osFamily>
-          <packages>
-            <package>
-              <name>flume</name>
-            </package>
-          </packages>
-        </osSpecific>
-      </osSpecifics>
-
-      <commandScript>
-        <script>scripts/flume_check.py</script>
-        <scriptType>PYTHON</scriptType>
-        <timeout>300</timeout>
-      </commandScript>
-      
-      <requiredServices>
-        <service>HDFS</service>
-      </requiredServices>
-
-      <configuration-dependencies>
-        <config-type>flume-env</config-type>
-        <config-type>flume-conf</config-type>
-        <config-type>flume-log4j</config-type>
-      </configuration-dependencies>
-
-    </service>
-  </services>
-</metainfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/930d4499/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/metrics.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/metrics.json b/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/metrics.json
deleted file mode 100644
index b0eae2e..0000000
--- a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/metrics.json
+++ /dev/null
@@ -1,720 +0,0 @@
-{
-  "FLUME_HANDLER": {
-    "Component": [
-      {
-        "type": "ganglia",
-        "metrics": {
-          "default": {
-            "metrics/boottime": {
-              "metric": "boottime",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/cpu/cpu_aidle": {
-              "metric": "cpu_aidle",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/cpu/cpu_idle": {
-              "metric": "cpu_idle",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/cpu/cpu_nice": {
-              "metric": "cpu_nice",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/cpu/cpu_num": {
-              "metric": "cpu_num",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/cpu/cpu_speed": {
-              "metric": "cpu_speed",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/cpu/cpu_system": {
-              "metric": "cpu_system",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/cpu/cpu_user": {
-              "metric": "cpu_user",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/cpu/cpu_wio": {
-              "metric": "cpu_wio",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/disk/disk_free": {
-              "metric": "disk_free",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/disk/disk_total": {
-              "metric": "disk_total",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/disk/part_max_used": {
-              "metric": "part_max_used",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/jvm/gcCount": {
-              "metric": "jvm.metrics.gcCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/jvm/gcTimeMillis": {
-              "metric": "jvm.metrics.gcTimeMillis",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/jvm/logError": {
-              "metric": "jvm.metrics.logError",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/jvm/logFatal": {
-              "metric": "jvm.metrics.logFatal",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/jvm/logInfo": {
-              "metric": "jvm.metrics.logInfo",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/jvm/logWarn": {
-              "metric": "jvm.metrics.logWarn",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/jvm/maxMemoryM": {
-              "metric": "jvm.metrics.maxMemoryM",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/jvm/memHeapCommittedM": {
-              "metric": "jvm.metrics.memHeapCommittedM",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/jvm/memHeapUsedM": {
-              "metric": "jvm.metrics.memHeapUsedM",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/jvm/memNonHeapCommittedM": {
-              "metric": "jvm.metrics.memNonHeapCommittedM",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/jvm/memNonHeapUsedM": {
-              "metric": "jvm.metrics.memNonHeapUsedM",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/jvm/threadsBlocked": {
-              "metric": "jvm.metrics.threadsBlocked",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/jvm/threadsNew": {
-              "metric": "jvm.metrics.threadsNew",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/jvm/threadsRunnable": {
-              "metric": "jvm.metrics.threadsRunnable",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/jvm/threadsTerminated": {
-              "metric": "jvm.metrics.threadsTerminated",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/jvm/threadsTimedWaiting": {
-              "metric": "jvm.metrics.threadsTimedWaiting",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/jvm/threadsWaiting": {
-              "metric": "jvm.metrics.threadsWaiting",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/CHANNEL/$2/ChannelCapacity": {
-              "metric": "(\\w+).CHANNEL.(\\w+).ChannelCapacity",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/CHANNEL/$2/StartTime": {
-              "metric": "(\\w+).CHANNEL.(\\w+).StartTime",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/CHANNEL/$2/EventTakeAttemptCount": {
-              "metric": "(\\w+).CHANNEL.(\\w+).EventTakeAttemptCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/CHANNEL/$2/EventTakeSuccessCount": {
-              "metric": "(\\w+).CHANNEL.(\\w+).EventTakeSuccessCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/CHANNEL/$2/EventPutAttemptCount": {
-              "metric": "(\\w+).CHANNEL.(\\w+).EventPutAttemptCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/CHANNEL/$2/StopTime": {
-              "metric": "(\\w+).CHANNEL.(\\w+).StopTime",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/CHANNEL/$2/ChannelFillPercentage": {
-              "metric": "(\\w+).CHANNEL.(\\w+).ChannelFillPercentage",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/CHANNEL/$2/ChannelSize": {
-              "metric": "(\\w+).CHANNEL.(\\w+).ChannelSize",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/CHANNEL/$2/EventPutSuccessCount": {
-              "metric": "(\\w+).CHANNEL.(\\w+).EventPutSuccessCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SINK/$2/ConnectionCreatedCount": {
-              "metric": "(\\w+).SINK.(\\w+).ConnectionCreatedCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SINK/$2/BatchCompleteCount": {
-              "metric": "(\\w+).SINK.(\\w+).BatchCompleteCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SINK/$2/EventDrainSuccessCount": {
-              "metric": "(\\w+).SINK.(\\w+).EventDrainSuccessCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SINK/$2/StartTime": {
-              "metric": "(\\w+).SINK.(\\w+).StartTime",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SINK/$2/EventDrainAttemptCount": {
-              "metric": "(\\w+).SINK.(\\w+).EventDrainAttemptCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SINK/$2/ConnectionFailedCount": {
-              "metric": "(\\w+).SINK.(\\w+).ConnectionFailedCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SINK/$2/BatchUnderflowCount": {
-              "metric": "(\\w+).SINK.(\\w+).BatchUnderflowCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SINK/$2/ConnectionClosedCount": {
-              "metric": "(\\w+).SINK.(\\w+).ConnectionClosedCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SINK/$2/StopTime": {
-              "metric": "(\\w+).SINK.(\\w+).StopTime",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SINK/$2/BatchEmptyCount": {
-              "metric": "(\\w+).SINK.(\\w+).BatchEmptyCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SOURCE/$2/AppendBatchReceivedCount": {
-              "metric": "(\\w+).SOURCE.(\\w+).AppendBatchReceivedCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SOURCE/$2/AppendAcceptedCount": {
-              "metric": "(\\w+).SOURCE.(\\w+).AppendAcceptedCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SOURCE/$2/StartTime": {
-              "metric": "(\\w+).SOURCE.(\\w+).StartTime",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SOURCE/$2/OpenConnectionCount": {
-              "metric": "(\\w+).SOURCE.(\\w+).OpenConnectionCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SOURCE/$2/AppendBatchAcceptedCount": {
-              "metric": "(\\w+).SOURCE.(\\w+).AppendBatchAcceptedCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SOURCE/$2/AppendReceivedCount": {
-              "metric": "(\\w+).SOURCE.(\\w+).AppendReceivedCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SOURCE/$2/EventReceivedCount": {
-              "metric": "(\\w+).SOURCE.(\\w+).EventReceivedCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SOURCE/$2/StopTime": {
-              "metric": "(\\w+).SOURCE.(\\w+).StopTime",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SOURCE/$2/EventAcceptedCount": {
-              "metric": "(\\w+).SOURCE.(\\w+).EventAcceptedCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-
-            "metrics/flume/$1.substring(0)/CHANNEL/$2.replaceAll(\"[^-]+\",\"\")EventTakeSuccessCount/rate/min": {
-              "metric": "(\\w+).CHANNEL.(\\w+).EventTakeSuccessCount._rate._min",
-              "pointInTime": false,
-              "temporal": true
-            },
-            "metrics/flume/$1.substring(0)/CHANNEL/$2.replaceAll(\"[^-]+\",\"\")EventTakeSuccessCount/rate/max": {
-              "metric": "(\\w+).CHANNEL.(\\w+).EventTakeSuccessCount._rate._max",
-              "pointInTime": false,
-              "temporal": true
-            },
-            "metrics/flume/$1.substring(0)/CHANNEL/$2.replaceAll(\"[^-]+\",\"\")EventTakeSuccessCount/rate/avg": {
-              "metric": "(\\w+).CHANNEL.(\\w+).EventTakeSuccessCount._rate._avg",
-              "pointInTime": false,
-              "temporal": true
-            },
-            "metrics/flume/$1.substring(0)/CHANNEL/$2.replaceAll(\"[^-]+\",\"\")EventTakeSuccessCount/rate/sum": {
-              "metric": "(\\w+).CHANNEL.(\\w+).EventTakeSuccessCount._rate._sum",
-              "pointInTime": false,
-              "temporal": true
-            },
-
-            "metrics/flume/$1.substring(0)/CHANNEL/$2.replaceAll(\"[^-]+\",\"\")EventPutSuccessCount/rate/avg": {
-              "metric": "(\\w+).CHANNEL.(\\w+).EventPutSuccessCount._rate._avg",
-              "pointInTime": false,
-              "temporal": true
-            },
-            "metrics/flume/$1.substring(0)/CHANNEL/$2.replaceAll(\"[^-]+\",\"\")EventPutSuccessCount/rate/max": {
-              "metric": "(\\w+).CHANNEL.(\\w+).EventPutSuccessCount._rate._max",
-              "pointInTime": false,
-              "temporal": true
-            },
-            "metrics/flume/$1.substring(0)/CHANNEL/$2.replaceAll(\"[^-]+\",\"\")EventPutSuccessCount/rate/min": {
-              "metric": "(\\w+).CHANNEL.(\\w+).EventPutSuccessCount._rate._min",
-              "pointInTime": false,
-              "temporal": true
-            },
-            "metrics/flume/$1.substring(0)/CHANNEL/$2.replaceAll(\"[^-]+\",\"\")EventPutSuccessCount/rate/sum": {
-              "metric": "(\\w+).CHANNEL.(\\w+).EventPutSuccessCount._rate._sum",
-              "pointInTime": false,
-              "temporal": true
-            },
-
-            "metrics/flume/$1.substring(0)/CHANNEL/$2.replaceAll(\"[^-]+\",\"\")ChannelSize/avg": {
-              "metric": "(\\w+).CHANNEL.(\\w+).ChannelSize._avg",
-              "pointInTime": false,
-              "temporal": true
-            },
-            "metrics/flume/$1.substring(0)/CHANNEL/$2.replaceAll(\"[^-]+\",\"\")ChannelSize/max": {
-              "metric": "(\\w+).CHANNEL.(\\w+).ChannelSize._max",
-              "pointInTime": false,
-              "temporal": true
-            },
-            "metrics/flume/$1.substring(0)/CHANNEL/$2.replaceAll(\"[^-]+\",\"\")ChannelSize/min": {
-              "metric": "(\\w+).CHANNEL.(\\w+).ChannelSize._min",
-              "pointInTime": false,
-              "temporal": true
-            },
-            "metrics/flume/$1.substring(0)/CHANNEL/$2.replaceAll(\"[^-]+\",\"\")ChannelSize/sum": {
-              "metric": "(\\w+).CHANNEL.(\\w+).ChannelSize._sum",
-              "pointInTime": false,
-              "temporal": true
-            }
-
-          }
-        }
-      }
-    ],
-    "HostComponent": [
-      {
-        "type": "ganglia",
-        "metrics": {
-          "default": {
-            "metrics/boottime": {
-              "metric": "boottime",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/cpu/cpu_aidle": {
-              "metric": "cpu_aidle",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/cpu/cpu_idle": {
-              "metric": "cpu_idle",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/cpu/cpu_nice": {
-              "metric": "cpu_nice",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/cpu/cpu_num": {
-              "metric": "cpu_num",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/cpu/cpu_speed": {
-              "metric": "cpu_speed",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/cpu/cpu_system": {
-              "metric": "cpu_system",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/cpu/cpu_user": {
-              "metric": "cpu_user",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/cpu/cpu_wio": {
-              "metric": "cpu_wio",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/disk/disk_free": {
-              "metric": "disk_free",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/disk/disk_total": {
-              "metric": "disk_total",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/disk/part_max_used": {
-              "metric": "part_max_used",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/jvm/gcCount": {
-              "metric": "jvm.metrics.gcCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/jvm/gcTimeMillis": {
-              "metric": "jvm.metrics.gcTimeMillis",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/jvm/logError": {
-              "metric": "jvm.metrics.logError",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/jvm/logFatal": {
-              "metric": "jvm.metrics.logFatal",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/jvm/logInfo": {
-              "metric": "jvm.metrics.logInfo",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/jvm/logWarn": {
-              "metric": "jvm.metrics.logWarn",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/jvm/maxMemoryM": {
-              "metric": "jvm.metrics.maxMemoryM",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/jvm/memHeapCommittedM": {
-              "metric": "jvm.metrics.memHeapCommittedM",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/jvm/memHeapUsedM": {
-              "metric": "jvm.metrics.memHeapUsedM",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/jvm/memNonHeapCommittedM": {
-              "metric": "jvm.metrics.memNonHeapCommittedM",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/jvm/memNonHeapUsedM": {
-              "metric": "jvm.metrics.memNonHeapUsedM",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/jvm/threadsBlocked": {
-              "metric": "jvm.metrics.threadsBlocked",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/jvm/threadsNew": {
-              "metric": "jvm.metrics.threadsNew",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/jvm/threadsRunnable": {
-              "metric": "jvm.metrics.threadsRunnable",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/jvm/threadsTerminated": {
-              "metric": "jvm.metrics.threadsTerminated",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/jvm/threadsTimedWaiting": {
-              "metric": "jvm.metrics.threadsTimedWaiting",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/jvm/threadsWaiting": {
-              "metric": "jvm.metrics.threadsWaiting",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/CHANNEL/$2/ChannelCapacity": {
-              "metric": "(\\w+).CHANNEL.(\\w+).ChannelCapacity",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/CHANNEL/$2/StartTime": {
-              "metric": "(\\w+).CHANNEL.(\\w+).StartTime",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/CHANNEL/$2/EventTakeAttemptCount": {
-              "metric": "(\\w+).CHANNEL.(\\w+).EventTakeAttemptCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/CHANNEL/$2/EventTakeSuccessCount": {
-              "metric": "(\\w+).CHANNEL.(\\w+).EventTakeSuccessCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/CHANNEL/$2/EventPutAttemptCount": {
-              "metric": "(\\w+).CHANNEL.(\\w+).EventPutAttemptCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/CHANNEL/$2/StopTime": {
-              "metric": "(\\w+).CHANNEL.(\\w+).StopTime",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/CHANNEL/$2/ChannelFillPercentage": {
-              "metric": "(\\w+).CHANNEL.(\\w+).ChannelFillPercentage",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/CHANNEL/$2/ChannelSize": {
-              "metric": "(\\w+).CHANNEL.(\\w+).ChannelSize",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/CHANNEL/$2/EventPutSuccessCount": {
-              "metric": "(\\w+).CHANNEL.(\\w+).EventPutSuccessCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SINK/$2/ConnectionCreatedCount": {
-              "metric": "(\\w+).SINK.(\\w+).ConnectionCreatedCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SINK/$2/BatchCompleteCount": {
-              "metric": "(\\w+).SINK.(\\w+).BatchCompleteCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SINK/$2/EventDrainSuccessCount": {
-              "metric": "(\\w+).SINK.(\\w+).EventDrainSuccessCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SINK/$2/StartTime": {
-              "metric": "(\\w+).SINK.(\\w+).StartTime",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SINK/$2/EventDrainAttemptCount": {
-              "metric": "(\\w+).SINK.(\\w+).EventDrainAttemptCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SINK/$2/ConnectionFailedCount": {
-              "metric": "(\\w+).SINK.(\\w+).ConnectionFailedCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SINK/$2/BatchUnderflowCount": {
-              "metric": "(\\w+).SINK.(\\w+).BatchUnderflowCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SINK/$2/ConnectionClosedCount": {
-              "metric": "(\\w+).SINK.(\\w+).ConnectionClosedCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SINK/$2/StopTime": {
-              "metric": "(\\w+).SINK.(\\w+).StopTime",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SINK/$2/BatchEmptyCount": {
-              "metric": "(\\w+).SINK.(\\w+).BatchEmptyCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SOURCE/$2/AppendBatchReceivedCount": {
-              "metric": "(\\w+).SOURCE.(\\w+).AppendBatchReceivedCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SOURCE/$2/AppendAcceptedCount": {
-              "metric": "(\\w+).SOURCE.(\\w+).AppendAcceptedCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SOURCE/$2/StartTime": {
-              "metric": "(\\w+).SOURCE.(\\w+).StartTime",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SOURCE/$2/OpenConnectionCount": {
-              "metric": "(\\w+).SOURCE.(\\w+).OpenConnectionCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SOURCE/$2/AppendBatchAcceptedCount": {
-              "metric": "(\\w+).SOURCE.(\\w+).AppendBatchAcceptedCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SOURCE/$2/AppendReceivedCount": {
-              "metric": "(\\w+).SOURCE.(\\w+).AppendReceivedCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SOURCE/$2/EventReceivedCount": {
-              "metric": "(\\w+).SOURCE.(\\w+).EventReceivedCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SOURCE/$2/StopTime": {
-              "metric": "(\\w+).SOURCE.(\\w+).StopTime",
-              "pointInTime": true,
-              "temporal": true
-            },
-            "metrics/flume/$1/SOURCE/$2/EventAcceptedCount": {
-              "metric": "(\\w+).SOURCE.(\\w+).EventAcceptedCount",
-              "pointInTime": true,
-              "temporal": true
-            },
-
-            "metrics/flume/$1.substring(0)/CHANNEL/$2.replaceAll(\"[^-]+\",\"\")EventTakeSuccessCount/rate/avg": {
-              "metric": "(\\w+).CHANNEL.(\\w+).EventTakeSuccessCount._rate._avg",
-              "pointInTime": false,
-              "temporal": true
-            },
-            "metrics/flume/$1.substring(0)/CHANNEL/$2.replaceAll(\"[^-]+\",\"\")EventTakeSuccessCount/rate/max": {
-              "metric": "(\\w+).CHANNEL.(\\w+).EventTakeSuccessCount._rate._max",
-              "pointInTime": false,
-              "temporal": true
-            },
-            "metrics/flume/$1.substring(0)/CHANNEL/$2.replaceAll(\"[^-]+\",\"\")EventTakeSuccessCount/rate/min": {
-              "metric": "(\\w+).CHANNEL.(\\w+).EventTakeSuccessCount._rate._min",
-              "pointInTime": false,
-              "temporal": true
-            },
-            "metrics/flume/$1.substring(0)/CHANNEL/$2.replaceAll(\"[^-]+\",\"\")EventTakeSuccessCount/rate/sum": {
-              "metric": "(\\w+).CHANNEL.(\\w+).EventTakeSuccessCount._rate._sum",
-              "pointInTime": false,
-              "temporal": true
-            },
-
-            "metrics/flume/$1.substring(0)/CHANNEL/$2.replaceAll(\"[^-]+\",\"\")EventPutSuccessCount/rate/avg": {
-              "metric": "(\\w+).CHANNEL.(\\w+).EventPutSuccessCount._rate._avg",
-              "pointInTime": false,
-              "temporal": true
-            },
-            "metrics/flume/$1.substring(0)/CHANNEL/$2.replaceAll(\"[^-]+\",\"\")EventPutSuccessCount/rate/max": {
-              "metric": "(\\w+).CHANNEL.(\\w+).EventPutSuccessCount._rate._max",
-              "pointInTime": false,
-              "temporal": true
-            },
-            "metrics/flume/$1.substring(0)/CHANNEL/$2.replaceAll(\"[^-]+\",\"\")EventPutSuccessCount/rate/min": {
-              "metric": "(\\w+).CHANNEL.(\\w+).EventPutSuccessCount._rate._min",
-              "pointInTime": false,
-              "temporal": true
-            },
-            "metrics/flume/$1.substring(0)/CHANNEL/$2.replaceAll(\"[^-]+\",\"\")EventPutSuccessCount/rate/sum": {
-              "metric": "(\\w+).CHANNEL.(\\w+).EventPutSuccessCount._rate._sum",
-              "pointInTime": false,
-              "temporal": true
-            },
-
-            "metrics/flume/$1.substring(0)/CHANNEL/$2.replaceAll(\"[^-]+\",\"\")ChannelSize/avg": {
-              "metric": "(\\w+).CHANNEL.(\\w+).ChannelSize._avg",
-              "pointInTime": false,
-              "temporal": true
-            },
-            "metrics/flume/$1.substring(0)/CHANNEL/$2.replaceAll(\"[^-]+\",\"\")ChannelSize/max": {
-              "metric": "(\\w+).CHANNEL.(\\w+).ChannelSize._max",
-              "pointInTime": false,
-              "temporal": true
-            },
-            "metrics/flume/$1.substring(0)/CHANNEL/$2.replaceAll(\"[^-]+\",\"\")ChannelSize/min": {
-              "metric": "(\\w+).CHANNEL.(\\w+).ChannelSize._min",
-              "pointInTime": false,
-              "temporal": true
-            },
-            "metrics/flume/$1.substring(0)/CHANNEL/$2.replaceAll(\"[^-]+\",\"\")ChannelSize/sum": {
-              "metric": "(\\w+).CHANNEL.(\\w+).ChannelSize._sum",
-              "pointInTime": false,
-              "temporal": true
-            }
-
-          }
-        }
-      }
-    ]
-  }
-}

http://git-wip-us.apache.org/repos/asf/ambari/blob/930d4499/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/package/scripts/flume.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/package/scripts/flume.py b/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/package/scripts/flume.py
deleted file mode 100644
index 2db4039..0000000
--- a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/package/scripts/flume.py
+++ /dev/null
@@ -1,255 +0,0 @@
-"""
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF 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.
-
-"""
-
-import glob
-import json
-import os
-from resource_management import *
-
-def flume(action = None):
-  import params
-
-  if action == 'config':
-    # remove previously defined meta's
-    for n in find_expected_agent_names():
-      os.unlink(os.path.join(params.flume_conf_dir, n, 'ambari-meta.json'))
-
-    Directory(params.flume_conf_dir, recursive=True)
-    Directory(params.flume_log_dir, owner=params.flume_user)
-
-    File(format("{flume_conf_dir}/flume-env.sh"),
-         owner=params.flume_user,
-         content=InlineTemplate(params.flume_env_sh_template)
-    )
-
-    flume_agents = {}
-    if params.flume_conf_content is not None:
-      flume_agents = build_flume_topology(params.flume_conf_content)
-
-    for agent in flume_agents.keys():
-      flume_agent_conf_dir = os.path.join(params.flume_conf_dir, agent)
-      flume_agent_conf_file = os.path.join(flume_agent_conf_dir, 'flume.conf')
-      flume_agent_meta_file = os.path.join(flume_agent_conf_dir, 'ambari-meta.json')
-      flume_agent_log4j_file = os.path.join(flume_agent_conf_dir, 'log4j.properties')
-
-      Directory(flume_agent_conf_dir)
-
-      PropertiesFile(flume_agent_conf_file,
-        properties=flume_agents[agent],
-        mode = 0644)
-
-      File(flume_agent_log4j_file,
-        content=Template('log4j.properties.j2', agent_name = agent),
-        mode = 0644)
-
-      File(flume_agent_meta_file,
-        content = json.dumps(ambari_meta(agent, flume_agents[agent])),
-        mode = 0644)
-
-  elif action == 'start':
-    # desired state for service should be STARTED
-    if len(params.flume_command_targets) == 0:
-      _set_desired_state('STARTED')
-      
-    flume_base = format('su -s /bin/bash {flume_user} -c "export JAVA_HOME={java_home}; '
-      '{flume_bin} agent --name {{0}} --conf {{1}} --conf-file {{2}} {{3}}"')
-
-    for agent in cmd_target_names():
-      flume_agent_conf_dir = params.flume_conf_dir + os.sep + agent
-      flume_agent_conf_file = flume_agent_conf_dir + os.sep + "flume.conf"
-      flume_agent_pid_file = params.flume_run_dir + os.sep + agent + ".pid"
-
-      if not os.path.isfile(flume_agent_conf_file):
-        continue
-
-      if not is_live(flume_agent_pid_file):
-        # TODO someday make the ganglia ports configurable
-        extra_args = ''
-        if params.ganglia_server_host is not None:
-          extra_args = '-Dflume.monitoring.type=ganglia -Dflume.monitoring.hosts={0}:{1}'
-          extra_args = extra_args.format(params.ganglia_server_host, '8655')
-
-        flume_cmd = flume_base.format(agent, flume_agent_conf_dir,
-           flume_agent_conf_file, extra_args)
-
-        Execute(flume_cmd, wait_for_finish=False)
-
-        # sometimes startup spawns a couple of threads - so only the first line may count
-        pid_cmd = format('pgrep -o -u {flume_user} -f ^{java_home}.*{agent}.* > {flume_agent_pid_file}')
-        Execute(pid_cmd, logoutput=True, tries=10, try_sleep=6)
-
-    pass
-  elif action == 'stop':
-    # desired state for service should be INSTALLED
-    if len(params.flume_command_targets) == 0:
-      _set_desired_state('INSTALLED')
-
-    pid_files = glob.glob(params.flume_run_dir + os.sep + "*.pid")
-
-    if 0 == len(pid_files):
-      return
-
-    agent_names = cmd_target_names()
-
-
-    for agent in agent_names:
-      pid_file = params.flume_run_dir + os.sep + agent + '.pid'
-      pid = format('`cat {pid_file}` > /dev/null 2>&1')
-      Execute(format('kill {pid}'), ignore_failures=True)
-      File(pid_file, action = 'delete')
-
-
-def ambari_meta(agent_name, agent_conf):
-  res = {}
-
-  sources = agent_conf[agent_name + '.sources'].split(' ')
-  res['sources_count'] = len(sources)
-
-  sinks = agent_conf[agent_name + '.sinks'].split(' ')
-  res['sinks_count'] = len(sinks)
-
-  channels = agent_conf[agent_name + '.channels'].split(' ')
-  res['channels_count'] = len(channels)
-
-  return res
-
-# define a map of dictionaries, where the key is agent name
-# and the dictionary is the name/value pair
-def build_flume_topology(content):
-
-  result = {}
-  agent_names = []
-
-  for line in content.split('\n'):
-    rline = line.strip()
-    if 0 != len(rline) and not rline.startswith('#'):
-      pair = rline.split('=')
-      lhs = pair[0].strip()
-      rhs = pair[1].strip()
-
-      part0 = lhs.split('.')[0]
-
-      if lhs.endswith(".sources"):
-        agent_names.append(part0)
-
-      if not result.has_key(part0):
-        result[part0] = {}
-
-      result[part0][lhs] = rhs
-
-  # trim out non-agents
-  for k in result.keys():
-    if not k in agent_names:
-      del result[k]
-
-
-  return result
-
-def is_live(pid_file):
-  live = False
-
-  try:
-    check_process_status(pid_file)
-    live = True
-  except ComponentIsNotRunning:
-    pass
-
-  return live
-
-def live_status(pid_file):
-  import params
-
-  pid_file_part = pid_file.split(os.sep).pop()
-
-  res = {}
-  res['name'] = pid_file_part
-  
-  if pid_file_part.endswith(".pid"):
-    res['name'] = pid_file_part[:-4]
-
-  res['status'] = 'RUNNING' if is_live(pid_file) else 'NOT_RUNNING'
-  res['sources_count'] = 0
-  res['sinks_count'] = 0
-  res['channels_count'] = 0
-
-  flume_agent_conf_dir = params.flume_conf_dir + os.sep + res['name']
-  flume_agent_meta_file = flume_agent_conf_dir + os.sep + 'ambari-meta.json'
-
-  try:
-    with open(flume_agent_meta_file) as fp:
-      meta = json.load(fp)
-      res['sources_count'] = meta['sources_count']
-      res['sinks_count'] = meta['sinks_count']
-      res['channels_count'] = meta['channels_count']
-  except:
-    pass
-
-  return res
-  
-def flume_status():
-  import params
-
-  meta_files = find_expected_agent_names()
-  pid_files = []
-  for agent_name in meta_files:
-    pid_files.append(os.path.join(params.flume_run_dir, agent_name + '.pid'))
-
-  procs = []
-  for pid_file in pid_files:
-    procs.append(live_status(pid_file))
-
-  return procs
-
-# these are what Ambari believes should be running
-def find_expected_agent_names():
-  import params
-
-  files = glob.glob(params.flume_conf_dir + os.sep + "*/ambari-meta.json")
-  expected = []
-
-  for f in files:
-    expected.append(os.path.dirname(f).split(os.sep).pop())
-
-  return expected
-
-def cmd_target_names():
-  import params
-
-  if len(params.flume_command_targets) > 0:
-    return params.flume_command_targets
-  else:
-    return find_expected_agent_names()
-
-def _set_desired_state(state):
-  import params
-  try:
-    with open(os.path.join(params.flume_run_dir, 'ambari-state.txt'), 'w') as fp:
-      fp.write(state)
-  except:
-    pass
-
-def get_desired_state():
-  import params
-
-  try:
-    with open(os.path.join(params.flume_run_dir, 'ambari-state.txt'), 'r') as fp:
-      return fp.read()
-  except:
-    return 'INSTALLED'
-  

http://git-wip-us.apache.org/repos/asf/ambari/blob/930d4499/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/package/scripts/flume_check.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/package/scripts/flume_check.py b/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/package/scripts/flume_check.py
deleted file mode 100644
index b93b8e8..0000000
--- a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/package/scripts/flume_check.py
+++ /dev/null
@@ -1,40 +0,0 @@
-"""
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF 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.
-
-"""
-
-from resource_management import *
-
-
-class FlumeServiceCheck(Script):
-
-  def service_check(self, env):
-    import params
-
-    env.set_params(params)
-    if params.security_enabled:
-      principal_replaced = params.http_principal.replace("_HOST", params.hostname)
-      Execute(format("{kinit_path_local} -kt {http_keytab} {principal_replaced}"),
-              user=params.smoke_user)
-
-    Execute(format('env JAVA_HOME={java_home} {flume_bin} version'),
-            logoutput=True,
-            tries = 3,
-            try_sleep = 20)
-
-if __name__ == "__main__":
-  FlumeServiceCheck().execute()

http://git-wip-us.apache.org/repos/asf/ambari/blob/930d4499/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/package/scripts/flume_handler.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/package/scripts/flume_handler.py b/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/package/scripts/flume_handler.py
deleted file mode 100644
index 42ac560..0000000
--- a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/package/scripts/flume_handler.py
+++ /dev/null
@@ -1,121 +0,0 @@
-"""
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF 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.
-
-"""
-
-from resource_management import *
-from flume import flume
-from flume import flume_status
-from flume import find_expected_agent_names
-from flume import get_desired_state
-
-class FlumeHandler(Script):
-  def install(self, env):
-    import params
-
-    self.install_packages(env)
-    env.set_params(params)
-
-  def start(self, env):
-    import params
-
-    env.set_params(params)
-    self.configure(env)
-
-    flume(action='start')
-
-  def stop(self, env):
-    import params
-
-    env.set_params(params)
-
-    flume(action='stop')
-
-  def configure(self, env):
-    import params
-
-    env.set_params(params)
-
-    flume(action='config')
-
-  def status(self, env):
-    import params
-
-    env.set_params(params)
-
-    processes = flume_status()
-    expected_agents = find_expected_agent_names()
-
-    json = {}
-    json['processes'] = processes
-    json['alerts'] = []
-
-    alert = {}
-    alert['name'] = 'flume_agent'
-    alert['label'] = 'Flume Agent process'
-
-    if len(processes) == 0 and len(expected_agents) == 0:
-      alert['state'] = 'OK'
-
-      if not params.hostname is None:
-        alert['text'] = 'No agents defined on ' + params.hostname
-      else:
-        alert['text'] = 'No agents defined'
-
-    else:
-      crit = []
-      ok = []
-
-      for proc in processes:
-        if not proc.has_key('status') or proc['status'] == 'NOT_RUNNING':
-          crit.append(proc['name'])
-        else:
-          ok.append(proc['name'])
-
-      text_arr = []
-
-      if len(crit) > 0:
-        text_arr.append("{0} {1} NOT running".format(", ".join(crit),
-          "is" if len(crit) == 1 else "are"))
-
-      if len(ok) > 0:
-        text_arr.append("{0} {1} running".format(", ".join(ok),
-          "is" if len(ok) == 1 else "are"))
-
-      plural = len(crit) > 1 or len(ok) > 1
-      alert['text'] = "Agent{0} {1} {2}".format(
-        "s" if plural else "",
-        " and ".join(text_arr),
-        "" if params.hostname is None else "on " + str(params.hostname))
-
-      alert['state'] = 'CRITICAL' if len(crit) > 0 else 'OK'
-
-    json['alerts'].append(alert)
-    self.put_structured_out(json)
-
-    # only throw an exception if there are agents defined and there is a 
-    # problem with the processes; if there are no agents defined, then 
-    # the service should report STARTED (green) ONLY if the desired state is started.  otherwise, INSTALLED (red)
-    if len(expected_agents) > 0:
-      for proc in processes:
-        if not proc.has_key('status') or proc['status'] == 'NOT_RUNNING':
-          raise ComponentIsNotRunning()
-    elif len(expected_agents) == 0 and 'INSTALLED' == get_desired_state():
-      raise ComponentIsNotRunning()
-
-if __name__ == "__main__":
-  FlumeHandler().execute()

http://git-wip-us.apache.org/repos/asf/ambari/blob/930d4499/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/package/scripts/params.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/package/scripts/params.py b/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/package/scripts/params.py
deleted file mode 100644
index 227bf8a..0000000
--- a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/package/scripts/params.py
+++ /dev/null
@@ -1,70 +0,0 @@
-"""
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF 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.
-
-"""
-
-from resource_management import *
-
-config = Script.get_config()
-
-user_group = config['configurations']['cluster-env']['user_group']
-proxyuser_group =  config['configurations']['hadoop-env']['proxyuser_group']
-
-security_enabled = False
-
-#RPM versioning support
-rpm_version = default("/configurations/cluster-env/rpm_version", None)
-
-#hadoop params
-if rpm_version:
-  flume_bin = '/usr/phd/current/flume-client/bin/flume-ng'
-else:
-  flume_bin = '/usr/bin/flume-ng'
-
-flume_conf_dir = '/etc/flume/conf'
-java_home = config['hostLevelParams']['java_home']
-flume_log_dir = '/var/log/flume'
-flume_run_dir = '/var/run/flume'
-flume_user = 'flume'
-flume_group = 'flume'
-
-if 'flume-env' in config['configurations'] and 'flume_user' in config['configurations']['flume-env']:
-  flume_user = config['configurations']['flume-env']['flume_user']
-
-if (('flume-conf' in config['configurations']) and('content' in config['configurations']['flume-conf'])):
-  flume_conf_content = config['configurations']['flume-conf']['content']
-else:
-  flume_conf_content = None
-
-if (('flume-log4j' in config['configurations']) and ('content' in config['configurations']['flume-log4j'])):
-  flume_log4j_content = config['configurations']['flume-log4j']['content']
-else:
-  flume_log4j_content = None
-
-targets = default('/commandParams/flume_handler', None)
-flume_command_targets = [] if targets is None else targets.split(',')
-
-flume_env_sh_template = config['configurations']['flume-env']['content']
-
-ganglia_server_hosts = default('/clusterHostInfo/ganglia_server_host', [])
-ganglia_server_host = None
-if 0 != len(ganglia_server_hosts):
-  ganglia_server_host = ganglia_server_hosts[0]
-
-hostname = None
-if config.has_key('hostname'):
-  hostname = config['hostname']

http://git-wip-us.apache.org/repos/asf/ambari/blob/930d4499/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/package/templates/flume.conf.j2
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/package/templates/flume.conf.j2 b/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/package/templates/flume.conf.j2
deleted file mode 100644
index 70e495c..0000000
--- a/ambari-server/src/main/resources/stacks/PHD/3.0.0.0/services/FLUME/package/templates/flume.conf.j2
+++ /dev/null
@@ -1,24 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF 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.
-
-
-# flume.conf: Add your flume configuration here and start flume
-#             Note if you are using the Windows srvice or Unix service
-#             provided by the PHD distribution, they will assume the
-#             agent's name in this file to be 'a1'
-#
-{{flume_agent_conf_content}}


Mime
View raw message