From b1387820ed5d1af0bee46b617c773309a661bb04 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Wed, 15 Jul 2026 09:15:09 +0200 Subject: [PATCH] fix: A disk entry must be either `disk` or `cdrom`, never both (backport #998) (#1000) Related to: https://github.com/harvester/harvester/issues/11154 (cherry picked from commit 2cefd7cb78a1a8ec9c827a615a5a8e60a4edb4c0) Signed-off-by: Volker Theile Co-authored-by: Volker Theile --- pkg/harvester/mixins/harvester-vm/index.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/pkg/harvester/mixins/harvester-vm/index.js b/pkg/harvester/mixins/harvester-vm/index.js index a6a575c1..87f240bd 100644 --- a/pkg/harvester/mixins/harvester-vm/index.js +++ b/pkg/harvester/mixins/harvester-vm/index.js @@ -1788,7 +1788,18 @@ export default { const specDevice = specDeviceMap.get(device.name); if (specDevice) { - return { ...specDevice, ...device }; + const merged = { ...specDevice, ...device }; + + // A disk entry must be either `disk` or `cdrom`, never both. + const type = device?.cdrom ? CD_ROM : device?.disk ? HARD_DISK : ''; + + if (type === CD_ROM) { + delete merged.disk; + } else if (type === HARD_DISK) { + delete merged.cdrom; + } + + return merged; } return device;