Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 469CF200C73 for ; Wed, 26 Apr 2017 01:07:08 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 4558A160BB6; Tue, 25 Apr 2017 23:07:08 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 7F0CA160BB3 for ; Wed, 26 Apr 2017 01:07:07 +0200 (CEST) Received: (qmail 7261 invoked by uid 500); 25 Apr 2017 23:07:06 -0000 Mailing-List: contact issues-help@ambari.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ambari.apache.org Delivered-To: mailing list issues@ambari.apache.org Received: (qmail 7250 invoked by uid 99); 25 Apr 2017 23:07:06 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 25 Apr 2017 23:07:06 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 2F0811A08D9 for ; Tue, 25 Apr 2017 23:07:06 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -100.002 X-Spam-Level: X-Spam-Status: No, score=-100.002 tagged_above=-999 required=6.31 tests=[RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id arW7zRVzzjFN for ; Tue, 25 Apr 2017 23:07:05 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTP id 2C2765FC84 for ; Tue, 25 Apr 2017 23:07:05 +0000 (UTC) Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 9542EE0942 for ; Tue, 25 Apr 2017 23:07:04 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id 2254821D95 for ; Tue, 25 Apr 2017 23:07:04 +0000 (UTC) Date: Tue, 25 Apr 2017 23:07:04 +0000 (UTC) From: "Alejandro Fernandez (JIRA)" To: issues@ambari.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Created] (AMBARI-20852) Ambari & HDP 3.0 - Service Advisors for all Services in Java + Drools MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Tue, 25 Apr 2017 23:07:08 -0000 Alejandro Fernandez created AMBARI-20852: -------------------------------------------- Summary: Ambari & HDP 3.0 - Service Advisors for all Services in Java + Drools Key: AMBARI-20852 URL: https://issues.apache.org/jira/browse/AMBARI-20852 Project: Ambari Issue Type: Epic Components: ambari-server, stacks Affects Versions: 3.0.0 Reporter: Alejandro Fernandez Assignee: Alejandro Fernandez Fix For: trunk Service Advisors for Ambari 3.0 and HDP 3.0 Design Review: https://drive.google.com/file/d/0B1xc-WVoHfq-bE01RkRUM2JHODg/view Tasks: # Service-level granularity: Today, several services are already using Python Services Advisors for HDP 3.0, including ZK, HDFS, YARN/MR, Slider, Tez, Hive, Spark. Over time we will refactor these to be in Java, and the rest of the services in the stack as well. In order to still verify the entire stack works, some services may need to first be ported over to Python Service Advisors (which generally takes 1 day) in order to unblock any development. # Prototype: Ambari Server start needs to calculate which service definition to load (could be from management pack, HDP stack, or common services). The service definition will contain a Service Advisor python file or jar. If a jar, we need a separate class-loader (so that any errors don't prevent ambari-server from starting). During the Stack Advisor calls in Java to recommend/validate, we need to determine with Service Advisor type that service uses, call the appropriate method in Java or python script. When using Java, we need to define the interface contract, utility functions, etc. This is an overwhelming portion of the work. # Implement a handful of Service Advisors using the new contract, utilities, etc. Services like ZK, HDFS, Tez and simple enough that they may just use POJOs. # Drools: For more complex services like Hive, YARN, Atlas, come up with Drools rules. # Unit and Functional tests # Address versioning of utilities, thing of backward and forward compatibility, certificate signing of jars -- This message was sent by Atlassian JIRA (v6.3.15#6346)