def _do_remove_nodes(self, count): nodes = self.cloud_groups.nodes if count > len(nodes) - 1: self.state = self.S_RUNNING self.logger.info('Cannot delete so many workers') return HttpErrorResponse('ERROR: Cannot delete so many workers') else: for i in range(0, count): node = self.cloud_groups.remove_node() self.logger.info('graceful leave on %s', node) res = client.graceful_leave(node.ip, 5555) self.logger.info('graceful leave: %s', res) self.controller.delete_nodes([node]) self.state = self.S_RUNNING return HttpJsonResponse()
def _do_remove_nodes(self, count): if count > len(self.nodes) - 1: self.state = self.S_RUNNING return HttpErrorResponse('ERROR: Cannot delete so many workers') if count == len(self.nodes): self.logger.info('killing the nodes') for i in range(0, count): self.controller.delete_nodes([self.nodes.pop(1)]) self.state = self.S_RUNNING return HttpJsonResponse() else: for i in range(0, count): node = self.nodes.pop(1) self.logger.info('graceful leave on %s', node) res = client.graceful_leave(node.ip, 5555) self.logger.info('graceful leave: %s', res) self.controller.delete_nodes([node]) self.state = self.S_RUNNING return HttpJsonResponse()