[
https://issues.apache.org/jira/browse/AMBARI-23591?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tim Thorpe reassigned AMBARI-23591:
-----------------------------------
Assignee: Jayush Luniya (was: 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: Jayush Luniya
> 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
> installed:
> <dependencies>
> <dependency>
> <name>HDFS/HDFS_CLIENT</name>
> <scope>host</scope>
> <auto-deploy>
> <enabled>true</enabled>
> </auto-deploy>
> </dependency>
> 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
> cluster.
> 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
> installed.
> <requiredServices>
> <service>HDFS</service>
> <service>YARN</service>
> *<service>HIVE</service>*
> </requiredServices>
> 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
> Client.
> 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
(v7.6.3#76005)