Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.2.3
-
None
-
None
Description
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.
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