From 3f1057b747ede72b044aeaec95d7dacf5f0ea867 Mon Sep 17 00:00:00 2001 From: Weiyi Feng Date: Fri, 1 Apr 2022 09:59:44 +0800 Subject: [PATCH] configurator: fix single vm scenario load issue fix single vm scenario load issue Tracked-On: #6691 Signed-off-by: Weiyi Feng --- .../configurator/src/lib/acrn.jsx | 40 ++++++++++++------- 1 file changed, 26 insertions(+), 14 deletions(-) diff --git a/misc/config_tools/configurator/src/lib/acrn.jsx b/misc/config_tools/configurator/src/lib/acrn.jsx index e425e5532..8ab4c5db7 100644 --- a/misc/config_tools/configurator/src/lib/acrn.jsx +++ b/misc/config_tools/configurator/src/lib/acrn.jsx @@ -268,22 +268,34 @@ export class ProgramLayer extends EventBase { let scenarioConfig = await this.xmlLayer.loadScenario(scenarioXMLPath) this.initScenario() this.scenarioData.hv = scenarioConfig.hv; - scenarioConfig.vm.map((vmConfig, index) => { - let vmType = vmConfig.load_order - if (!this.scenarioData.vm.hasOwnProperty(vmType)) { - try { - ThrowError('VM @id=' + index + ' VMType Does Not Exist') - } catch (e) { - + if (scenarioConfig.hasOwnProperty('vm')) { + if (!_.isArray(scenarioConfig.vm)) { + if (_.isObject(scenarioConfig.vm)) { + scenarioConfig.vm = [scenarioConfig.vm] + } else { + console.log(scenarioConfig.vm); + debugger; + this.onScenarioDataUpdateEvent() + return } - } else { - //fix pci_devs is object issue - if (vmConfig.hasOwnProperty("pci_devs") && vmConfig.pci_devs.hasOwnProperty("pci_dev") && _.isString(vmConfig.pci_devs.pci_dev)) { - vmConfig.pci_devs.pci_dev = [vmConfig.pci_devs.pci_dev] - } - this.addVM(vmType, vmConfig) } - }) + scenarioConfig.vm.map((vmConfig, index) => { + let vmType = vmConfig.load_order + if (!this.scenarioData.vm.hasOwnProperty(vmType)) { + try { + ThrowError('VM @id=' + index + ' VMType Does Not Exist') + } catch (e) { + + } + } else { + //fix pci_devs is object issue + if (vmConfig.hasOwnProperty("pci_devs") && vmConfig.pci_devs.hasOwnProperty("pci_dev") && _.isString(vmConfig.pci_devs.pci_dev)) { + vmConfig.pci_devs.pci_dev = [vmConfig.pci_devs.pci_dev] + } + this.addVM(vmType, vmConfig) + } + }) + } this.onScenarioDataUpdateEvent() }