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