[
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)