[
https://issues.apache.org/jira/browse/AMBARI-4504?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13889530#comment-13889530
]
Dmitry Lysnichenko commented on AMBARI-4504:
--------------------------------------------
[~mahadev]/[~sumitmohanty], can you please take a look on implementation
proposal?
> role_command_order is not inherited from the parent stack
> ---------------------------------------------------------
>
> Key: AMBARI-4504
> URL: https://issues.apache.org/jira/browse/AMBARI-4504
> Project: Ambari
> Issue Type: Task
> Components: controller, test
> Affects Versions: 1.5.0
> Reporter: Dmitry Lysnichenko
> Assignee: Dmitry Lysnichenko
> Fix For: 1.5.0
>
>
> h1. Implementation proposal
> The most common use case for stack extension is adding new services or
> slightly modifying existing ones. So typically child's RCO file should look
> like a diff ("What dependencies should we add to parent's RCO to support
> newly added services?"). For more complex situations (when changes that are
> introduced by child stack fundamentally change RCO), it makes sense to
> redefine a complete RCO file instead of inheritance. That's why I propose to
> keep RCO file syntax simple and don't implement support of deleting/modifying
> specific dependency or dependency group.
> We will support two options(policies) for stack extension:
> - extend parent's RCO, appending dependencies specified at child's RCO to
> corresponding groups of parent's RCO (default). For every dependency group,
> parent's set of dependencies and child's set of dependencies are merged.
> - completely override (replace) parent's RCO by child's RCO file.
> Policy selection is done at stack metainfo.xml.
> {code}
> <metainfo>
> <versions>
> <active>true</active>
> </versions>
> <extends>2.0.5</extends>
> <rco-policy>append</rco-policy>
> <!-- or -->
> <rco-policy>replace</rco-policy>
> </metainfo>
> {code}
> If role_command_order.json file is absent at stack, parent's file is used.
> Also, for every role_command_order.json file at inherited stacks, I'll add a
> comment like:
> {code}
> This file appends role command order dependencies to ones defined at parent
> stack. To change this behaviour, please refer to documentation about
> rco-policy element of a stack metainfo.xml file.
> {code}
> Also, in debug mode, an effective RCO will be printed to log to simplify
> troubleshooting.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)