Return-Path: X-Original-To: apmail-falcon-dev-archive@minotaur.apache.org Delivered-To: apmail-falcon-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 75A1E1821C for ; Thu, 28 Jan 2016 03:37:44 +0000 (UTC) Received: (qmail 38523 invoked by uid 500); 28 Jan 2016 03:37:44 -0000 Delivered-To: apmail-falcon-dev-archive@falcon.apache.org Received: (qmail 38381 invoked by uid 500); 28 Jan 2016 03:37:44 -0000 Mailing-List: contact dev-help@falcon.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@falcon.apache.org Delivered-To: mailing list dev@falcon.apache.org Received: (qmail 38370 invoked by uid 99); 28 Jan 2016 03:37:44 -0000 Received: from Unknown (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 28 Jan 2016 03:37:44 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 820FBC0D4B for ; Thu, 28 Jan 2016 03:37:43 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 0.426 X-Spam-Level: X-Spam-Status: No, score=0.426 tagged_above=-999 required=6.31 tests=[KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.554] autolearn=disabled Received: from mx1-eu-west.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id PDN1JWIz1HbC for ; Thu, 28 Jan 2016 03:37:42 +0000 (UTC) Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx1-eu-west.apache.org (ASF Mail Server at mx1-eu-west.apache.org) with SMTP id 44D1A24E24 for ; Thu, 28 Jan 2016 03:37:41 +0000 (UTC) Received: (qmail 38346 invoked by uid 99); 28 Jan 2016 03:37:40 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 28 Jan 2016 03:37:40 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id D4C152C1F5C for ; Thu, 28 Jan 2016 03:37:39 +0000 (UTC) Date: Thu, 28 Jan 2016 03:37:39 +0000 (UTC) From: "Venkat Ranganathan (JIRA)" To: dev@falcon.incubator.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (FALCON-634) Add recipes in Falcon MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/FALCON-634?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15120698#comment-15120698 ] Venkat Ranganathan commented on FALCON-634: ------------------------------------------- Myself, [~sowmyaramesh] and [~yzheng-hortonworks] discussed this today. Basically * There should be two classes of recipes - core recipes - are those that are designed, developed and released as part of Falcon - these are essentially upto-date with the release of Falcon, have regression and integration tests that are run as part of the falcon release and thoroughly tested. These qualify to run within the Falcon server and typically live under the _addons_ directory. Examples are the HDFS and Hive mirroring, and future such addons * Optional recipes are those that are customer/administrator written, not shipped with the product and may need updates with newer versions of the product. Their execution model (whether they get scheduled in a managed workflow or on a separate process) are things that need further discussion and clarity. The packaging of the recipes for execution, their directory structure, how they can be introspected so that a UI can render the invocation of these REST APIs are common to both core and optional recipes. There will be a new design document that we will publish. Just providing the gist of the discussion to kick off early discussions. > Add recipes in Falcon > --------------------- > > Key: FALCON-634 > URL: https://issues.apache.org/jira/browse/FALCON-634 > Project: Falcon > Issue Type: New Feature > Affects Versions: 0.6 > Reporter: Venkatesh Seetharam > Labels: recipes > > Falcon offers many services OOTB and caters to a wide array of use cases. However, there has been many asks that does not fit the functionality offered by Falcon. I'm proposing that we add recipes to Falcon which is similar to recipes in Whirr and other management solutions such as puppet and chef. > Overview: > A recipe essentially is a static process template with parameterized workflow to realize a specific use case. 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 > * anonymization of data based on schema > * 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. > This is a client side concept. The server does not know about a recipe but only accepts the cooked recipe as a process entity. > The CLI would look something like this: > falcon -recipe $recipe_name -properties $properties_file > Recipes will reside inside addons (contrib) with source code and will have an option to package 'em. -- This message was sent by Atlassian JIRA (v6.3.4#6332)