You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ambari.apache.org by "Jaimin D Jetly (JIRA)" <ji...@apache.org> on 2014/08/27 23:34:59 UTC
[jira] [Commented] (AMBARI-6935) Stacks API should expose service
level dependencies
[ https://issues.apache.org/jira/browse/AMBARI-6935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14112897#comment-14112897 ]
Jaimin D Jetly commented on AMBARI-6935:
----------------------------------------
[~screeley]
The reason for creating this task was to get the service dependency information from the stack rather than maintaining the hard-coded map in the ambari-web code that is mentioned in the above comment. Infact the recently committed linked ticket AMBARI-7041 removes that hard-coded map from the web code
In the HDP stack, HDFS is the required service for other services.
Currently GLUSTERFS stack is extended from HDP stack definition [code|https://git-wip-us.apache.org/repos/asf/ambari/repo?p=ambari.git;a=blob;f=ambari-server/src/main/resources/stacks/HDP/2.1.GlusterFS/metainfo.xml;h=b7d8766dd9bf3707154ede4b68ce490acbffc4ea;hb=HEAD].
As a result of GLUSTERFS 2.x stacks being the child stack of HDP-2.0.6, API http://localhost:8080/api/v1/stacks/HDP/versions/2.1.GlusterFS/services?fields=StackServices returns services (YARN, Flume etc) with required_services attribute having value HDFS.
*POSSIBLE SOLUTION:*
Redefine in GLUSTERFS stack each service's metainfo.xml that GLUSTERFS's parent stack (HDP-2.0.6 or HDP-1.3.2) supports and override required_services attribute in each service's metainfo.xml
> Stacks API should expose service level dependencies
> ---------------------------------------------------
>
> Key: AMBARI-6935
> URL: https://issues.apache.org/jira/browse/AMBARI-6935
> Project: Ambari
> Issue Type: Bug
> Reporter: Andrew Onischuk
> Assignee: Andrew Onischuk
> Priority: Blocker
> Fix For: 1.7.0
>
>
> Currently stack API exposes component level dependencies which does not roll
> up to service level dependency is required for restricting user to install a
> service that cannot work in the absence of a dependent service.
> Currently there is a hard-coded map in the ambari-web code for service
> dependency which restricts this validation functionality to only known
> services of HDP stack.
> service dependency map:
>
>
>
> HDP-1: {
> HDFS: ['MAPREDUCE', ''HBASE', SQOOP'],
> MAPREDUCE: ['PIG', 'OOZIE', 'HIVE'],
> ZOOKEEPER: ['HBASE', 'HIVE', 'WEBHCAT'],
> HIVE: ['HCATALOG','WEBHCAT']
> },
> HDP-2: {
> ZOOKEEPER: ['HDFS', 'HBASE', 'HIVE', 'WEBHCAT', 'STORM']
> HDFS: ['YARN', 'HBASE', 'FLUME', 'SQOOP'],
> YARN: [ 'MAPREDUCE2', 'PIG', 'OOZIE', 'HIVE', 'TEZ'],
> TEZ: ['YARN', 'HIVE'],
> OOZIE: ['FALCON'],
> HIVE: ['HCATALOG','WEBHCAT']
> }
>
--
This message was sent by Atlassian JIRA
(v6.2#6252)