config_tools: remove KATA and replace UUID with vmname to identify a vm

1. remove CONFIG_KATA_VM, CONFIG_MAX_KATA_VM_NUM and KATA_VM
related code.
2. remove KATA_VM in scenario xml files.
3. remove KATA vm type in UI.
4. remove UUID DB.
5. remove uuid in the launch script generation logic.
6. use vmname to identify a vm. (eg: <name>ACRN_SOS_VM</name>)
add the check logic to ensure vm name is a must-set item, not duplicated,
and the string length is [1-15] and the whitespace is not allowed.
7. enlarge the max VM num to 32.

Tracked-On: #6685
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
This commit is contained in:
Kunhui-Li
2021-10-20 15:34:53 +08:00
committed by wenlingz
parent 05f7cbefea
commit ccbf6d4603
29 changed files with 84 additions and 366 deletions

View File

@@ -38,7 +38,7 @@ BOARD_INFO_FILE = ""
SCENARIO_INFO_FILE = ""
LAUNCH_INFO_FILE = ""
VM_TYPES = {}
MAX_VM_NUM = 8
MAX_VM_NUM = 32
MAX_VUART_NUM = 8

View File

@@ -208,28 +208,6 @@ def is_config_file_match():
return (err_dic, match)
def get_vm_uuid_idx(vm_type, user_vmid):
i_cnt = 0
for vm_i,vm_t in common.VM_TYPES.items():
if vm_t == vm_type and vm_i <= user_vmid:
i_cnt += 1
if i_cnt > 0:
i_cnt -= 1
return i_cnt
def get_scenario_uuid(user_vmid, sos_vmid):
# {id_num:uuid} (id_num:0~max)
scenario_uuid = ''
vm_id = user_vmid + sos_vmid
i_cnt = get_vm_uuid_idx(common.VM_TYPES[vm_id], vm_id)
scenario_uuid = scenario_cfg_lib.VM_DB[common.VM_TYPES[vm_id]]['uuid'][i_cnt]
return scenario_uuid
def get_sos_vmid():
sos_id = ''
@@ -627,7 +605,7 @@ def set_shm_regions(launch_item_values, scenario_info):
for vm_id, vm_type in vm_types.items():
if vm_type in ['SERVICE_VM']:
sos_vm_id = vm_id
elif vm_type in ['POST_STD_VM', 'POST_RT_VM', 'KATA_VM']:
elif vm_type in ['POST_STD_VM', 'POST_RT_VM']:
user_vmid = vm_id - sos_vm_id
shm_region_key = 'user_vm:id={},shm_regions,shm_region'.format(user_vmid)
launch_item_values[shm_region_key] = ['']

View File

@@ -38,33 +38,20 @@ COMMUNICATE_VM_ID = []
ERR_LIST = {}
KATA_VM_COUNT = 0
PT_SUB_PCI = {}
PT_SUB_PCI['ethernet'] = ['Ethernet controller', 'Network controller', '802.1a controller',
'802.1b controller', 'Wireless controller']
PT_SUB_PCI['sata'] = ['SATA controller']
PT_SUB_PCI['nvme'] = ['Non-Volatile memory controller']
PT_SUB_PCI['usb'] = ['USB controller']
UUID_DB = {
'SERVICE_VM':['dbbbd434-7a57-4216-a12c-2201f1ab0240'],
'SAFETY_VM':['fc836901-8685-4bc0-8b71-6e31dc36fa47'],
'PRE_STD_VM':['26c5e0d8-8f8a-47d8-8109-f201ebd61a5e', 'dd87ce08-66f9-473d-bc58-7605837f935e'],
'POST_STD_VM':['d2795438-25d6-11e8-864e-cb7a18b34643', '615db82a-e189-4b4f-8dbb-d321343e4ab3',
'38158821-5208-4005-b72a-8a609e4190d0', 'a6750180-f87a-48d2-91d9-4e7f62b6519e', 'd1816e4a-a9bb-4cb4-a066-3f1a8a5ce73f'],
'POST_RT_VM':['495ae2e5-2603-4d64-af76-d4bc5a8ec0e5'],
'KATA_VM':['a7ada506-1ab0-4b6b-a0da-e513ca9b8c2f'],
'PRE_RT_VM':['b2a92bec-ca6b-11ea-b106-3716a8ba0bb9'],
}
VM_DB = {
'SERVICE_VM':{'load_type':'SERVICE_VM', 'severity':'SEVERITY_SERVICE_VM', 'uuid':UUID_DB['SERVICE_VM']},
'SAFETY_VM':{'load_type':'PRE_LAUNCHED_VM', 'severity':'SEVERITY_SAFETY_VM', 'uuid':UUID_DB['SAFETY_VM']},
'PRE_RT_VM':{'load_type':'PRE_LAUNCHED_VM', 'severity':'SEVERITY_RTVM', 'uuid':UUID_DB['PRE_RT_VM']},
'PRE_STD_VM':{'load_type':'PRE_LAUNCHED_VM', 'severity':'SEVERITY_STANDARD_VM', 'uuid':UUID_DB['PRE_STD_VM']},
'POST_STD_VM':{'load_type':'POST_LAUNCHED_VM', 'severity':'SEVERITY_STANDARD_VM', 'uuid':UUID_DB['POST_STD_VM']},
'POST_RT_VM':{'load_type':'POST_LAUNCHED_VM', 'severity':'SEVERITY_RTVM', 'uuid':UUID_DB['POST_RT_VM']},
'KATA_VM':{'load_type':'POST_LAUNCHED_VM', 'severity':'SEVERITY_STANDARD_VM', 'uuid':UUID_DB['KATA_VM']},
'PRE_RT_VM':{'load_type':'PRE_LAUNCHED_VM', 'severity':'SEVERITY_RTVM', 'uuid':UUID_DB['PRE_RT_VM']},
'SERVICE_VM':{'load_type':'SERVICE_VM', 'severity':'SEVERITY_SERVICE_VM'},
'SAFETY_VM':{'load_type':'PRE_LAUNCHED_VM', 'severity':'SEVERITY_SAFETY_VM'},
'PRE_RT_VM':{'load_type':'PRE_LAUNCHED_VM', 'severity':'SEVERITY_RTVM'},
'PRE_STD_VM':{'load_type':'PRE_LAUNCHED_VM', 'severity':'SEVERITY_STANDARD_VM'},
'POST_STD_VM':{'load_type':'POST_LAUNCHED_VM', 'severity':'SEVERITY_STANDARD_VM'},
'POST_RT_VM':{'load_type':'POST_LAUNCHED_VM', 'severity':'SEVERITY_RTVM'},
'PRE_RT_VM':{'load_type':'PRE_LAUNCHED_VM', 'severity':'SEVERITY_RTVM'},
}
LOAD_VM_TYPE = list(VM_DB.keys())
@@ -246,11 +233,9 @@ def load_vm_check(load_vms, item):
:param item: vm name item in xml
:return: None
"""
global KATA_VM_COUNT
sos_vm_ids = []
pre_vm_ids = []
post_vm_ids = []
kata_vm_ids = []
rt_vm_ids = []
for order_i, load_str in load_vms.items():
if not load_str:
@@ -271,39 +256,14 @@ def load_vm_check(load_vms, item):
if "POST_STD_VM" == load_str:
post_vm_ids.append(order_i)
if "KATA_VM" == load_str:
kata_vm_ids.append(order_i)
if "POST_RT_VM" == load_str:
rt_vm_ids.append(order_i)
KATA_VM_COUNT = len(kata_vm_ids)
if len(kata_vm_ids) > len(UUID_DB["KATA_VM"]):
key = "vm:id={},{}".format(kata_vm_ids[0], item)
ERR_LIST[key] = "KATA VM number should not be greater than {}".format(len(UUID_DB["KATA_VM"]))
return
if len(rt_vm_ids) > len(UUID_DB["POST_RT_VM"]):
key = "vm:id={},{}".format(rt_vm_ids[0], item)
ERR_LIST[key] = "POST RT VM number should not be greater than {}".format(len(UUID_DB["POST_RT_VM"]))
return
if len(sos_vm_ids) > 1:
key = "vm:id={},{}".format(sos_vm_ids[0], item)
ERR_LIST[key] = "Service VM number should not be greater than 1"
return
if len(post_vm_ids) > len(UUID_DB["POST_STD_VM"]):
key = "vm:id={},{}".format(post_vm_ids[0], item)
ERR_LIST[key] = "POST Standard vm number should not be greater than {}".format(len(UUID_DB["POST_STD_VM"]))
return
max_pre_launch_vms = len(UUID_DB["PRE_STD_VM"]) + len(UUID_DB["SAFETY_VM"]) + len(UUID_DB["PRE_RT_VM"])
if len(pre_vm_ids) > max_pre_launch_vms:
key = "vm:id={},{}".format(pre_vm_ids[0], item)
ERR_LIST[key] = "PRE Launched VM number should not be greater than {}".format(max_pre_launch_vms)
return
if post_vm_ids and sos_vm_ids:
if post_vm_ids[0] < sos_vm_ids[-1]:
key = "vm:id={},{}".format(post_vm_ids[0], item)