diff --git a/pkg/dbfs/nodeserver.go b/pkg/dbfs/nodeserver.go index 88582a26c..8729287bb 100644 --- a/pkg/dbfs/nodeserver.go +++ b/pkg/dbfs/nodeserver.go @@ -159,7 +159,14 @@ func (ns *nodeServer) NodePublishVolume(ctx context.Context, req *csi.NodePublis } // Get dbfs config path - cmd := fmt.Sprintf("%s /opt/dbfs/app/1.0.0.1/bin/dbfs_get_home_path.sh %s", NsenterCmd, dbfsID) + dbfsVersion := os.Getenv("DBFS_CONFIG_VERSION") + if dbfsVersion == "" { + dbfsVersion := getDbfsVersion(dbfsID) + if dbfsVersion == "" { + dbfsVersion = "1.0.0.2" + } + } + cmd := fmt.Sprintf("%s /opt/dbfs/app/%s/bin/dbfs_get_home_path.sh %s", NsenterCmd, dbfsVersion, dbfsID) out, err := utils.Run(cmd) if err != nil { log.Errorf("NodePublishVolume: get dbfs config volume path %s with error: %s", req.VolumeId, err.Error()) diff --git a/pkg/dbfs/utils.go b/pkg/dbfs/utils.go index b85d692f6..926ddf6c8 100644 --- a/pkg/dbfs/utils.go +++ b/pkg/dbfs/utils.go @@ -224,3 +224,14 @@ func GetPvNameFormMntPoint(mntPath string) string { } return "" } + +// getDbfsVersion get dbfs config version from config file +func getDbfsVersion(dbfsID string) string { + cmd := fmt.Sprintf("%s cat /opt/dbfs/config/version.conf", NsenterCmd) + out, err := utils.Run(cmd) + if err != nil { + log.Errorf("getDbfsVersion: %s with error: %s", dbfsID, err.Error()) + return "" + } + return strings.TrimSpace(out) +} \ No newline at end of file