From e64233678012f79a3d6cc1e8f781ed835cbf8051 Mon Sep 17 00:00:00 2001 From: Matthew Mckenzie Date: Fri, 18 Jul 2025 13:00:18 +1000 Subject: [PATCH] truenas-iscsi: error code has changed on target exists with 25.01 Updates target name existence check to use regex matching instead of JSON stringify and includes, which is more robust. --- src/driver/freenas/api.js | 5 ++--- src/driver/freenas/ssh.js | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/driver/freenas/api.js b/src/driver/freenas/api.js index c5df0a0..ded50f3 100644 --- a/src/driver/freenas/api.js +++ b/src/driver/freenas/api.js @@ -1128,9 +1128,8 @@ class FreeNASApiDriver extends CsiBaseDriver { target = null; if ( response.statusCode == 422 && - JSON.stringify(response.body).includes( - "Target name already exists" - ) + JSON.stringify(response.body) + .match(/Target(.*)name already exists/g)?.length > 0 ) { target = await httpApiClient.findResourceByProperties( "/iscsi/target", diff --git a/src/driver/freenas/ssh.js b/src/driver/freenas/ssh.js index 3f635ac..81a51f8 100644 --- a/src/driver/freenas/ssh.js +++ b/src/driver/freenas/ssh.js @@ -1205,9 +1205,8 @@ class FreeNASSshDriver extends ControllerZfsBaseDriver { target = null; if ( response.statusCode == 422 && - JSON.stringify(response.body).includes( - "Target name already exists" - ) + JSON.stringify(response.body) + .match(/Target(.*)name already exists/g)?.length > 0 ) { target = await this.findResourceByProperties( "/iscsi/target",