ambari-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oleksandr Diachenko (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (AMBARI-12439) Implement support of logical expressions in dependencies for stack components
Date Thu, 16 Jul 2015 20:20:04 GMT

     [ https://issues.apache.org/jira/browse/AMBARI-12439?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Oleksandr Diachenko updated AMBARI-12439:
-----------------------------------------
    Description: 
h3. Problem
Some services' components could have dependency to be collocated with at least one component
from list.
For example, component X requires DATANODE or NAMENODE to be installed on the same host.
As for now we can define only strict dependencies to all of three components, like this: 
{code:xml}
                <dependency>
                    <name>HDFS/DATANODE</name>
                    <scope>host</scope>
                    <auto-deploy>
                        <enabled>true</enabled>
                    </auto-deploy>
                </dependency>
                <dependency>
                    <name>HDFS/NAMENODE</name>
                    <scope>host</scope>
                    <auto-deploy>
                        <enabled>true</enabled>
                    </auto-deploy>
                </dependency>
{code}
Literally Ambari supports only AND operator.
But this definition will ask user to install both components, not only one of them.
h3. Proposal
For that sake it would be nice to support more complex definitions of dependencies, OR operator
as well.
For example:
{code:xml}
                <dependency>
                    <name>(HDFS/DATANODE|HDFS/NAMENODE)</name>
                    <scope>host</scope>
                    <auto-deploy>
                        <enabled>true</enabled>
                    </auto-deploy>
                </dependency>
{code} - means component requires at least one of DATANODE or NAMENODE components.

  was:
Some services' components could have dependency to be collocated with at least one component
from list.
For example, component X requires DATANODE or NAMENODE to be installed on the same host.
As for now we can define only strict dependencies to all of three components, like this: 
{code:xml}
                <dependency>
                    <name>HDFS/DATANODE</name>
                    <scope>host</scope>
                    <auto-deploy>
                        <enabled>true</enabled>
                    </auto-deploy>
                </dependency>
                <dependency>
                    <name>HDFS/NAMENODE</name>
                    <scope>host</scope>
                    <auto-deploy>
                        <enabled>true</enabled>
                    </auto-deploy>
                </dependency>
{code}
But this definition will ask user to install both components, not only one of them.
For that sake it would be nice to support more complex definitions of dependencies.
For example:
{code:xml}
                <dependency>
                    <name>(HDFS/DATANODE|HDFS/NAMENODE)</name>
                    <scope>host</scope>
                    <auto-deploy>
                        <enabled>true</enabled>
                    </auto-deploy>
                </dependency>
{code} - means component requires at least one of DATANODE or NAMENODE components.


> Implement support of logical expressions in dependencies for stack components
> -----------------------------------------------------------------------------
>
>                 Key: AMBARI-12439
>                 URL: https://issues.apache.org/jira/browse/AMBARI-12439
>             Project: Ambari
>          Issue Type: New Feature
>          Components: ambari-server, ambari-web, stacks
>    Affects Versions: 1.7.0
>            Reporter: Oleksandr Diachenko
>
> h3. Problem
> Some services' components could have dependency to be collocated with at least one component
from list.
> For example, component X requires DATANODE or NAMENODE to be installed on the same host.
> As for now we can define only strict dependencies to all of three components, like this:

> {code:xml}
>                 <dependency>
>                     <name>HDFS/DATANODE</name>
>                     <scope>host</scope>
>                     <auto-deploy>
>                         <enabled>true</enabled>
>                     </auto-deploy>
>                 </dependency>
>                 <dependency>
>                     <name>HDFS/NAMENODE</name>
>                     <scope>host</scope>
>                     <auto-deploy>
>                         <enabled>true</enabled>
>                     </auto-deploy>
>                 </dependency>
> {code}
> Literally Ambari supports only AND operator.
> But this definition will ask user to install both components, not only one of them.
> h3. Proposal
> For that sake it would be nice to support more complex definitions of dependencies, OR
operator as well.
> For example:
> {code:xml}
>                 <dependency>
>                     <name>(HDFS/DATANODE|HDFS/NAMENODE)</name>
>                     <scope>host</scope>
>                     <auto-deploy>
>                         <enabled>true</enabled>
>                     </auto-deploy>
>                 </dependency>
> {code} - means component requires at least one of DATANODE or NAMENODE components.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message