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
|
// NOTE: -R will recursively delete items + dependent filesets
|
||||||
// delete dataset
|
// delete dataset
|
||||||
try {
|
try {
|
||||||
await httpApiClient.DatasetDelete(datasetName, {
|
await GeneralUtils.retry(
|
||||||
recursive: true,
|
12,
|
||||||
force: true,
|
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) {
|
} catch (err) {
|
||||||
if (err.toString().includes("filesystem has dependent clones")) {
|
if (err.toString().includes("filesystem has dependent clones")) {
|
||||||
throw new GrpcError(
|
throw new GrpcError(
|
||||||
|
|
|
||||||
|
|
@ -2607,7 +2607,7 @@ class CsiBaseDriver {
|
||||||
if (!result) {
|
if (!result) {
|
||||||
throw new GrpcError(
|
throw new GrpcError(
|
||||||
grpc.status.FAILED_PRECONDITION,
|
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