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

Ajit Kumar updated AMBARI-18011:
--------------------------------
    Attachment: rb50450.patch

> Add api for bulk delete host component
> --------------------------------------
>
>                 Key: AMBARI-18011
>                 URL: https://issues.apache.org/jira/browse/AMBARI-18011
>             Project: Ambari
>          Issue Type: Task
>          Components: ambari-server
>    Affects Versions: 2.5.0
>            Reporter: Ajit Kumar
>            Assignee: Ajit Kumar
>             Fix For: 2.5.0
>
>         Attachments: rb50450.patch
>
>
> This api takes in query and instead of failing fast on the first error, puts 
> the best effort to delete all requested hosts. Response should be json object 
> which has deleted keys and keys which failed to delete with exception.
> Sample API calls:
> Delete all host components on a set of hosts:
> {code}
> Request:
> curl -i -uadmin:admin -H 'X-Requested-By: ambari' -X DELETE 
> http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/host_components -d 
> '{"RequestInfo":{"query":"HostRoles/host_name.in(c6401.ambari.apache.org,c6402.ambari.apache.org)"}}'
> Response
> {
>   "deleteResult" : [
>     {
>       "deleted" : {
>         "key" : "c6401.ambari.apache.org/HIVE_METASTORE"
>       }
>     },
>     {
>       "deleted" : {
>         "key" : "c6402.ambari.apache.org/MYSQL_SERVER"
>       }
>     },
>     {
>       "error" : {
>         "key" : "c6402.ambari.apache.org/RESOURCEMANAGER",
>         "code" : 500,
>         "message" : "org.apache.ambari.server.AmbariException: Host Component 
> cannot be removed, clusterName=c1, serviceName=YARN, 
> componentName=RESOURCEMANAGER, hostname=c6402.ambari.apache.org, request={ 
> clusterName=c1, serviceName=YARN, componentName=RESOURCEMANAGER, 
> hostname=c6402.ambari.apache.org, desiredState=null, state=null, 
> desiredStackId=null, staleConfig=null, adminState=null}"
>       }
>     }
>   ]
> }
> {code}
> Delete selected host components on a set of host
> {code} 
> Request:
> curl -i -uadmin:admin -H 'X-Requested-By: ambari' -X DELETE 
> http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/host_components -d 
> '{"RequestInfo":{"query":"HostRoles/host_name.in(c6401.ambari.apache.org,c6402.ambari.apache.org)&HostRoles/component_name.in(NODEMANAGER)"}}'
> Response:
> {
>   "deleteResult" : [
>     {
>       "deleted" : {
>         "key" : "c6401.ambari.apache.org/NODEMANAGER"
>       }
>     },
>     {
>       "error" : {
>         "key" : "c6402.ambari.apache.org/NODEMANAGER",
>         "code" : 500,
>         "message" : "org.apache.ambari.server.AmbariException: Host Component 
> cannot be removed, clusterName=c1, serviceName=YARN, 
> componentName=NODEMANAGER, hostname=c6402.ambari.apache.org, request={ 
> clusterName=c1, serviceName=YARN, componentName=NODEMANAGER, 
> hostname=c6402.ambari.apache.org, desiredState=null, state=null, 
> desiredStackId=null, staleConfig=null, adminState=null}"
>       }
>     }
>   ]
> }
> {code}



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

Reply via email to