[
https://issues.apache.org/jira/browse/AMBARI-18011?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ajit Kumar resolved AMBARI-18011.
---------------------------------
Resolution: Fixed
Submitted to trunk.
> 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)