Tim Thorpe reassigned AMBARI-23591:
Assignee: Tim Thorpe
> Improve inter-service/component dependencies
> Key: AMBARI-23591
> URL: https://issues.apache.org/jira/browse/AMBARI-23591
> Project: Ambari
> Issue Type: Epic
> Components: ambari-server
> Affects Versions: 3.0.0
> Reporter: Tim Thorpe
> Assignee: Tim Thorpe
> Priority: Major
> In order to better support service dependencies and third party or custom
> services, Ambari should be more flexible in how dependencies can be defined
> (some examples are listed below). We also need to make sure these
> dependencies are enforced in the same manner when installing the service and
> adding a component to a node. Currently, when adding a service, the
> component dependencies are only applied if the service is actually installed.
> For example, the following dependency would only be applied if HDFS was
> When adding a component to a different node, after the service has been
> installed, the dependencies within the metainfo.xml are then enforced. This
> means that even if you don't have HDFS listed as a require service, the HDFS
> Client dependency will still be enforced even if HDFS is not installed in the
> The behavior should be consistent. Add service and add component should both
> follow the same behavior in the Ambari UI.
> *Dependency Examples*
> Certain service dependencies are optional. Ex. Spark has a dependency on the
> Hive service but Hive is only needed if Spark Thrift Server component is
> Some services may be required but only if a certain setting is enabled. Ex.
> HDFS requires Zookeeper but only if NameNode HA is enabled.
> Some components may require a dependency between a choice of components. Ex.
> IBM DB2 Big SQL worker node requires either an HDSF DataNode or an HDFS
> Some components may require a dependency on a service client only if that
> service is installed. Ex. if Atlas is installed, then IBM DB2 Big SQL head
> node requires the Atlas client.
This message was sent by Atlassian JIRA