---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/43927/#review129823
---
Ship it!
Ship It!
- Nate Cole
On April 12, 2016, 2:37 p.m., Ajit Kumar wrote:
>
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/43927/
> ---
>
> (Updated April 12, 2016, 2:37 p.m.)
>
>
> Review request for Ambari, Alejandro Fernandez, Zhe (Joe) Wang, Nate Cole,
> Sumit Mohanty, and Yusaku Sako.
>
>
> Bugs: AMBARI-15847
> https://issues.apache.org/jira/browse/AMBARI-15847
>
>
> Repository: ambari
>
>
> Description
> ---
>
> Currently if anyone has to delete more than 1 host, a script is required to
> call delete host api in a loop for each host. This api takes in query and
> instead of failing fast on the first error, puts the best effort to delete
> all requested hosts. Response is a json object which has deleted keys and
> keys which failed to delete with exception.
>
> As there is a json response, it will always return 200 OK. It is backward
> compatible, for request with only one host it won't return json object and
> will return error code in case of exception instead of 200 OK.
>
>
> Diffs
> -
>
>
> ambari-server/src/main/java/org/apache/ambari/server/api/services/HostService.java
> c54d30f
>
> ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostResourceProvider.java
> 322eab8
>
> Diff: https://reviews.apache.org/r/43927/diff/
>
>
> Testing
> ---
>
> Tested different usecases including backward compatibility:
> {code}
> curl -u admin:admin -H 'X-Requested-By: ambari' -X DELETE
> http://c6401.ambari.apache.org:8080/api/v1/clusters/a/hosts/c6401.ambari.apache.org
> {
> "status" : 500,
> "message" : "org.apache.ambari.server.controller.spi.SystemException: An
> internal system exception occurred: Cannot remove host
> c6401.ambari.apache.org from a. The following roles exist, and these
> components must be stopped if running, and then deleted: ZOOKEEPER_SERVER"
> }
>
> curl -u admin:admin -H 'X-Requested-By: ambari' -X DELETE
> http://c6401.ambari.apache.org:8080/api/v1/clusters/a/hosts -d
> '{"RequestInfo":{"query":"Hosts/host_name.in(c6401.ambari.apache.org,c6402.ambari.apache.org)"}}'
> {
> "deleteResult" : [
> {
> "error" : {
> "key" : "c6402.ambari.apache.org",
> "code" : 404,
> "message" : "org.apache.ambari.server.HostNotFoundException: Host not
> found, hostname=c6402.ambari.apache.org"
> }
> },
> {
> "error" : {
> "key" : "c6401.ambari.apache.org",
> "code" : 500,
> "message" : "org.apache.ambari.server.AmbariException: Cannot remove
> host c6401.ambari.apache.org from a. The following roles exist, and these
> components must be stopped if running, and then deleted: ZOOKEEPER_SERVER"
> }
> }
> ]
> }
>
> curl -u admin:admin -H 'X-Requested-By: ambari' -X DELETE
> http://c6401.ambari.apache.org:8080/api/v1/clusters/a/hosts -d
> '{"RequestInfo":{"query":"Hosts/host_name.in(c6401.ambari.apache.org,c6402.ambari.apache.org)"}}'
> {
> "deleteResult" : [
> {
> "deleted" : {
> "key" : "c6402.ambari.apache.org"
> }
> },
> {
> "error" : {
> "key" : "c6401.ambari.apache.org",
> "code" : 500,
> "message" : "org.apache.ambari.server.AmbariException: Cannot remove
> host c6401.ambari.apache.org from a. The following roles exist, and these
> components must be stopped if running, and then deleted: ZOOKEEPER_SERVER"
> }
> }
> ]
> }
> {code}
>
>
> Thanks,
>
> Ajit Kumar
>
>