[
https://issues.apache.org/jira/browse/AMBARI-4504?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Yusaku Sako updated AMBARI-4504:
--------------------------------
Fix Version/s: (was: 1.7.0)
2.0.0
> 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: ambari-server, test
> Affects Versions: 1.5.0
> Reporter: Dmitry Lysnichenko
> Assignee: Dmitry Lysnichenko
> Fix For: 2.0.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.
> If role_command_order.json file is absent at stack, parent's file is used.
> Policy selection is performed via "rco-policy" key at role_command_order.json
> file
> {code}
> {
> "_comment" : "rco-policy defines how do we build RCO when stack extension
> is performed. Possible values are: append (add child's dependencies to",
> "_comment" : "parent's RCO) and replace (ignore parent's RCO)",
> "rco-policy" : "append",
> "_comment" : "Record format:",
> "_comment" : "blockedRole-blockedCommand: [blockerRole1-blockerCommand1,
> blockerRole2-blockerCommand2, ...]",
> "general_deps" : {
> "_comment" : "dependencies for all cases",
> "NAGIOS_SERVER-INSTALL" : ["HIVE_CLIENT-INSTALL", "HCAT-INSTALL",
> "MAPREDUCE_CLIENT-INSTALL", "OOZIE_CLIENT-INSTALL"],
> "HBASE_MASTER-START": ["ZOOKEEPER_SERVER-START"],
> {code}
> Also, in debug mode, an effective RCO will be printed to log to simplify
> troubleshooting.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)