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)