Added: falcon/trunk/releases/0.9/src/site/twiki/ImportExport.twiki
URL: 
http://svn.apache.org/viewvc/falcon/trunk/releases/0.9/src/site/twiki/ImportExport.twiki?rev=1730446&view=auto
==============================================================================
--- falcon/trunk/releases/0.9/src/site/twiki/ImportExport.twiki (added)
+++ falcon/trunk/releases/0.9/src/site/twiki/ImportExport.twiki Mon Feb 15 
05:08:31 2016
@@ -0,0 +1,236 @@
+---+Falcon Data Import and Export
+
+
+---++Overview
+
+Falcon provides constructs to periodically bring raw data from external data 
sources (like databases, drop boxes etc)
+onto Hadoop and push derived data computed on Hadoop onto external data 
sources.
+
+As of this release, Falcon only supports Relational Databases (e.g. Oracle, 
MySQL etc) via JDBC as external data source.
+The future releases will add support for other external data sources.
+
+
+---++Prerequisites
+
+Following are the prerequisites to import external data from and export to 
databases.
+
+   * *Sqoop 1.4.6+*
+   * *Oozie 4.2.0+*
+   * *Appropriate database connector*
+
+
+*Note:* Falcon uses Sqoop for import/export operation. Sqoop will require 
appropriate database driver to connect to
+the relational database. Please refer to the Sqoop documentation for any Sqoop 
related question. Please make sure
+the database driver jar is copied into oozie share lib for Sqoop.
+
+<verbatim>
+For example, in order to import and export with MySQL, please make sure the 
latest MySQL connector
+*mysql-connector-java-5.1.31.jar+* is copied into oozie's Sqoop share lib
+
+/user/oozie/share/lib/{lib-dir}/sqoop/mysql-connector-java-5.1.31.jar+
+
+where {lib-dir} value varies in oozie deployments.
+
+</verbatim>
+
+---++ Usage
+---+++ Entity Definition and Setup
+   * *Datasource Entity*
+      Datasource entity abstracts connection and credential details to 
external data sources. The Datasource entity
+      supports read and write interfaces with specific credentials. The 
default credential will be used if the read
+      or write interface does not have its own credentials. In general, the 
Datasource entity will be defined by
+      system administrator. Please refer to datasource XSD for more details.
+
+      The following example defines a Datasource entity for a MySQL database. 
The import operation will use
+      the read interface with url "jdbc:mysql://dbhost/test", user name 
"import_usr" and password text "sqoop".
+      Where as, the export operation will use the write interface with url 
"jdbc:mysql://dbhost/test" with user
+      name "export_usr" and password specified in a HDFS file at the location 
"/user/ambari-qa/password-store/password_write_user".
+
+      The default credential specifies the password using password text and 
will be used if either read or write interface
+      does not provide credentials.
+
+      The available read and write interfaces enable database administrators 
to segregate read and write workloads.
+
+      <verbatim>
+
+      File: mysql-database.xml
+
+      <?xml version="1.0" encoding="UTF-8"?>
+      <datasource colo="west-coast" description="MySQL database on west coast" 
type="mysql" name="mysql-db" xmlns="uri:falcon:datasource:0.1">
+          <tags>[email protected], 
[email protected]</tags>
+          <interfaces>
+              <!-- ***** read interface ***** -->
+              <interface type="readonly" endpoint="jdbc:mysql://dbhost/test">
+                  <credential type="password-text">
+                      <userName>import_usr</userName>
+                      <passwordText>sqoop</passwordFile>
+                  </credential>
+              </interface>
+
+              <!-- ***** write interface ***** -->
+              <interface type="write"  endpoint="jdbc:mysql://dbhost/test">
+                  <credential type="password-file">
+                      <userName>export_usr</userName>
+                      
<passwordFile>/user/ambari-qa/password-store/password_write_user</passwordFile>
+                  </credential>
+              </interface>
+
+              <!-- *** default credential *** -->
+              <credential type="password-text">
+                <userName>sqoop2_user</userName>
+                <passwordText>sqoop</passwordText>
+              </credential>
+
+          </interfaces>
+
+          <driver>
+              <clazz>com.mysql.jdbc.Driver</clazz>
+              
<jar>/user/oozie/share/lib/lib_20150721010816/sqoop/mysql-connector-java-5.1.31</jar>
+          </driver>
+      </datasource>
+      </verbatim>
+
+   * *Feed  Entity*
+      Feed entity now enables users to define IMPORT and EXPORT policies in 
addition to RETENTION and REPLICATION.
+      The IMPORT and EXPORT policies will refer to a already defined 
Datasource entity for connection and credential
+      details and take a table name from the policy to operate on. Please 
refer to feed entity XSD for details.
+
+      The following example defines a Feed entity with IMPORT and EXPORT 
policies. Both the IMPORT and EXPORT operations
+      refer to a datasource entity "mysql-db". The IMPORT operation will use 
the read interface and credentials while
+      the EXPORT operation will use the write interface and credentials. A 
feed instance is created every 1 hour
+      since the frequency of the Feed is hour(1) and the Feed instances are 
deleted after 90 days because of the
+      retention policy.
+
+
+      <verbatim>
+
+      File: customer_email_feed.xml
+
+      <?xml version="1.0" encoding="UTF-8"?>
+      <!--
+       A feed representing Hourly customer email data retained for 90 days
+       -->
+      <feed description="Raw customer email feed" name="customer_feed" 
xmlns="uri:falcon:feed:0.1">
+          <tags>externalSystem=USWestEmailServers,classification=secure</tags>
+          <groups>DataImportPipeline</groups>
+          <frequency>hours(1)</frequency>
+          <late-arrival cut-off="hours(4)"/>
+          <clusters>
+              <cluster name="primaryCluster" type="source">
+                  <validity start="2015-12-15T00:00Z" end="2016-03-31T00:00Z"/>
+                  <retention limit="days(90)" action="delete"/>
+                  <import>
+                      <source name="mysql-db" tableName="simple">
+                          <extract type="full">
+                              <mergepolicy>snapshot</mergepolicy>
+                          </extract>
+                          <fields>
+                              <includes>
+                                  <field>id</field>
+                                  <field>name</field>
+                              </includes>
+                          </fields>
+                      </source>
+                      <arguments>
+                          <argument name="--split-by" value="id"/>
+                          <argument name="--num-mappers" value="2"/>
+                      </arguments>
+                  </import>
+                  <export>
+                        <target name="mysql-db" tableName="simple_export">
+                            <load type="insert"/>
+                            <fields>
+                              <includes>
+                                <field>id</field>
+                                <field>name</field>
+                              </includes>
+                            </fields>
+                        </target>
+                        <arguments>
+                             <argument name="--update-key" value="id"/>
+                        </arguments>
+                    </export>
+              </cluster>
+          </clusters>
+
+          <locations>
+              <location type="data" 
path="/user/ambari-qa/falcon/demo/primary/importfeed/${YEAR}-${MONTH}-${DAY}-${HOUR}-${MINUTE}"/>
+              <location type="stats" path="/none"/>
+              <location type="meta" path="/none"/>
+          </locations>
+
+          <ACL owner="ambari-qa" group="users" permission="0755"/>
+          <schema location="/none" provider="none"/>
+
+      </feed>
+      </verbatim>
+
+   * *Import policy*
+     The import policy uses the datasource entity specified in the "source" to 
connect to the database. The tableName
+     specified should exist in the source datasource.
+
+     Extraction type specifies whether to pull data from external datasource 
"full" everytime or "incrementally".
+     The mergepolicy specifies how to organize (snapshot or append, i.e time 
series partiitons) the data on hadoop. 
+     The valid combinations are: 
+      * [full,snapshot] - data is extracted in full and dumped into the feed 
instance location.
+      * [incremental, append] - data is extracted incrementally using the key 
specified in the *deltacolumn* 
+        and added as a partition to the feed instance location. 
+      * [incremental, snapshot] - data is extracted incrementally and merged 
with already existing data on hadoop to
+        produce one latest feed instance.*This feature is not supported 
currently*. The use case for this feature is 
+        to efficiently import very large dimention tables that have updates 
and inserts onto hadoop and make it available
+        as a snapshot with latest updates to consumers.
+
+      The following example defines an incremental extraction with append 
organization:
+
+      <verbatim>
+           <import> 
+                <source name="mysql-db" tableName="simple">
+                    <extract type="incremental">
+                        <deltacolumn>modified_time</deltacolumn>
+                        <mergepolicy>append</mergepolicy>
+                    </extract>  
+                    <fields>
+                        <includes>
+                            <field>id</field>
+                            <field>name</field>
+                        </includes>
+                    </fields>
+                </source>
+                <arguments>
+                    <argument name="--split-by" value="id"/>
+                    <argument name="--num-mappers" value="2"/>
+                </arguments>
+            </import>
+       </verbatim>
+
+      
+     The fields option enables to control what fields get imported. By 
default, all fields get import. The "includes" option
+     brings only those fields specified. The "excludes" option brings all the 
fields other than specified.
+
+     The arguments section enables to pass in any extra arguments needed for 
fine control on the underlying implementation --
+     in this case, Sqoop.
+
+   * *Export policy*
+
+     The export, like import, uses the datasource for connecting to the 
database. Load type specifies whether to insert
+     or only update data onto the external table. Fields option behaves the 
same way as in import policy.
+     The tableName specified should exist in the external datasource.
+
+---+++ Operation
+   Once the Datasource and Feed entity with import and export policies are 
defined, Users can submit and schedule
+   the Import and Export operations via CLI and REST API as below:
+
+   <verbatim>
+
+    ## submit the mysql-db datasource defined in the file mysql_datasource.xml
+    falcon entity -submit -type datasource -file mysql_datasource.xml
+
+    ## submit the customer_feed specified in the customer_email_feed.xml
+    falcon entity -submit -type feed -file customer_email_feed.xml
+
+    ## schedule the customer_feed
+    falcon entity -schedule -type feed -name customer_feed
+
+   </verbatim>
+
+   Falcon will create corresponding oozie bundles with coordinator and 
workflow for import and export operation.

Added: falcon/trunk/releases/0.9/src/site/twiki/InstallationSteps.twiki
URL: 
http://svn.apache.org/viewvc/falcon/trunk/releases/0.9/src/site/twiki/InstallationSteps.twiki?rev=1730446&view=auto
==============================================================================
--- falcon/trunk/releases/0.9/src/site/twiki/InstallationSteps.twiki (added)
+++ falcon/trunk/releases/0.9/src/site/twiki/InstallationSteps.twiki Mon Feb 15 
05:08:31 2016
@@ -0,0 +1,87 @@
+---+Building & Installing Falcon
+
+
+---++Building Falcon
+
+---+++Prerequisites
+
+   * JDK 1.7/1.8
+   * Maven 3.2.x
+
+
+
+---+++Step 1 - Clone the Falcon repository
+
+<verbatim>
+$git clone https://git-wip-us.apache.org/repos/asf/falcon.git falcon
+</verbatim>
+
+
+---+++Step 2 - Build Falcon
+
+<verbatim>
+$cd falcon
+$export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=256m -noverify" && mvn clean 
install
+</verbatim>
+It builds and installs the package into the local repository, for use as a 
dependency in other projects locally.
+
+[optionally -Dhadoop.version=<<hadoop.version>> can be appended to build for a 
specific version of Hadoop]
+
+*NOTE:* Falcon drops support for Hadoop-1 and only supports Hadoop-2 from 
Falcon 0.6 onwards
+[optionally -Doozie.version=<<oozie version>> can be appended to build with a 
specific version of Oozie. Oozie versions
+>= 4 are supported]
+NOTE: Falcon builds with JDK 1.7/1.8 using -noverify option
+      To compile Falcon with Hive Replication, optionally "-P hadoop-2,hivedr" 
can be appended. For this Hive >= 1.2.0
+      and Oozie >= 4.2.0 should be available.
+
+
+
+---+++Step 3 - Package and Deploy Falcon
+
+Once the build successfully completes, artifacts can be packaged for 
deployment using the assembly plugin. The Assembly
+Plugin for Maven is primarily intended to allow users to aggregate the project 
output along with its dependencies,
+modules, site documentation, and other files into a single distributable 
archive. There are two basic ways in which you
+can deploy Falcon - Embedded mode(also known as Stand Alone Mode) and 
Distributed mode. Your next steps will vary based
+on the mode in which you want to deploy Falcon.
+
+*NOTE* : Oozie is being extended by Falcon (particularly on el-extensions) and 
hence the need for Falcon to build &
+re-package Oozie, so that users of Falcon can work with the right Oozie setup. 
Though Oozie is packaged by Falcon, it
+needs to be deployed separately by the administrator and is not auto deployed 
along with Falcon.
+
+
+---++++Embedded/Stand Alone Mode
+Embedded mode is useful when the Hadoop jobs and relevant data processing 
involve only one Hadoop cluster. In this mode
+ there is a single Falcon server that contacts the scheduler to schedule jobs 
on Hadoop. All the process/feed requests
+ like submit, schedule, suspend, kill etc. are sent to this server. For 
running Falcon in this mode one should use the
+ Falcon which has been built using standalone option. You can find the 
instructions for Embedded mode setup
+ [[Embedded-mode][here]].
+
+
+---++++Distributed Mode
+Distributed mode is for multiple (colos) instances of Hadoop clusters, and 
multiple workflow schedulers to handle them.
+In this mode Falcon has 2 components: Prism and Server(s). Both Prism and 
Server(s) have their own their own config
+locations(startup and runtime properties). In this mode Prism acts as a 
contact point for Falcon servers. While
+ all commands are available through Prism, only read and instance api's are 
available through Server. You can find the
+ instructions for Distributed Mode setup [[Distributed-mode][here]].
+
+
+
+---+++Preparing Oozie and Falcon packages for deployment
+<verbatim>
+$cd <<project home>>
+$src/bin/package.sh <<hadoop-version>> <<oozie-version>>
+
+>> ex. src/bin/package.sh 1.1.2 4.0.1 or src/bin/package.sh 0.20.2-cdh3u5 4.0.1
+>> ex. src/bin/package.sh 2.5.0 4.0.0
+>> Falcon package is available in <<falcon 
home>>/target/apache-falcon-<<version>>-bin.tar.gz
+>> Oozie package is available in <<falcon 
home>>/target/oozie-4.0.1-distro.tar.gz
+</verbatim>
+
+*NOTE:* If you have a separate Apache Oozie installation, you will need to 
follow some additional steps:
+   1. Once you have setup the Falcon Server, copy libraries under 
{falcon-server-dir}/oozie/libext/ to {oozie-install-dir}/libext.
+   1. Modify Oozie's configuration file. Copy all Falcon related properties 
from {falcon-server-dir}/oozie/conf/oozie-site.xml to 
{oozie-install-dir}/conf/oozie-site.xml
+   1. Restart oozie:
+      1. cd {oozie-install-dir}
+      1. sudo -u oozie ./bin/oozie-stop.sh
+      1. sudo -u oozie ./bin/oozie-setup.sh prepare-war
+      1. sudo -u oozie ./bin/oozie-start.sh

Added: falcon/trunk/releases/0.9/src/site/twiki/LICENSE.txt
URL: 
http://svn.apache.org/viewvc/falcon/trunk/releases/0.9/src/site/twiki/LICENSE.txt?rev=1730446&view=auto
==============================================================================
--- falcon/trunk/releases/0.9/src/site/twiki/LICENSE.txt (added)
+++ falcon/trunk/releases/0.9/src/site/twiki/LICENSE.txt Mon Feb 15 05:08:31 
2016
@@ -0,0 +1,3 @@
+All files in this directory and subdirectories are under Apache License 
Version 2.0.
+The reason being Maven Doxia plugin that converts twiki to html does not have
+commenting out feature.

Added: falcon/trunk/releases/0.9/src/site/twiki/MigrationInstructions.twiki
URL: 
http://svn.apache.org/viewvc/falcon/trunk/releases/0.9/src/site/twiki/MigrationInstructions.twiki?rev=1730446&view=auto
==============================================================================
--- falcon/trunk/releases/0.9/src/site/twiki/MigrationInstructions.twiki (added)
+++ falcon/trunk/releases/0.9/src/site/twiki/MigrationInstructions.twiki Mon 
Feb 15 05:08:31 2016
@@ -0,0 +1,15 @@
+---+ Migration Instructions
+
+---++ Migrate from 0.5-incubating to 0.6-incubating
+
+This is a placeholder wiki for migration instructions from falcon 
0.5-incubating to 0.6-incubating.
+
+---+++ Update Entities
+
+---+++ Change cluster dir permissions
+
+---+++ Enable/Disable TLS
+
+---+++ Authorization
+
+

Added: falcon/trunk/releases/0.9/src/site/twiki/OnBoarding.twiki
URL: 
http://svn.apache.org/viewvc/falcon/trunk/releases/0.9/src/site/twiki/OnBoarding.twiki?rev=1730446&view=auto
==============================================================================
--- falcon/trunk/releases/0.9/src/site/twiki/OnBoarding.twiki (added)
+++ falcon/trunk/releases/0.9/src/site/twiki/OnBoarding.twiki Mon Feb 15 
05:08:31 2016
@@ -0,0 +1,269 @@
+---++ Contents
+   * <a href="#Onboarding Steps">Onboarding Steps</a>
+   * <a href="#Sample Pipeline">Sample Pipeline</a>
+   * [[HiveIntegration][Hive Examples]]
+
+---+++ Onboarding Steps
+   * Create cluster definition for the cluster, specifying name node, job 
tracker, workflow engine endpoint, messaging endpoint. Refer to 
[[EntitySpecification][cluster definition]] for details.
+   * Create Feed definitions for each of the input and output specifying 
frequency, data path, ownership. Refer to [[EntitySpecification][feed 
definition]] for details.
+   * Create Process definition for your job. Process defines configuration for 
the workflow job. Important attributes are frequency, inputs/outputs and 
workflow path. Refer to [[EntitySpecification][process definition]] for process 
details.
+   * Define workflow for your job using the workflow engine(only oozie is 
supported as of now). Refer 
[[http://oozie.apache.org/docs/3.1.3-incubating/WorkflowFunctionalSpec.html][Oozie
 Workflow Specification]]. The libraries required for the workflow should be 
available in lib folder in workflow path.
+   * Set-up workflow definition, libraries and referenced scripts on hadoop. 
+   * Submit cluster definition
+   * Submit and schedule feed and process definitions
+   
+
+---+++ Sample Pipeline
+---++++ Cluster   
+Cluster definition that contains end points for name node, job tracker, oozie 
and jms server:
+The cluster locations MUST be created prior to submitting a cluster entity to 
Falcon.
+*staging* must have 777 permissions and the parent dirs must have execute 
permissions
+*working* must have 755 permissions and the parent dirs must have execute 
permissions
+
+<verbatim>
+<?xml version="1.0"?>
+<!--
+    Cluster configuration
+  -->
+<cluster colo="ua2" description="" name="corp" xmlns="uri:falcon:cluster:0.1"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>    
+    <interfaces>
+        <interface type="readonly" endpoint="hftp://name-node.com:50070"; 
version="2.5.0" />
+
+        <interface type="write" endpoint="hdfs://name-node.com:54310" 
version="2.5.0" />
+
+        <interface type="execute" endpoint="job-tracker:54311" version="2.5.0" 
/>
+
+        <interface type="workflow" endpoint="http://oozie.com:11000/oozie/"; 
version="4.0.1" />
+
+        <interface type="messaging" 
endpoint="tcp://jms-server.com:61616?daemon=true" version="5.1.6" />
+    </interfaces>
+
+    <locations>
+        <location name="staging" path="/projects/falcon/staging" />
+        <location name="temp" path="/tmp" />
+        <location name="working" path="/projects/falcon/working" />
+    </locations>
+</cluster>
+</verbatim>
+   
+---++++ Input Feed
+Hourly feed that defines feed path, frequency, ownership and validity:
+<verbatim>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Hourly sample input data
+  -->
+
+<feed description="sample input data" name="SampleInput" 
xmlns="uri:falcon:feed:0.1"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
+    <groups>group</groups>
+
+    <frequency>hours(1)</frequency>
+
+    <late-arrival cut-off="hours(6)" />
+
+    <clusters>
+        <cluster name="corp" type="source">
+            <validity start="2009-01-01T00:00Z" end="2099-12-31T00:00Z" 
timezone="UTC" />
+            <retention limit="months(24)" action="delete" />
+        </cluster>
+    </clusters>
+
+    <locations>
+        <location type="data" 
path="/projects/bootcamp/data/${YEAR}-${MONTH}-${DAY}-${HOUR}/SampleInput" />
+        <location type="stats" path="/projects/bootcamp/stats/SampleInput" />
+        <location type="meta" path="/projects/bootcamp/meta/SampleInput" />
+    </locations>
+
+    <ACL owner="suser" group="users" permission="0755" />
+
+    <schema location="/none" provider="none" />
+</feed>
+</verbatim>
+
+---++++ Output Feed
+Daily feed that defines feed path, frequency, ownership and validity:
+<verbatim>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Daily sample output data
+  -->
+
+<feed description="sample output data" name="SampleOutput" 
xmlns="uri:falcon:feed:0.1"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
+    <groups>group</groups>
+
+    <frequency>days(1)</frequency>
+
+    <late-arrival cut-off="hours(6)" />
+
+    <clusters>
+        <cluster name="corp" type="source">
+            <validity start="2009-01-01T00:00Z" end="2099-12-31T00:00Z" 
timezone="UTC" />
+            <retention limit="months(24)" action="delete" />
+        </cluster>
+    </clusters>
+
+    <locations>
+        <location type="data" 
path="/projects/bootcamp/output/${YEAR}-${MONTH}-${DAY}/SampleOutput" />
+        <location type="stats" path="/projects/bootcamp/stats/SampleOutput" />
+        <location type="meta" path="/projects/bootcamp/meta/SampleOutput" />
+    </locations>
+
+    <ACL owner="suser" group="users" permission="0755" />
+
+    <schema location="/none" provider="none" />
+</feed>
+</verbatim>
+
+---++++ Process
+Sample process which runs daily at 6th hour on corp cluster. It takes one 
input - !SampleInput for the previous day(24 instances). It generates one 
output - !SampleOutput for previous day. The workflow is defined at 
/projects/bootcamp/workflow/workflow.xml. Any libraries available for the 
workflow should be at /projects/bootcamp/workflow/lib. The process also defines 
properties queueName, ssh.host, and fileTimestamp which are passed to the 
workflow. In addition, Falcon exposes the following properties to the workflow: 
nameNode, jobTracker(hadoop properties), input and output(Input/Output 
properties).
+
+<verbatim>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Daily sample process. Runs at 6th hour every day. Input - last day's 
hourly data. Generates output for yesterday
+ -->
+<process name="SampleProcess">
+    <cluster name="corp" />
+
+    <frequency>days(1)</frequency>
+
+    <validity start="2012-04-03T06:00Z" end="2022-12-30T00:00Z" timezone="UTC" 
/>
+
+    <inputs>
+        <input name="input" feed="SampleInput" start="yesterday(0,0)" 
end="today(-1,0)" />
+    </inputs>
+
+    <outputs>
+            <output name="output" feed="SampleOutput" 
instance="yesterday(0,0)" />
+    </outputs>
+
+    <properties>
+        <property name="queueName" value="reports" />
+        <property name="ssh.host" value="host.com" />
+        <property name="fileTimestamp" 
value="${coord:formatTime(coord:nominalTime(), 'yyyy-MM-dd')}" />
+    </properties>
+
+    <workflow engine="oozie" path="/projects/bootcamp/workflow" />
+
+    <retry policy="periodic" delay="minutes(5)" attempts="3" />
+    
+    <late-process policy="exp-backoff" delay="hours(1)">
+        <late-input input="input" 
workflow-path="/projects/bootcamp/workflow/lateinput" />
+    </late-process>
+</process>
+</verbatim>
+
+---++++ Oozie Workflow
+The sample user workflow contains 3 actions:
+   * Pig action - Executes pig script /projects/bootcamp/workflow/script.pig
+   * concatenator - Java action that concatenates part files and generates a 
single file
+   * file upload - ssh action that gets the concatenated file from hadoop and 
sends the file to a remote host
+   
+<verbatim>
+<workflow-app xmlns="uri:oozie:workflow:0.2" name="sample-wf">
+        <start to="pig" />
+
+        <action name="pig">
+                <pig>
+                        <job-tracker>${jobTracker}</job-tracker>
+                        <name-node>${nameNode}</name-node>
+                        <prepare>
+                                <delete path="${output}"/>
+                        </prepare>
+                        <configuration>
+                                <property>
+                                        <name>mapred.job.queue.name</name>
+                                        <value>${queueName}</value>
+                                </property>
+                                <property>
+                                        
<name>mapreduce.fileoutputcommitter.marksuccessfuljobs</name>
+                                        <value>true</value>
+                                </property>
+                        </configuration>
+                        
<script>${nameNode}/projects/bootcamp/workflow/script.pig</script>
+                        <param>input=${input}</param>
+                        <param>output=${output}</param>
+                        <file>lib/dependent.jar</file>
+                </pig>
+                <ok to="concatenator" />
+                <error to="fail" />
+        </action>
+
+        <action name="concatenator">
+                <java>
+                        <job-tracker>${jobTracker}</job-tracker>
+                        <name-node>${nameNode}</name-node>
+                        <prepare>
+                                <delete 
path="${nameNode}/projects/bootcamp/concat/data-${fileTimestamp}.csv"/>
+                        </prepare>
+                        <configuration>
+                                <property>
+                                        <name>mapred.job.queue.name</name>
+                                        <value>${queueName}</value>
+                                </property>
+                        </configuration>
+                        <main-class>com.wf.Concatenator</main-class>
+                        <arg>${output}</arg>
+                        
<arg>${nameNode}/projects/bootcamp/concat/data-${fileTimestamp}.csv</arg>
+                </java>
+                <ok to="fileupload" />
+                <error to="fail"/>
+        </action>
+                        
+        <action name="fileupload">
+                <ssh>
+                        <host>localhost</host>
+                        <command>/tmp/fileupload.sh</command>
+                        
<args>${nameNode}/projects/bootcamp/concat/data-${fileTimestamp}.csv</args>
+                        <args>${wf:conf("ssh.host")}</args>
+                        <capture-output/>
+                </ssh>
+                <ok to="fileUploadDecision" />
+                <error to="fail"/>
+        </action>
+
+        <decision name="fileUploadDecision">
+                <switch>
+                        <case to="end">
+                                ${wf:actionData('fileupload')['output'] == '0'}
+                        </case>
+                        <default to="fail"/>
+                </switch>
+        </decision>
+
+        <kill name="fail">
+                <message>Workflow failed, error 
message[${wf:errorMessage(wf:lastErrorNode())}]</message>
+        </kill>
+
+        <end name="end" />
+</workflow-app>
+</verbatim>
+
+---++++ File Upload Script
+The script gets the file from hadoop, rsyncs the file to /tmp on remote host 
and deletes the file from hadoop
+<verbatim>
+#!/bin/bash
+
+trap 'echo "output=$?"; exit $?' ERR INT TERM
+
+echo "Arguments: $@"
+SRCFILE=$1
+DESTHOST=$3
+
+FILENAME=`basename $SRCFILE`
+rm -f /tmp/$FILENAME
+hadoop fs -copyToLocal $SRCFILE /tmp/
+echo "Copied $SRCFILE to /tmp"
+
+rsync -ztv --rsh=ssh --stats /tmp/$FILENAME $DESTHOST:/tmp
+echo "rsynced $FILENAME to $DESTUSER@$DESTHOST:$DESTFILE"
+
+hadoop fs -rmr $SRCFILE
+echo "Deleted $SRCFILE"
+
+rm -f /tmp/$FILENAME
+echo "output=0"
+</verbatim>

Added: falcon/trunk/releases/0.9/src/site/twiki/Operability.twiki
URL: 
http://svn.apache.org/viewvc/falcon/trunk/releases/0.9/src/site/twiki/Operability.twiki?rev=1730446&view=auto
==============================================================================
--- falcon/trunk/releases/0.9/src/site/twiki/Operability.twiki (added)
+++ falcon/trunk/releases/0.9/src/site/twiki/Operability.twiki Mon Feb 15 
05:08:31 2016
@@ -0,0 +1,110 @@
+---+ Operationalizing Falcon
+
+---++ Overview
+
+Apache Falcon provides various tools to operationalize Falcon consisting of 
Alerts for
+unrecoverable errors, Audits of user actions, Metrics, and Notifications. They 
are detailed below.
+
+++ Lineage
+
+Currently Lineage has no way to access or restore information about entity 
instances created during the time lineage
+was disabled. Information about entities however, is preserved and 
bootstrapped when lineage is enabled. If you have to
+reset the graph db then you can delete the graph db files as specified in the 
startup.properties and restart the falcon.
+Please note: you will loose all the information about the instances if you 
delete the graph db.
+
+---++ Monitoring
+
+Falcon provides monitoring of various events by capturing metrics of those 
events.
+The metric numbers can then be used to monitor performance and health of the 
Falcon system and
+the entire processing pipelines.
+
+Falcon also exposes 
[[https://github.com/thinkaurelius/titan/wiki/Titan-Performance-and-Monitoring][metrics
 for titandb]]
+
+Users can view the logs of these events in the metric.log file, by default 
this file is created
+under ${user.dir}/logs/ directory. Users may also extend the Falcon monitoring 
framework to send
+events to systems like Mondemand/lwes by 
implementingorg.apache.falcon.plugin.MonitoringPlugin
+interface.
+
+The following events are captured by Falcon for logging the metrics:
+   1. New cluster definitions posted to Falcon (success & failures)
+   1. New feed definition posted to Falcon (success & failures)
+   1. New process definition posted to Falcon (success & failures)
+   1. Process update events (success & failures)
+   1. Feed update events (success & failures)
+   1. Cluster update events (success & failures)
+   1. Process suspend events (success & failures)
+   1. Feed suspend events (success & failures)
+   1. Process resume events (success & failures)
+   1. Feed resume events (success & failures)
+   1. Process remove events (success & failures)
+   1. Feed remove events (success & failures)
+   1. Cluster remove events (success & failures)
+   1. Process instance kill events (success & failures)
+   1. Process instance re-run events (success & failures)
+   1. Process instance generation events
+   1. Process instance failure events
+   1. Process instance auto-retry events
+   1. Process instance retry exhaust events
+   1. Feed instance deletion event
+   1. Feed instance deletion failure event (no retries)
+   1. Feed instance replication event
+   1. Feed instance replication failure event
+   1. Feed instance replication auto-retry event
+   1. Feed instance replication retry exhaust event
+   1. Feed instance late arrival event
+   1. Feed instance post cut-off arrival event
+   1. Process re-run due to late feed event
+   1. Transaction rollback failed event
+
+The metric logged for an event has the following properties:
+   1. Action - Name of the event.
+   2. Dimensions - A list of name/value pairs of various attributes for a 
given action.
+   3. Status- Status of an action FAILED/SUCCEEDED.
+   4. Time-taken - Time taken in nanoseconds for a given action.
+
+An example for an event logged for a submit of a new process definition:
+
+   2012-05-04 12:23:34,026 {Action:submit, Dimensions:{entityType=process}, 
Status: SUCCEEDED, Time-taken:97087000 ns}
+
+Users may parse the metric.log or capture these events from custom monitoring 
frameworks and can plot various graphs
+or send alerts according to their requirements.
+
+
+---++ Notifications
+
+Falcon creates a JMS topic for every process/feed that is scheduled in Falcon.
+The implementation class and the broker url of the JMS engine are read from 
the dependent cluster's definition.
+Users may register consumers on the required topic to check the availability 
or status of feed instances.
+
+For a given process that is scheduled, the name of the topic is same as the 
process name.
+Falcon sends a Map message for every feed produced by the instance of a 
process to the JMS topic.
+The JMS !MapMessage sent to a topic has the following properties:
+entityName, feedNames, feedInstancePath, workflowId, runId, nominalTime, 
timeStamp, brokerUrl, brokerImplClass, entityType, operation, logFile, 
topicName, status, brokerTTL;
+
+For a given feed that is scheduled, the name of the topic is same as the feed 
name.
+Falcon sends a map message for every feed instance that is 
deleted/archived/replicated depending upon the retention policy set in the feed 
definition.
+The JMS !MapMessage sent to a topic has the following properties:
+entityName, feedNames, feedInstancePath, workflowId, runId, nominalTime, 
timeStamp, brokerUrl, brokerImplClass, entityType, operation, logFile, 
topicName, status, brokerTTL;
+
+The JMS messages are automatically purged after a certain period (default 3 
days) by the Falcon JMS house-keeping service.TTL (Time-to-live) for JMS message
+can be configured in the Falcon's startup.properties file.
+
+
+---++ Alerts
+
+Falcon generates alerts for unrecoverable errors into a log file by default.
+Users can view these alerts in the alerts.log file, by default this file is 
created
+under ${user.dir}/logs/ directory.
+
+Users may also extend the Falcon Alerting plugin to send events to systems 
like Nagios, etc. by
+extending org.apache.falcon.plugin.AlertingPlugin interface.
+
+
+---++ Audits
+
+Falcon audits all user activity and captures them into a log file by default.
+Users can view these audits in the audit.log file, by default this file is 
created
+under ${user.dir}/logs/ directory.
+
+Users may also extend the Falcon Audit plugin to send audits to systems like 
Apache Argus, etc. by
+extending org.apache.falcon.plugin.AuditingPlugin interface.

Added: falcon/trunk/releases/0.9/src/site/twiki/Recipes.twiki
URL: 
http://svn.apache.org/viewvc/falcon/trunk/releases/0.9/src/site/twiki/Recipes.twiki?rev=1730446&view=auto
==============================================================================
--- falcon/trunk/releases/0.9/src/site/twiki/Recipes.twiki (added)
+++ falcon/trunk/releases/0.9/src/site/twiki/Recipes.twiki Mon Feb 15 05:08:31 
2016
@@ -0,0 +1,85 @@
+---+ Falcon Recipes
+
+---++ Overview
+
+A Falcon recipe is a static process template with parameterized workflow to 
realize a specific use case. Recipes are
+defined in user space. Recipes will not have support for update or lifecycle 
management.
+
+For example:
+
+   * Replicating directories from one HDFS cluster to another (not timed 
partitions)
+   * Replicating hive metadata (database, table, views, etc.)
+   * Replicating between HDFS and Hive - either way
+   * Data masking etc.
+
+---++ Proposal
+
+Falcon provides a Process abstraction that encapsulates the configuration for 
a user workflow with scheduling
+controls. All recipes can be modeled as a Process with in Falcon which 
executes the user workflow periodically. The
+process and its associated workflow are parameterized. The user will provide a 
properties file with name value pairs
+that are substituted by falcon before scheduling it. Falcon translates these 
recipes as a process entity by
+replacing the parameters in the workflow definition.
+
+---++ Falcon CLI recipe support
+
+Falcon CLI functionality to support recipes has been added.
+<a href="./FalconCLI.html">Recipe command usage is defined here.</a>
+
+CLI accepts recipe option with a recipe name and optional tool and does the 
following:
+   * Validates the options; name option is mandatory and tool is optional and 
should be provided if user wants to override the base recipe tool
+   * Looks for <name>-workflow.xml, <name>-template.xml and <name>.properties 
file in the path specified by falcon.recipe.path in client.properties. If files 
cannot be found then Falcon CLI will fail
+   * Invokes a Tool to substitute the properties in the templated process for 
the recipe. By default invokes base tool if tool option is not passed. Tool is 
responsible for generating process entity at the path specified by FalconCLI
+   * Validates the generated entity
+   * Submit and schedule this entity
+   * Generated process entity files are stored in tmp directory
+
+---++ Base Recipe tool
+
+Falcon provides a base tool that recipes can override. Base Recipe tool does 
the following:
+   * Expects recipe template file path, recipe properties file path and path 
where process entity to be submitted should be generated. Validates these 
arguments
+   * Validates the artifacts i.e. workflow and/or lib files specified in the 
recipe template exists on local filesystem or HDFS at the specified path else 
returns error
+   * Copies if the artifacts exists on local filesystem
+      * If workflow is on local FS then falcon.recipe.workflow.path in recipe 
property file is mandatory for it to be copied to HDFS. If templated process 
requires custom libs falcon.recipe.workflow.lib.path property is mandatory for 
them to be copied from Local FS to HDFS. Recipe tool will copy the local 
artifacts only if these properties are set in properties file
+   * Looks for the patten ##[A-Za-z0-9_.]*## in the templated process and 
substitutes it with the properties. Process entity generated after the 
substitution is written to the empty file passed by FalconCLI
+
+---++ Recipe template file format
+
+   * Any templatized string should be in the format ##[A-Za-z0-9_.]*##.
+   * There should be a corresponding entry in the recipe properties file 
"falcon.recipe.<templatized-string> = <value to be substituted>"
+
+<verbatim>
+Example: If the entry in recipe template is <workflow 
name="##workflow.name##"> there should be a corresponding entry in the recipe 
properties file falcon.recipe.workflow.name=hdfs-dr-workflow
+</verbatim>
+
+---++ Recipe properties file format
+
+   * Regular key value pair properties file
+   * Property key should be prefixed by "falcon.recipe."
+
+<verbatim>
+Example: falcon.recipe.workflow.name=hdfs-dr-workflow
+Recipe template will have <workflow name="##workflow.name##">. Recipe tool 
will look for the patten ##workflow.name##
+and replace it with the property value "hdfs-dr-workflow". Substituted 
template will have <workflow name="hdfs-dr-workflow">
+</verbatim>
+
+---++ Metrics
+HDFS DR and Hive DR recipes will capture the replication metrics like 
TIMETAKEN, BYTESCOPIED, COPY (number of files copied) for an
+instance and populate to the GraphDB.
+
+---++ Managing the scheduled recipe process
+   * Scheduled recipe process is similar to regular process
+      * List : falcon entity -type process -name <recipe-process-name> -list
+      * Status : falcon entity -type process -name <recipe-process-name> 
-status
+      * Delete : falcon entity -type process -name <recipe-process-name> 
-delete
+
+---++ Sample recipes
+
+   * Sample recipes are published in addons/recipes
+
+---++ Types of recipes
+   * [[HDFSDR][HDFS Recipe]]
+   * [[HiveDR][HiveDR Recipe]]
+
+---++ Packaging
+
+   * There is no packaging for recipes at this time but will be added soon.

Added: falcon/trunk/releases/0.9/src/site/twiki/Security.twiki
URL: 
http://svn.apache.org/viewvc/falcon/trunk/releases/0.9/src/site/twiki/Security.twiki?rev=1730446&view=auto
==============================================================================
--- falcon/trunk/releases/0.9/src/site/twiki/Security.twiki (added)
+++ falcon/trunk/releases/0.9/src/site/twiki/Security.twiki Mon Feb 15 05:08:31 
2016
@@ -0,0 +1,387 @@
+---+ Securing Falcon
+
+---++ Overview
+
+Apache Falcon enforces authentication and authorization which are detailed 
below. Falcon also
+provides transport level security ensuring data confidentiality and integrity.
+
+
+---++ Authentication (User Identity)
+
+Apache Falcon enforces authentication on protected resources. Once 
authentication has been established it sets a
+signed HTTP Cookie that contains an authentication token with the user name, 
user principal,
+authentication type and expiration time.
+
+It does so by using [[http://hadoop.apache 
.org/docs/current/hadoop-auth/index.html][Hadoop Auth]].
+Hadoop Auth is a Java library consisting of a client and a server components 
to enable Kerberos SPNEGO authentication
+for HTTP. Hadoop Auth also supports additional authentication mechanisms on 
the client and the server side via 2
+simple interfaces.
+
+
+---+++ Authentication Methods
+
+It supports 2 authentication methods, simple and kerberos out of the box.
+
+---++++ Pseudo/Simple Authentication
+
+Falcon authenticates the user by simply trusting the value of the query string 
parameter 'user.name'. This is the
+default mode Falcon is configured with.
+
+---++++ Kerberos Authentication
+
+Falcon uses HTTP Kerberos SPNEGO to authenticate the user.
+
+
+---++ Authorization
+
+Falcon also enforces authorization on Entities using ACLs (Access Control 
Lists). ACLs are useful
+for implementing permission requirements and provide a way to set different 
permissions for
+specific users or named groups.
+
+By default, support for authorization is disabled and can be enabled in 
startup.properties.
+
+---+++ ACLs in Entity
+
+All Entities now have ACL which needs to be present if authorization is 
enabled. Only owners who
+own or created the entity will be allowed to update or delete their entities.
+
+An entity has ACLs (Access Control Lists) that are useful for implementing 
permission requirements
+and provide a way to set different permissions for specific users or named 
groups.
+<verbatim>
+    <ACL owner="test-user" group="test-group" permission="*"/>
+</verbatim>
+ACL indicates the Access control list for this cluster.
+owner is the Owner of this entity.
+group is the one which has access to read.
+permission indicates the rwx is not enforced at this time.
+
+---+++ Super-User
+
+The super-user is the user with the same identity as falcon process itself. 
Loosely, if you
+started the falcon, then you are the super-user. The super-user can do 
anything in that
+permissions checks never fail for the super-user. There is no persistent 
notion of who was the
+super-user; when the falcon is started the process identity determines who is 
the super-user
+for now. The Falcon super-user does not have to be the super-user of the 
falcon host, nor is it
+necessary that all clusters have the same super-user. Also, an experimenter 
running Falcon on a
+personal workstation, conveniently becomes that installation's super-user 
without any configuration.
+
+Falcon also allows users to configure a super user group and allows users 
belonging to this
+group to be a super user.
+
+ACL owner and group must be valid even if the authenticated user is a 
super-user.
+
+---+++ Group Memberships
+
+Once a user has been authenticated and a username has been determined, the 
list of groups is
+determined by a group mapping service, configured by the 
hadoop.security.group.mapping property
+in Hadoop. The default implementation, 
org.apache.hadoop.security.ShellBasedUnixGroupsMapping,
+will shell out to the Unix bash -c groups command to resolve a list of groups 
for a user.
+
+Note that Falcon stores the user and group of an Entity as strings; there is no
+conversion from user and group identity numbers as is conventional in Unix.
+
+The only limitation is that a user cannot add a group in ACL that he does not 
belong to.
+
+---+++ Authorization Provider
+
+Falcon provides a plugin-able provider interface for Authorization. It also 
ships with a default
+implementation that enforces the following authorization policy.
+
+---++++ Entity and Instance Management Operations Policy
+
+   * All Entity and Instance operations are authorized for users who created 
them, Owners and users with group memberships
+   * Reference to entities with in a feed or process is allowed with out 
enforcing permissions
+
+Any Feed or Process can refer to a Cluster entity not owned by the Feed or 
Process owner. Any Process can refer to a Feed entity not owned by the Process 
owner
+
+The authorization is enforced in the following way:
+
+   * if admin resource,
+      * If authenticated user name matches the admin users configuration
+      * Else if groups of the authenticated user matches the admin groups 
configuration
+      * Else authorization exception is thrown
+   * Else if entities or instance resource
+      * If the authenticated user matches the owner in ACL for the entity
+      * Else if the groups of the authenticated user matches the group in ACL 
for the entity
+      * Else authorization exception is thrown
+   * Else if lineage resource
+      * All have read-only permissions, reason being folks should be able to 
examine the dependency and allow reuse
+
+To authenticate user for REST api calls, user should append 
"user.name=<username>" to the query.
+
+*operations on Entity Resource*
+
+| *Resource*                                                                   
       | *Description*                      | *Authorization* |
+| [[restapi/EntityValidate][api/entities/validate/:entity-type]]               
       | Validate the entity                | Owner/Group     |
+| [[restapi/EntitySubmit][api/entities/submit/:entity-type]]                   
       | Submit the entity                  | Owner/Group     |
+| [[restapi/EntityUpdate][api/entities/update/:entity-type/:entity-name]]      
       | Update the entity                  | Owner/Group     |
+| 
[[restapi/EntitySubmitAndSchedule][api/entities/submitAndSchedule/:entity-type]]
    | Submit & Schedule the entity       | Owner/Group     |
+| [[restapi/EntitySchedule][api/entities/schedule/:entity-type/:entity-name]]  
       | Schedule the entity                | Owner/Group     |
+| [[restapi/EntitySuspend][api/entities/suspend/:entity-type/:entity-name]]    
       | Suspend the entity                 | Owner/Group     |
+| [[restapi/EntityResume][api/entities/resume/:entity-type/:entity-name]]      
       | Resume the entity                  | Owner/Group     |
+| [[restapi/EntityDelete][api/entities/delete/:entity-type/:entity-name]]      
       | Delete the entity                  | Owner/Group     |
+| [[restapi/EntityStatus][api/entities/status/:entity-type/:entity-name]]      
       | Get the status of the entity       | Owner/Group     |
+| 
[[restapi/EntityDefinition][api/entities/definition/:entity-type/:entity-name]] 
    | Get the definition of the entity   | Owner/Group     |
+| [[restapi/EntityList][api/entities/list/:entity-type?fields=:fields]]        
       | Get the list of entities           | Owner/Group     |
+| 
[[restapi/EntityDependencies][api/entities/dependencies/:entity-type/:entity-name]]
 | Get the dependencies of the entity | Owner/Group     |
+
+*REST Call on Feed and Process Instances*
+
+| *Resource*                                                                  
| *Description*                | *Authorization* |
+| [[restapi/InstanceRunning][api/instance/running/:entity-type/:entity-name]] 
| List of running instances.   | Owner/Group     |
+| [[restapi/InstanceStatus][api/instance/status/:entity-type/:entity-name]]   
| Status of a given instance   | Owner/Group     |
+| [[restapi/InstanceKill][api/instance/kill/:entity-type/:entity-name]]       
| Kill a given instance        | Owner/Group     |
+| [[restapi/InstanceSuspend][api/instance/suspend/:entity-type/:entity-name]] 
| Suspend a running instance   | Owner/Group     |
+| [[restapi/InstanceResume][api/instance/resume/:entity-type/:entity-name]]   
| Resume a given instance      | Owner/Group     |
+| [[restapi/InstanceRerun][api/instance/rerun/:entity-type/:entity-name]]     
| Rerun a given instance       | Owner/Group     |
+| [[InstanceLogs][api/instance/logs/:entity-type/:entity-name]]               
| Get logs of a given instance | Owner/Group     |
+
+---++++ Admin Resources Policy
+
+Only users belonging to admin users or groups have access to this resource. 
Admin membership is
+determined by a static configuration parameter.
+
+| *Resource*                                             | *Description*       
                        | *Authorization*  |
+| [[restapi/AdminVersion][api/admin/version]]            | Get version of the 
server                   | No restriction   |
+| [[restapi/AdminStack][api/admin/stack]]                | Get stack of the 
server                     | Admin User/Group |
+| [[restapi/AdminConfig][api/admin/config/:config-type]] | Get configuration 
information of the server | Admin User/Group |
+
+
+---++++ Lineage Resource Policy
+
+Lineage is read-only and hence all users can look at lineage for their 
respective entities.
+*Note:* This gap will be fixed in a later release.
+
+
+---++ Authentication Configuration
+
+Following is the Server Side Configuration Setup for Authentication.
+
+---+++ Common Configuration Parameters
+
+<verbatim>
+# Authentication type must be specified: simple|kerberos
+*.falcon.authentication.type=kerberos
+</verbatim>
+
+---+++ Kerberos Configuration
+
+<verbatim>
+##### Service Configuration
+
+# Indicates the Kerberos principal to be used in Falcon Service.
+*.falcon.service.authentication.kerberos.principal=falcon/[email protected]
+
+# Location of the keytab file with the credentials for the Service principal.
+*.falcon.service.authentication.kerberos.keytab=/etc/security/keytabs/falcon.service.keytab
+
+# name node principal to talk to config store
+*.dfs.namenode.kerberos.principal=nn/[email protected]
+
+# Indicates how long (in seconds) falcon authentication token is valid before 
it has to be renewed.
+*.falcon.service.authentication.token.validity=86400
+
+##### SPNEGO Configuration
+
+# Authentication type must be specified: simple|kerberos|<class>
+# org.apache.falcon.security.RemoteUserInHeaderBasedAuthenticationHandler can 
be used for backwards compatibility
+*.falcon.http.authentication.type=kerberos
+
+# Indicates how long (in seconds) an authentication token is valid before it 
has to be renewed.
+*.falcon.http.authentication.token.validity=36000
+
+# The signature secret for signing the authentication tokens.
+*.falcon.http.authentication.signature.secret=falcon
+
+# The domain to use for the HTTP cookie that stores the authentication token.
+*.falcon.http.authentication.cookie.domain=
+
+# Indicates if anonymous requests are allowed when using 'simple' 
authentication.
+*.falcon.http.authentication.simple.anonymous.allowed=true
+
+# Indicates the Kerberos principal to be used for HTTP endpoint.
+# The principal MUST start with 'HTTP/' as per Kerberos HTTP SPNEGO 
specification.
+*.falcon.http.authentication.kerberos.principal=HTTP/[email protected]
+
+# Location of the keytab file with the credentials for the HTTP principal.
+*.falcon.http.authentication.kerberos.keytab=/etc/security/keytabs/spnego.service.keytab
+
+# The kerberos names rules is to resolve kerberos principal names, refer to 
Hadoop's KerberosName for more details.
+*.falcon.http.authentication.kerberos.name.rules=DEFAULT
+
+# Comma separated list of black listed users
+*.falcon.http.authentication.blacklisted.users=
+
+# Increase Jetty request buffer size to accommodate the generated Kerberos 
token
+*.falcon.jetty.request.buffer.size=16192
+</verbatim>
+
+---+++ Pseudo/Simple Configuration
+
+<verbatim>
+##### SPNEGO Configuration
+
+# Authentication type must be specified: simple|kerberos|<class>
+# org.apache.falcon.security.RemoteUserInHeaderBasedAuthenticationHandler can 
be used for backwards compatibility
+*.falcon.http.authentication.type=simple
+
+# Indicates how long (in seconds) an authentication token is valid before it 
has to be renewed.
+*.falcon.http.authentication.token.validity=36000
+
+# The signature secret for signing the authentication tokens.
+*.falcon.http.authentication.signature.secret=falcon
+
+# The domain to use for the HTTP cookie that stores the authentication token.
+*.falcon.http.authentication.cookie.domain=
+
+# Indicates if anonymous requests are allowed when using 'simple' 
authentication.
+*.falcon.http.authentication.simple.anonymous.allowed=true
+
+# Comma separated list of black listed users
+*.falcon.http.authentication.blacklisted.users=
+</verbatim>
+
+---++ Authorization Configuration
+
+---+++ Enabling Authorization
+By default, support for authorization is disabled and specifying ACLs in 
entities are optional.
+To enable support for authorization, set falcon.security.authorization.enabled 
to true in the
+startup configuration.
+
+<verbatim>
+# Authorization Enabled flag: false|true
+*.falcon.security.authorization.enabled=true
+</verbatim>
+
+---+++ Authorization Provider
+
+Falcon provides a basic implementation for Authorization bundled, 
org.apache.falcon.security .DefaultFalconAuthorizationProvider.
+This can be overridden by custom implementations in the startup configuration.
+
+<verbatim>
+# Authorization Provider Fully Qualified Class Name
+*.falcon.security.authorization.provider=org.apache.falcon.security.DefaultAuthorizationProvider
+</verbatim>
+
+---+++ Super User Group
+
+Super user group is determined by the configuration:
+
+<verbatim>
+# The name of the group of super-users
+*.falcon.security.authorization.superusergroup=falcon
+</verbatim>
+
+---+++ Admin Membership
+
+Administrative users are determined by the configuration:
+
+<verbatim>
+# Admin Users, comma separated users
+*.falcon.security.authorization.admin.users=falcon,ambari-qa,seetharam
+</verbatim>
+
+Administrative groups are determined by the configuration:
+
+<verbatim>
+# Admin Group Membership, comma separated users
+*.falcon.security.authorization.admin.groups=falcon,testgroup,staff
+</verbatim>
+
+
+---++ SSL
+
+Falcon provides transport level security ensuring data confidentiality and 
integrity. This is
+enabled by default for communicating over HTTP between the client and the 
server.
+
+---+++ SSL Configuration
+
+<verbatim>
+*.falcon.enableTLS=true
+*.keystore.file=/path/to/keystore/file
+*.keystore.password=password
+</verbatim>
+
+---+++ Distributed Falcon Setup
+
+Falcon should be configured to communicate with Prism over TLS in secure mode. 
Its not enabled by default.
+
+
+---++ Changes to ownership and permissions of directories managed by Falcon
+
+| *Directory*              | *Location*                                        
                | *Owner* | *Permissions* |
+| Configuration Store      | ${config.store.uri}                               
                | falcon  | 700           |
+| Cluster Staging Location | ${cluster.staging-location}                       
                | falcon  | 777           |
+| Cluster Working Location | ${cluster.working-location}                       
                | falcon  | 755           |
+| Shared libs              | {cluster.working}/{lib,libext}                    
                | falcon  | 755           |
+| Oozie coord/bundle XMLs  | 
${cluster.staging-location}/workflows/{entity}/{entity-name}      | $user   | 
cluster umask |
+| App logs                 | 
${cluster.staging-location}/workflows/{entity}/{entity-name}/logs | $user   | 
cluster umask |
+
+*Note:* Please note that the cluster staging and working locations MUST be 
created prior to
+submitting a cluster entity to Falcon. Also, note that the the parent dirs 
must have execute
+permissions.
+
+
+---++ Backwards compatibility
+
+---+++ Scheduled Entities
+
+Entities already scheduled with an earlier version of Falcon are not 
compatible with this version
+
+---+++ Falcon Clients
+
+Older Falcon clients are backwards compatible wrt Authentication and user 
information sent as part of the HTTP
+header, Remote-User is still honoured when the authentication type is 
configured as below:
+
+<verbatim>
+*.falcon.http.authentication.type=org.apache.falcon.security.RemoteUserInHeaderBasedAuthenticationHandler
+</verbatim>
+
+---+++ Blacklisted super users for authentication
+
+The blacklist users used to have the following super users: hdfs, mapreduce, 
oozie, and falcon.
+The list is externalized from code into Startup.properties file and is empty 
now and needs to be
+configured specifically in the file.
+
+
+---+++ Falcon Dashboard
+
+To initialize the current user for dashboard, user should append query param 
"user.name=<username>" to the REST api call.
+
+If dashboard user wishes to change the current user, they should do the 
following.
+   * delete the hadoop.auth cookie from browser cache.
+   * append query param "user.name=<new_user>" to the next REST API call.
+
+In Kerberos method, the browser must support HTTP Kerberos SPNEGO.
+
+
+---++ Known Limitations
+
+   * ActiveMQ topics are not secure but will be in the near future
+   * Entities already scheduled with an earlier version of Falcon are not 
compatible with this version as new
+   workflow parameters are being passed back into Falcon such as the user are 
required
+   * Use of hftp as the scheme for read only interface in cluster entity 
[[https://issues.apache.org/jira/browse/HADOOP-10215][will not work in Oozie]]
+   The alternative is to use webhdfs scheme instead and its been tested with 
DistCp.
+
+
+---++ Examples
+
+---+++ Accessing the server using Falcon CLI (Java client)
+
+There is no change in the way the CLI is used. The CLI has been changed to 
work with the configured authentication
+method.
+
+---+++ Accessing the server using curl
+
+Try accessing protected resources using curl. The protected resources are:
+
+<verbatim>
+$ kinit
+Please enter the password for venkatesh@LOCALHOST:
+
+$ curl http://localhost:15000/api/admin/version
+
+$ curl http://localhost:15000/api/admin/version?user.name=venkatesh
+
+$ curl --negotiate -u foo -b ~/cookiejar.txt -c ~/cookiejar.txt curl 
http://localhost:15000/api/admin/version
+</verbatim>

Added: falcon/trunk/releases/0.9/src/site/twiki/falconcli/CommonCLI.twiki
URL: 
http://svn.apache.org/viewvc/falcon/trunk/releases/0.9/src/site/twiki/falconcli/CommonCLI.twiki?rev=1730446&view=auto
==============================================================================
--- falcon/trunk/releases/0.9/src/site/twiki/falconcli/CommonCLI.twiki (added)
+++ falcon/trunk/releases/0.9/src/site/twiki/falconcli/CommonCLI.twiki Mon Feb 
15 05:08:31 2016
@@ -0,0 +1,21 @@
+---++ Common CLI Options
+
+---+++Falcon URL
+
+Optional -url option indicating the URL of the Falcon system to run the 
command against can be provided.  If not mentioned it will be picked from the 
system environment variable FALCON_URL. If FALCON_URL is not set then it will 
be picked from client.properties file. If the option is not
+provided and also not set in client.properties, Falcon CLI will fail.
+
+---+++Proxy user support
+
+The -doAs option allows the current user to impersonate other users when 
interacting with the Falcon system. The current user must be configured as a 
proxyuser in the Falcon system. The proxyuser configuration may restrict from
+which hosts a user may impersonate users, as well as users of which groups can 
be impersonated.
+
+<a href="../FalconDocumentation.html#Proxyuser_support">Proxyuser support 
described here.</a>
+
+---+++Debug Mode
+
+If you export FALCON_DEBUG=true then the Falcon CLI will output the Web 
Services API details used by any commands you execute. This is useful for 
debugging purposes to or see how the Falcon CLI works with the WS API.
+Alternately, you can specify '-debug' through the CLI arguments to get the 
debug statements.
+
+Example:
+$FALCON_HOME/bin/falcon entity -submit -type cluster -file 
/cluster/definition.xml -debug
\ No newline at end of file

Added: falcon/trunk/releases/0.9/src/site/twiki/falconcli/ContinueInstance.twiki
URL: 
http://svn.apache.org/viewvc/falcon/trunk/releases/0.9/src/site/twiki/falconcli/ContinueInstance.twiki?rev=1730446&view=auto
==============================================================================
--- falcon/trunk/releases/0.9/src/site/twiki/falconcli/ContinueInstance.twiki 
(added)
+++ falcon/trunk/releases/0.9/src/site/twiki/falconcli/ContinueInstance.twiki 
Mon Feb 15 05:08:31 2016
@@ -0,0 +1,8 @@
+---+++Continue
+
+[[CommonCLI][Common CLI Options]]
+
+Continue option is used to continue the failed workflow instance. This option 
is valid only for process instances in terminal state, i.e. KILLED or FAILED.
+
+Usage:
+$FALCON_HOME/bin/falcon instance -type <<feed/process>> -name <<name>> 
-continue -start "yyyy-MM-dd'T'HH:mm'Z'" -end "yyyy-MM-dd'T'HH:mm'Z'"

Added: falcon/trunk/releases/0.9/src/site/twiki/falconcli/Definition.twiki
URL: 
http://svn.apache.org/viewvc/falcon/trunk/releases/0.9/src/site/twiki/falconcli/Definition.twiki?rev=1730446&view=auto
==============================================================================
--- falcon/trunk/releases/0.9/src/site/twiki/falconcli/Definition.twiki (added)
+++ falcon/trunk/releases/0.9/src/site/twiki/falconcli/Definition.twiki Mon Feb 
15 05:08:31 2016
@@ -0,0 +1,8 @@
+---+++Definition
+
+[[CommonCLI][Common CLI Options]]
+
+Definition option returns the entity definition submitted earlier during 
submit step.
+
+Usage:
+$FALCON_HOME/bin/falcon entity -type [cluster|datasource|feed|process] -name 
<<name>> -definition

Added: falcon/trunk/releases/0.9/src/site/twiki/falconcli/DeleteEntity.twiki
URL: 
http://svn.apache.org/viewvc/falcon/trunk/releases/0.9/src/site/twiki/falconcli/DeleteEntity.twiki?rev=1730446&view=auto
==============================================================================
--- falcon/trunk/releases/0.9/src/site/twiki/falconcli/DeleteEntity.twiki 
(added)
+++ falcon/trunk/releases/0.9/src/site/twiki/falconcli/DeleteEntity.twiki Mon 
Feb 15 05:08:31 2016
@@ -0,0 +1,8 @@
+---+++Delete
+
+[[CommonCLI][Common CLI Options]]
+
+Delete removes the submitted entity definition for the specified entity and 
put it into the archive.
+
+Usage:
+$FALCON_HOME/bin/falcon entity  -type [cluster|datasource|feed|process] -name 
<<name>> -delete

Added: falcon/trunk/releases/0.9/src/site/twiki/falconcli/DependencyEntity.twiki
URL: 
http://svn.apache.org/viewvc/falcon/trunk/releases/0.9/src/site/twiki/falconcli/DependencyEntity.twiki?rev=1730446&view=auto
==============================================================================
--- falcon/trunk/releases/0.9/src/site/twiki/falconcli/DependencyEntity.twiki 
(added)
+++ falcon/trunk/releases/0.9/src/site/twiki/falconcli/DependencyEntity.twiki 
Mon Feb 15 05:08:31 2016
@@ -0,0 +1,10 @@
+---+++Dependency
+
+[[CommonCLI][Common CLI Options]]
+
+With the use of dependency option, we can list all the entities on which the 
specified entity is dependent.
+For example for a feed, dependency return the cluster name and for process it 
returns all the input feeds,
+output feeds and cluster names.
+
+Usage:
+$FALCON_HOME/bin/falcon entity -type [cluster|datasource|feed|process] -name 
<<name>> -dependency
\ No newline at end of file

Added: 
falcon/trunk/releases/0.9/src/site/twiki/falconcli/DependencyInstance.twiki
URL: 
http://svn.apache.org/viewvc/falcon/trunk/releases/0.9/src/site/twiki/falconcli/DependencyInstance.twiki?rev=1730446&view=auto
==============================================================================
--- falcon/trunk/releases/0.9/src/site/twiki/falconcli/DependencyInstance.twiki 
(added)
+++ falcon/trunk/releases/0.9/src/site/twiki/falconcli/DependencyInstance.twiki 
Mon Feb 15 05:08:31 2016
@@ -0,0 +1,33 @@
+---+++Dependency
+Display the dependent instances which are dependent on the given instance. For 
example for a given process instance it will
+list all the input feed instances(if any) and the output feed instances(if 
any).
+
+An example use case of this command is as follows:
+Suppose you find out that the data in a feed instance was incorrect and you 
need to figure out which all process instances
+consumed this feed instance so that you can reprocess them after correcting 
the feed instance. You can give the feed instance
+and it will tell you which process instance produced this feed and which all 
process instances consumed this feed.
+
+NOTE:
+1. instanceTime must be a valid instanceTime e.g. instanceTime of a feed 
should be in it's validity range on applicable clusters,
+ and it should be in the range of instances produced by the producer 
process(if any)
+
+2. For processes with inputs like latest() which vary with time the results 
are not guaranteed to be correct.
+
+Usage:
+$FALCON_HOME/bin/falcon instance -type <<feed/process>> -name <<name>> 
-dependency -instanceTime "yyyy-MM-dd'T'HH:mm'Z'"
+
+For example:
+$FALCON_HOME/bin/falcon instance -dependency -type feed -name out 
-instanceTime 2014-12-15T00:00Z
+name: producer, type: PROCESS, cluster: local, instanceTime: 
2014-12-15T00:00Z, tags: Output
+name: consumer, type: PROCESS, cluster: local, instanceTime: 
2014-12-15T00:03Z, tags: Input
+name: consumer, type: PROCESS, cluster: local, instanceTime: 
2014-12-15T00:04Z, tags: Input
+name: consumer, type: PROCESS, cluster: local, instanceTime: 
2014-12-15T00:02Z, tags: Input
+name: consumer, type: PROCESS, cluster: local, instanceTime: 
2014-12-15T00:05Z, tags: Input
+
+
+Response: default/Success!
+
+Request Id: default/1125035965@qtp-503156953-7 - 
447be0ad-1d38-4dce-b438-20f3de69b172
+
+
+<a href="../Restapi/InstanceDependencies.html">Optional params described 
here.</a>
\ No newline at end of file

Added: falcon/trunk/releases/0.9/src/site/twiki/falconcli/EdgeMetadata.twiki
URL: 
http://svn.apache.org/viewvc/falcon/trunk/releases/0.9/src/site/twiki/falconcli/EdgeMetadata.twiki?rev=1730446&view=auto
==============================================================================
--- falcon/trunk/releases/0.9/src/site/twiki/falconcli/EdgeMetadata.twiki 
(added)
+++ falcon/trunk/releases/0.9/src/site/twiki/falconcli/EdgeMetadata.twiki Mon 
Feb 15 05:08:31 2016
@@ -0,0 +1,11 @@
+---+++ Edge
+
+[[CommonCLI][Common CLI Options]]
+
+Get the edge with the specified id.
+
+Usage:
+$FALCON_HOME/bin/falcon metadata -edge -id <<id>>
+
+Example:
+$FALCON_HOME/bin/falcon metadata -edge -id Q9n-Q-5g
\ No newline at end of file

Added: falcon/trunk/releases/0.9/src/site/twiki/falconcli/FalconCLI.twiki
URL: 
http://svn.apache.org/viewvc/falcon/trunk/releases/0.9/src/site/twiki/falconcli/FalconCLI.twiki?rev=1730446&view=auto
==============================================================================
--- falcon/trunk/releases/0.9/src/site/twiki/falconcli/FalconCLI.twiki (added)
+++ falcon/trunk/releases/0.9/src/site/twiki/falconcli/FalconCLI.twiki Mon Feb 
15 05:08:31 2016
@@ -0,0 +1,112 @@
+---+FalconCLI
+
+FalconCLI is a interface between user and Falcon. It is a command line utility 
provided by Falcon. FalconCLI supports Entity Management, Instance Management 
and Admin operations.There is a set of web services that are used by FalconCLI 
to interact with Falcon.
+
+---+++Types of CLI Options
+
+CLI options are classified into :
+
+   * <a href="#Common_CLI_Options">Common CLI Options</a>
+   * <a href="#Entity_Management_Commands">Entity Management Commands</a>
+   * <a href="#Instance_Management_Commands">Instance Management Commands</a>
+   * <a href="#Metadata_Commands">Metadata Commands</a>
+   * <a href="#Admin_Commands">Admin commands</a>
+   * <a href="#Recipe_Commands">Recipe commands</a>
+
+
+
+-----------
+
+---++Common CLI Options
+
+---+++Falcon URL
+
+Optional -url option indicating the URL of the Falcon system to run the 
command against can be provided.  If not mentioned it will be picked from the 
system environment variable FALCON_URL. If FALCON_URL is not set then it will 
be picked from client.properties file. If the option is not
+provided and also not set in client.properties, Falcon CLI will fail.
+
+---+++Proxy user support
+
+The -doAs option allows the current user to impersonate other users when 
interacting with the Falcon system. The current user must be configured as a 
proxyuser in the Falcon system. The proxyuser configuration may restrict from
+which hosts a user may impersonate users, as well as users of which groups can 
be impersonated.
+
+<a href="../FalconDocumentation.html#Proxyuser_support">Proxyuser support 
described here.</a>
+
+---+++Debug Mode
+
+If you export FALCON_DEBUG=true then the Falcon CLI will output the Web 
Services API details used by any commands you execute. This is useful for 
debugging purposes to or see how the Falcon CLI works with the WS API.
+Alternately, you can specify '-debug' through the CLI arguments to get the 
debug statements.
+Example:
+$FALCON_HOME/bin/falcon entity -submit -type cluster -file 
/cluster/definition.xml -debug
+
+-----------
+
+---++Entity Management Commands
+
+| *Command*                                      | *Description*               
                    |
+| [[Submit]]                                     | Submit the entity 
definition.                   |
+| [[Schedule]]                                   | Scheduled the entity        
                    |
+| [[SuspendEntity][Suspend]]                     | Suspends the scheduled 
entity                   |
+| [[ResumeEntity][Resume]]                       | Puts a suspended entity 
back in action          |
+| [[DeleteEntity][Delete]]                       | Remove the submitted entity 
                    |
+| [[ListEntity][List]]                           | Lists the particular type 
of entity             |
+| [[SummaryEntity][Summary]]                     | Shows summary of the type 
of entity             |
+| [[UpdateEntity][Update]]                       | Update already submitted 
entity                 |
+| [[Touch]]                                      | Force update already 
submitted entity           |
+| [[StatusEntity][Status]]                       | Return's the status of the 
entity               |
+| [[DependencyEntity][Dependency]]               | List all the entities on 
which the specified entity is dependent|
+| [[Definition]]                                 | Return's the definition of 
the entity           |
+| [[Lookup]]                                     | Return's the feed name for 
a path               |
+| [[SLAAlert]]                                   | Return's the feed instance 
which have missed sla|
+
+
+-----------
+---++Instance Management Commands
+
+| *Command*                                      | *Description*               
                    |
+| [[KillInstance][Kill]]                         | Kills all the instances of 
specified process    |
+| [[SuspendInstance][Suspend]]                   | Suspends instances of a 
specified process       |
+| [[ContinueInstance][Continue]]                 | Continue the failed 
workflow instances          |
+| [[RerunInstance][Rerun]]                       | Rerun instances of 
specified process            |
+| [[ResumeInstance][Resume]]                     | Resume instance of 
specified process from suspended state   |
+| [[StatusInstance][Status]]                     | Gets the status of entity   
                    |
+| [[ListInstance][List]]                         | Gets single or multiple 
instances               |
+| [[SummaryInstance][Summary]]                   | Gets consolidated status of 
the instances between the specified time period    |
+| [[RunningInstance][Running]]                   | Gets running instances of 
the mentioned process |
+| [[FeedInstanceListing]]                        | Gets falcon feed instance 
availability          |
+| [[LogsInstance][Logs]]                         | Gets logs for instance      
                    |
+| [[LifeCycleInstance][LifeCycle]]               | Describes list of life 
cycles of a entity       |
+| [[TriageInstance][Triage]]                     | Traces entities ancestors 
for failure           |
+| [[ParamsInstance][Params]]                     | Displays workflow params    
                    |
+| [[DependencyInstance][Dependency]]             | Displays the dependent 
instances    |
+
+-----------
+
+---++Metadata Commands
+
+| *Command*                                      | *Description*               
                     |
+|[[LineageMetadata][Lineage]]                    | Returns the relationship 
between processes and feeds |
+|[[VertexMetadata][Vertex]]                      | Gets the vertex with the 
specified id            |
+|[[VerticesMetadata][Vertices]]                  | Gets all vertices for a key 
                     |
+|[[VertexEdgesMetadata][Vertex Edges]]           | Gets the adjacent vertices 
or edges of the vertex|
+|[[EdgeMetadata][Edge]]                          | Gets the edge with the 
specified id              |
+|[[ListMetadata][List]]                          | Return list of all 
dimension of given type       |
+|[[RelationMetadata][Relations]]                | Return all dimensions 
related to specified Dimension |
+
+-----------
+
+---++Admin Commands
+
+| *Command*                                      | *Description*               
                    |
+|[[HelpAdmin][Help]]                             | Return help options         
                    |
+|[[VersionAdmin][Version]]                       | Return current falcon 
version                   |
+|[[StatusAdmin][Status]]                         | Return the status of falcon 
                    |
+
+-----------
+
+---++Recipe Commands
+
+| *Command*                                      | *Description*               
                    |
+|[[SubmitRecipe][Submit]]                        | Submit the specified Recipe 
                    |
+
+
+

Added: 
falcon/trunk/releases/0.9/src/site/twiki/falconcli/FeedInstanceListing.twiki
URL: 
http://svn.apache.org/viewvc/falcon/trunk/releases/0.9/src/site/twiki/falconcli/FeedInstanceListing.twiki?rev=1730446&view=auto
==============================================================================
--- 
falcon/trunk/releases/0.9/src/site/twiki/falconcli/FeedInstanceListing.twiki 
(added)
+++ 
falcon/trunk/releases/0.9/src/site/twiki/falconcli/FeedInstanceListing.twiki 
Mon Feb 15 05:08:31 2016
@@ -0,0 +1,11 @@
+---+++FeedInstanceListing
+
+Get falcon feed instance availability.
+
+Usage:
+$FALCON_HOME/bin/falcon instance -type feed -name <<name>> -listing
+
+Optional Args : -start "yyyy-MM-dd'T'HH:mm'Z'" -end "yyyy-MM-dd'T'HH:mm'Z'"
+-colo <<colo>>
+
+<a href="../Restapi/FeedInstanceListing.html">Optional params described 
here.</a>

Added: falcon/trunk/releases/0.9/src/site/twiki/falconcli/HelpAdmin.twiki
URL: 
http://svn.apache.org/viewvc/falcon/trunk/releases/0.9/src/site/twiki/falconcli/HelpAdmin.twiki?rev=1730446&view=auto
==============================================================================
--- falcon/trunk/releases/0.9/src/site/twiki/falconcli/HelpAdmin.twiki (added)
+++ falcon/trunk/releases/0.9/src/site/twiki/falconcli/HelpAdmin.twiki Mon Feb 
15 05:08:31 2016
@@ -0,0 +1,6 @@
+---+++Help
+
+[[CommonCLI][Common CLI Options]]
+
+Usage:
+$FALCON_HOME/bin/falcon admin -help

Added: falcon/trunk/releases/0.9/src/site/twiki/falconcli/KillInstance.twiki
URL: 
http://svn.apache.org/viewvc/falcon/trunk/releases/0.9/src/site/twiki/falconcli/KillInstance.twiki?rev=1730446&view=auto
==============================================================================
--- falcon/trunk/releases/0.9/src/site/twiki/falconcli/KillInstance.twiki 
(added)
+++ falcon/trunk/releases/0.9/src/site/twiki/falconcli/KillInstance.twiki Mon 
Feb 15 05:08:31 2016
@@ -0,0 +1,14 @@
+---+++Kill
+
+[[CommonCLI][Common CLI Options]]
+
+Kill sub-command is used to kill all the instances of the specified process 
whose nominal time is between the given start time and end time.
+
+Note:
+1. The start time and end time needs to be specified in TZ format.
+Example:   01 Jan 2012 01:00  => 2012-01-01T01:00Z
+
+2. Process name is compulsory parameter for each instance management command.
+
+Usage:
+$FALCON_HOME/bin/falcon instance -type <<feed/process>> -name <<name>> -kill 
-start "yyyy-MM-dd'T'HH:mm'Z'" -end "yyyy-MM-dd'T'HH:mm'Z'"

Added: 
falcon/trunk/releases/0.9/src/site/twiki/falconcli/LifeCycleInstance.twiki
URL: 
http://svn.apache.org/viewvc/falcon/trunk/releases/0.9/src/site/twiki/falconcli/LifeCycleInstance.twiki?rev=1730446&view=auto
==============================================================================
--- falcon/trunk/releases/0.9/src/site/twiki/falconcli/LifeCycleInstance.twiki 
(added)
+++ falcon/trunk/releases/0.9/src/site/twiki/falconcli/LifeCycleInstance.twiki 
Mon Feb 15 05:08:31 2016
@@ -0,0 +1,9 @@
+---+++LifeCycle
+
+[[CommonCLI][Common CLI Options]]
+
+Describes list of life cycles of a entity , for feed it can be 
replication/retention and for process it can be execution.
+This can be used with instance management options. Default values are 
replication for feed and execution for process.
+
+Usage:
+$FALCON_HOME/bin/falcon instance -type <<feed/process>> -name <<name>> -status 
-lifecycle <<lifecycletype>> -start "yyyy-MM-dd'T'HH:mm'Z'" -end 
"yyyy-MM-dd'T'HH:mm'Z'"

Added: falcon/trunk/releases/0.9/src/site/twiki/falconcli/LineageMetadata.twiki
URL: 
http://svn.apache.org/viewvc/falcon/trunk/releases/0.9/src/site/twiki/falconcli/LineageMetadata.twiki?rev=1730446&view=auto
==============================================================================
--- falcon/trunk/releases/0.9/src/site/twiki/falconcli/LineageMetadata.twiki 
(added)
+++ falcon/trunk/releases/0.9/src/site/twiki/falconcli/LineageMetadata.twiki 
Mon Feb 15 05:08:31 2016
@@ -0,0 +1,12 @@
+---+++Lineage
+
+
+Returns the relationship between processes and feeds in a given pipeline in 
[[http://www.graphviz.org/content/dot-language/][dot]] format.
+You can use the output and view a graphical representation of DAG using an 
online graphviz viewer like [[http://www.webgraphviz.com/][this]].
+
+Usage:
+
+$FALCON_HOME/bin/falcon metadata -lineage -pipeline my-pipeline
+
+pipeline is a mandatory option.
+

Added: falcon/trunk/releases/0.9/src/site/twiki/falconcli/ListEntity.twiki
URL: 
http://svn.apache.org/viewvc/falcon/trunk/releases/0.9/src/site/twiki/falconcli/ListEntity.twiki?rev=1730446&view=auto
==============================================================================
--- falcon/trunk/releases/0.9/src/site/twiki/falconcli/ListEntity.twiki (added)
+++ falcon/trunk/releases/0.9/src/site/twiki/falconcli/ListEntity.twiki Mon Feb 
15 05:08:31 2016
@@ -0,0 +1,17 @@
+---+++List
+
+[[CommonCLI][Common CLI Options]]
+
+Entities of a particular type can be listed with list sub-command.
+
+Usage:
+$FALCON_HOME/bin/falcon entity -list
+
+Optional Args : -fields <<field1,field2>>
+-type <<[cluster|datasource|feed|process],[cluster|datasource|feed|process]>>
+-nameseq <<namesubsequence>> -tagkeys <<tagkeyword1,tagkeyword2>>
+-filterBy <<field1:value1,field2:value2>> -tags 
<<tagkey=tagvalue,tagkey=tagvalue>>
+-orderBy <<field>> -sortOrder <<sortOrder>> -offset 0 -numResults 10
+
+<a href="../Restapi/EntityList.html">Optional params described here.</a>
+

Added: falcon/trunk/releases/0.9/src/site/twiki/falconcli/ListInstance.twiki
URL: 
http://svn.apache.org/viewvc/falcon/trunk/releases/0.9/src/site/twiki/falconcli/ListInstance.twiki?rev=1730446&view=auto
==============================================================================
--- falcon/trunk/releases/0.9/src/site/twiki/falconcli/ListInstance.twiki 
(added)
+++ falcon/trunk/releases/0.9/src/site/twiki/falconcli/ListInstance.twiki Mon 
Feb 15 05:08:31 2016
@@ -0,0 +1,19 @@
+---+++List
+
+[[CommonCLI][Common CLI Options]]
+
+List option via CLI can be used to get single or multiple instances.  If the 
instance is not yet materialized but is within the process validity range, 
WAITING is returned as the state. Instance time is also returned. Log location 
gives the oozie workflow url
+If the instance is in WAITING state, missing dependencies are listed
+
+Example : Suppose a process has 3 instance, one has succeeded,one is in 
running state and other one is waiting, the expected output is:
+
+{"status":"SUCCEEDED","message":"getStatus is 
successful","instances":[{"instance":"2012-05-07T05:02Z","status":"SUCCEEDED","logFile":"http://oozie-dashboard-url"},{"instance":"2012-05-07T05:07Z","status":"RUNNING","logFile":"http://oozie-dashboard-url"},
 {"instance":"2010-01-02T11:05Z","status":"WAITING"}]}
+
+Usage:
+$FALCON_HOME/bin/falcon instance -type <<feed/process>> -name <<name>> -list
+
+Optional Args : -start "yyyy-MM-dd'T'HH:mm'Z'" -end "yyyy-MM-dd'T'HH:mm'Z'"
+-colo <<colo>> -lifecycle <<lifecycles>>
+-filterBy <<field1:value1,field2:value2>> -orderBy field -sortOrder 
<<sortOrder>> -offset 0 -numResults 10
+
+<a href="../Restapi/InstanceList.html">Optional params described here.</a>

Added: falcon/trunk/releases/0.9/src/site/twiki/falconcli/ListMetadata.twiki
URL: 
http://svn.apache.org/viewvc/falcon/trunk/releases/0.9/src/site/twiki/falconcli/ListMetadata.twiki?rev=1730446&view=auto
==============================================================================
--- falcon/trunk/releases/0.9/src/site/twiki/falconcli/ListMetadata.twiki 
(added)
+++ falcon/trunk/releases/0.9/src/site/twiki/falconcli/ListMetadata.twiki Mon 
Feb 15 05:08:31 2016
@@ -0,0 +1,13 @@
+---+++ List
+
+[[CommonCLI][Common CLI Options]]
+
+Lists of all dimensions of given type. If the user provides optional param 
cluster, only the dimensions related to the cluster are listed.
+Usage:
+$FALCON_HOME/bin/falcon metadata -list -type 
[cluster_entity|datasource_entity|feed_entity|process_entity|user|colo|tags|groups|pipelines]
+
+Optional Args : -cluster <<cluster name>>
+
+Example:
+$FALCON_HOME/bin/falcon metadata -list -type process_entity -cluster 
primary-cluster
+$FALCON_HOME/bin/falcon metadata -list -type tags

Added: falcon/trunk/releases/0.9/src/site/twiki/falconcli/LogsInstance.twiki
URL: 
http://svn.apache.org/viewvc/falcon/trunk/releases/0.9/src/site/twiki/falconcli/LogsInstance.twiki?rev=1730446&view=auto
==============================================================================
--- falcon/trunk/releases/0.9/src/site/twiki/falconcli/LogsInstance.twiki 
(added)
+++ falcon/trunk/releases/0.9/src/site/twiki/falconcli/LogsInstance.twiki Mon 
Feb 15 05:08:31 2016
@@ -0,0 +1,14 @@
+---+++Logs
+
+[[CommonCLI][Common CLI Options]]
+
+Get logs for instance actions
+
+Usage:
+$FALCON_HOME/bin/falcon instance -type <<feed/process>> -name <<name>> -logs
+
+Optional Args : -start "yyyy-MM-dd'T'HH:mm'Z'" -end "yyyy-MM-dd'T'HH:mm'Z'" 
-runid <<runid>>
+-colo <<colo>> -lifecycle <<lifecycles>>
+-filterBy <<field1:value1,field2:value2>> -orderBy field -sortOrder 
<<sortOrder>> -offset 0 -numResults 10
+
+<a href="../Restapi/InstanceLogs.html">Optional params described here.</a>

Added: falcon/trunk/releases/0.9/src/site/twiki/falconcli/Lookup.twiki
URL: 
http://svn.apache.org/viewvc/falcon/trunk/releases/0.9/src/site/twiki/falconcli/Lookup.twiki?rev=1730446&view=auto
==============================================================================
--- falcon/trunk/releases/0.9/src/site/twiki/falconcli/Lookup.twiki (added)
+++ falcon/trunk/releases/0.9/src/site/twiki/falconcli/Lookup.twiki Mon Feb 15 
05:08:31 2016
@@ -0,0 +1,12 @@
+---+++Lookup
+
+[[CommonCLI][Common CLI Options]]
+
+Lookup option tells you which feed does a given path belong to. This can be 
useful in several scenarios e.g. generally you would want to have a single 
definition for common feeds like metadata with same location
+otherwise it can result in a problem (different retention durations can result 
in surprises for one team) If you want to check if there are multiple 
definitions of same metadata then you can pick
+an instance of that and run through the lookup command like below.
+
+Usage:
+$FALCON_HOME/bin/falcon entity -type feed -lookup -path 
/data/projects/my-hourly/2014/10/10/23/
+
+If you have multiple feeds with location as 
/data/projects/my-hourly/${YEAR}/${MONTH}/${DAY}/${HOUR} then this command will 
return all of them.

Added: falcon/trunk/releases/0.9/src/site/twiki/falconcli/ParamsInstance.twiki
URL: 
http://svn.apache.org/viewvc/falcon/trunk/releases/0.9/src/site/twiki/falconcli/ParamsInstance.twiki?rev=1730446&view=auto
==============================================================================
--- falcon/trunk/releases/0.9/src/site/twiki/falconcli/ParamsInstance.twiki 
(added)
+++ falcon/trunk/releases/0.9/src/site/twiki/falconcli/ParamsInstance.twiki Mon 
Feb 15 05:08:31 2016
@@ -0,0 +1,8 @@
+---+++Params
+
+[[CommonCLI][Common CLI Options]]
+
+Displays the workflow params of a given instance. Where start time is 
considered as nominal time of that instance and end time won't be considered.
+
+Usage:
+$FALCON_HOME/bin/falcon instance -type <<feed/process>> -name <<name>> -params 
-start "yyyy-MM-dd'T'HH:mm'Z'"

Added: falcon/trunk/releases/0.9/src/site/twiki/falconcli/RelationMetadata.twiki
URL: 
http://svn.apache.org/viewvc/falcon/trunk/releases/0.9/src/site/twiki/falconcli/RelationMetadata.twiki?rev=1730446&view=auto
==============================================================================
--- falcon/trunk/releases/0.9/src/site/twiki/falconcli/RelationMetadata.twiki 
(added)
+++ falcon/trunk/releases/0.9/src/site/twiki/falconcli/RelationMetadata.twiki 
Mon Feb 15 05:08:31 2016
@@ -0,0 +1,10 @@
+---+++ Relations
+
+[[CommonCLI][Common CLI Options]]
+
+List all dimensions related to specified Dimension identified by 
dimension-type and dimension-name.
+Usage:
+$FALCON_HOME/bin/falcon metadata -relations -type 
[cluster_entity|feed_entity|process_entity|user|colo|tags|groups|pipelines] 
-name <<Dimension Name>>
+
+Example:
+$FALCON_HOME/bin/falcon metadata -relations -type process_entity -name 
sample-process
\ No newline at end of file

Added: falcon/trunk/releases/0.9/src/site/twiki/falconcli/RerunInstance.twiki
URL: 
http://svn.apache.org/viewvc/falcon/trunk/releases/0.9/src/site/twiki/falconcli/RerunInstance.twiki?rev=1730446&view=auto
==============================================================================
--- falcon/trunk/releases/0.9/src/site/twiki/falconcli/RerunInstance.twiki 
(added)
+++ falcon/trunk/releases/0.9/src/site/twiki/falconcli/RerunInstance.twiki Mon 
Feb 15 05:08:31 2016
@@ -0,0 +1,10 @@
+---+++Rerun
+
+[[CommonCLI][Common CLI Options]]
+
+Rerun option is used to rerun instances of a given process. On issuing a 
rerun, by default the execution resumes from the last failed node in the 
workflow. This option is valid only for process instances in terminal state, 
i.e. SUCCEEDED, KILLED or FAILED.
+If one wants to forcefully rerun the entire workflow, -force should be passed 
along with -rerun
+Additionally, you can also specify properties to override via a properties 
file.
+
+Usage:
+$FALCON_HOME/bin/falcon instance -type <<feed/process>> -name <<name>> -rerun 
-start "yyyy-MM-dd'T'HH:mm'Z'" -end "yyyy-MM-dd'T'HH:mm'Z'" [-force] [-file 
<<properties file>>]

Added: falcon/trunk/releases/0.9/src/site/twiki/falconcli/ResumeEntity.twiki
URL: 
http://svn.apache.org/viewvc/falcon/trunk/releases/0.9/src/site/twiki/falconcli/ResumeEntity.twiki?rev=1730446&view=auto
==============================================================================
--- falcon/trunk/releases/0.9/src/site/twiki/falconcli/ResumeEntity.twiki 
(added)
+++ falcon/trunk/releases/0.9/src/site/twiki/falconcli/ResumeEntity.twiki Mon 
Feb 15 05:08:31 2016
@@ -0,0 +1,8 @@
+---+++Resume
+
+[[CommonCLI][Common CLI Options]]
+
+Puts a suspended process/feed back to active, which in turn resumes applicable 
oozie bundle.
+
+Usage:
+ $FALCON_HOME/bin/falcon entity  -type [feed|process] -name <<name>> -resume

Added: falcon/trunk/releases/0.9/src/site/twiki/falconcli/ResumeInstance.twiki
URL: 
http://svn.apache.org/viewvc/falcon/trunk/releases/0.9/src/site/twiki/falconcli/ResumeInstance.twiki?rev=1730446&view=auto
==============================================================================
--- falcon/trunk/releases/0.9/src/site/twiki/falconcli/ResumeInstance.twiki 
(added)
+++ falcon/trunk/releases/0.9/src/site/twiki/falconcli/ResumeInstance.twiki Mon 
Feb 15 05:08:31 2016
@@ -0,0 +1,8 @@
+---+++Resume
+
+[[CommonCLI][Common CLI Options]]
+
+Resume option is used to resume any instance that  is in suspended state.
+
+Usage:
+$FALCON_HOME/bin/falcon instance -type <<feed/process>> -name <<name>> -resume 
-start "yyyy-MM-dd'T'HH:mm'Z'" -end "yyyy-MM-dd'T'HH:mm'Z'"



Reply via email to