[ 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)