more robust api delete process, better failure logging
Signed-off-by: Travis Glenn Hansen <travisghansen@yahoo.com>
This commit is contained in:
parent
1cabae4f84
commit
d1aa8108c1
|
|
@ -3010,10 +3010,27 @@ class FreeNASApiDriver extends CsiBaseDriver {
|
|||
// NOTE: -R will recursively delete items + dependent filesets
|
||||
// delete dataset
|
||||
try {
|
||||
await httpApiClient.DatasetDelete(datasetName, {
|
||||
recursive: true,
|
||||
force: true,
|
||||
});
|
||||
await GeneralUtils.retry(
|
||||
12,
|
||||
5000,
|
||||
async () => {
|
||||
await httpApiClient.DatasetDelete(datasetName, {
|
||||
recursive: true,
|
||||
force: true,
|
||||
});
|
||||
},
|
||||
{
|
||||
retryCondition: (err) => {
|
||||
if (
|
||||
err.toString().includes("dataset is busy") ||
|
||||
err.toString().includes("target is busy")
|
||||
) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
}
|
||||
);
|
||||
} catch (err) {
|
||||
if (err.toString().includes("filesystem has dependent clones")) {
|
||||
throw new GrpcError(
|
||||
|
|
|
|||
|
|
@ -2607,7 +2607,7 @@ class CsiBaseDriver {
|
|||
if (!result) {
|
||||
throw new GrpcError(
|
||||
grpc.status.FAILED_PRECONDITION,
|
||||
`it appears something else is already mounted at ${target_path}`
|
||||
`it appears ${normalized_staging_device} is already mounted at ${target_path}, should be ${normalized_staging_path}`
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue