You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ambari.apache.org by "Siddharth Wagle (JIRA)" <ji...@apache.org> on 2013/08/06 19:14:48 UTC

[jira] [Created] (AMBARI-2819) Extending Stack definition to remove duplication in stack metadata info.

Siddharth Wagle created AMBARI-2819:
---------------------------------------

             Summary: Extending Stack definition to remove duplication in stack metadata info.
                 Key: AMBARI-2819
                 URL: https://issues.apache.org/jira/browse/AMBARI-2819
             Project: Ambari
          Issue Type: Improvement
          Components: controller
            Reporter: Siddharth Wagle
            Assignee: Siddharth Wagle


The idea is to allow extending a stack definition and overriding some of its values.

Current stack definition structure of files and directories:
{noformat}
|_ stacks
   |_ <dist_name>
      |_ <version_number>
         metainfo.xml
         |_ repos
             repoinfo.xml
         |_ services
            |_ <service_name>
               metainfo.xml
               |_ configuration
                  configuration files
{noformat}
We introduce extends element at the top level (stack version level) that links to the parent stack definition for this stack version.
Rules of extension: 
All of the parent stack services are automatically a part of the child stack
unless explicitly excluded.
2.    Only one parent stack can be extended by the child stack.
3.    <stacks>.<dist_name>.<repos>.repoinfo.xml, will not be overridden 
4.    <stacks>.<dist_name>.<services>.<service_name>.metainfo.xml, will not be overridden

1.  Extending stack definition

File: <stacks>.<dist_name>.<version_number>.metainfo.xml
E.g.: /stacks/HDP/1.3.1/metainfo.xml
 
<metainfo>
    <versions>
        <upgrade>1.2.0</upgrade>
    </versions>
    <active>true</active>
    <extends>1.3.0</extends>
</metainfo>

2.  Extending service definition

<stacks>.<dist_name>.<version_number>.<service_name>.metainfo.xml
E.g.: /stacks/HDP/1.2.1/services/HDFS/metainfo.xml
<metainfo>
    <user>root</user>
    <comment>Apache Hadoop Distributed File System</comment>
    <version>1.1.2</version>
<!-- 0: remove property from configuration for this version
                      1: (default) new or overwrites, if present in prior versions -->
    <override-visibility>0/1</override-visibility >
</metainfo>

3.  Extending service configurations

File: <stacks>.<dist_name>.<version_number>.<service_name>.<configuration>.configuration_file
E.g.: /stacks/HDP/1.3.1/services/HDFS/configuration/hdfs-site.xml

<configuration>
  <property>
      <name>dfs.name.dir</name>
      <deleted>true</deleted>
  </property>
</configuration>


*Notes*: 
The same property can disappear and reappear in an extension graph.
1.3.0 ----------------> 1.3.1 ----------------> 1.3.2 ----------------> 1.3.5
a = b                             a = c                              a = c                             a = c




--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira