[
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)