I am trying to understand the inheritance rules that govern services metainfo.xml file contents. I looked at https://issues.apache.org/jira/browse/AMBARI-2819 but it didn't answer the following:
1. If a component exists in the parent stack and is defined again in the child stack with just a few attributes, are these values just to override the parent's values or the whole component definition is replaced. Example: HDP-2.1 YARN/metainfo.xml contains definition of RESOURCEMANAGER with just 4 attributes, out of which only the value for "cardinality" is different one in HDP-2.0.6 definition. But 2.0.6 definition also has a lot more attributes (such as custom commands) that are not mentioned in 2.1. Will these "missing" attributes be inherited by 2.1 stack ? If yes, why other attributes (category and configuration-dependencies) are defined again with the same values instead of being inherited ? 2. If a component is missing in the new definition but is present in the parent, does it get inherited ? 3. Configuration dependencies for the service -- are they overwritten or merged ? Example: HDP-2.1 YARN/metainfo.xml contains <configuration-dependencies> element with 4 <config-type>, where as in HDP-2.0.6 the same element has 5 <config-type> (extra line is mapred-site). So will <config-type>mapred -site</config-type> be inherited and present in 2.1 definition or was this the way to get rid of this specific line for the new stack ? 4. What about other elements in metainfo.xml -- which rules apply ? -- Thanks, Alex.
