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

Sumit Mohanty resolved AMBARI-3608.
-----------------------------------

    Resolution: Fixed

> Custom Action: Add support for Custom Action Definition
> -------------------------------------------------------
>
>                 Key: AMBARI-3608
>                 URL: https://issues.apache.org/jira/browse/AMBARI-3608
>             Project: Ambari
>          Issue Type: Sub-task
>          Components: controller
>    Affects Versions: 1.4.2
>            Reporter: Sumit Mohanty
>            Assignee: Sumit Mohanty
>             Fix For: 1.5.0
>
>         Attachments: AMBARI-3608.patch
>
>
> A custom action has a name, which must be unique across all actions. The name 
> must be fairly descriptive.  It is expected that a script (currently, python) 
> with name <Name>.py is also available (e.g. Validate_Kerberos_Setting.py).
> Sample *Name*: Validate_Kerberos_Setting
> Action is also associated with a description that provides a short summary of 
> what the action does.
> Sample *Description*: Validates Kerberos setting to ensure that 
> host-components can communicate with each other.
> An action can be of one of the following types:
> System: Actions that are available with Ambari.
> System_Disabled: Disabled by Ambari due to high failure rate.
> User: Actions that are added by the user.
> Currently, all actions are system actions.
> Sample *Type*: SYSTEM
> Action defines the expected inputs by name. When invoking, the inputs are 
> provided as name-value pairs where the name must match allowed input 
> parameter names.
> Sample *Inputs*: 
>     principal: The identity whose access is being verified
>     keytab: The keytab associated with the principal.
> Actions can optionally define the target host where it should be executed. If 
> the target is not specified then it is expected as an input when creating an 
> action. If the target is specified then the server finds a single host that 
> matches the requirements and executes the action on that host.
> Additionally, Action definition can specify the target Service and Component 
> which constrainst the hosts on which the action can be executed. Essentially, 
> the host must have the Service and Component deployed. It is possible for the 
> action executon to provide a set of target hosts. It is expected that the 
> hosts must have the target component deployed. An empty target means that the 
> action can be executed on an arbitrary host. TargetType refers to whether the 
> action should be executed on all hosts that match the requirement or any one 
> host, etc.
> TargetService: 
>     HDFS
> TargetComponent: 
>     NAMENODE
> TargetType: 
>     ANY
> Action can optionally specify a custom value for max timeout. This value, if 
> less than Ambari wide action timeout, overrides the timeout value when 
> executing the action. Timeout is applied on a per host basis and is not an 
> aggregate across execution on all hosts.
> DefaultTimeout: 
>     180
> Sample API calls:
> {code}
> curl -u admin:admin -i 
> http://c6401.ambari.apache.org:8080/api/v1/action_definitions
> {
>   "href" : "http://c6401.ambari.apache.org:8080/api/v1/action_definitions";,
>   "items" : [
>     {
>       "href" : 
> "http://c6401.ambari.apache.org:8080/api/v1/action_definitions/hdfs_rebalance_blocks";,
>       "ActionDefinitions" : {
>         "action_name" : "hdfs_rebalance_blocks"
>       }
>     }
>   ]
> }
> curl -u admin:admin -i 
> http://c6401.ambari.apache.org:8080/api/v1/action_definitions/hdfs_rebalance_blocks
> {
>   "href" : 
> "http://c6401.ambari.apache.org:8080/api/v1/action_definitions/hdfs_rebalance_blocks";,
>   "ActionDefinitions" : {
>     "action_name" : "hdfs_rebalance_blocks",
>     "action_type" : "SYSTEM",
>     "default_timeout" : "590",
>     "description" : "HDFS, Rebalance Blocks",
>     "inputs" : null,
>     "target_component" : "NAMENODE",
>     "target_host" : "",
>     "target_service" : "HDFS"
>   }
> }
> {code}



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

Reply via email to