You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by dm...@apache.org on 2014/02/04 22:35:48 UTC

git commit: AMBARI-4526. Oozie Server installation fails when Falcon is selected (Eugene Chekanskiy via dlysnichenko)

Updated Branches:
  refs/heads/trunk dcb90c9d2 -> aa7ba4d27


AMBARI-4526. Oozie Server installation fails when Falcon is selected (Eugene Chekanskiy via dlysnichenko)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/aa7ba4d2
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/aa7ba4d2
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/aa7ba4d2

Branch: refs/heads/trunk
Commit: aa7ba4d276a08ecdff0b3f773cc2fc823b531c0e
Parents: dcb90c9
Author: Lisnichenko Dmitro <dl...@hortonworks.com>
Authored: Tue Feb 4 23:34:12 2014 +0200
Committer: Lisnichenko Dmitro <dl...@hortonworks.com>
Committed: Tue Feb 4 23:34:12 2014 +0200

----------------------------------------------------------------------
 .../HDP/2.0.6/services/OOZIE/metainfo.xml       |   5 -
 .../services/OOZIE/package/scripts/oozie.py     |   6 +-
 .../OOZIE/package/scripts/oozie_server.py       |   1 -
 .../stacks/HDP/2.1.1/role_command_order.json    |   6 +-
 .../HDP/2.1.1/services/FALCON/metainfo.xml      |  23 +-
 .../services/FALCON/package/scripts/falcon.py   |   7 -
 .../OOZIE/configuration/oozie-log4j.xml         | 183 +++++++++++
 .../services/OOZIE/configuration/oozie-site.xml | 329 +++++++++++++++++++
 .../HDP/2.1.1/services/OOZIE/metainfo.xml       |  57 ++++
 .../stacks/2.1.1/FALCON/test_falcon_client.py   |   4 -
 .../stacks/2.1.1/FALCON/test_falcon_server.py   |  12 -
 11 files changed, 587 insertions(+), 46 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/aa7ba4d2/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/metainfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/metainfo.xml b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/metainfo.xml
index 9a2f0b9..10d5e53 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/metainfo.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/metainfo.xml
@@ -60,11 +60,6 @@
               <type>rpm</type>
               <name>extjs-2.2-1</name>
             </package>
-            <!--TODO: uncomment this after package will be available in repo-->
-            <!--<package>-->
-              <!--<type>rpm</type>-->
-              <!--<name>falcon-0.4.0.2.0.6.0-76</name>-->
-            <!--</package>-->
           </packages>
         </osSpecific>
       </osSpecifics>

http://git-wip-us.apache.org/repos/asf/ambari/blob/aa7ba4d2/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/package/scripts/oozie.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/package/scripts/oozie.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/package/scripts/oozie.py
index 99b42ea..53f7693 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/package/scripts/oozie.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/package/scripts/oozie.py
@@ -109,7 +109,7 @@ def oozie_server_specific(
     mode = 0755,
     recursive = True
   )
-       
+
   cmd1 = "cd /usr/lib/oozie && tar -xvf oozie-sharelib.tar.gz"
   cmd2 =  format("cd /usr/lib/oozie && mkdir -p {oozie_tmp_dir}")
   
@@ -119,10 +119,10 @@ def oozie_server_specific(
     cmd3 += format(" && cp {jdbc_driver_jar} {oozie_libext_dir}")
   #falcon el extension
   if params.has_falcon_host:
-    cmd3 += format(' && cp {falcon_home}/oozie/ext/falcon-oozie-el-extension-0.4.0.2.0.6.0-76.jar {oozie_libext_dir}')
+    cmd3 += format(' && cp {falcon_home}/oozie/ext/falcon-oozie-el-extension-*.jar {oozie_libext_dir}')
   # this is different for HDP1
   cmd4 = format("cd {oozie_tmp_dir} && /usr/lib/oozie/bin/oozie-setup.sh prepare-war")
-  
+
   no_op_test = format("ls {pid_file} >/dev/null 2>&1 && ps `cat {pid_file}` >/dev/null 2>&1")
   Execute( [cmd1, cmd2, cmd3],
     not_if  = no_op_test

http://git-wip-us.apache.org/repos/asf/ambari/blob/aa7ba4d2/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/package/scripts/oozie_server.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/package/scripts/oozie_server.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/package/scripts/oozie_server.py
index 6c00738..dc37bff 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/package/scripts/oozie_server.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/package/scripts/oozie_server.py
@@ -8,7 +8,6 @@ from oozie_service import oozie_service
 class OozieServer(Script):
   def install(self, env):
     self.install_packages(env)
-    self.configure(env)
     
   def configure(self, env):
     import params

http://git-wip-us.apache.org/repos/asf/ambari/blob/aa7ba4d2/ambari-server/src/main/resources/stacks/HDP/2.1.1/role_command_order.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1.1/role_command_order.json b/ambari-server/src/main/resources/stacks/HDP/2.1.1/role_command_order.json
index 416945d..4331bd9 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.1.1/role_command_order.json
+++ b/ambari-server/src/main/resources/stacks/HDP/2.1.1/role_command_order.json
@@ -76,6 +76,8 @@
     "HBASE_MASTER-START": ["NAMENODE-START", "DATANODE-START"],
     "JOBTRACKER-START": ["NAMENODE-START", "DATANODE-START"],
     "TASKTRACKER-START": ["NAMENODE-START", "DATANODE-START"],
+    "FALCON_SERVER-START": ["NAMENODE-START", "DATANODE-START"],
+    "FALCON_SERVICE_CHECK-SERVICE_CHECK": ["FALCON_SERVER-START"],
     "HIVE_SERVER-START": ["DATANODE-START"],
     "WEBHCAT_SERVER-START": ["DATANODE-START"],
     "NAGIOS_SERVER-START": ["NAMENODE-START", "SECONDARY_NAMENODE-START",
@@ -88,9 +90,9 @@
     "RESOURCEMANAGER_SERVICE_CHECK-SERVICE_CHECK": ["RESOURCEMANAGER-START"],
     "PIG_SERVICE_CHECK-SERVICE_CHECK": ["RESOURCEMANAGER-START", "NODEMANAGER-START"],
     "NAMENODE-STOP": ["JOBTRACKER-STOP", "TASKTRACKER-STOP", "RESOURCEMANAGER-STOP",
-        "NODEMANAGER-STOP", "HISTORYSERVER-STOP", "HBASE_MASTER-STOP"],
+        "NODEMANAGER-STOP", "HISTORYSERVER-STOP", "HBASE_MASTER-STOP", "FALCON_SERVER-STOP"],
     "DATANODE-STOP": ["JOBTRACKER-STOP", "TASKTRACKER-STOP", "RESOURCEMANAGER-STOP",
-        "NODEMANAGER-STOP", "HISTORYSERVER-STOP", "HBASE_MASTER-STOP"],
+        "NODEMANAGER-STOP", "HISTORYSERVER-STOP", "HBASE_MASTER-STOP", "FALCON_SERVER-STOP"],
     "SECONDARY_NAMENODE-UPGRADE": ["NAMENODE-UPGRADE"],
     "DATANODE-UPGRADE": ["SECONDARY_NAMENODE-UPGRADE"],
     "HDFS_CLIENT-UPGRADE": ["DATANODE-UPGRADE"],

http://git-wip-us.apache.org/repos/asf/ambari/blob/aa7ba4d2/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/FALCON/metainfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/FALCON/metainfo.xml b/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/FALCON/metainfo.xml
index 7587a8b..7836401 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/FALCON/metainfo.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/FALCON/metainfo.xml
@@ -43,18 +43,17 @@
         </component>
       </components>
 
-      <!--TODO: uncomment this after package will be available in repo-->
-      <!--<osSpecifics>-->
-        <!--<osSpecific>-->
-          <!--<osType>any</osType>-->
-          <!--<packages>-->
-            <!--<package>-->
-              <!--<type>rpm</type>-->
-              <!--<name>falcon-0.4.0.2.0.6.0-76</name>-->
-            <!--</package>-->
-          <!--</packages>-->
-        <!--</osSpecific>-->
-      <!--</osSpecifics>-->
+      <osSpecifics>
+        <osSpecific>
+          <osType>any</osType>
+          <packages>
+            <package>
+              <type>rpm</type>
+              <name>falcon</name>
+            </package>
+          </packages>
+        </osSpecific>
+      </osSpecifics>
 
       <commandScript>
         <script>scripts/service_check.py</script>

http://git-wip-us.apache.org/repos/asf/ambari/blob/aa7ba4d2/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/FALCON/package/scripts/falcon.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/FALCON/package/scripts/falcon.py b/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/FALCON/package/scripts/falcon.py
index d6c3d1d..4df7f4e 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/FALCON/package/scripts/falcon.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/FALCON/package/scripts/falcon.py
@@ -22,13 +22,6 @@ from resource_management import *
 def falcon(type, action = None):
   import params
 
-  #TODO remove after package will be available in repo
-  Execute("cd /tmp; rm -f falcon-0.4.0.2.0.6.0-76.el6.noarch.rpm; "
-          "wget http://public-repo-1.hortonworks.com/HDP-LABS/Projects/Falcon/2.0.6.0-76/rpm/falcon-0.4.0.2.0.6.0-76.el6.noarch.rpm; "
-          "rpm -Uvh --nodeps falcon-0.4.0.2.0.6.0-76.el6.noarch.rpm",
-          not_if='yum list installed | grep falcon'
-  )
-
   if type == 'client':
     if action == 'config':
       File(params.falcon_conf_dir + '/client.properties',

http://git-wip-us.apache.org/repos/asf/ambari/blob/aa7ba4d2/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/OOZIE/configuration/oozie-log4j.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/OOZIE/configuration/oozie-log4j.xml b/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/OOZIE/configuration/oozie-log4j.xml
new file mode 100644
index 0000000..169085c
--- /dev/null
+++ b/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/OOZIE/configuration/oozie-log4j.xml
@@ -0,0 +1,183 @@
+<?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>log4j.appender.oozie</name>
+    <value>org.apache.log4j.DailyRollingFileAppender</value>
+  </property>
+
+  <property>
+    <name>log4j.appender.oozie.DatePattern</name>
+    <value>.yyyy-MM-dd-HH</value>
+  </property>
+  <property>
+    <name>log4j.appender.oozie.File</name>
+    <value>${oozie.log.dir}/oozie.log</value>
+  </property>
+  <property>
+    <name>log4j.appender.oozie.Append</name>
+    <value>true</value>
+  </property>
+  <property>
+    <name>log4j.appender.oozie.layout</name>
+    <value>org.apache.log4j.PatternLayout</value>
+  </property>
+  <property>
+    <name>log4j.appender.oozie.layout.ConversionPattern</name>
+    <value>%d{ISO8601} %5p %c{1}:%L - %m%n</value>
+  </property>
+
+  <property>
+    <name>log4j.appender.oozieops</name>
+    <value>org.apache.log4j.DailyRollingFileAppender</value>
+  </property>
+  <property>
+    <name>log4j.appender.oozieops.DatePattern</name>
+    <value>.yyyy-MM-dd</value>
+  </property>
+  <property>
+    <name>log4j.appender.oozieops.File</name>
+    <value>${oozie.log.dir}/oozie-ops.log</value>
+  </property>
+  <property>
+    <name>log4j.appender.oozieops.Append</name>
+    <value>true</value>
+  </property>
+  <property>
+    <name>log4j.appender.oozieops.layout</name>
+    <value>org.apache.log4j.PatternLayout</value>
+  </property>
+  <property>
+    <name>log4j.appender.oozieops.layout.ConversionPattern</name>
+    <value>%d{ISO8601} %5p %c{1}:%L - %m%n</value>
+  </property>
+  <property>
+    <name>log4j.appender.oozieinstrumentation</name>
+    <value>org.apache.log4j.DailyRollingFileAppender</value>
+  </property>
+  <property>
+    <name>log4j.appender.oozieinstrumentation.DatePattern</name>
+    <value>.yyyy-MM-dd</value>
+  </property>
+  <property>
+    <name>log4j.appender.oozieinstrumentation.File</name>
+    <value>${oozie.log.dir}/oozie-instrumentation.log</value>
+  </property>
+  <property>
+    <name>log4j.appender.oozieinstrumentation.Append</name>
+    <value>true</value>
+  </property>
+  <property>
+    <name>log4j.appender.oozieinstrumentation.layout</name>
+    <value>org.apache.log4j.PatternLayout</value>
+  </property>
+  <property>
+    <name>log4j.appender.oozieinstrumentation.layout.ConversionPattern</name>
+    <value>%d{ISO8601} %5p %c{1}:%L - %m%n</value>
+  </property>
+  <property>
+    <name>log4j.appender.oozieaudit</name>
+    <value>org.apache.log4j.DailyRollingFileAppender</value>
+  </property>
+  <property>
+    <name>log4j.appender.oozieaudit.DatePattern</name>
+    <value>.yyyy-MM-dd</value>
+  </property>
+  <property>
+    <name>log4j.appender.oozieaudit.File</name>
+    <value>${oozie.log.dir}/oozie-audit.log</value>
+  </property>
+  <property>
+    <name>log4j.appender.oozieaudit.Append</name>
+    <value>true</value>
+  </property>
+  <property>
+    <name>log4j.appender.oozieaudit.layout</name>
+    <value>org.apache.log4j.PatternLayout</value>
+  </property>
+  <property>
+    <name>log4j.appender.oozieaudit.layout.ConversionPattern</name>
+    <value>%d{ISO8601} %5p %c{1}:%L - %m%n</value>
+  </property>
+  <property>
+    <name>log4j.appender.openjpa</name>
+    <value>org.apache.log4j.DailyRollingFileAppender</value>
+  </property>
+  <property>
+    <name>log4j.appender.openjpa.DatePattern</name>
+    <value>.yyyy-MM-dd</value>
+  </property>
+  <property>
+    <name>log4j.appender.openjpa.File</name>
+    <value>${oozie.log.dir}/oozie-jpa.log</value>
+  </property>
+  <property>
+    <name>log4j.appender.openjpa.Append</name>
+    <value>true</value>
+  </property>
+  <property>
+    <name>log4j.appender.openjpa.layout</name>
+    <value>org.apache.log4j.PatternLayout</value>
+  </property>
+  <property>
+    <name>log4j.appender.openjpa.layout.ConversionPattern</name>
+    <value>%d{ISO8601} %5p %c{1}:%L - %m%n</value>
+  </property>
+  <property>
+    <name>log4j.logger.openjpa</name>
+    <value>INFO, openjpa</value>
+  </property>
+  <property>
+    <name>log4j.logger.oozieops</name>
+    <value>INFO, oozieops</value>
+  </property>
+  <property>
+    <name>log4j.logger.oozieinstrumentation</name>
+    <value>ALL, oozieinstrumentation</value>
+  </property>
+  <property>
+    <name>log4j.logger.oozieaudit</name>
+    <value>ALL, oozieaudit</value>
+  </property>
+  <property>
+    <name>log4j.logger.org.apache.oozie</name>
+    <value>INFO, oozie</value>
+  </property>
+  <property>
+    <name>log4j.logger.org.apache.hadoop</name>
+    <value>WARN, oozie</value>
+  </property>
+  <property>
+    <name>log4j.logger.org.mortbay</name>
+    <value>WARN, oozie</value>
+  </property>
+  <property>
+    <name>log4j.logger.org.hsqldb</name>
+    <value>WARN, oozie</value>
+  </property>
+  <property>
+    <name>log4j.logger.org.apache.hadoop.security.authentication.server</name>
+    <value>INFO, oozie</value>
+  </property>
+
+</configuration>

http://git-wip-us.apache.org/repos/asf/ambari/blob/aa7ba4d2/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/OOZIE/configuration/oozie-site.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/OOZIE/configuration/oozie-site.xml b/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/OOZIE/configuration/oozie-site.xml
new file mode 100644
index 0000000..c149fa4
--- /dev/null
+++ b/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/OOZIE/configuration/oozie-site.xml
@@ -0,0 +1,329 @@
+<?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.
+-->
+
+<configuration>
+
+  <!--
+      Refer to the oozie-default.xml file for the complete list of
+      Oozie configuration properties and their default values.
+  -->
+  <property>
+    <name>oozie.base.url</name>
+    <value>http://localhost:11000/oozie</value>
+    <description>Base Oozie URL.</description>
+  </property>
+
+  <property>
+    <name>oozie.system.id</name>
+    <value>oozie-${user.name}</value>
+    <description>
+      The Oozie system ID.
+    </description>
+  </property>
+
+  <property>
+    <name>oozie.systemmode</name>
+    <value>NORMAL</value>
+    <description>
+      System mode for Oozie at startup.
+    </description>
+  </property>
+
+  <property>
+    <name>oozie.service.AuthorizationService.security.enabled</name>
+    <value>true</value>
+    <description>
+      Specifies whether security (user name/admin role) is enabled or not.
+      If disabled any user can manage Oozie system and manage any job.
+    </description>
+  </property>
+
+  <property>
+    <name>oozie.service.PurgeService.older.than</name>
+    <value>30</value>
+    <description>
+      Jobs older than this value, in days, will be purged by the PurgeService.
+    </description>
+  </property>
+
+  <property>
+    <name>oozie.service.PurgeService.purge.interval</name>
+    <value>3600</value>
+    <description>
+      Interval at which the purge service will run, in seconds.
+    </description>
+  </property>
+
+  <property>
+    <name>oozie.service.CallableQueueService.queue.size</name>
+    <value>1000</value>
+    <description>Max callable queue size</description>
+  </property>
+
+  <property>
+    <name>oozie.service.CallableQueueService.threads</name>
+    <value>10</value>
+    <description>Number of threads used for executing callables</description>
+  </property>
+
+  <property>
+    <name>oozie.service.CallableQueueService.callable.concurrency</name>
+    <value>3</value>
+    <description>
+      Maximum concurrency for a given callable type.
+      Each command is a callable type (submit, start, run, signal, job, jobs, suspend,resume, etc).
+      Each action type is a callable type (Map-Reduce, Pig, SSH, FS, sub-workflow, etc).
+      All commands that use action executors (action-start, action-end, action-kill and action-check) use
+      the action type as the callable type.
+    </description>
+  </property>
+
+  <property>
+    <name>oozie.service.coord.normal.default.timeout</name>
+    <value>120</value>
+    <description>Default timeout for a coordinator action input check (in minutes) for normal job.
+      -1 means infinite timeout
+    </description>
+  </property>
+
+  <property>
+    <name>oozie.db.schema.name</name>
+    <value>oozie</value>
+    <description>
+      Oozie DataBase Name
+    </description>
+  </property>
+
+  <property>
+    <name>oozie.service.HadoopAccessorService.jobTracker.whitelist</name>
+    <value></value>
+    <description>
+      Whitelisted job tracker for Oozie service.
+    </description>
+  </property>
+
+  <property>
+    <name>oozie.authentication.type</name>
+    <value>simple</value>
+    <description>
+      Authentication used for Oozie HTTP endpoint, the supported values are: simple | kerberos |
+      #AUTHENTICATION_HANDLER_CLASSNAME#.
+    </description>
+  </property>
+
+  <property>
+    <name>oozie.service.HadoopAccessorService.nameNode.whitelist</name>
+    <value></value>
+    <description>
+      Whitelisted NameNode for Oozie service.
+    </description>
+  </property>
+
+  <property>
+    <name>oozie.service.WorkflowAppService.system.libpath</name>
+    <value>/user/${user.name}/share/lib</value>
+    <description>
+      System library path to use for workflow applications.
+      This path is added to workflow application if their job properties sets
+      the property 'oozie.use.system.libpath' to true.
+    </description>
+  </property>
+
+  <property>
+    <name>use.system.libpath.for.mapreduce.and.pig.jobs</name>
+    <value>false</value>
+    <description>
+      If set to true, submissions of MapReduce and Pig jobs will include
+      automatically the system library path, thus not requiring users to
+      specify where the Pig JAR files are. Instead, the ones from the system
+      library path are used.
+    </description>
+  </property>
+  <property>
+    <name>oozie.authentication.kerberos.name.rules</name>
+    <value>
+      RULE:[2:$1@$0]([jt]t@.*TODO-KERBEROS-DOMAIN)s/.*/TODO-MAPREDUSER/
+      RULE:[2:$1@$0]([nd]n@.*TODO-KERBEROS-DOMAIN)s/.*/TODO-HDFSUSER/
+      RULE:[2:$1@$0](hm@.*TODO-KERBEROS-DOMAIN)s/.*/TODO-HBASE-USER/
+      RULE:[2:$1@$0](rs@.*TODO-KERBEROS-DOMAIN)s/.*/TODO-HBASE-USER/
+      DEFAULT
+    </value>
+    <description>The mapping from kerberos principal names to local OS user names.</description>
+  </property>
+  <property>
+    <name>oozie.service.HadoopAccessorService.hadoop.configurations</name>
+    <value>*=/etc/hadoop/conf</value>
+    <description>
+      Comma separated AUTHORITY=HADOOP_CONF_DIR, where AUTHORITY is the HOST:PORT of
+      the Hadoop service (JobTracker, HDFS). The wildcard '*' configuration is
+      used when there is no exact match for an authority. The HADOOP_CONF_DIR contains
+      the relevant Hadoop *-site.xml files. If the path is relative is looked within
+      the Oozie configuration directory; though the path can be absolute (i.e. to point
+      to Hadoop client conf/ directories in the local filesystem.
+    </description>
+  </property>
+  <property>
+    <name>oozie.service.ActionService.executor.ext.classes</name>
+    <value>
+      org.apache.oozie.action.email.EmailActionExecutor,
+      org.apache.oozie.action.hadoop.HiveActionExecutor,
+      org.apache.oozie.action.hadoop.ShellActionExecutor,
+      org.apache.oozie.action.hadoop.SqoopActionExecutor,
+      org.apache.oozie.action.hadoop.DistcpActionExecutor
+    </value>
+    <description>
+      List of ActionExecutors extension classes (separated by commas). Only action types with associated executors can
+      be used in workflows. This property is a convenience property to add extensions to the built in executors without
+      having to include all the built in ones.
+    </description>
+  </property>
+
+  <property>
+    <name>oozie.service.SchemaService.wf.ext.schemas</name>
+    <value>
+      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,shell-action-0.2.xsd,oozie-sla-0.1.xsd,oozie-sla-0.2.xsd
+    </value>
+    <description>
+      Schemas for additional actions types. IMPORTANT: if there are no schemas leave a 1 space string, the service
+      trims the value, if empty Configuration assumes it is NULL.
+    </description>
+  </property>
+  <property>
+    <name>oozie.service.JPAService.create.db.schema</name>
+    <value>false</value>
+    <description>
+      Creates Oozie DB.
+
+      If set to true, it creates the DB schema if it does not exist. If the DB schema exists is a NOP.
+      If set to false, it does not create the DB schema. If the DB schema does not exist it fails start up.
+    </description>
+  </property>
+
+  <property>
+    <name>oozie.service.JPAService.jdbc.driver</name>
+    <value>org.apache.derby.jdbc.EmbeddedDriver</value>
+    <description>
+      JDBC driver class.
+    </description>
+  </property>
+
+  <property>
+    <name>oozie.service.JPAService.jdbc.url</name>
+    <value>jdbc:derby:${oozie.data.dir}/${oozie.db.schema.name}-db;create=true</value>
+    <description>
+      JDBC URL.
+    </description>
+  </property>
+
+  <property>
+    <name>oozie.service.JPAService.jdbc.username</name>
+    <value>oozie</value>
+    <description>
+      Database user name to use to connect to the database
+    </description>
+  </property>
+
+  <property>
+    <name>oozie.service.JPAService.jdbc.password</name>
+    <value></value>
+    <description>
+      DB user password.
+
+      IMPORTANT: if password is emtpy leave a 1 space string, the service trims the value,
+      if empty Configuration assumes it is NULL.
+    </description>
+  </property>
+
+  <property>
+    <name>oozie.service.JPAService.pool.max.active.conn</name>
+    <value>10</value>
+    <description>
+      Max number of connections.
+    </description>
+  </property>
+
+  <property>
+    <name>oozie.services</name>
+    <value>
+      org.apache.oozie.service.SchedulerService,
+      org.apache.oozie.service.InstrumentationService,
+      org.apache.oozie.service.CallableQueueService,
+      org.apache.oozie.service.UUIDService,
+      org.apache.oozie.service.ELService,
+      org.apache.oozie.service.AuthorizationService,
+      org.apache.oozie.service.UserGroupInformationService,
+      org.apache.oozie.service.HadoopAccessorService,
+      org.apache.oozie.service.URIHandlerService,
+      org.apache.oozie.service.MemoryLocksService,
+      org.apache.oozie.service.DagXLogInfoService,
+      org.apache.oozie.service.SchemaService,
+      org.apache.oozie.service.LiteWorkflowAppService,
+      org.apache.oozie.service.JPAService,
+      org.apache.oozie.service.StoreService,
+      org.apache.oozie.service.CoordinatorStoreService,
+      org.apache.oozie.service.SLAStoreService,
+      org.apache.oozie.service.DBLiteWorkflowStoreService,
+      org.apache.oozie.service.CallbackService,
+      org.apache.oozie.service.ActionService,
+      org.apache.oozie.service.ActionCheckerService,
+      org.apache.oozie.service.RecoveryService,
+      org.apache.oozie.service.PurgeService,
+      org.apache.oozie.service.CoordinatorEngineService,
+      org.apache.oozie.service.BundleEngineService,
+      org.apache.oozie.service.DagEngineService,
+      org.apache.oozie.service.CoordMaterializeTriggerService,
+      org.apache.oozie.service.StatusTransitService,
+      org.apache.oozie.service.PauseTransitService,
+      org.apache.oozie.service.GroupsService,
+      org.apache.oozie.service.ProxyUserService
+    </value>
+    <description>List of Oozie services</description>
+  </property>
+  <property>
+    <name>oozie.service.URIHandlerService.uri.handlers</name>
+    <value>org.apache.oozie.dependency.FSURIHandler,org.apache.oozie.dependency.HCatURIHandler</value>
+    <description>
+      Enlist the different uri handlers supported for data availability checks.
+    </description>
+  </property>
+  <property>
+    <name>oozie.services.ext</name>
+    <value>org.apache.oozie.service.PartitionDependencyManagerService,org.apache.oozie.service.HCatAccessorService
+    </value>
+    <description>
+      To add/replace services defined in 'oozie.services' with custom implementations.
+      Class names must be separated by commas.
+    </description>
+  </property>
+  <property>
+    <name>oozie.service.coord.push.check.requeue.interval</name>
+    <value>30000</value>
+    <description>
+      Command re-queue interval for push dependencies (in millisecond).
+    </description>
+  </property>
+  <property>
+    <name>oozie.credentials.credentialclasses</name>
+    <value>hcat=org.apache.oozie.action.hadoop.HCatCredentials</value>
+    <description>
+      Credential Class to be used for HCat.
+    </description>
+  </property>
+
+</configuration>

http://git-wip-us.apache.org/repos/asf/ambari/blob/aa7ba4d2/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/OOZIE/metainfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/OOZIE/metainfo.xml b/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/OOZIE/metainfo.xml
new file mode 100644
index 0000000..494533f
--- /dev/null
+++ b/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/OOZIE/metainfo.xml
@@ -0,0 +1,57 @@
+<?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>OOZIE</name>
+      <comment>System for workflow coordination and execution of Apache Hadoop jobs.  This also includes the installation of the optional Oozie Web Console which relies on and will install the &lt;a target="_blank" href="http://www.sencha.com/products/extjs/license/"&gt;ExtJS&lt;/a&gt; Library.
+      </comment>
+      <version>4.0.0.2.1.1</version>
+
+      <osSpecifics>
+        <osSpecific>
+          <osType>any</osType>
+          <packages>
+            <package>
+              <type>rpm</type>
+              <name>oozie.noarch</name>
+            </package>
+            <package>
+              <type>rpm</type>
+              <name>oozie-client.noarch</name>
+            </package>
+            <package>
+              <type>rpm</type>
+              <name>extjs-2.2-1</name>
+            </package>
+            <package>
+              <type>rpm</type>
+              <name>falcon</name>
+            </package>
+          </packages>
+        </osSpecific>
+      </osSpecifics>
+      <configuration-dependencies>
+        <config-type>global</config-type>
+        <config-type>oozie-site</config-type>
+        <config-type>oozie-log4j</config-type>
+      </configuration-dependencies>
+    </service>
+  </services>
+</metainfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/aa7ba4d2/ambari-server/src/test/python/stacks/2.1.1/FALCON/test_falcon_client.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.1.1/FALCON/test_falcon_client.py b/ambari-server/src/test/python/stacks/2.1.1/FALCON/test_falcon_client.py
index 6d9eaae..a725289 100644
--- a/ambari-server/src/test/python/stacks/2.1.1/FALCON/test_falcon_client.py
+++ b/ambari-server/src/test/python/stacks/2.1.1/FALCON/test_falcon_client.py
@@ -28,10 +28,6 @@ class TestFalconClient(RMFTestCase):
                        command="configure",
                        config_file="default.json"
     )
-    self.assertResourceCalled('Execute',
-                              'cd /tmp; rm -f falcon-0.4.0.2.0.6.0-76.el6.noarch.rpm; wget http://public-repo-1.hortonworks.com/HDP-LABS/Projects/Falcon/2.0.6.0-76/rpm/falcon-0.4.0.2.0.6.0-76.el6.noarch.rpm; rpm -Uvh --nodeps falcon-0.4.0.2.0.6.0-76.el6.noarch.rpm',
-                              not_if='yum list installed | grep falcon', )
-
     self.assertResourceCalled('File', '/etc/falcon/conf/client.properties',
                               content=Template('client.properties.j2'),
                               mode=0644, )

http://git-wip-us.apache.org/repos/asf/ambari/blob/aa7ba4d2/ambari-server/src/test/python/stacks/2.1.1/FALCON/test_falcon_server.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.1.1/FALCON/test_falcon_server.py b/ambari-server/src/test/python/stacks/2.1.1/FALCON/test_falcon_server.py
index bcf3674..56f0446 100644
--- a/ambari-server/src/test/python/stacks/2.1.1/FALCON/test_falcon_server.py
+++ b/ambari-server/src/test/python/stacks/2.1.1/FALCON/test_falcon_server.py
@@ -29,9 +29,6 @@ class TestFalconServer(RMFTestCase):
                        command="start",
                        config_file="default.json"
     )
-    self.assertResourceCalled('Execute',
-                              'cd /tmp; rm -f falcon-0.4.0.2.0.6.0-76.el6.noarch.rpm; wget http://public-repo-1.hortonworks.com/HDP-LABS/Projects/Falcon/2.0.6.0-76/rpm/falcon-0.4.0.2.0.6.0-76.el6.noarch.rpm; rpm -Uvh --nodeps falcon-0.4.0.2.0.6.0-76.el6.noarch.rpm',
-                              not_if='yum list installed | grep falcon', )
     self.assertResourceCalled('Directory',
                               '/hadoop/falcon',
                               owner='falcon',
@@ -46,9 +43,6 @@ class TestFalconServer(RMFTestCase):
                               content=Template('startup.properties.j2'),
                               mode=0644, )
     self.assertResourceCalled('Execute',
-                              'cd /tmp; rm -f falcon-0.4.0.2.0.6.0-76.el6.noarch.rpm; wget http://public-repo-1.hortonworks.com/HDP-LABS/Projects/Falcon/2.0.6.0-76/rpm/falcon-0.4.0.2.0.6.0-76.el6.noarch.rpm; rpm -Uvh --nodeps falcon-0.4.0.2.0.6.0-76.el6.noarch.rpm',
-                              not_if='yum list installed | grep falcon', )
-    self.assertResourceCalled('Execute',
                               'env JAVA_HOME=/usr/jdk64/jdk1.7.0_45 FALCON_LOG_DIR=/var/log/falcon FALCON_PID_DIR=/var/run/falcon FALCON_DATA_DIR=/hadoop/falcon/activemq /usr/lib/falcon/bin/falcon-start -port 15000',
                               user='falcon', )
     self.assertNoMoreResources()
@@ -60,9 +54,6 @@ class TestFalconServer(RMFTestCase):
                        config_file="default.json"
     )
     self.assertResourceCalled('Execute',
-                          'cd /tmp; rm -f falcon-0.4.0.2.0.6.0-76.el6.noarch.rpm; wget http://public-repo-1.hortonworks.com/HDP-LABS/Projects/Falcon/2.0.6.0-76/rpm/falcon-0.4.0.2.0.6.0-76.el6.noarch.rpm; rpm -Uvh --nodeps falcon-0.4.0.2.0.6.0-76.el6.noarch.rpm',
-                          not_if='yum list installed | grep falcon', )
-    self.assertResourceCalled('Execute',
                           'env JAVA_HOME=/usr/jdk64/jdk1.7.0_45 FALCON_LOG_DIR=/var/log/falcon FALCON_PID_DIR=/var/run/falcon FALCON_DATA_DIR=/hadoop/falcon/activemq /usr/lib/falcon/bin/falcon-stop',
                           user='falcon', )
     self.assertNoMoreResources()
@@ -73,9 +64,6 @@ class TestFalconServer(RMFTestCase):
                        command="configure",
                        config_file="default.json"
     )
-    self.assertResourceCalled('Execute',
-                              'cd /tmp; rm -f falcon-0.4.0.2.0.6.0-76.el6.noarch.rpm; wget http://public-repo-1.hortonworks.com/HDP-LABS/Projects/Falcon/2.0.6.0-76/rpm/falcon-0.4.0.2.0.6.0-76.el6.noarch.rpm; rpm -Uvh --nodeps falcon-0.4.0.2.0.6.0-76.el6.noarch.rpm',
-                              not_if='yum list installed | grep falcon', )
     self.assertResourceCalled('Directory',
                               '/hadoop/falcon',
                               owner='falcon',