[ 
https://issues.apache.org/jira/browse/AMBARI-20852?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alejandro Fernandez updated AMBARI-20852:
-----------------------------------------
    Attachment: Rearchitecting Stack Advisor in Ambari 3.0.pdf
                Rearchitecting Stack Advisor in Ambari 3.0.pptx

> 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
>
>         Attachments: Rearchitecting Stack Advisor in Ambari 3.0.pdf, 
> Rearchitecting Stack Advisor in Ambari 3.0.pptx
>
>
> 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)

Reply via email to