ambari-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sumit Mohanty (JIRA)" <>
Subject [jira] [Commented] (AMBARI-1426) Create cluster level Custom Action support
Date Wed, 18 Sep 2013 20:23:53 GMT


Sumit Mohanty commented on AMBARI-1426:

h2. High-level Tasks
h3. 1. Action definition
Add support to define an action.
* API Support for CRUD
* DB changes
* Python script template (default parameters, structure result, progress report)
* Support to add scripts (@ambari-server:/var/lib/ambari-server/resources/custom-actions @ambari-agent:/var/lib/ambari-agent/custom-actions
* Actions can be added dynamically without requiring ambari-server restart

h3. 2. Execute Action
Add support for executing actions.
* API support for requesting action execution
* ActionScheduler changes for executing actions
* Heartbeat handler changes to handle action execution report
* Agent changes to execute actions - python execution
* Reporting success/failure of action execution (also progress report)
* Logging support for action execution
* Debugging support when developing custom action

h3. 3. Manage action execution result
Add support to consolidate action execution result.
* API to get action execution result across all hosts
* Rolled up result across hosts
* Filter based on action metadata (e.g. name), host, start time, end time, result etc.

h3. 4. Action definition is downloaded from ambari-server (on demand)
* Action definition (scripts) are stored at the server as a resource
* Action definition is downloaded by agent when needed

h3. 5. Define recurring tasks
* Details TBD

h3. 6. Develop custom actions based on the above
* TBD (Check kerberos setting across all nodes)
> Create cluster level Custom Action support
> ------------------------------------------
>                 Key: AMBARI-1426
>                 URL:
>             Project: Ambari
>          Issue Type: Bug
>    Affects Versions: 1.2.3
>            Reporter: Sumit Mohanty
>            Assignee: Sumit Mohanty
>             Fix For: 1.3.0
> While managing an HDP cluster, the admin may need to execute custom scripts etc. to perform
house-keeping operations. Ambari support for smoke test can be viewed as one such operation,
which has a first class support in Ambari. It is conceivable that in future releases several
such operations need to be supported by Ambari. Some such requirements are:
> * Validate Kerberos settings
> * Perform metadata check/backup (e.g. fsck) prior to upgrade
> * Dump the list of datanodes
> Rather than designing each of these capabilities in a one-off fashion, it is useful to
develop an infrastructure to execute such operations and then define new operations based
on the infrastructure. 
> h3. Custom Action Definition
> A custom action is a python (_can be extended to other scripting language including puppet_)
script that can be executed to perform any management activity on a cluster. The relevant
aspects of a custom action are:
> *Alias*: A friendly name of a custom action. E.g. “Validate_Kerberos_Setting”
> *Definition*: The definition of the custom action. This is essentially a script that
will get executed.
> *Input*: A set of name-value pairs that are the input to the script. E.g. “”.
> *Context*: The default context that is available to all custom actions. The context will
> * Cluster name
> * Host name
> * Service name
> * Component name
> *Target*: The target node(s)/host(s), where the custom action will be executed. Optionally,
an action may explicitly specify the component on which it can be executed – e.g. NAMENODE,
in which case a host that has the component mapped will be randomly selected. 
> *MaxExecutionTime*: The maximum execution time allowed for these class of custom actions.
Ambari will enforce an absolution maximum time limit for all custom actions

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:

View raw message