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

Erik Bergenholtz updated AMBARI-8163:
-------------------------------------
    Description: 
Currently, it is possible to query Ambari (via the REST API) for details about 
_asynchronous_ requests and their related tasks. This useful when trying to 
obtain progress information.  However, some information necessary for the UI to 
indicate meaningful progress is not available.  This information is related to 
the stages that are generated. 

*NOTE:* Each _asynchronous_ request is broken down into 1 or more stages and 
each stage contains 1 or more tasks.

If stage information was available via the REST API, it would be possible for 
the caller (maybe a UI) to track high-level tasks (at the {{stage}} level) 
rather than each lower-level unit of work (at the {{task}} level).   

To allow for this, a new API resource (and associated handler) needs to be 
created.  The resource should be read-only (like {{requests}} and {{tasks}}), 
and should provide information stored in the {{stage}} table from the Ambari 
database.  

The following properties should be returned for each {{stage}}:

* stage_id
* request_id
* cluster_id
* request_context 
** _This should probably be renamed to something more appropriate, like 
stage_context, stage_name, or etc..._
* start_time
* end_time
* progress_percent
* status

It is expected that the resources would be queried using:

{code}
GET  /api/v1/clusters/{clusterid}/requests/{requestid}/stages
{code}

Also, some subset of the stage data should be provided when querying for 
details about a specific {{request}}, like in:

{code}
GET  /api/v1/clusters/{clusterid}/requests/{requestid}
{code}

See {{request}} and {{task}} resource for examples.




  was:
Currently, it is possible to query Ambari (via the REST API) for details about 
_asynchronous_ requests and their related tasks. This useful when trying to 
obtain progress information.  However, some information that may be useful is 
not available.  This information is related to the stages that are generated. 

*NOTE:* Each _asynchronous_ request is broken down into 1 or more stages and 
each stage contains 1 or more tasks.

If stage information was available via the REST API, it would be possible for 
the caller (maybe a UI) to track high-level tasks (at the {{stage}} level) 
rather than each lower-level unit of work (at the {{task}} level).   

To allow for this, a new API resource (and associated handler) needs to be 
created.  The resource should be read-only (like {{requests}} and {{tasks}}), 
and should provide information stored in the {{stage}} table from the Ambari 
database.  

The following properties should be returned for each {{stage}}:

* stage_id
* request_id
* cluster_id
* request_context 
** _This should probably be renamed to something more appropriate, like 
stage_context, stage_name, or etc..._
* start_time
* end_time
* progress_percent
* status

It is expected that the resources would be queried using:

{code}
GET  /api/v1/clusters/{clusterid}/requests/{requestid}/stages
{code}

Also, some subset of the stage data should be provided when querying for 
details about a specific {{request}}, like in:

{code}
GET  /api/v1/clusters/{clusterid}/requests/{requestid}
{code}

See {{request}} and {{task}} resource for examples.





> Provide stage resource information via REST API
> -----------------------------------------------
>
>                 Key: AMBARI-8163
>                 URL: https://issues.apache.org/jira/browse/AMBARI-8163
>             Project: Ambari
>          Issue Type: New Feature
>          Components: ambari-server
>    Affects Versions: 2.0.0
>            Reporter: Robert Levas
>              Labels: api, resources, rest_api
>             Fix For: 2.0.0
>
>
> Currently, it is possible to query Ambari (via the REST API) for details 
> about _asynchronous_ requests and their related tasks. This useful when 
> trying to obtain progress information.  However, some information necessary 
> for the UI to indicate meaningful progress is not available.  This 
> information is related to the stages that are generated. 
> *NOTE:* Each _asynchronous_ request is broken down into 1 or more stages and 
> each stage contains 1 or more tasks.
> If stage information was available via the REST API, it would be possible for 
> the caller (maybe a UI) to track high-level tasks (at the {{stage}} level) 
> rather than each lower-level unit of work (at the {{task}} level).   
> To allow for this, a new API resource (and associated handler) needs to be 
> created.  The resource should be read-only (like {{requests}} and {{tasks}}), 
> and should provide information stored in the {{stage}} table from the Ambari 
> database.  
> The following properties should be returned for each {{stage}}:
> * stage_id
> * request_id
> * cluster_id
> * request_context 
> ** _This should probably be renamed to something more appropriate, like 
> stage_context, stage_name, or etc..._
> * start_time
> * end_time
> * progress_percent
> * status
> It is expected that the resources would be queried using:
> {code}
> GET  /api/v1/clusters/{clusterid}/requests/{requestid}/stages
> {code}
> Also, some subset of the stage data should be provided when querying for 
> details about a specific {{request}}, like in:
> {code}
> GET  /api/v1/clusters/{clusterid}/requests/{requestid}
> {code}
> See {{request}} and {{task}} resource for examples.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to