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 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