public override async Task <DeleteVolumeResponse> DeleteVolume( DeleteVolumeRequest request, ServerCallContext context) { DeleteVolumeResponse response = new DeleteVolumeResponse(); var id = request.VolumeId; using (var _s = logger.StepInformation("{0}, id: {1}", nameof(DeleteVolume), id)) { try { await azureFileCsiService.DeleteVolumeAsync(id, request.ControllerDeleteSecrets); } catch (StorageException ex) { logger.LogWarning(ex, "Error from storage service"); _s.Commit(); throw new RpcException(new Status(StatusCode.InvalidArgument, ex.Message)); } catch (Exception ex) { logger.LogError(ex, "Exception in DeleteVolume"); throw new RpcException(new Status(StatusCode.Internal, ex.Message)); } _s.Commit(); } return(response); }