You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by yu...@apache.org on 2013/05/29 22:46:34 UTC

svn commit: r1487638 [6/8] - in /incubator/ambari/branches/branch-1.4.0: ./ ambari-agent/src/main/puppet/modules/hdp-hadoop/manifests/ ambari-agent/src/main/puppet/modules/hdp-hadoop/templates/ ambari-agent/src/main/puppet/modules/hdp-hbase/manifests/ ...

Modified: incubator/ambari/branches/branch-1.4.0/ambari-server/src/main/resources/stacks/HDP/2.0.1/services/HDFS/configuration/global.xml
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.4.0/ambari-server/src/main/resources/stacks/HDP/2.0.1/services/HDFS/configuration/global.xml?rev=1487638&r1=1487637&r2=1487638&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.4.0/ambari-server/src/main/resources/stacks/HDP/2.0.1/services/HDFS/configuration/global.xml (original)
+++ incubator/ambari/branches/branch-1.4.0/ambari-server/src/main/resources/stacks/HDP/2.0.1/services/HDFS/configuration/global.xml Wed May 29 20:46:31 2013
@@ -37,21 +37,6 @@
     <description>Secondary NameNode.</description>
   </property>
   <property>
-    <name>rm_host</name>
-    <value></value>
-    <description>Resource Manager.</description>
-  </property>
-  <property>
-    <name>nm_hosts</name>
-    <value></value>
-    <description>List of Node Manager Hosts.</description>
-  </property>
-  <property>
-    <name>hs_host</name>
-    <value></value>
-    <description>History Server.</description>
-  </property>
-  <property>
     <name>fs_checkpoint_dir</name>
     <value>/hadoop/hdfs/namesecondary</value>
     <description>Secondary NameNode checkpoint dir.</description>

Added: incubator/ambari/branches/branch-1.4.0/ambari-server/src/main/resources/stacks/HDP/2.0.1/services/MAPREDUCE2/configuration/global.xml
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.4.0/ambari-server/src/main/resources/stacks/HDP/2.0.1/services/MAPREDUCE2/configuration/global.xml?rev=1487638&view=auto
==============================================================================
--- incubator/ambari/branches/branch-1.4.0/ambari-server/src/main/resources/stacks/HDP/2.0.1/services/MAPREDUCE2/configuration/global.xml (added)
+++ incubator/ambari/branches/branch-1.4.0/ambari-server/src/main/resources/stacks/HDP/2.0.1/services/MAPREDUCE2/configuration/global.xml Wed May 29 20:46:31 2013
@@ -0,0 +1,29 @@
+<?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>hs_host</name>
+    <value></value>
+    <description>History Server.</description>
+  </property>
+</configuration>

Modified: incubator/ambari/branches/branch-1.4.0/ambari-server/src/main/resources/stacks/HDP/2.0.1/services/MAPREDUCE2/configuration/mapred-site.xml
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.4.0/ambari-server/src/main/resources/stacks/HDP/2.0.1/services/MAPREDUCE2/configuration/mapred-site.xml?rev=1487638&r1=1487637&r2=1487638&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.4.0/ambari-server/src/main/resources/stacks/HDP/2.0.1/services/MAPREDUCE2/configuration/mapred-site.xml (original)
+++ incubator/ambari/branches/branch-1.4.0/ambari-server/src/main/resources/stacks/HDP/2.0.1/services/MAPREDUCE2/configuration/mapred-site.xml Wed May 29 20:46:31 2013
@@ -26,7 +26,7 @@
 
   <property>
     <name>io.sort.mb</name>
-    <value></value>
+    <value>100</value>
     <description>No description</description>
   </property>
 
@@ -38,7 +38,7 @@
 
   <property>
     <name>io.sort.spill.percent</name>
-    <value></value>
+    <value>0.1</value>
     <description>No description</description>
   </property>
 
@@ -50,44 +50,8 @@
 
 <!-- map/reduce properties -->
 
-<property>
-  <name>mapred.tasktracker.tasks.sleeptime-before-sigkill</name>
-  <value>250</value>
-  <description>Normally, this is the amount of time before killing
-  processes, and the recommended-default is 5.000 seconds - a value of
-  5000 here.  In this case, we are using it solely to blast tasks before
-  killing them, and killing them very quickly (1/4 second) to guarantee
-  that we do not leave VMs around for later jobs.
-  </description>
-</property>
-
-  <property>
-    <name>mapred.job.tracker.handler.count</name>
-    <value>50</value>
-    <description>
-    The number of server threads for the JobTracker. This should be roughly
-    4% of the number of tasktracker nodes.
-    </description>
-  </property>
-
   <property>
     <name>mapred.system.dir</name>
-    <value>/mapred/system</value>
-    <description>No description</description>
-    <final>true</final>
-  </property>
-
-  <property>
-    <name>mapred.job.tracker</name>
-    <!-- cluster variant -->
-    <value></value>
-    <description>No description</description>
-    <final>true</final>
-  </property>
-
-  <property>
-    <name>mapred.job.tracker.http.address</name>
-    <!-- cluster variant -->
     <value></value>
     <description>No description</description>
     <final>true</final>
@@ -102,11 +66,6 @@
   </property>
 
   <property>
-  <name>mapreduce.cluster.administrators</name>
-  <value> hadoop</value>
-  </property>
-
-  <property>
     <name>mapred.reduce.parallel.copies</name>
     <value>30</value>
     <description>No description</description>
@@ -119,17 +78,6 @@
   </property>
 
   <property>
-    <name>mapred.tasktracker.reduce.tasks.maximum</name>
-    <value></value>
-    <description>No description</description>
-  </property>
-
-  <property>
-    <name>tasktracker.http.threads</name>
-    <value>50</value>
-  </property>
-
-  <property>
     <name>mapred.map.tasks.speculative.execution</name>
     <value>false</value>
     <description>If true, then multiple instances of some map tasks
@@ -193,25 +141,6 @@
   </description>
 </property>
 
-
-  <property>
-    <name>mapred.jobtracker.completeuserjobs.maximum</name>
-    <value>5</value>
-  </property>
-
-  <property>
-    <name>mapred.jobtracker.taskScheduler</name>
-    <value></value>
-  </property>
-
-  <property>
-    <name>mapred.jobtracker.restart.recover</name>
-    <value>false</value>
-    <description>"true" to enable (job) recovery upon restart,
-               "false" to start afresh
-    </description>
-  </property>
-
   <property>
     <name>mapred.job.reduce.input.buffer.percent</name>
     <value>0.0</value>
@@ -255,65 +184,31 @@
   </property>
 
   <property>
-    <name>mapred.task.tracker.task-controller</name>
-    <value></value>
-   <description>
-     TaskController which is used to launch and manage task execution.
-  </description>
-  </property>
-
-  <property>
     <name>mapred.child.root.logger</name>
     <value>INFO,TLA</value>
   </property>
 
   <property>
     <name>mapred.child.java.opts</name>
-    <value></value>
-
+    <value>-Xmx512m</value>
     <description>No description</description>
   </property>
 
   <property>
-    <name>mapred.cluster.map.memory.mb</name>
-    <value></value>
-  </property>
-
-  <property>
     <name>mapred.cluster.reduce.memory.mb</name>
     <value></value>
   </property>
 
   <property>
     <name>mapred.job.map.memory.mb</name>
-    <value></value>
+    <value>1024</value>
   </property>
 
   <property>
     <name>mapred.job.reduce.memory.mb</name>
-    <value></value>
-  </property>
-
-  <property>
-    <name>mapred.cluster.max.map.memory.mb</name>
-    <value></value>
+    <value>1024</value>
   </property>
 
-  <property>
-    <name>mapred.cluster.max.reduce.memory.mb</name>
-    <value></value>
-  </property>
-
-<property>
-  <name>mapred.hosts</name>
-  <value></value>
-</property>
-
-<property>
-  <name>mapred.hosts.exclude</name>
-  <value></value>
-</property>
-
 <property>
   <name>mapred.max.tracker.blacklists</name>
   <value>16</value>
@@ -328,59 +223,11 @@
 </property>
 
 <property>
-  <name>mapred.healthChecker.interval</name>
-  <value>135000</value>
-</property>
-
-<property>
   <name>mapred.healthChecker.script.timeout</name>
   <value>60000</value>
 </property>
 
 <property>
-  <name>mapred.job.tracker.persist.jobstatus.active</name>
-  <value>false</value>
-  <description>Indicates if persistency of job status information is
-  active or not.
-  </description>
-</property>
-
-<property>
-  <name>mapred.job.tracker.persist.jobstatus.hours</name>
-  <value>1</value>
-  <description>The number of hours job status information is persisted in DFS.
-    The job status information will be available after it drops of the memory
-    queue and between jobtracker restarts. With a zero value the job status
-    information is not persisted at all in DFS.
-  </description>
-</property>
-
-<property>
-  <name>mapred.job.tracker.persist.jobstatus.dir</name>
-  <value></value>
-  <description>The directory where the job status information is persisted
-   in a file system to be available after it drops of the memory queue and
-   between jobtracker restarts.
-  </description>
-</property>
-
-<property>
-  <name>mapred.jobtracker.retirejob.check</name>
-  <value>10000</value>
-</property>
-
-<property>
-  <name>mapred.jobtracker.retirejob.interval</name>
-  <value>21600000</value>
-</property>
-
-<property>
-  <name>mapred.job.tracker.history.completed.location</name>
-  <value>/mapred/history/done</value>
-  <description>No description</description>
-</property>
-
-<property>
   <name>mapred.task.maxvmem</name>
   <value></value>
   <final>true</final>
@@ -388,85 +235,16 @@
 </property>
 
 <property>
-  <name>mapred.jobtracker.maxtasks.per.job</name>
-  <value></value>
-  <final>true</final>
-  <description>The maximum number of tasks for a single job.
-  A value of -1 indicates that there is no maximum.  </description>
-</property>
-
-<property>
   <name>mapreduce.fileoutputcommitter.marksuccessfuljobs</name>
   <value>false</value>
 </property>
 
-<property>
-  <name>mapred.userlog.retain.hours</name>
-  <value></value>
-</property>
-
-<property>
-  <name>mapred.job.reuse.jvm.num.tasks</name>
-  <value>1</value>
-  <description>
-    How many tasks to run per jvm. If set to -1, there is no limit
-  </description>
-  <final>true</final>
-</property>
-
-<property>
-  <name>mapreduce.jobtracker.kerberos.principal</name>
-  <value></value>
-  <description>
-      JT user name key.
- </description>
-</property>
-
-<property>
-  <name>mapreduce.tasktracker.kerberos.principal</name>
-   <value></value>
-  <description>
-       tt user name key. "_HOST" is replaced by the host name of the task tracker.
-   </description>
-</property>
-
-
-  <property>
-    <name>hadoop.job.history.user.location</name>
-    <value>none</value>
-    <final>true</final>
-  </property>
-
-
- <property>
-   <name>mapreduce.jobtracker.keytab.file</name>
-   <value></value>
-   <description>
-       The keytab for the jobtracker principal.
-   </description>
-
-</property>
-
  <property>
    <name>mapreduce.tasktracker.keytab.file</name>
    <value></value>
     <description>The filename of the keytab for the task tracker</description>
  </property>
 
- <property>
-   <name>mapreduce.jobtracker.staging.root.dir</name>
-   <value>/user</value>
- <description>The Path prefix for where the staging directories should be placed. The next level is always the user's
-   name. It is a path in the default file system.</description>
- </property>
-
- <property>
-      <name>mapreduce.tasktracker.group</name>
-      <value>hadoop</value>
-      <description>The group that the task controller uses for accessing the task controller. The mapred user must be a member and users should *not* be members.</description>
-
- </property>
-
   <property>
     <name>mapreduce.jobtracker.split.metainfo.maxsize</name>
     <value>50000000</value>
@@ -475,29 +253,6 @@
     initialize.
    </description>
   </property>
-  <property>
-    <name>mapreduce.history.server.embedded</name>
-    <value>false</value>
-    <description>Should job history server be embedded within Job tracker
-process</description>
-    <final>true</final>
-  </property>
-
-  <property>
-    <name>mapreduce.history.server.http.address</name>
-    <!-- cluster variant -->
-    <value></value>
-    <description>Http address of the history server</description>
-    <final>true</final>
-  </property>
-
-  <property>
-    <name>mapreduce.jobhistory.kerberos.principal</name>
-    <!-- cluster variant -->
-  <value></value>
-    <description>Job history user name key. (must map to same user as JT
-user)</description>
-  </property>
 
  <property>
    <name>mapreduce.jobhistory.keytab.file</name>
@@ -507,28 +262,6 @@ user)</description>
  </property>
 
 <property>
-  <name>mapred.jobtracker.blacklist.fault-timeout-window</name>
-  <value>180</value>
-  <description>
-    3-hour sliding window (value is in minutes)
-  </description>
-</property>
-
-<property>
-  <name>mapred.jobtracker.blacklist.fault-bucket-width</name>
-  <value>15</value>
-  <description>
-    15-minute bucket size (value is in minutes)
-  </description>
-</property>
-
-<property>
-  <name>mapred.queue.names</name>
-  <value>default</value>
-  <description> Comma separated list of queues configured for this jobtracker.</description>
-</property>
-
-<property>
   <name>mapreduce.shuffle.port</name>
   <value>8081</value>
   <description>Default port that the ShuffleHandler will run on. ShuffleHandler is a service run at the NodeManager to facilitate transfers of intermediate Map outputs to requesting Reducers.</description>
@@ -546,4 +279,22 @@ user)</description>
   <description>Directory where history files are managed by the MR JobHistory Server.</description>
 </property>
 
+<property>       
+  <name>mapreduce.jobhistory.address</name>       
+  <value>localhost:10020</value>  
+  <description>Enter your JobHistoryServer hostname.</description>
+</property>
+
+<property>       
+  <name>mapreduce.jobhistory.webapp.address</name>       
+  <value>localhost:19888</value>  
+  <description>Enter your JobHistoryServer hostname.</description>
+</property>
+
+<property>
+  <name>mapreduce.framework.name</name>
+  <value>yarn</value>
+  <description>No description</description>
+</property>
+
 </configuration>

Added: incubator/ambari/branches/branch-1.4.0/ambari-server/src/main/resources/stacks/HDP/2.0.1/services/YARN/configuration/global.xml
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.4.0/ambari-server/src/main/resources/stacks/HDP/2.0.1/services/YARN/configuration/global.xml?rev=1487638&view=auto
==============================================================================
--- incubator/ambari/branches/branch-1.4.0/ambari-server/src/main/resources/stacks/HDP/2.0.1/services/YARN/configuration/global.xml (added)
+++ incubator/ambari/branches/branch-1.4.0/ambari-server/src/main/resources/stacks/HDP/2.0.1/services/YARN/configuration/global.xml Wed May 29 20:46:31 2013
@@ -0,0 +1,34 @@
+<?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>rm_host</name>
+    <value></value>
+    <description>Resource Manager.</description>
+  </property>
+  <property>
+    <name>nm_hosts</name>
+    <value></value>
+    <description>List of Node Manager Hosts.</description>
+  </property>
+</configuration>

Modified: incubator/ambari/branches/branch-1.4.0/ambari-server/src/main/resources/stacks/HDP/2.0.1/services/YARN/configuration/yarn-site.xml
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.4.0/ambari-server/src/main/resources/stacks/HDP/2.0.1/services/YARN/configuration/yarn-site.xml?rev=1487638&r1=1487637&r2=1487638&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.4.0/ambari-server/src/main/resources/stacks/HDP/2.0.1/services/YARN/configuration/yarn-site.xml (original)
+++ incubator/ambari/branches/branch-1.4.0/ambari-server/src/main/resources/stacks/HDP/2.0.1/services/YARN/configuration/yarn-site.xml Wed May 29 20:46:31 2013
@@ -25,23 +25,23 @@
 
   <property>
     <name>yarn.resourcemanager.resource-tracker.address</name>
-    <value>TODO-RMNODE-HOSTNAME:8025</value>
+    <value>localhost:8025</value>
   </property>
 
   <property>
     <name>yarn.resourcemanager.scheduler.address</name>
-    <value>TODO-RMNODE-HOSTNAME:8030</value>
+    <value>localhost:8030</value>
   </property>
   
   <property>
     <name>yarn.resourcemanager.address</name>
-    <value>TODO-RMNODE-HOSTNAME:8050</value>
+    <value>localhost:8050</value>
   </property>
 
-	<property>
+  <property>
     <name>yarn.resourcemanager.admin.address</name>
-    <value>TODO-RMNODE-HOSTNAME:8141</value>
-	</property>
+    <value>localhost:8141</value>
+  </property>
 
   <property>
    <name>yarn.resourcemanager.scheduler.class</name>
@@ -66,11 +66,6 @@
   </property>
 
   <property>
-    <name>yarn.nodemanager.local-dirs</name>
-    <value>TODO-YARN-LOCAL-DIR</value>
-  </property>
-
-  <property>
     <name>yarn.nodemanager.resource.memory-mb</name>
     <value>8192</value>
     <description>Amount of physical memory, in MB, that can be allocated
@@ -111,8 +106,13 @@
   </property>
 
   <property>
+    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
+    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
+  </property>
+
+  <property>
     <name>yarn.nodemanager.log-dirs</name>
-    <value>TODO-YARN-LOG-DIR</value>
+    <value>/var/log/hadoop/yarn</value>
   </property>
 
   <property>

Modified: incubator/ambari/branches/branch-1.4.0/ambari-server/src/main/resources/upgrade/ddl/Ambari-DDL-Postgres-UPGRADE-1.3.0.sql
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.4.0/ambari-server/src/main/resources/upgrade/ddl/Ambari-DDL-Postgres-UPGRADE-1.3.0.sql?rev=1487638&r1=1487637&r2=1487638&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.4.0/ambari-server/src/main/resources/upgrade/ddl/Ambari-DDL-Postgres-UPGRADE-1.3.0.sql (original)
+++ incubator/ambari/branches/branch-1.4.0/ambari-server/src/main/resources/upgrade/ddl/Ambari-DDL-Postgres-UPGRADE-1.3.0.sql Wed May 29 20:46:31 2013
@@ -29,14 +29,18 @@ ALTER TABLE ambari.clusterstate
 CREATE TABLE ambari.metainfo ("metainfo_key" VARCHAR(255), "metainfo_value" VARCHAR, PRIMARY KEY("metainfo_key"));
 GRANT ALL PRIVILEGES ON TABLE ambari.metainfo TO :username;
 
-CREATE TABLE ambari.hostconfigmapping (cluster_id bigint NOT NULL, host_name VARCHAR(255) NOT NULL, type_name VARCHAR(255) NOT NULL, version_tag VARCHAR(255) NOT NULL, service_name VARCHAR(255), create_timestamp BIGINT NOT NULL, selected INTEGER NOT NULL DEFAULT 0, user_name VARCHAR(255) NOT NULL DEFAULT '_db', PRIMARY KEY (cluster_id, host_name, type_name, create_timestamp));
+CREATE TABLE ambari.hostconfigmapping (cluster_id bigint NOT NULL, host_name VARCHAR(255) NOT NULL, type_name VARCHAR(255) NOT NULL, version_tag VARCHAR(255) NOT NULL, service_name VARCHAR(255), create_timestamp BIGINT NOT NULL, selected INTEGER NOT NULL DEFAULT 0, PRIMARY KEY (cluster_id, host_name, type_name, create_timestamp));
 GRANT ALL PRIVILEGES ON TABLE ambari.hostconfigmapping TO :username;
 ALTER TABLE ambari.hostconfigmapping ADD CONSTRAINT FK_hostconfigmapping_cluster_id FOREIGN KEY (cluster_id) REFERENCES ambari.clusters (cluster_id);
 ALTER TABLE ambari.hostconfigmapping ADD CONSTRAINT FK_hostconfigmapping_host_name FOREIGN KEY (host_name) REFERENCES ambari.hosts (host_name);
 
 ALTER ROLE :username SET search_path to 'ambari';
 
-ALTER TABLE ambari.stage ADD COLUMN request_context VARCHAR(255);
+ALTER SEQUENCE ambari.host_role_command_task_id_seq INCREMENT BY 50;
+SELECT nextval('ambari.host_role_command_task_id_seq');
+
+ALTER TABLE ambari.stage ADD COLUMN request_context VARCHAR(255);SELECT nextval('ambari.host_role_command_task_id_seq');
+
 
 -- portability changes for MySQL/Oracle support
 alter table ambari.hostcomponentdesiredconfigmapping rename to hcdesiredconfigmapping;
@@ -51,7 +55,7 @@ insert into ambari.ambari_sequences(sequ
   union all
   select 'user_id_seq', nextval('ambari.users_user_id_seq')
   union all
-  select 'host_role_command_id_seq', (select max(task_id) from ambari.host_role_command) + 51;
+  select 'host_role_command_id_seq', nextval('ambari.host_role_command_task_id_seq');
 
 drop sequence ambari.host_role_command_task_id_seq;
 drop sequence ambari.users_user_id_seq;

Modified: incubator/ambari/branches/branch-1.4.0/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.4.0/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java?rev=1487638&r1=1487637&r2=1487638&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.4.0/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java (original)
+++ incubator/ambari/branches/branch-1.4.0/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java Wed May 29 20:46:31 2013
@@ -18,25 +18,15 @@
 
 package org.apache.ambari.server.controller;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import javax.persistence.EntityManager;
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+import com.google.inject.persist.PersistService;
 import junit.framework.Assert;
 import org.apache.ambari.server.AmbariException;
 import org.apache.ambari.server.ClusterNotFoundException;
 import org.apache.ambari.server.DuplicateResourceException;
-import org.apache.ambari.server.ParentObjectNotFoundException;
 import org.apache.ambari.server.ObjectNotFoundException;
+import org.apache.ambari.server.ParentObjectNotFoundException;
 import org.apache.ambari.server.Role;
 import org.apache.ambari.server.RoleCommand;
 import org.apache.ambari.server.StackAccessException;
@@ -56,7 +46,22 @@ import org.apache.ambari.server.security
 import org.apache.ambari.server.serveraction.ServerAction;
 import org.apache.ambari.server.serveraction.ServerActionManager;
 import org.apache.ambari.server.serveraction.ServerActionManagerImpl;
-import org.apache.ambari.server.state.*;
+import org.apache.ambari.server.state.Cluster;
+import org.apache.ambari.server.state.Clusters;
+import org.apache.ambari.server.state.Config;
+import org.apache.ambari.server.state.ConfigFactory;
+import org.apache.ambari.server.state.ConfigImpl;
+import org.apache.ambari.server.state.Host;
+import org.apache.ambari.server.state.HostState;
+import org.apache.ambari.server.state.Service;
+import org.apache.ambari.server.state.ServiceComponent;
+import org.apache.ambari.server.state.ServiceComponentFactory;
+import org.apache.ambari.server.state.ServiceComponentHost;
+import org.apache.ambari.server.state.ServiceComponentHostFactory;
+import org.apache.ambari.server.state.ServiceFactory;
+import org.apache.ambari.server.state.StackId;
+import org.apache.ambari.server.state.StackInfo;
+import org.apache.ambari.server.state.State;
 import org.apache.ambari.server.state.svccomphost.ServiceComponentHostStartEvent;
 import org.apache.ambari.server.utils.StageUtils;
 import org.junit.After;
@@ -66,9 +71,21 @@ import org.junit.Test;
 import org.junit.rules.ExpectedException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-import com.google.inject.persist.PersistService;
+
+import javax.persistence.EntityManager;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.fail;
 
 
 public class AmbariManagementControllerTest {

Modified: incubator/ambari/branches/branch-1.4.0/ambari-server/src/test/java/org/apache/ambari/server/controller/jmx/JMXPropertyProviderTest.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.4.0/ambari-server/src/test/java/org/apache/ambari/server/controller/jmx/JMXPropertyProviderTest.java?rev=1487638&r1=1487637&r2=1487638&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.4.0/ambari-server/src/test/java/org/apache/ambari/server/controller/jmx/JMXPropertyProviderTest.java (original)
+++ incubator/ambari/branches/branch-1.4.0/ambari-server/src/test/java/org/apache/ambari/server/controller/jmx/JMXPropertyProviderTest.java Wed May 29 20:46:31 2013
@@ -47,7 +47,7 @@ public class JMXPropertyProviderTest {
     TestJMXHostProvider hostProvider = new TestJMXHostProvider(false);
 
     JMXPropertyProvider propertyProvider = new JMXPropertyProvider(
-        PropertyHelper.getJMXPropertyIds(Resource.Type.HostComponent),
+        PropertyHelper.getJMXPropertyIds(Resource.Type.HostComponent, PropertyHelper.JMXMetricsVersion.One),
         streamProvider,
         hostProvider,
         PropertyHelper.getPropertyId("HostRoles", "cluster_name"),
@@ -234,7 +234,7 @@ public class JMXPropertyProviderTest {
     TestJMXHostProvider hostProvider = new TestJMXHostProvider(true);
 
     JMXPropertyProvider propertyProvider = new JMXPropertyProvider(
-        PropertyHelper.getJMXPropertyIds(Resource.Type.HostComponent),
+        PropertyHelper.getJMXPropertyIds(Resource.Type.HostComponent, PropertyHelper.JMXMetricsVersion.One),
         streamProvider,
         hostProvider,
         PropertyHelper.getPropertyId("HostRoles", "cluster_name"),
@@ -271,7 +271,7 @@ public class JMXPropertyProviderTest {
     TestJMXHostProvider hostProvider = new TestJMXHostProvider(true);
 
     JMXPropertyProvider propertyProvider = new JMXPropertyProvider(
-        PropertyHelper.getJMXPropertyIds(Resource.Type.HostComponent),
+        PropertyHelper.getJMXPropertyIds(Resource.Type.HostComponent, PropertyHelper.JMXMetricsVersion.One),
         streamProvider,
         hostProvider,
         PropertyHelper.getPropertyId("HostRoles", "cluster_name"),
@@ -304,7 +304,7 @@ public class JMXPropertyProviderTest {
     Set<Resource> resources = new HashSet<Resource>();
 
     JMXPropertyProvider propertyProvider = new JMXPropertyProvider(
-        PropertyHelper.getJMXPropertyIds(Resource.Type.HostComponent),
+        PropertyHelper.getJMXPropertyIds(Resource.Type.HostComponent, PropertyHelper.JMXMetricsVersion.One),
         streamProvider,
         hostProvider,
         PropertyHelper.getPropertyId("HostRoles", "cluster_name"),

Added: incubator/ambari/branches/branch-1.4.0/ambari-server/src/test/java/org/apache/ambari/server/controller/jmx/JMXVersioningPropertyProviderTest.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.4.0/ambari-server/src/test/java/org/apache/ambari/server/controller/jmx/JMXVersioningPropertyProviderTest.java?rev=1487638&view=auto
==============================================================================
--- incubator/ambari/branches/branch-1.4.0/ambari-server/src/test/java/org/apache/ambari/server/controller/jmx/JMXVersioningPropertyProviderTest.java (added)
+++ incubator/ambari/branches/branch-1.4.0/ambari-server/src/test/java/org/apache/ambari/server/controller/jmx/JMXVersioningPropertyProviderTest.java Wed May 29 20:46:31 2013
@@ -0,0 +1,145 @@
+/**
+ * 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.
+ */
+
+package org.apache.ambari.server.controller.jmx;
+
+import org.apache.ambari.server.controller.internal.PropertyInfo;
+import org.apache.ambari.server.controller.internal.ResourceImpl;
+import org.apache.ambari.server.controller.spi.Predicate;
+import org.apache.ambari.server.controller.spi.Request;
+import org.apache.ambari.server.controller.spi.Resource;
+import org.apache.ambari.server.controller.spi.SystemException;
+import org.apache.ambari.server.controller.utilities.PropertyHelper;
+import org.junit.Assert;
+import org.junit.Test;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * JMXVersioningPropertyProvider Tests
+ */
+public class JMXVersioningPropertyProviderTest {
+  @Test
+  public void testPopulateResources() throws Exception {
+
+    Map<String, PropertyHelper.JMXMetricsVersion> clusterVersionsMap =
+        new HashMap<String, PropertyHelper.JMXMetricsVersion>();
+
+    clusterVersionsMap.put("c1", PropertyHelper.JMXMetricsVersion.One);
+    clusterVersionsMap.put("c2", PropertyHelper.JMXMetricsVersion.Two);
+
+    Map<PropertyHelper.JMXMetricsVersion, JMXPropertyProvider> providers =
+        new HashMap<PropertyHelper.JMXMetricsVersion, JMXPropertyProvider>();
+
+    TestJMXPropertyProvider propertyProvider1 = new TestJMXPropertyProvider(
+        PropertyHelper.getJMXPropertyIds(Resource.Type.HostComponent, PropertyHelper.JMXMetricsVersion.One),
+        PropertyHelper.getPropertyId("HostRoles", "cluster_name"),
+        PropertyHelper.getPropertyId("HostRoles", "host_name"),
+        PropertyHelper.getPropertyId("HostRoles", "component_name"),
+        PropertyHelper.getPropertyId("HostRoles", "state"),
+        Collections.singleton("STARTED"));
+    providers.put(PropertyHelper.JMXMetricsVersion.One, propertyProvider1);
+
+
+    TestJMXPropertyProvider propertyProvider2 = new TestJMXPropertyProvider(
+        PropertyHelper.getJMXPropertyIds(Resource.Type.HostComponent, PropertyHelper.JMXMetricsVersion.One),
+        PropertyHelper.getPropertyId("HostRoles", "cluster_name"),
+        PropertyHelper.getPropertyId("HostRoles", "host_name"),
+        PropertyHelper.getPropertyId("HostRoles", "component_name"),
+        PropertyHelper.getPropertyId("HostRoles", "state"),
+        Collections.singleton("STARTED"));
+
+    providers.put(PropertyHelper.JMXMetricsVersion.Two, propertyProvider2);
+
+
+    JMXVersioningPropertyProvider provider = new JMXVersioningPropertyProvider(clusterVersionsMap, providers, PropertyHelper.getPropertyId("HostRoles", "cluster_name"));
+
+
+    Request request = PropertyHelper.getReadRequest();
+
+    Resource resource1 = new ResourceImpl(Resource.Type.HostComponent);
+    resource1.setProperty(PropertyHelper.getPropertyId("HostRoles", "cluster_name"), "c1");
+
+
+    provider.populateResources(Collections.singleton(resource1), request, null);
+
+    Assert.assertEquals(resource1, propertyProvider1.getResource());
+    Assert.assertNull(propertyProvider2.getResource());
+
+    propertyProvider1.setResource(null);
+    propertyProvider2.setResource(null);
+
+    Resource resource2 = new ResourceImpl(Resource.Type.HostComponent);
+    resource2.setProperty(PropertyHelper.getPropertyId("HostRoles", "cluster_name"), "c2");
+
+    provider.populateResources(Collections.singleton(resource2), request, null);
+
+    Assert.assertNull(propertyProvider1.getResource());
+    Assert.assertEquals(resource2, propertyProvider2.getResource());
+
+    propertyProvider1.setResource(null);
+    propertyProvider2.setResource(null);
+
+    Set<Resource> resources = new HashSet<Resource>();
+    resources.add(resource1);
+    resources.add(resource2);
+
+    provider.populateResources(resources, request, null);
+
+    Assert.assertEquals(resource1, propertyProvider1.getResource());
+    Assert.assertEquals(resource2, propertyProvider2.getResource());
+  }
+
+  private class TestJMXPropertyProvider extends JMXPropertyProvider {
+
+    private Resource resource = null;
+
+
+    public TestJMXPropertyProvider(Map<String, Map<String, PropertyInfo>> componentMetrics,
+                                   String clusterNamePropertyId,
+                                   String hostNamePropertyId,
+                                   String componentNamePropertyId,
+                                   String statePropertyId,
+                                   Set<String> healthyStates) {
+
+      super(componentMetrics, null, null, clusterNamePropertyId, hostNamePropertyId,
+          componentNamePropertyId, statePropertyId, healthyStates);
+    }
+
+    public Resource getResource() {
+      return resource;
+    }
+
+    public void setResource(Resource resource) {
+      this.resource = resource;
+    }
+
+    @Override
+    public Set<Resource> populateResources(Set<Resource> resources, Request request, Predicate predicate) throws SystemException {
+
+      if (resources.size() == 1) {
+        resource = resources.iterator().next();
+      }
+      return resources;
+    }
+  }
+}

Modified: incubator/ambari/branches/branch-1.4.0/ambari-server/src/test/java/org/apache/ambari/server/controller/utilities/PropertyHelperTest.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.4.0/ambari-server/src/test/java/org/apache/ambari/server/controller/utilities/PropertyHelperTest.java?rev=1487638&r1=1487637&r2=1487638&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.4.0/ambari-server/src/test/java/org/apache/ambari/server/controller/utilities/PropertyHelperTest.java (original)
+++ incubator/ambari/branches/branch-1.4.0/ambari-server/src/test/java/org/apache/ambari/server/controller/utilities/PropertyHelperTest.java Wed May 29 20:46:31 2013
@@ -17,9 +17,13 @@
  */
 package org.apache.ambari.server.controller.utilities;
 
+import org.apache.ambari.server.controller.internal.PropertyInfo;
+import org.apache.ambari.server.controller.spi.Resource;
 import org.junit.Assert;
 import org.junit.Test;
 
+import java.util.Map;
+
 
 /**
  * Property helper tests.
@@ -40,5 +44,29 @@ public class PropertyHelperTest {
     Assert.assertEquals("cat/sub/foo", PropertyHelper.getPropertyId("cat/sub", "foo"));
     Assert.assertEquals("cat/sub/foo", PropertyHelper.getPropertyId("cat/sub", "foo/"));
   }
+
+  @Test
+  public void testGetJMXPropertyIds() {
+
+    //version 1
+    Map<String, Map<String, PropertyInfo>> metrics = PropertyHelper.getJMXPropertyIds(Resource.Type.HostComponent, PropertyHelper.JMXMetricsVersion.One);
+    Map<String, PropertyInfo> componentMetrics = metrics.get("HISTORYSERVER");
+    Assert.assertNull(componentMetrics);
+    componentMetrics = metrics.get("NAMENODE");
+    Assert.assertNotNull(componentMetrics);
+    PropertyInfo info = componentMetrics.get("metrics/jvm/memHeapUsedM");
+    Assert.assertNotNull(info);
+    Assert.assertEquals("Hadoop:service=NameNode,name=jvm.memHeapUsedM", info.getPropertyId());
+
+    //version 2
+    metrics = PropertyHelper.getJMXPropertyIds(Resource.Type.HostComponent, PropertyHelper.JMXMetricsVersion.Two);
+    componentMetrics = metrics.get("HISTORYSERVER");
+    Assert.assertNotNull(componentMetrics);
+    componentMetrics = metrics.get("NAMENODE");
+    Assert.assertNotNull(componentMetrics);
+    info = componentMetrics.get("metrics/jvm/memHeapUsedM");
+    Assert.assertNotNull(info);
+    Assert.assertEquals("Hadoop:service=NameNode,name=JvmMetrics.MemHeapUsedM", info.getPropertyId());
+  }
 }
 

Modified: incubator/ambari/branches/branch-1.4.0/ambari-server/src/test/java/org/apache/ambari/server/metadata/RoleGraphTest.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.4.0/ambari-server/src/test/java/org/apache/ambari/server/metadata/RoleGraphTest.java?rev=1487638&r1=1487637&r2=1487638&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.4.0/ambari-server/src/test/java/org/apache/ambari/server/metadata/RoleGraphTest.java (original)
+++ incubator/ambari/branches/branch-1.4.0/ambari-server/src/test/java/org/apache/ambari/server/metadata/RoleGraphTest.java Wed May 29 20:46:31 2013
@@ -63,5 +63,13 @@ public class RoleGraphTest {
     Assert.assertEquals(1, rco.order(nagios_server_install, mapred_client_install));
     Assert.assertEquals(1, rco.order(nagios_server_install, hcat_client_install));
     Assert.assertEquals(1, rco.order(nagios_server_install, oozie_client_install));
+
+    RoleGraphNode pig_service_check = new RoleGraphNode(Role.PIG_SERVICE_CHECK, RoleCommand.EXECUTE);
+    RoleGraphNode resourcemanager_start = new RoleGraphNode(Role.RESOURCEMANAGER, RoleCommand.START);
+    Assert.assertEquals(-1, rco.order(resourcemanager_start, pig_service_check));
+
+    RoleGraphNode hdfs_service_check = new RoleGraphNode(Role.HDFS_SERVICE_CHECK, RoleCommand.EXECUTE);
+    RoleGraphNode snamenode_start = new RoleGraphNode(Role.SECONDARY_NAMENODE, RoleCommand.START);
+    Assert.assertEquals(-1, rco.order(snamenode_start, hdfs_service_check));
   }
 }

Modified: incubator/ambari/branches/branch-1.4.0/ambari-server/src/test/resources/deploy_HDP2.sh
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.4.0/ambari-server/src/test/resources/deploy_HDP2.sh?rev=1487638&r1=1487637&r2=1487638&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.4.0/ambari-server/src/test/resources/deploy_HDP2.sh (original)
+++ incubator/ambari/branches/branch-1.4.0/ambari-server/src/test/resources/deploy_HDP2.sh Wed May 29 20:46:31 2013
@@ -4,7 +4,7 @@ curl -i -X POST -d '{"Clusters": {"versi
 echo "-----------------------Cluster-----------------------"
 curl -i -X POST -d '[{"ServiceInfo":{"service_name":"HDFS"}},{"ServiceInfo":{"service_name":"YARN"}}, {"ServiceInfo":{"service_name":"MAPREDUCEv2"}}, {"ServiceInfo":{"service_name":"TEZ"}}]' -u admin:admin http://localhost:8080/api/v1/clusters/c1/services
 echo "-----------------------Services-----------------------"
-curl -i -X PUT -d '{"Clusters":{"desired_configs":{"type":"global","tag":"version1","properties":{"dfs_name_dir":"/grid/0/hadoop/hdfs/namenode,/grid/1/hadoop/hdfs/namenode","fs_checkpoint_dir":"/grid/0/hadoop/hdfs/namesecondary","dfs_data_dir":"/grid/0/hadoop/hdfs/data,/grid/1/hadoop/hdfs/data","hdfs_log_dir_prefix":"/var/log/hadoop","hadoop_pid_dir_prefix":"/var/run/hadoop","dfs_webhdfs_enabled":false,"hadoop_heapsize":"1024","namenode_heapsize":"1024m","namenode_opt_newsize":"200m","namenode_opt_maxnewsize":"640m","datanode_du_reserved":"1","dtnode_heapsize":"1024m","dfs_datanode_failed_volume_tolerated":"0","fs_checkpoint_period":"21600","fs_checkpoint_size":"0.5","dfs_exclude":"","dfs_include":"","dfs_replication":"3","dfs_block_local_path_access_user":"hbase","dfs_datanode_data_dir_perm":"750","security_enabled":false,"kerberos_domain":"EXAMPLE.COM","kadmin_pw":"","keytab_path":"/etc/security/keytabs","namenode_formatted_mark_dir":"/var/run/hadoop/hdfs/namenode/formatte
 d/","hcat_conf_dir":"","mapred_local_dir":"/grid/0/hadoop/mapred,/grid/1/hadoop/mapred","mapred_system_dir":"/mapred/system","scheduler_name":"org.apache.hadoop.mapred.CapacityTaskScheduler","jtnode_opt_newsize":"200m","jtnode_opt_maxnewsize":"200m","jtnode_heapsize":"1024m","mapred_map_tasks_max":"4","mapred_red_tasks_max":"2","mapred_cluster_map_mem_mb":"-1","mapred_cluster_red_mem_mb":"-1","mapred_cluster_max_map_mem_mb":"-1","mapred_cluster_max_red_mem_mb":"-1","mapred_job_map_mem_mb":"-1","mapred_job_red_mem_mb":"-1","mapred_child_java_opts_sz":"768","io_sort_mb":"200","io_sort_spill_percent":"0.9","mapreduce_userlog_retainhours":"24","maxtasks_per_job":"-1","lzo_enabled":false,"snappy_enabled":true,"rca_enabled":true,"mapred_hosts_exclude":"mapred.exclude","mapred_hosts_include":"mapred.include","mapred_jobstatus_dir":"file:////mapred/jobstatus","task_controller":"org.apache.hadoop.mapred.DefaultTaskController","hbase_conf_dir":"/etc/hbase","proxyuser_group":"users","d
 fs_datanode_address":"50010","dfs_datanode_http_address":"50075","gpl_artifacts_download_url":"","apache_artifacts_download_url":"","ganglia_runtime_dir":"/var/run/ganglia/hdp","gmetad_user":"nobody","gmond_user":"nobody","java64_home":"/usr/jdk/jdk1.6.0_31","run_dir":"/var/run/hadoop","hadoop_conf_dir":"/etc/hadoop","hdfs_user":"hdfs","mapred_user":"mapred","hbase_user":"hbase","hive_user":"hive","hcat_user":"hcat","webhcat_user":"hcat","oozie_user":"oozie","zk_user":"zookeeper","smokeuser":"ambari-qa","user_group":"hadoop","rrdcached_base_dir":"/var/lib/ganglia/rrds"}}}}' -u admin:admin http://localhost:8080/api/v1/clusters/c1
+curl -i -X PUT -d '{"Clusters":{"desired_configs":{"type":"global","tag":"version1","properties":{"hive_lib":"/usr/lib/hive/lib/","hadoop_heapsize":"1024","hive_log_dir":"/var/log/hive","dfs_datanode_http_address":"50075","zk_user":"zookeeper","dfs_data_dir":"/grid/0/hadoop/hdfs/data,/grid/1/hadoop/hdfs/data","clientPort":"2181","hdfs_user":"hdfs","hive_dbroot":"/usr/lib/hive/lib","dfs_name_dir":"/grid/0/hadoop/hdfs/namenode,/grid/1/hadoop/hdfs/namenode","hfile_blockcache_size":"0.25","kadmin_pw":"","gmond_user":"nobody","hregion_majorcompaction":"86400000","user_group":"hadoop","dfs_datanode_failed_volume_tolerated":"0","zk_pid_file":"/var/run/zookeeper/zookeeper_server.pid","zookeeper_sessiontimeout":"60000","hcat_user":"hcat","zk_log_dir":"/var/log/zookeeper","oozie_derby_database":"Derby","hbase_conf_dir":"/etc/hbase","oozie_data_dir":"/grid/0/hadoop/oozie/data","dfs_replication":"3","fs_checkpoint_period":"21600","hive_database_type":"mysql","hbase_hdfs_root_dir":"/apps
 /hbase/data","run_dir":"/var/run/hadoop","oozie_log_dir":"/var/log/oozie","hbase_pid_dir":"/var/run/hbase","hive_user":"hive","security_enabled":"false","dfs_datanode_address":"50010","dfs_block_local_path_access_user":"hbase","dfs_datanode_data_dir_perm":"750","nagios_web_password":"admin","dtnode_heapsize":"1024m","tickTime":"2000","oozie_database":"New Derby Database","regionserver_memstore_upperlimit":"0.4","datanode_du_reserved":"1","hbase_tmp_dir":"/var/log/hbase","java64_home":"/usr/jdk/jdk1.6.0_31","oozie_user":"oozie","hive_metastore_port":"9083","namenode_heapsize":"1024m","nagios_contact":"a@d.m","oozie_JPAService_url":"${oozie.data.dir}/${oozie.db.schema.name}-db;create\u003dtrue","hive_ambari_database":"MySQL","oozie_jdbc_driver":"org.apache.derby.jdbc.EmbeddedDriver","zk_data_dir":"/grid/0/hadoop/zookeeper","hive_pid_dir":"/var/run/hive","mysql_connector_url":"${download_url}/mysql-connector-java-5.1.18.zip","hregion_blockmultiplier":"2","oozie_pid_dir":"/var/r
 un/oozie","gpl_artifacts_download_url":"","gmetad_user":"nobody","oozie_metastore_user_name":"oozie","hive_metastore_user_passwd":"admin","hcat_log_dir":"/var/log/webhcat","hive_hostname":"HOST","syncLimit":"5","mapred_user":"mapred","fs_checkpoint_size":"0.5","initLimit":"10","hive_database":"New MySQL Database","hive_jdbc_driver":"com.mysql.jdbc.Driver","hive_conf_dir":"/etc/hive/conf","hdfs_log_dir_prefix":"/var/log/hadoop","keytab_path":"/etc/security/keytabs","proxyuser_group":"users","hive_database_name":"hive","client_scannercaching":"100","hcat_pid_dir":"/var/run/webhcat","hdfs_enable_shortcircuit_read":"true","kerberos_domain":"EXAMPLE.COM","nagios_group":"nagios","hdfs_support_append":"true","nagios_web_login":"nagiosadmin","oozie_database_type":"derby","namenode_formatted_mark_dir":"/var/run/hadoop/hdfs/namenode/formatted/","dfs_exclude":"dfs.exclude","namenode_opt_maxnewsize":"640m","oozie_database_name":"oozie","regionserver_memstore_lab":"true","namenode_opt_ne
 wsize":"200m","smokeuser":"ambari-qa","nagios_user":"nagios","hcat_conf_dir":"","regionserver_memstore_lowerlimit":"0.35","apache_artifacts_download_url":"","hive_metastore_user_name":"hive","hstore_blockingstorefiles":"7","hadoop_conf_dir":"/etc/hadoop","oozie_metastore_user_passwd":"admin","hbase_user":"hbase","ganglia_runtime_dir":"/var/run/ganglia/hdp","fs_checkpoint_dir":"/grid/0/hadoop/hdfs/namesecondary","zk_pid_dir":"/var/run/zookeeper","hfile_max_keyvalue_size":"10485760","hive_aux_jars_path":"/usr/lib/hcatalog/share/hcatalog/hcatalog-core.jar","hstore_compactionthreshold":"3","hregion_memstoreflushsize":"134217728","hadoop_pid_dir_prefix":"/var/run/hadoop","hbase_log_dir":"/var/log/hbase","webhcat_user":"hcat","regionserver_handlers":"30","hbase_regionserver_heapsize":"1024m","dfs_include":"dfs.include","dfs_webhdfs_enabled":"true","rrdcached_base_dir":"/var/lib/ganglia/rrds","hstorefile_maxsize":"1073741824","hbase_master_heapsize":"1024m"}}}}' -u admin:admin http
 ://localhost:8080/api/v1/clusters/c1
 echo "-----------------------Global configs-----------------------"
 curl -i -X PUT -d `echo '{"Clusters":{"desired_configs":{"type":"core-site","tag":"version1","properties":{"io.file.buffer.size":"131072","io.serializations":"org.apache.hadoop.io.serializer.WritableSerialization","io.compression.codecs":"","io.compression.codec.lzo.class":"com.hadoop.compression.lzo.LzoCodec","fs.default.name":"hdfs://HOST:8020","fs.trash.interval":"360","fs.checkpoint.dir":"","fs.checkpoint.edits.dir":"${fs.checkpoint.dir}","fs.checkpoint.period":"21600","fs.checkpoint.size":"536870912","ipc.client.idlethreshold":"8000","ipc.client.connection.maxidletime":"30000","ipc.client.connect.max.retries":"50","webinterface.private.actions":"false","hadoop.security.authentication":"","hadoop.security.authorization":"","hadoop.security.auth_to_local":""}}}}' | sed s/HOST/$HOST/g` -u admin:admin http://localhost:8080/api/v1/clusters/c1
 echo "-----------------------core-site-----------------------"
@@ -16,8 +16,19 @@ curl -i -X PUT -d '{"Clusters":{"desired
 echo "-----------------------mapred-queue-acls-----------------------"
 curl -i -X PUT -d '{"Clusters":{"desired_configs":{"type":"mapred-site","tag":"version1","properties":{"io.sort.mb":"","io.sort.record.percent":".2","io.sort.spill.percent":"","io.sort.factor":"100","mapred.tasktracker.tasks.sleeptime-before-sigkill":"250","mapred.job.tracker.handler.count":"50","mapred.system.dir":"/mapred/system","mapred.job.tracker":"","mapred.job.tracker.http.address":"","mapred.local.dir":"","mapreduce.cluster.administrators":"hadoop","mapred.reduce.parallel.copies":"30","mapred.tasktracker.map.tasks.maximum":"","mapred.tasktracker.reduce.tasks.maximum":"","tasktracker.http.threads":"50","mapred.map.tasks.speculative.execution":"false","mapred.reduce.tasks.speculative.execution":"false","mapred.reduce.slowstart.completed.maps":"0.05","mapred.inmem.merge.threshold":"1000","mapred.job.shuffle.merge.percent":"0.66","mapred.job.shuffle.input.buffer.percent":"0.7","mapred.map.output.compression.codec":"","mapred.output.compression.type":"BLOCK","mapred.jobtr
 acker.completeuserjobs.maximum":"0","mapred.jobtracker.taskScheduler":"","mapred.jobtracker.restart.recover":"false","mapred.job.reduce.input.buffer.percent":"0.0","mapreduce.reduce.input.limit":"10737418240","mapred.compress.map.output":"","mapred.task.timeout":"600000","jetty.connector":"org.mortbay.jetty.nio.SelectChannelConnector","mapred.task.tracker.task-controller":"","mapred.child.root.logger":"INFO,TLA","mapred.child.java.opts":"","mapred.cluster.map.memory.mb":"","mapred.cluster.reduce.memory.mb":"","mapred.job.map.memory.mb":"","mapred.job.reduce.memory.mb":"","mapred.cluster.max.map.memory.mb":"","mapred.cluster.max.reduce.memory.mb":"","mapred.hosts":"","mapred.hosts.exclude":"","mapred.max.tracker.blacklists":"16","mapred.healthChecker.script.path":"","mapred.healthChecker.interval":"135000","mapred.healthChecker.script.timeout":"60000","mapred.job.tracker.persist.jobstatus.active":"false","mapred.job.tracker.persist.jobstatus.hours":"1","mapred.job.tracker.per
 sist.jobstatus.dir":"","mapred.jobtracker.retirejob.check":"10000","mapred.jobtracker.retirejob.interval":"0","mapred.job.tracker.history.completed.location":"/mapred/history/done","mapred.task.maxvmem":"","mapred.jobtracker.maxtasks.per.job":"","mapreduce.fileoutputcommitter.marksuccessfuljobs":"false","mapred.userlog.retain.hours":"","mapred.job.reuse.jvm.num.tasks":"1","mapreduce.jobtracker.kerberos.principal":"","mapreduce.tasktracker.kerberos.principal":"","hadoop.job.history.user.location":"none","mapreduce.jobtracker.keytab.file":"","mapreduce.tasktracker.keytab.file":"","mapreduce.jobtracker.staging.root.dir":"/user","mapreduce.tasktracker.group":"hadoop","mapreduce.jobtracker.split.metainfo.maxsize":"50000000","mapreduce.history.server.embedded":"false","mapreduce.history.server.http.address":"","mapreduce.jobhistory.kerberos.principal":"","mapreduce.jobhistory.keytab.file":"","mapred.jobtracker.blacklist.fault-timeout-window":"180","mapred.jobtracker.blacklist.faul
 t-bucket-width":"15","mapred.queue.names":"default","mapreduce.shuffle.port":"8081","mapreduce.jobhistory.intermediate-done-dir" : "/mr-history/tmp","mapreduce.jobhistory.done-dir" : "/mr-history/done"}}}}' -u admin:admin http://localhost:8080/api/v1/clusters/c1
 echo "-----------------------mapred-site-----------------------"
-curl -i -X PUT -d `echo '{"Clusters":{"desired_configs":{"type":"yarn-site","tag":"version1","properties":{"yarn.resourcemanager.resource-tracker.address":"HOST:8025","yarn.resourcemanager.scheduler.address":"HOST:8030","yarn.resourcemanager.address":"HOST:8050","yarn.resourcemanager.admin.address":"HOST:8141","yarn.resourcemanager.scheduler.class":"org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler","yarn.scheduler.minimum-allocation-mb":"1024","yarn.scheduler.maximum-allocation-mb":"8192","yarn.nodemanager.address":"0.0.0.0:45454","yarn.nodemanager.local-dirs":"/yarn/loc/dir","yarn.nodemanager.resource.memory-mb":"8192","yarn.application.classpath":"/etc/hadoop/conf,/usr/lib/hadoop/*,/usr/lib/hadoop/lib/*,/usr/lib/hadoop-hdfs/*,/usr/lib/hadoop-hdfs/lib/*,/usr/lib/hadoop-yarn/*,/usr/lib/hadoop-yarn/lib/*,/usr/lib/hadoop-mapreduce/*,/usr/lib/hadoop-mapreduce/lib/*,/usr/lib/ambari-server/*","yarn.nodemanager.vmem-pmem-ratio":"2.1","yarn.nodeman
 ager.container-executor.class":"org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor","yarn.nodemanager.aux-services":"mapreduce.shuffle","yarn.nodemanager.aux-services.class":"org.apache.hadoop.mapred.ShuffleHandler","yarn.nodemanager.log-dirs":"/var/log/yarn","yarn.nodemanager.container-monitor.interval-ms":"3000","yarn.nodemanager.health-checker.script.path":"/etc/hadoop/conf/health_check","yarn.nodemanager.health-checker.interval-ms":"135000","yarn.nodemanager.health-checker.script.timeout-ms":"60000","yarn.nodemanager.log.retain-second":"604800","yarn.log-aggregation-enable":"true","yarn.nodemanager.remote-app-log-dir":"/app-logs","yarn.nodemanager.remote-app-log-dir-suffix":"logs","yarn.nodemanager.log-aggregation.compression-type":"gz","yarn.nodemanager.delete.debug-delay-sec":"36000"}}}}'| sed s/HOST/$HOST/g` -u admin:admin http://localhost:8080/api/v1/clusters/c1
+curl -i -X PUT -d `echo '{"Clusters":{"desired_configs":{"type":"yarn-site","tag":"version1","properties":{"yarn.resourcemanager.resource-tracker.address":"HOST:8025","yarn.resourcemanager.scheduler.address":"HOST:8030","yarn.resourcemanager.address":"HOST:8050","yarn.resourcemanager.admin.address":"HOST:8141","yarn.resourcemanager.scheduler.class":"org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler","yarn.scheduler.minimum-allocation-mb":"1024","yarn.scheduler.maximum-allocation-mb":"8192","yarn.nodemanager.address":"0.0.0.0:45454","yarn.nodemanager.local-dirs":"/yarn/loc/dir","yarn.nodemanager.resource.memory-mb":"8192","yarn.application.classpath":"/etc/hadoop/conf,/usr/lib/hadoop/*,/usr/lib/hadoop/lib/*,/usr/lib/hadoop-hdfs/*,/usr/lib/hadoop-hdfs/lib/*,/usr/lib/hadoop-yarn/*,/usr/lib/hadoop-yarn/lib/*,/usr/lib/hadoop-mapreduce/*,/usr/lib/hadoop-mapreduce/lib/*,/usr/lib/ambari-server/*","yarn.nodemanager.vmem-pmem-ratio":"2.1","yarn.nodeman
 ager.container-executor.class":"org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor","yarn.nodemanager.aux-services":"mapreduce.shuffle","yarn.nodemanager.aux-services.class":"org.apache.hadoop.mapred.ShuffleHandler","yarn.nodemanager.log-dirs":"/var/log/hadoop-yarn/yarn","yarn.nodemanager.container-monitor.interval-ms":"3000","yarn.nodemanager.health-checker.script.path":"/etc/hadoop/conf/health_check","yarn.nodemanager.health-checker.interval-ms":"135000","yarn.nodemanager.health-checker.script.timeout-ms":"60000","yarn.nodemanager.log.retain-second":"604800","yarn.log-aggregation-enable":"true","yarn.nodemanager.remote-app-log-dir":"/app-logs","yarn.nodemanager.remote-app-log-dir-suffix":"logs","yarn.nodemanager.log-aggregation.compression-type":"gz","yarn.nodemanager.delete.debug-delay-sec":"36000"}}}}'| sed s/HOST/$HOST/g` -u admin:admin http://localhost:8080/api/v1/clusters/c1
 echo "-----------------------yarn-site-----------------------"
+curl -i -X PUT -d `echo '{"Clusters":{"desired_configs":{"type":"hive-site","tag":"version1","properties":{"hive.security.authorization.manager":"org.apache.hcatalog.security.HdfsAuthorizationProvider","hive.metastore.warehouse.dir":"/apps/hive/warehouse","hive.metastore.execute.setugi":"true","javax.jdo.option.ConnectionDriverName":"com.mysql.jdbc.Driver","hive.security.authorization.enabled":"true","hadoop.clientside.fs.operations":"true","hive.semantic.analyzer.factory.impl":"org.apache.hivealog.cli.HCatSemanticAnalyzerFactory","fs.hdfs.impl.disable.cache":"true","hive.server2.enable.doAs":"true","hive.metastore.client.socket.timeout":"60","hive.metastore.cache.pinobjtypes":"Table,Database,Type,FieldSchema,Order","hive.metastore.local":"false","javax.jdo.option.ConnectionUserName":"hive","javax.jdo.option.ConnectionPassword":"admin","hive.metastore.uris":"thrift://HOST:9083","javax.jdo.option.ConnectionURL":"jdbc:mysql://HOST/hive?createDatabaseIfNotExist=true"}}}}'| sed 
 s/HOST/$HOST/g` -u admin:admin http://localhost:8080/api/v1/clusters/c1
+echo "-----------------------hive-site-----------------------"
+curl -i -X PUT -d `echo '{"Clusters":{"desired_configs":{"type":"webhcat-site","tag":"version1","properties":{"templeton.hcat":"/usr/bin/hcat","templeton.storage.class":"org.apache.hcatalog.templeton.tool.ZooKeeperStorage","templeton.jar":"/usr/lib/hcatalog/share/webhcat/svr/webhcat.jar","templeton.streaming.jar":"hdfs:///apps/webhcat/hadoop-streaming.jar","templeton.exec.timeout":"60000","templeton.hive.properties":"hive.metastore.local\u003dfalse,hive.metastore.uris\u003dthrift://HOST:9083,hive.metastore.sasl.enabled\u003dyes,hive.metastore.execute.setugi\u003dtrue","templeton.override.enabled":"false","templeton.pig.path":"pig.tar.gz/pig/bin/pig","templeton.hive.archive":"hdfs:///apps/webhcat/hive.tar.gz","templeton.port":"50111","templeton.libjars":"/usr/lib/zookeeper/zookeeper.jar","templeton.hadoop":"/usr/bin/hadoop","templeton.pig.archive":"hdfs:///apps/webhcat/pig.tar.gz","templeton.zookeeper.hosts":"HOST:2181","templeton.hive.path":"hive.tar.gz/hive/bin/hive","templ
 eton.hadoop.conf.dir":"/etc/hadoop/conf"}}}}'| sed s/HOST/$HOST/g` -u admin:admin http://localhost:8080/api/v1/clusters/c1
+echo "-----------------------webhcat-site-----------------------"
+curl -i -X PUT -d `echo '{"Clusters":{"desired_configs":{"type":"oozie-site","tag":"version1","properties":{"oozie.service.AuthorizationService.security.enabled":"true","oozie.service.PurgeService.purge.interval":"3600","oozie.service.PurgeService.older.than":"30","oozie.system.id":"oozie-${user.name}","oozie.service.coord.normal.default.timeout":"120","oozie.service.JPAService.pool.max.active.conn":"10","oozie.authentication.type":"simple","use.system.libpath.for.mapreduce.and.pig.jobs":"false","oozie.service.CallableQueueService.callable.concurrency":"3","oozie.service.CallableQueueService.threads":"10","oozie.base.url":"http://HOST:11000/oozie","oozie.service.CallableQueueService.queue.size":"1000","oozie.service.JPAService.jdbc.username":"oozie","oozie.authentication.kerberos.name.rules":"\n        RULE:[2:$1@$0]([jt]t@.*TODO-KERBEROS-DOMAIN)s/.*/TODO-MAPREDUSER/\n        RULE:[2:$1@$0]([nd]n@.*TODO-KERBEROS-DOMAIN)s/.*/TODO-HDFSUSER/\n        RULE:[2:$1@$0](hm@.*TODO-KE
 RBEROS-DOMAIN)s/.*/TODO-HBASE-USER/\n        RULE:[2:$1@$0](rs@.*TODO-KERBEROS-DOMAIN)s/.*/TODO-HBASE-USER/\n        DEFAULT\n        ","oozie.service.SchemaService.wf.ext.schemas":"shell-action-0.1.xsd,email-action-0.1.xsd,hive-action-0.2.xsd,sqoop-action-0.2.xsd,ssh-action-0.1.xsd,distcp-action-0.1.xsd","oozie.service.HadoopAccessorService.nameNode.whitelist":" ","oozie.service.WorkflowAppService.system.libpath":"/user/${user.name}/share/lib","oozie.systemmode":"NORMAL","oozie.service.JPAService.create.db.schema":"false","oozie.service.JPAService.jdbc.password":"admin","oozie.service.HadoopAccessorService.jobTracker.whitelist":" ","oozie.db.schema.name":"oozie","oozie.service.JPAService.jdbc.url":"jdbc:derby:${oozie.data.dir}/${oozie.db.schema.name}-db;create\u003dtrue","oozie.service.JPAService.jdbc.driver":"org.apache.derby.jdbc.EmbeddedDriver","oozie.service.HadoopAccessorService.hadoop.configurations":"*\u003d/etc/hadoop/conf","oozie.service.ActionService.executor.ext.
 classes":"\n            org.apache.oozie.action.email.EmailActionExecutor,\n            org.apache.oozie.action.hadoop.HiveActionExecutor,\n            org.apache.oozie.action.hadoop.ShellActionExecutor,\n            org.apache.oozie.action.hadoop.SqoopActionExecutor,\n            org.apache.oozie.action.hadoop.DistcpActionExecutor\n        "}}}}'| sed s/HOST/$HOST/g` -u admin:admin http://localhost:8080/api/v1/clusters/c1
+echo "-----------------------oozie-site-----------------------"
+curl -i -X PUT -d `echo '{"Clusters":{"desired_configs":{"type":"capacity-scheduler","tag":"version1", "properties":{"yarn.scheduler.capacity.maximum-applications":"10000","yarn.scheduler.capacity.maximum-am-resource-percent":"0.1", "yarn.scheduler.capacity.root.queues":"default","yarn.scheduler.capacity.root.capacity":"100", "yarn.scheduler.capacity.root.default.capacity":"100","yarn.scheduler.capacity.root.default.user-limit-factor":"1", "yarn.scheduler.capacity.root.default.maximum-capacity":"100": "yarn.scheduler.capacity.root.default.state":"RUNNING","yarn.scheduler.capacity.root.default.acl_submit_jobs":"*", "yarn.scheduler.capacity.root.default.acl_administer_jobs":"*", "yarn.scheduler.capacity.root.acl_administer_queues":"*","yarn.scheduler.capacity.root.unfunded.capacity":"50"}}}}'| sed s/HOST/$HOST/g` -u admin:admin http://localhost:8080/api/v1/clusters/c1
+echo "-----------------------capacity-sscheduler-----------------------"
+curl -i -X POST -d '[{"ServiceInfo":{"service_name":"HIVE"}},{"ServiceInfo":{"service_name":"HCATALOG"}},{"ServiceInfo":{"service_name":"WEBHCAT"}}]' -u admin:admin http://localhost:8080/api/v1/clusters/c1/services
+
+
 
 curl -i -X POST -d '{"components":[{"ServiceComponentInfo":{"component_name":"NAMENODE"}},{"ServiceComponentInfo":{"component_name":"SECONDARY_NAMENODE"}},{"ServiceComponentInfo":{"component_name":"DATANODE"}},{"ServiceComponentInfo":{"component_name":"HDFS_CLIENT"}}]}' -u admin:admin http://localhost:8080/api/v1/clusters/c1/services?ServiceInfo/service_name=HDFS
 echo "-----------------------HDFS components-----------------------"
@@ -27,6 +38,13 @@ curl -i -X POST -d '{"components":[{"Ser
 echo "-----------------------MAPREDUCEv2 components-----------------------"
 curl -i -X POST -d '{"components":[{"ServiceComponentInfo":{"component_name":"TEZ_CLIENT"}}]}' -u admin:admin http://localhost:8080/api/v1/clusters/c1/services?ServiceInfo/service_name=TEZ
 echo "-----------------------TEZ components-----------------------"
+curl -i -X POST -d '{"components":[{"ServiceComponentInfo":{"component_name":"HIVE_CLIENT"}},{"ServiceComponentInfo":{"component_name":"MYSQL_SERVER"}},{"ServiceComponentInfo":{"component_name":"HIVE_SERVER"}},{"ServiceComponentInfo":{"component_name":"HIVE_METASTORE"}}]}' -u admin:admin http://localhost:8080/api/v1/clusters/c1/services?ServiceInfo/service_name=HIVE
+echo "-----------------------HIVE components-----------------------"
+curl -i -X POST -d '{"components":[{"ServiceComponentInfo":{"component_name":"HCAT"}}]}' -u admin:admin http://localhost:8080/api/v1/clusters/c1/services?ServiceInfo/service_name=HCATALOG
+echo "-----------------------HCATALOG components-----------------------"
+curl -i -X POST -d '{"components":[{"ServiceComponentInfo":{"component_name":"WEBHCAT_SERVER"}}]}' -u admin:admin http://localhost:8080/api/v1/clusters/c1/services?ServiceInfo/service_name=WEBHCAT
+echo "-----------------------HCATALOG components-----------------------"
+
 curl -i -X POST -d `echo '[{"Hosts":{"host_name":"HOST"}}]' | sed s/HOST/$HOST/` -u admin:admin http://localhost:8080/api/v1/clusters/c1/hosts
 echo "-----------------------Hosts-----------------------"
 curl -i -X POST -d '{"host_components":[{"HostRoles":{"component_name":"NAMENODE"}}]}' -u admin:admin http://localhost:8080/api/v1/clusters/c1/hosts?Hosts/host_name=$HOST
@@ -38,7 +56,14 @@ curl -i -X POST -d '{"host_components":[
 curl -i -X POST -d '{"host_components":[{"HostRoles":{"component_name":"YARN_CLIENT"}}]}' -u admin:admin http://localhost:8080/api/v1/clusters/c1/hosts?Hosts/host_name=$HOST
 curl -i -X POST -d '{"host_components":[{"HostRoles":{"component_name":"HISTORYSERVER"}}]}' -u admin:admin http://localhost:8080/api/v1/clusters/c1/hosts?Hosts/host_name=$HOST
 curl -i -X POST -d '{"host_components":[{"HostRoles":{"component_name":"TEZ_CLIENT"}}]}' -u admin:admin http://localhost:8080/api/v1/clusters/c1/hosts?Hosts/host_name=$HOST
+curl -i -X POST -d '{"host_components":[{"HostRoles":{"component_name":"HIVE_CLIENT"}}]}' -u admin:admin http://localhost:8080/api/v1/clusters/c1/hosts?Hosts/host_name=$HOST
+curl -i -X POST -d '{"host_components":[{"HostRoles":{"component_name":"MYSQL_SERVER"}}]}' -u admin:admin http://localhost:8080/api/v1/clusters/c1/hosts?Hosts/host_name=$HOST
+curl -i -X POST -d '{"host_components":[{"HostRoles":{"component_name":"HIVE_SERVER"}}]}' -u admin:admin http://localhost:8080/api/v1/clusters/c1/hosts?Hosts/host_name=$HOST
+curl -i -X POST -d '{"host_components":[{"HostRoles":{"component_name":"HIVE_METASTORE"}}]}' -u admin:admin http://localhost:8080/api/v1/clusters/c1/hosts?Hosts/host_name=$HOST
+curl -i -X POST -d '{"host_components":[{"HostRoles":{"component_name":"HCAT"}}]}' -u admin:admin http://localhost:8080/api/v1/clusters/c1/hosts?Hosts/host_name=$HOST
+curl -i -X POST -d '{"host_components":[{"HostRoles":{"component_name":"WEBHCAT_SERVER"}}]}' -u admin:admin http://localhost:8080/api/v1/clusters/c1/hosts?Hosts/host_name=$HOST
 echo "-----------------------Components to hosts-----------------------"
+
 curl -i -X PUT -d  '{"RequestInfo": {"context" :"Installing Services"}, "Body": {"ServiceInfo": {"state": "INSTALLED"}}}' -u admin:admin http://localhost:8080/api/v1/clusters/c1/services?ServiceInfo/state=INIT
 echo "-----------------------Installation requested-----------------------"
 

Modified: incubator/ambari/branches/branch-1.4.0/ambari-web/app/assets/test/tests.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.4.0/ambari-web/app/assets/test/tests.js?rev=1487638&r1=1487637&r2=1487638&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.4.0/ambari-web/app/assets/test/tests.js (original)
+++ incubator/ambari/branches/branch-1.4.0/ambari-web/app/assets/test/tests.js Wed May 29 20:46:31 2013
@@ -36,11 +36,9 @@ require('test/main/dashboard_test');
 require('test/main/host/details_test');
 require('test/main/host_test');
 require('test/main/item_test');
-require('test/utils/config_test');
-require('test/utils/date_test');
 require('test/utils/form_field_test');
-require('test/utils/host_progress_popup_test');
 require('test/utils/misc_test');
 require('test/utils/validator_test');
+require('test/utils/config_test');
 require('test/utils/string_utils_test');
-require('test/views/common/chart/linear_time_test');
+require('test/views/common/chart/linear_time_test');
\ No newline at end of file

Modified: incubator/ambari/branches/branch-1.4.0/ambari-web/app/config.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.4.0/ambari-web/app/config.js?rev=1487638&r1=1487637&r2=1487638&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.4.0/ambari-web/app/config.js (original)
+++ incubator/ambari/branches/branch-1.4.0/ambari-web/app/config.js Wed May 29 20:46:31 2013
@@ -45,7 +45,7 @@ App.supports = {
   secureCluster: false,
   reassignMaster: false,
   stackUpgrade: false,
-  capacitySchedulerUi: false,
+  capacitySchedulerUi: true,
   startStopAllServices: false,
   hiveOozieExtraDatabases: true,
   multipleHBaseMasters: false,

Modified: incubator/ambari/branches/branch-1.4.0/ambari-web/app/controllers/main/host.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.4.0/ambari-web/app/controllers/main/host.js?rev=1487638&r1=1487637&r2=1487638&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.4.0/ambari-web/app/controllers/main/host.js (original)
+++ incubator/ambari/branches/branch-1.4.0/ambari-web/app/controllers/main/host.js Wed May 29 20:46:31 2013
@@ -23,7 +23,6 @@ var componentHelper = require('utils/com
 App.MainHostController = Em.ArrayController.extend({
   name:'mainHostController',
   content: App.Host.find(),
-  comeWithFilter: false,
 
   alerts: function () {
     return App.router.get('clusterController.alerts').filterProperty('isOk', false).filterProperty('ignoredForHosts', false);
@@ -56,27 +55,32 @@ App.MainHostController = Em.ArrayControl
    */
   filterByComponent:function (component) {
     var id = component.get('componentName');
-
+    var column = 6;
     this.get('componentsForFilter').setEach('checkedForHostFilter', false);
-    this.get('componentsForFilter').filterProperty('id', id).setEach('checkedForHostFilter', true);
-
-    this.set('comeWithFilter', true);
-  },
 
-  /**
-   * On click callback for decommission button
-   * @param event
-   */
-  decommissionButtonPopup:function () {
-    var self = this;
-    App.showConfirmationPopup(function(){
-      alert('do');
-    });
+    var filterForComponent = {
+      iColumn: column,
+      value: id,
+      type: 'multiple'
+    };
+
+    var filterConditions = App.db.getFilterConditions(this.get('name'));
+    if (filterConditions) {
+      var component = filterConditions.findProperty('iColumn', column);
+      if (component) {
+        component.value = id;
+      }
+      else {
+        filterConditions.push(filterForComponent);
+      }
+      App.db.setFilterConditions(this.get('name'), filterConditions);
+    }
+    else {
+      App.db.setFilterConditions(this.get('name'), [filterForComponent]);
+    }
   },
-
   /**
    * On click callback for delete button
-   * @param event
    */
   deleteButtonPopup:function () {
     var self = this;

Modified: incubator/ambari/branches/branch-1.4.0/ambari-web/app/controllers/main/host/details.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.4.0/ambari-web/app/controllers/main/host/details.js?rev=1487638&r1=1487637&r2=1487638&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.4.0/ambari-web/app/controllers/main/host/details.js (original)
+++ incubator/ambari/branches/branch-1.4.0/ambari-web/app/controllers/main/host/details.js Wed May 29 20:46:31 2013
@@ -50,7 +50,9 @@ App.MainHostDetailsController = Em.Contr
   /**
    * Send specific command to server
    * @param url
-   * @param data Object to send
+   * @param _method
+   * @param postData
+   * @param callback
    */
   sendCommandToServer : function(url, postData, _method, callback){
     var url =  (App.testMode) ?

Modified: incubator/ambari/branches/branch-1.4.0/ambari-web/app/controllers/main/service/item.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.4.0/ambari-web/app/controllers/main/service/item.js?rev=1487638&r1=1487637&r2=1487638&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.4.0/ambari-web/app/controllers/main/service/item.js (original)
+++ incubator/ambari/branches/branch-1.4.0/ambari-web/app/controllers/main/service/item.js Wed May 29 20:46:31 2013
@@ -193,9 +193,7 @@ App.MainServiceItemController = Em.Contr
    */
   reassignMaster: function (hostComponent) {
     console.log('In Reassign Master', hostComponent);
-    var reassignMasterController = App.router.get('reassignMasterController');
-    reassignMasterController.saveComponentToReassign(hostComponent);
-    reassignMasterController.setCurrentStep('1');
+    App.router.get('reassignMasterController').saveComponentToReassign(hostComponent);
     App.router.transitionTo('reassignMaster');
   },
 

Modified: incubator/ambari/branches/branch-1.4.0/ambari-web/app/controllers/wizard/step12_controller.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.4.0/ambari-web/app/controllers/wizard/step12_controller.js?rev=1487638&r1=1487637&r2=1487638&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.4.0/ambari-web/app/controllers/wizard/step12_controller.js (original)
+++ incubator/ambari/branches/branch-1.4.0/ambari-web/app/controllers/wizard/step12_controller.js Wed May 29 20:46:31 2013
@@ -19,18 +19,11 @@
 App.WizardStep12Controller = App.MainServiceInfoConfigsController.extend({
 
   modifiedConfigs: [],
-  oldConfigs: [],
 
   afterLoad: function () {
     if (this.get('dataIsLoaded')) {
       this.get('stepConfigs').objectAt(0).get('configs').filterProperty('isEditable', false).setEach('isEditable', true);
       this.get('stepConfigs').objectAt(0).get('configs').filterProperty('displayType', 'masterHost').setEach('isVisible', false);
-      this.get('oldConfigs').clear();
-      this.get('modifiedConfigs').clear();
-      this.get('stepConfigs').objectAt(0).get('configs').forEach(function (config) {
-            this.get('oldConfigs').push(jQuery.extend({}, config));
-          }, this
-      );
     }
   }.observes('dataIsLoaded'),
 
@@ -50,16 +43,18 @@ App.WizardStep12Controller = App.MainSer
     if (this.get('isSubmitDisabled')) {
       return false;
     }
+    var self = this;
+    this.get('modifiedConfigs').clear();
     this.get('stepConfigs').objectAt(0).get('configs').forEach(function (config) {
-      var oldConfig = this.get('oldConfigs').filterProperty('name', config.get('name')).findProperty('id', config.get('id'));
-      if (!oldConfig || oldConfig.get('value') !== config.get('value')) {
-        this.get('modifiedConfigs').push({
+      if (config.get('defaultValue') !== config.get('value')) {
+        self.get('modifiedConfigs').push({
           name: config.get('displayName'),
-          oldValue: !oldConfig ? 'null' : oldConfig.get('value') + ' ' + (oldConfig.get('unit') || ''),
-          value: config.get('value') + ' ' + (config.get('unit') || '')
+          oldValue: config.get('defaultValue'),
+          value: config.get('value'),
+          unit: config.get('unit') || false
         });
       }
-    }, this);
+    });
     App.router.send('next');
   }
 });

Modified: incubator/ambari/branches/branch-1.4.0/ambari-web/app/controllers/wizard/step14_controller.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.4.0/ambari-web/app/controllers/wizard/step14_controller.js?rev=1487638&r1=1487637&r2=1487638&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.4.0/ambari-web/app/controllers/wizard/step14_controller.js (original)
+++ incubator/ambari/branches/branch-1.4.0/ambari-web/app/controllers/wizard/step14_controller.js Wed May 29 20:46:31 2013
@@ -752,10 +752,10 @@ App.WizardStep14Controller = Em.Controll
       task = 0;
     }
     if (!polledData.someProperty('Tasks.status', 'PENDING') && !polledData.someProperty('Tasks.status', 'QUEUED') && !polledData.someProperty('Tasks.status', 'IN_PROGRESS')) {
-      if (polledData.everyProperty('Tasks.status', 'COMPLETED')) {
-        this.setTasksStatus(task, 'COMPLETED');
-      } else {
+      if (polledData.someProperty('Tasks.status', 'FAILED')) {
         this.setTasksStatus(task, 'FAILED');
+      } else {
+        this.setTasksStatus(task, 'COMPLETED');
       }
       stopPolling = true;
     } else {

Modified: incubator/ambari/branches/branch-1.4.0/ambari-web/app/controllers/wizard/step3_controller.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.4.0/ambari-web/app/controllers/wizard/step3_controller.js?rev=1487638&r1=1487637&r2=1487638&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.4.0/ambari-web/app/controllers/wizard/step3_controller.js (original)
+++ incubator/ambari/branches/branch-1.4.0/ambari-web/app/controllers/wizard/step3_controller.js Wed May 29 20:46:31 2013
@@ -356,6 +356,15 @@ App.WizardStep3Controller = Em.Controlle
     }
   },
 
+  /*
+   stopBootstrap: function () {
+   console.log('stopBootstrap() called');
+   Ember.run.later(this, function () {
+   this.startRegistration();
+   }, 1000);
+   },
+   */
+
   startRegistration: function () {
     if (this.get('registrationStartedAt') == null) {
       this.set('registrationStartedAt', new Date().getTime());

Modified: incubator/ambari/branches/branch-1.4.0/ambari-web/app/controllers/wizard/step6_controller.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.4.0/ambari-web/app/controllers/wizard/step6_controller.js?rev=1487638&r1=1487637&r2=1487638&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.4.0/ambari-web/app/controllers/wizard/step6_controller.js (original)
+++ incubator/ambari/branches/branch-1.4.0/ambari-web/app/controllers/wizard/step6_controller.js Wed May 29 20:46:31 2013
@@ -146,8 +146,8 @@ App.WizardStep6Controller = Em.Controlle
    * @return {*}
    */
   isServiceSelected: function (name) {
-    return !!(this.get('content.services').findProperty('serviceName', name) &&
-      this.get('content.services').findProperty('serviceName', name).get('isSelected'));
+    return this.get('content.services').findProperty('serviceName', name) &&
+      this.get('content.services').findProperty('serviceName', name).get('isSelected');
   },
 
   /**

Modified: incubator/ambari/branches/branch-1.4.0/ambari-web/app/data/HDP2/config_mapping.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.4.0/ambari-web/app/data/HDP2/config_mapping.js?rev=1487638&r1=1487637&r2=1487638&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.4.0/ambari-web/app/data/HDP2/config_mapping.js (original)
+++ incubator/ambari/branches/branch-1.4.0/ambari-web/app/data/HDP2/config_mapping.js Wed May 29 20:46:31 2013
@@ -303,7 +303,7 @@ var configs = [
   },
 /**********************************************yarn-site***************************************/
   {
-    "name": "yarn.resourcemanager.resourcetracker.address",
+    "name": "yarn.resourcemanager.resource-tracker.address",
     "templateName": ["rm_host"],
     "foreignKey": null,
     "value": "hdfs://<templateName[0]>:8025",
@@ -317,7 +317,7 @@ var configs = [
     "filename": "yarn-site.xml"
   },
   {
-    "name": "yarn.resourcemanager.addresss",
+    "name": "yarn.resourcemanager.address",
     "templateName": ["rm_host"],
     "foreignKey": null,
     "value": "hdfs://<templateName[0]>:8050",
@@ -359,30 +359,24 @@ var configs = [
     "value": "<templateName[0]>",
     "filename": "mapred-site.xml"
   },
+  //io.sort.mb -> mapreduce.task.io.sort.mb
   {
-    "name": "io.sort.mb",
-    "templateName": ["io_sort_mb"],
-    "foreignKey": null,
-    "value": "<templateName[0]>",
-    "filename": "mapred-site.xml"
-  },
-  /*{
-    "name": "mapred.cluster.reduce.memory.mb",
-    "templateName": ["mapred_cluster_red_mem_mb"],
+    "name": "mapreduce.task.io.sort.mb",
+    "templateName": ["mapreduce_task_io_sort_mb"],
     "foreignKey": null,
     "value": "<templateName[0]>",
     "filename": "mapred-site.xml"
   },
   {
-    "name": "mapred.cluster.max.map.memory.mb",
-    "templateName": ["mapred_cluster_max_map_mem_mb"],
+    "name": "mapred.system.dir",
+    "templateName": ["mapred_system_dir"],
     "foreignKey": null,
     "value": "<templateName[0]>",
     "filename": "mapred-site.xml"
   },
   {
-    "name": "mapred.cluster.max.reduce.memory.mb",
-    "templateName": ["mapred_cluster_max_red_mem_mb"],
+    "name": "mapred.cluster.reduce.memory.mb",
+    "templateName": ["mapred_cluster_red_mem_mb"],
     "foreignKey": null,
     "value": "<templateName[0]>",
     "filename": "mapred-site.xml"
@@ -395,69 +389,13 @@ var configs = [
     "filename": "mapred-site.xml"
   },
   {
-    "name": "mapred.hosts.exclude",
-    "templateName": ["hadoop_conf_dir", "mapred_hosts_exclude"],
-    "foreignKey": null,
-    "value": "<templateName[0]>/<templateName[1]>",
-    "filename": "mapred-site.xml"
-  },
-  {
-    "name": "mapred.healthChecker.script.path",
-    "templateName": ["mapred_jobstatus_dir"],
-    "foreignKey": null,
-    "value": "<templateName[0]>",
-    "filename": "mapred-site.xml"
-  },
-  {
-    "name": "mapred.job.tracker.persist.jobstatus.dir",
-    "templateName": ["hadoop_conf_dir"],
-    "foreignKey": null,
-    "value": "<templateName[0]>/health_check",
-    "filename": "mapred-site.xml"
-  },
-  {
-    "name": "mapred.child.java.opts",
-    "templateName": ["mapred_child_java_opts_sz"],
-    "foreignKey": null,
-    "value": "-server -Xmx<templateName[0]>m -Djava.net.preferIPv4Stack=true",
-    "filename": "mapred-site.xml"
-  },
-  {
-    "name": "mapred.cluster.map.memory.mb",
-    "templateName": ["mapred_cluster_map_mem_mb"],
-    "foreignKey": null,
-    "value": "<templateName[0]>",
-    "filename": "mapred-site.xml"
-  },
-  {
-    "name": "io.sort.spill.percent",
-    "templateName": ["io_sort_spill_percent"],
-    "foreignKey": null,
-    "value": "<templateName[0]>",
-    "filename": "mapred-site.xml"
-  },
-  {
-    "name": "mapred.system.dir",
-    "templateName": ["mapred_system_dir"],
+    "name": "mapred.jobtracker.maxtasks.per.job",
+    "templateName": ["maxtasks_per_job"],
     "foreignKey": null,
     "value": "<templateName[0]>",
     "filename": "mapred-site.xml"
   },
   {
-    "name": "mapred.job.tracker",
-    "templateName": ["jobtracker_host"],
-    "foreignKey": null,
-    "value": "<templateName[0]>:50300",
-    "filename": "mapred-site.xml"
-  },
-  {
-    "name": "mapred.job.tracker.http.address",
-    "templateName": ["jobtracker_host"],
-    "foreignKey": null,
-    "value": "<templateName[0]>:50030",
-    "filename": "mapred-site.xml"
-  },
-  {
     "name": "mapred.userlog.retain.hours",
     "templateName": ["mapreduce_userlog_retainhours"],
     "foreignKey": null,
@@ -465,8 +403,8 @@ var configs = [
     "filename": "mapred-site.xml"
   },
   {
-    "name": "mapred.jobtracker.maxtasks.per.job",
-    "templateName": ["maxtasks_per_job"],
+    "name": "mapred.local.dir",
+    "templateName": ["mapred_local_dir"],
     "foreignKey": null,
     "value": "<templateName[0]>",
     "filename": "mapred-site.xml"
@@ -479,61 +417,54 @@ var configs = [
     "filename": "mapred-site.xml"
   },
   {
-    "name": "mapreduce.jobtracker.kerberos.principal",
-    "templateName": ["kerberos_domain"],
+    "name": "mapred.tasktracker.map.tasks.maximum",
+    "templateName": ["mapred_map_tasks_max"],
     "foreignKey": null,
-    "value": "jt/_HOST@<templateName[0]>",
+    "value": "<templateName[0]>",
     "filename": "mapred-site.xml"
   },
   {
-    "name": "mapreduce.tasktracker.kerberos.principal",
-    "templateName": ["kerberos_domain"],
+    "name": "mapred.hosts.exclude",
+    "templateName": ["hadoop_conf_dir", "mapred_hosts_exclude"],
     "foreignKey": null,
-    "value": "tt/_HOST@<templateName[0]>",
+    "value": "<templateName[0]>/<templateName[1]>",
     "filename": "mapred-site.xml"
   },
   {
-    "name": "mapreduce.jobtracker.keytab.file",
-    "templateName": ["keytab_path"],
+    "name": "mapred.cluster.max.map.memory.mb",
+    "templateName": ["mapred_cluster_max_map_mem_mb"],
     "foreignKey": null,
-    "value": "<templateName[0]>/jt.service.keytab",
+    "value": "<templateName[0]>",
     "filename": "mapred-site.xml"
   },
   {
-    "name": "mapreduce.tasktracker.keytab.file",
-    "templateName": ["keytab_path"],
+    "name": "mapred.cluster.max.reduce.memory.mb",
+    "templateName": ["mapred_cluster_max_red_mem_mb"],
     "foreignKey": null,
-    "value": "<templateName[0]>/tt.service.keytab",
+    "value": "<templateName[0]>",
     "filename": "mapred-site.xml"
   },
   {
-    "name": "mapreduce.history.server.embedded",
-    "templateName": [],
+    "name": "mapred.jobtracker.taskScheduler",
+    "templateName": ["scheduler_name"],
     "foreignKey": null,
-    "value": "false",
+    "value": "<templateName[0]>",
     "filename": "mapred-site.xml"
   },
   {
-    "name": "mapreduce.history.server.http.address",
-    "templateName": ["jobtracker_host"],
+    "name": "mapred.healthChecker.script.path",
+    "templateName": ["mapred_jobstatus_dir"],
     "foreignKey": null,
-    "value": "<templateName[0]>:51111",
+    "value": "<templateName[0]>",
     "filename": "mapred-site.xml"
   },
   {
-    "name": "mapreduce.jobhistory.kerberos.principal",
-    "templateName": ["kerberos_domain"],
+    "name": "mapred.cluster.map.memory.mb",
+    "templateName": ["mapred_cluster_map_mem_mb"],
     "foreignKey": null,
-    "value": "jt/_HOST@<templateName[0]>",
+    "value": "<templateName[0]>",
     "filename": "mapred-site.xml"
   },
-  {
-    "name": "mapreduce.jobhistory.keytab.file",
-    "templateName": ["keytab_path"],
-    "foreignKey": null,
-    "value": "<templateName[0]>/jt.service.keytab",
-    "filename": "mapred-site.xml"
-  },*/
   /**********************************************hbase-site***************************************/
   {
     "name": "hbase.rootdir",