diff --git a/src/locales/en-US/resources.ts b/src/locales/en-US/resources.ts
index 63d50653..c25642a9 100644
--- a/src/locales/en-US/resources.ts
+++ b/src/locales/en-US/resources.ts
@@ -109,5 +109,8 @@ export default {
'No available clusters. Please create a cluster before adding a node.',
'resources.metrics.details': 'Monitoring',
'resoureces.worker.upgrade.tips':
- 'Please upgrade to match the GPUStack Server version.'
+ 'Please upgrade to match the GPUStack Server version.',
+ 'resources.worker.version': 'Worker Version',
+ 'resources.worker.currentVersion': 'Current Version: {version}',
+ 'resources.worker.targetVersion': 'Target Version: {version}',
};
diff --git a/src/locales/ja-JP/resources.ts b/src/locales/ja-JP/resources.ts
index 405b028a..e033294e 100644
--- a/src/locales/ja-JP/resources.ts
+++ b/src/locales/ja-JP/resources.ts
@@ -110,7 +110,10 @@ export default {
'No available clusters. Please create a cluster before adding a node.',
'resources.metrics.details': 'Monitoring',
'resoureces.worker.upgrade.tips':
- 'Please upgrade to match the GPUStack Server version.'
+ 'Please upgrade to match the GPUStack Server version.',
+ 'resources.worker.version': 'Worker Version',
+ 'resources.worker.currentVersion': 'Current Version: {version}',
+ 'resources.worker.targetVersion': 'Target Version: {version}'
};
// ========== To-Do: Translate Keys (Remove After Translation) ==========
diff --git a/src/locales/ru-RU/resources.ts b/src/locales/ru-RU/resources.ts
index 8e9a4362..52eb5ae9 100644
--- a/src/locales/ru-RU/resources.ts
+++ b/src/locales/ru-RU/resources.ts
@@ -108,7 +108,10 @@ export default {
'No available clusters. Please create a cluster before adding a node.',
'resources.metrics.details': 'Monitoring',
'resoureces.worker.upgrade.tips':
- 'Please upgrade to match the GPUStack Server version.'
+ 'Please upgrade to match the GPUStack Server version.',
+ 'resources.worker.version': 'Worker Version',
+ 'resources.worker.currentVersion': 'Current Version: {version}',
+ 'resources.worker.targetVersion': 'Target Version: {version}'
};
// ========== To-Do: Translate Keys (Remove After Translation) ==========
diff --git a/src/locales/tr-TR/resources.ts b/src/locales/tr-TR/resources.ts
index a00d684a..4be984d5 100644
--- a/src/locales/tr-TR/resources.ts
+++ b/src/locales/tr-TR/resources.ts
@@ -108,7 +108,10 @@ export default {
'Kullanılabilir küme yok. Lütfen düğüm eklemeden önce bir küme oluşturun.',
'resources.metrics.details': 'İzleme',
'resoureces.worker.upgrade.tips':
- 'Please upgrade to match the GPUStack Server version.'
+ 'Please upgrade to match the GPUStack Server version.',
+ 'resources.worker.version': 'Worker Version',
+ 'resources.worker.currentVersion': 'Current Version: {version}',
+ 'resources.worker.targetVersion': 'Target Version: {version}'
};
// ========== To-Do: Translate Keys (Remove After Translation) ==========
diff --git a/src/locales/zh-CN/resources.ts b/src/locales/zh-CN/resources.ts
index 2d52784d..6e508130 100644
--- a/src/locales/zh-CN/resources.ts
+++ b/src/locales/zh-CN/resources.ts
@@ -104,5 +104,8 @@ export default {
'进入维护模式后,节点将停止调度新的模型实例部署任务,正在运行的实例不会受到影响。',
'resources.worker.noCluster.tips': '当前无可用集群,请先创建集群再添加节点。',
'resources.metrics.details': '监控',
- 'resoureces.worker.upgrade.tips': '请升级到与 GPUStack Server 版本一致。'
+ 'resoureces.worker.upgrade.tips': '请升级到与 GPUStack Server 版本一致。',
+ 'resources.worker.version': '节点版本',
+ 'resources.worker.currentVersion': '当前版本: {version}',
+ 'resources.worker.targetVersion': '目标版本: {version}'
};
diff --git a/src/pages/resources/hooks/use-worker-columns.tsx b/src/pages/resources/hooks/use-worker-columns.tsx
index 0edfe78a..3066cc4a 100644
--- a/src/pages/resources/hooks/use-worker-columns.tsx
+++ b/src/pages/resources/hooks/use-worker-columns.tsx
@@ -19,7 +19,7 @@ import {
ToolOutlined
} from '@ant-design/icons';
import { useIntl } from '@umijs/max';
-import { Tag, Tooltip } from 'antd';
+import { Tooltip } from 'antd';
import { ColumnsType } from 'antd/lib/table';
import { useAtom, useAtomValue } from 'jotai';
import _ from 'lodash';
@@ -296,6 +296,80 @@ const useWorkerColumns = ({
});
};
+ const renderVersionInfo = (record: ListItem) => {
+ const shouldUpgrade = showUpgrade(record.worker_version, version.version);
+
+ const defaultVersionInfo = (
+
+ {intl.formatMessage({ id: 'resources.worker.version' })}:
+ {version.version}
+
+ );
+
+ const upgradeVersionInfo = (
+
+
+ {intl.formatMessage(
+ { id: 'resources.worker.currentVersion' },
+ { version: record.worker_version }
+ )}
+
+
+ {intl.formatMessage(
+ { id: 'resources.worker.targetVersion' },
+ { version: version.version }
+ )}
+
+
+ );
+
+ return (
+
+ {shouldUpgrade && (
+
+ {intl.formatMessage({
+ id: 'resoureces.worker.upgrade.tips'
+ })}
+
+ )}
+ {shouldUpgrade ? upgradeVersionInfo : defaultVersionInfo}
+
+
+ {intl.formatMessage({
+ id: 'benchmark.env.driverVersion'
+ })}
+ :
+
+ {_.get(record, 'status.gpu_devices[0].driver_version')}
+
+
+ }
+ >
+ {shouldUpgrade ? (
+
+ ) : (
+
+ )}
+
+ );
+ };
+
return useMemo>(
() => [
{
@@ -308,36 +382,7 @@ const useWorkerColumns = ({
{text}
-
-
-
- {version.version}
- {showUpgrade(record.worker_version, version.version) && (
-
- )}
-
-
-
- {intl.formatMessage({
- id: 'benchmark.env.driverVersion'
- })}
- : {_.get(record, 'status.gpu_devices[0].driver_version')}
-
- }
- >
-
- {_.get(record, 'status.gpu_devices[0].driver_version', '')}
-
-
-
+ {renderVersionInfo(record)}
)
},
diff --git a/src/pages/resources/styles/worker.less b/src/pages/resources/styles/worker.less
index 97e6365d..ce31fe45 100644
--- a/src/pages/resources/styles/worker.less
+++ b/src/pages/resources/styles/worker.less
@@ -1,6 +1,6 @@
.name {
display: flex;
- flex-direction: column;
+ align-items: center;
gap: 4px;
.worker-version {