You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ambari.apache.org by "Sumit Mohanty (JIRA)" <ji...@apache.org> on 2013/10/28 22:12:32 UTC

[jira] [Updated] (AMBARI-1426) Create cluster level Custom Action support

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

Sumit Mohanty updated AMBARI-1426:
----------------------------------

    Attachment: Custom_Action_Support_Using_Ambari-Design.docx

Attaching the design document.

> Create cluster level Custom Action support
> ------------------------------------------
>
>                 Key: AMBARI-1426
>                 URL: https://issues.apache.org/jira/browse/AMBARI-1426
>             Project: Ambari
>          Issue Type: Bug
>    Affects Versions: 1.2.3
>            Reporter: Sumit Mohanty
>            Assignee: Sumit Mohanty
>             Fix For: 1.5.0
>
>         Attachments: Custom_Action_Support_Using_Ambari-Design.docx
>
>
> 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. “principal=abc@abc.com”.
> *Context*: The default context that is available to all custom actions. The context will include.
> * 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 was sent by Atlassian JIRA
(v6.1#6144)