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)