You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ambari.apache.org by "Robert Levas (JIRA)" <ji...@apache.org> on 2014/10/27 15:36:33 UTC
[jira] [Updated] (AMBARI-7985) Allow for server-side commands
[ https://issues.apache.org/jira/browse/AMBARI-7985?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Robert Levas updated AMBARI-7985:
---------------------------------
Description:
Ambari currently handles _client-/agent-side_ commands; however there is no ability to handle _server-side_ commands. Server-side commands should be specified as a task in a stage and managed along with the stage.
*Use Case:* Generate principals and keytabs on the Ambari server before sending the keytabs to their relevant hosts.
*Implementation:* To add the concept of a server-side task:
* update {{org.apache.ambari.server.serveraction.ServerAction}} to be an _abstract class_
** _server-side_ tasks must implement this class
* reuse existing _host_role_command_ and _execution_command_ data
** _server-side_ tasks are to have a role of {{AMBARI_SERVER_ACTION}}
** _server-side_ execution command data should be encapsulated as JSON and specify the ServerAction implementation class and any needed payload data
* {{org.apache.ambari.server.actionmanager.ActionScheduler}} and {{org.apache.ambari.server.serveraction.ServerActionManagerImpl}} need to be updated to handle the execution of server-side tasks
** each _server-side_ task should be executed in its own thread.
*** _server_side_ tasks should be executed in (staged) order, serially - not in parallel
*** _server_side_ tasks should ensure not to mess up _stage_ ordering
was:
Ambari currently handles _client-/agent-side_ commands; however there is no ability to handle _server-side_ commands. Server-side commands should be specified as a task in a stage and managed along with the stage.
*Use Case:* Generate principals and keytabs on the Ambari server before sending the keytabs to their relevant hosts.
*Implementation:* To addthe concept of a server-side task:
* update {{org.apache.ambari.server.serveraction.ServerAction}} to be an _abstract class_
** _server-side_ tasks must implement this class
* reuse existing _host_role_command_ and _execution_command_ data
** _server-side_ tasks are to have a role of {{AMBARI_SERVER_ACTION}}
** _server-side_ execution command data should be encapsulated as JSON and specify the ServerAction implementation class and any needed payload data
* {{org.apache.ambari.server.actionmanager.ActionScheduler}} and {{org.apache.ambari.server.serveraction.ServerActionManagerImpl}} need to be updated to handle the execution of server-side tasks
** each _server-side_ task should be executed in its own thread.
> Allow for server-side commands
> ------------------------------
>
> Key: AMBARI-7985
> URL: https://issues.apache.org/jira/browse/AMBARI-7985
> Project: Ambari
> Issue Type: New Feature
> Components: ambari-server
> Affects Versions: 2.0.0
> Reporter: Robert Levas
> Assignee: Robert Levas
> Labels: ambari-server, commands, server, server-side, tasks
> Fix For: 2.0.0
>
>
> Ambari currently handles _client-/agent-side_ commands; however there is no ability to handle _server-side_ commands. Server-side commands should be specified as a task in a stage and managed along with the stage.
> *Use Case:* Generate principals and keytabs on the Ambari server before sending the keytabs to their relevant hosts.
> *Implementation:* To add the concept of a server-side task:
> * update {{org.apache.ambari.server.serveraction.ServerAction}} to be an _abstract class_
> ** _server-side_ tasks must implement this class
> * reuse existing _host_role_command_ and _execution_command_ data
> ** _server-side_ tasks are to have a role of {{AMBARI_SERVER_ACTION}}
> ** _server-side_ execution command data should be encapsulated as JSON and specify the ServerAction implementation class and any needed payload data
> * {{org.apache.ambari.server.actionmanager.ActionScheduler}} and {{org.apache.ambari.server.serveraction.ServerActionManagerImpl}} need to be updated to handle the execution of server-side tasks
> ** each _server-side_ task should be executed in its own thread.
> *** _server_side_ tasks should be executed in (staged) order, serially - not in parallel
> *** _server_side_ tasks should ensure not to mess up _stage_ ordering
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)