[ https://issues.apache.org/jira/browse/AMBARI-23591?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
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 > 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)