diff --git a/src/driver/freenas/api.js b/src/driver/freenas/api.js index 3517503..5a17087 100644 --- a/src/driver/freenas/api.js +++ b/src/driver/freenas/api.js @@ -183,7 +183,7 @@ class FreeNASApiDriver extends CsiBaseDriver { const apiVersion = httpClient.getApiVersion(); const zb = await this.getZetabyte(); const truenasVersion = semver.coerce( - await httpApiClient.getSystemVersionMajorMinor() + await httpApiClient.getSystemVersionMajorMinor(), { loose: true } ); const isScale = await httpApiClient.getIsScale(); @@ -265,6 +265,10 @@ class FreeNASApiDriver extends CsiBaseDriver { break; } + if (!semver.valid(truenasVersion)) { + this.ctx.logger.warn("invalid truenas version, api compatibility might be broken"); + } + if (isScale && semver.satisfies(truenasVersion, ">=23.10")) { delete share.quiet; delete share.nfs_quiet; diff --git a/src/driver/freenas/ssh.js b/src/driver/freenas/ssh.js index 7535eff..25e5560 100644 --- a/src/driver/freenas/ssh.js +++ b/src/driver/freenas/ssh.js @@ -231,7 +231,7 @@ class FreeNASSshDriver extends ControllerZfsBaseDriver { const apiVersion = httpClient.getApiVersion(); const zb = await this.getZetabyte(); const truenasVersion = semver.coerce( - await httpApiClient.getSystemVersionMajorMinor() + await httpApiClient.getSystemVersionMajorMinor(), { loose: true } ); const isScale = await httpApiClient.getIsScale(); @@ -314,6 +314,10 @@ class FreeNASSshDriver extends ControllerZfsBaseDriver { break; } + if (!semver.valid(truenasVersion)) { + this.ctx.logger.warn("invalid truenas version, api compatibility might be broken"); + } + if (isScale && semver.satisfies(truenasVersion, ">=23.10")) { delete share.quiet; delete share.nfs_quiet;