incubator-ambari-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dmitry Lysnichenko (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (AMBARI-3548) Changes to stacks definitions to allow custom services support (needed by an ambari-agent)
Date Fri, 08 Nov 2013 21:51:17 GMT

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

Dmitry Lysnichenko updated AMBARI-3548:
---------------------------------------

    Attachment: AMBARI-3548_preview.patch

I've published preliminary version of patch. It seems to work (both for old-style and new-style
services), but is not fully covered by unittests. 
Patch defines separate stack version (2.0._) that contains custom service definitions, to
prevent breaking 2.0.6 stack until pluggable services are ready.

Command definition format is based on Sumit's proposal with minor differences:
- renamed osSpecificPackages/osSpecificPackage to osSpecifics/osSpecific to better reflect
contents
- user field is not defined and used at schema ver 2 metainfo.xml

Changes to ExecutionCommand format:
- 'commandParams' map now contains mandatory 'schema_version' field (the value is '2.0' for
commands for custom services and '1.0' otherwise)
- 'commandParams' map now contains 'command_timeout' field (as of now, it is only initialised
for execution commands for custom services, wider usage will be introduced by another jira)
- 'commandParams' map now contains 'script' field with value like 'scripts/hbase_master.py'
for commands for custom services.
- 'commandParams' map now contains 'script_type' field with value like 'PYTHON' for commands
for custom services.
- 'commandParams' map now contains 'service_metadata_folder' field with value like 'HBASE'
for commands for custom services. This value is needed by an agent to be able to download
service metadata from the server, because single service folder may now contain metadata and
files for multiple services.
- 'hostLevelParams' map now contains 'stack_name' field.
- 'hostLevelParams' map now contains optional 'service_repo_info' field (with repository list
for custom services). Field contains only relevant to host OS information
- 'hostLevelParams' map now contains 'package_list' field (with list of packages for custom
services). Field contains only relevant to host OS information

also, patch contains some overall refactorings and fixes.


> 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-3548_preview.patch, hbase_new_metainfo.json, hbase_new_metainfo.xml,
hbase_old_metainfo.xml, new-style-command-dump.txt, 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