incubator-ambari-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sumit Mohanty (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (AMBARI-3548) Changes to stacks definitions to allow custom services support (needed by an ambari-agent)
Date Mon, 21 Oct 2013 18:14:44 GMT

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

Sumit Mohanty updated AMBARI-3548:
----------------------------------

    Attachment: hbase_old_metainfo.xml
                hbase_new_metainfo.json
                hbase_new_metainfo.xml

The attached files provide an alternate suggestion on the modification to the metainfo.xml
file. The structure is verbose (especially when all out commands are python script[s]) but
it is closer to the blue-print layout we have as well as allows for a declarative definition
when we need (e.g. custom commands, separate scripts for INSTALL/START) without restructuring
the XML/JSON.

Let me know what you think of the suggested structure.

When we develop the scripts that implement the commands can we separate out the following
into some form of array, map, etc. as a static/constant section:
* List of named config properties to expect as input – if they are mandatory, optional,
and if optional whats the default + helper method to validate inputs
* List of files that are created from template and their target folder – perhaps ACL, and
ownership (if non-default)
* _Whatever else you feel as data that can be separated from logic_ 
The motivations being we can find all the details at one place and it will be easier to review/modify
these values. Also, as we are limiting the declared data in the service spec these will act
as the detailed service/component spec. 

By the way – is it too much work to switch to JSON from XML for the new services being added?


> Changes to stacks definitions to allow custom services support (needed by an ambari-agent)
> ------------------------------------------------------------------------------------------
>
>                 Key: AMBARI-3548
>                 URL: https://issues.apache.org/jira/browse/AMBARI-3548
>             Project: Ambari
>          Issue Type: Bug
>          Components: controller
>    Affects Versions: 1.5.0
>            Reporter: Dmitry Lysnichenko
>            Assignee: Dmitry Lysnichenko
>             Fix For: 1.5.0
>
>         Attachments: AMBARI-2036-preview.patch, hbase_new_metainfo.json, hbase_new_metainfo.xml,
hbase_old_metainfo.xml, service_metainfo_changes.patch
>
>
> Stack definitions for custom services should contain fields:
> - service metadata
> -- list of repositories
> - component metadata should contain fields:
> -- scriptType (possible values: "python", "puppet")
> -- taskTimeout (per-component value)
> Except metadata files, custom service directory should contain:
> - script directory that contains separate python files for components (e.g. namenode.py,
datanode.py etc.) and service.py file.
> - a separate directory for templates
> Patch is so large because I've created a separate stack dir with modified HBase metadata.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message