[
https://issues.apache.org/jira/browse/AMBARI-4782?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13913277#comment-13913277
]
Dmitry Lysnichenko commented on AMBARI-4782:
--------------------------------------------
[~sumitmohanty], Good point. Looks like currently "state" is mapped to
"desired_state" when doing filtering like
http://vm-0.vm:8080/api/v1/clusters/cc/host_components?HostRoles/state=INSTALL_FAILED
and "state" is mapped to "current state" at resource description like
http://vm-0.vm:8080/api/v1/clusters/cc/hosts/vm-0.vm/host_components/GANGLIA_SERVER
. I think yes, we will probably see 3 values in response for now to avoid
breaking UI.
> Error in getting host components with state INSTALL_FAILED
> ----------------------------------------------------------
>
> Key: AMBARI-4782
> URL: https://issues.apache.org/jira/browse/AMBARI-4782
> Project: Ambari
> Issue Type: Task
> Components: controller, test
> Affects Versions: 1.3.0
> Reporter: Dmitry Lysnichenko
> Assignee: Dmitry Lysnichenko
> Fix For: 1.5.0
>
>
> h2. The problem
> When try to get query on
> api/v1/clusters/<clustername>/host_components?HostRoles/state=INSTALL_FAILED
> Response is
> { "status" : 400, "message" : "Invalid Request: Invalid arguments, invalid
> desired state, desiredState=INSTALL_FAILED" }
> This issue is rooted at the over all issue Ambari has where when "state" is
> specified in the API requests it is always interpreted as "desired_state".
> And INSTALL_FAILED is an invalid "desired_state". Just fixing the GET calls
> to interpret request:state as "state" (current state of a host component)
> might be the right thing to do but will make the get calls to behave
> differently than other calls. For example, request to set all component which
> are in INSTALL_FAILED state to INIT (or MAINTENANCE) will not work as
> expected.
> h2. The proposal:
> The fix is to distinguish between "current_state" and "desired_state" and
> promote "current_state" as a first class query parameter. "state" query
> parameter will be still mapped to "desired_state" to maintain backward
> compatibility.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)