Skip to content

Commit cf4df42

Browse files
committed
<fix>[ai]: move GPU quota migration to V5.5.12 schema with backticks
Resolves: ZSTAC-73546 Change-Id: I3ab090f9ba45417de4adfc93ae7be365ad979040
1 parent 009c297 commit cf4df42

2 files changed

Lines changed: 42 additions & 43 deletions

File tree

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
-- ZSTAC-73546: Migrate existing global GPU quota to per-vendor (NVIDIA) quota
2+
-- For users who already set container.gpu.video.ram.size, copy the value as NVIDIA vendor quota.
3+
-- Other vendor quotas will use the GlobalConfig default (32GB) via the quota framework.
4+
DELIMITER $$
5+
6+
CREATE PROCEDURE MigrateGpuQuotaPerVendor()
7+
BEGIN
8+
DECLARE done INT DEFAULT FALSE;
9+
DECLARE v_identity_uuid VARCHAR(32);
10+
DECLARE v_identity_type VARCHAR(255);
11+
DECLARE v_value BIGINT;
12+
DECLARE cur CURSOR FOR
13+
SELECT `identityUuid`, `identityType`, `value`
14+
FROM `QuotaVO`
15+
WHERE `name` = 'container.gpu.video.ram.size';
16+
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
17+
18+
OPEN cur;
19+
read_loop: LOOP
20+
FETCH cur INTO v_identity_uuid, v_identity_type, v_value;
21+
IF done THEN
22+
LEAVE read_loop;
23+
END IF;
24+
25+
INSERT IGNORE INTO `QuotaVO` (`uuid`, `name`, `identityUuid`, `identityType`, `value`, `lastOpDate`, `createDate`)
26+
VALUES (
27+
REPLACE(UUID(), '-', ''),
28+
'container.gpu.video.ram.size.nvidia',
29+
v_identity_uuid,
30+
v_identity_type,
31+
v_value,
32+
NOW(),
33+
NOW()
34+
);
35+
END LOOP;
36+
CLOSE cur;
37+
END$$
38+
39+
DELIMITER ;
40+
41+
CALL MigrateGpuQuotaPerVendor();
42+
DROP PROCEDURE IF EXISTS MigrateGpuQuotaPerVendor;

conf/db/upgrade/V5.5.6__schema.sql

Lines changed: 0 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -229,46 +229,3 @@ SET g.`allocateStatus` = 'Unallocatable'
229229
WHERE p.`virtStatus` IN ('VFIO_MDEV_VIRTUALIZED', 'SRIOV_VIRTUALIZED')
230230
AND p.`vmInstanceUuid` IS NULL
231231
AND g.`allocateStatus` != 'Unallocatable';
232-
233-
-- ZSTAC-73546: Migrate existing global GPU quota to per-vendor (NVIDIA) quota
234-
-- For users who already set container.gpu.video.ram.size, copy the value as NVIDIA vendor quota.
235-
-- Other vendor quotas will use the GlobalConfig default (32GB) via the quota framework.
236-
DELIMITER $$
237-
238-
CREATE PROCEDURE MigrateGpuQuotaPerVendor()
239-
BEGIN
240-
DECLARE done INT DEFAULT FALSE;
241-
DECLARE v_identity_uuid VARCHAR(32);
242-
DECLARE v_identity_type VARCHAR(255);
243-
DECLARE v_value BIGINT;
244-
DECLARE cur CURSOR FOR
245-
SELECT identityUuid, identityType, value
246-
FROM QuotaVO
247-
WHERE name = 'container.gpu.video.ram.size';
248-
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
249-
250-
OPEN cur;
251-
read_loop: LOOP
252-
FETCH cur INTO v_identity_uuid, v_identity_type, v_value;
253-
IF done THEN
254-
LEAVE read_loop;
255-
END IF;
256-
257-
INSERT IGNORE INTO QuotaVO (uuid, name, identityUuid, identityType, value, lastOpDate, createDate)
258-
VALUES (
259-
REPLACE(UUID(), '-', ''),
260-
'container.gpu.video.ram.size.nvidia',
261-
v_identity_uuid,
262-
v_identity_type,
263-
v_value,
264-
NOW(),
265-
NOW()
266-
);
267-
END LOOP;
268-
CLOSE cur;
269-
END$$
270-
271-
DELIMITER ;
272-
273-
CALL MigrateGpuQuotaPerVendor();
274-
DROP PROCEDURE IF EXISTS MigrateGpuQuotaPerVendor;

0 commit comments

Comments
 (0)