コード例 #1
0
        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);
        }