Skip to content

Commit

Permalink
Merge pull request autotest#5657 from nanli1/add_case_for_virtio_mem_…
Browse files Browse the repository at this point in the history
…hot_unplug

add case for virtio memory hot unplug
  • Loading branch information
Yingshun authored Jul 15, 2024
2 parents 10bdd5d + 340af00 commit 925e270
Show file tree
Hide file tree
Showing 3 changed files with 438 additions and 4 deletions.
86 changes: 86 additions & 0 deletions libvirt/tests/cfg/memory/memory_devices/virtio_mem_hot_unplug.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
- memory.devices.virtio_mem.hot_unplug:
no s390-virtio
type = virtio_mem_hot_unplug
start_vm = yes
mem_model = "virtio-mem"
allocate_size = "1048576"
allocate_memory = "${allocate_size}KiB"
target_size = "1048576"
request_size = "1048576"
unplug_target_size = '1048576'
unplug_request_size = '1048576'
size_unit = 'KiB'
block_unit = 'KiB'
request_unit = 'KiB'
unplug_size_unit = 'KiB'
unplug_block_unit = 'KiB'
unplug_request_unit = 'KiB'
node = 0
unplug_node = 0
slot = 0
mem_value = 2097152
current_mem = 2097152
numa_mem = 1048576
max_mem = 4194304
max_mem_slots = 16
base = "0x100000000"
addr_dict = "'address':{'attrs': {'base': '${base}'}}"
kernel_extra_params_add = "memhp_default_state=online_movable"
unplug_event = "device-removed"
audit_cmd = "ausearch --start today -m VIRT_RESOURCE | grep 'mem'"
ausearch_check = 'old-mem=%d new-mem=%d'
expected_log = "device_del"
kernel_hp_file = '/sys/devices/system/node/node0/hugepages/hugepages-%skB/nr_hugepages'
max_dict = '"max_mem_rt": ${max_mem}, "max_mem_rt_slots": ${max_mem_slots}, "max_mem_rt_unit": "KiB"'
numa_dict = "'vcpu': 4,'cpu':{'numa_cell': [{'id': '0', 'cpus': '0-1', 'memory': '${numa_mem}'}, {'id': '1', 'cpus': '2-3', 'memory': '${numa_mem}'}]}"
vm_attrs = {${numa_dict},${max_dict},'memory_unit':'KiB','memory':${mem_value},'current_mem':${current_mem},'current_mem_unit':'KiB'}
required_kernel = [5.14.0,)
guest_required_kernel = [5.8.0,)
func_supported_since_libvirt_ver = (10, 0, 0)
func_supported_since_qemu_kvm_ver = (8, 2, 0)
machine_version = "9.4.0"
variants case:
- target_and_address:
unplug_request_size = '0'
updated_request_option = "--requested-size 0"
- source_mib_and_hugepages:
target_size = "1024"
request_size = "512"
size_unit = 'MiB'
request_unit = "MiB"
node = 1
unplug_target_size = "1024"
unplug_request_size = "0"
unplug_size_unit = "MiB"
unplug_request_unit = "MiB"
unplug_node = 1
source_dict = {'nodemask': '0','pagesize': %d, 'pagesize_unit':'KiB'}
updated_request_option = "--requested-size 0"
- nonexistent_mem:
node = 1
unplug_node = 1
target_size = "524288"
request_size = "524288"
unplug_target_size = "1048576"
unplug_request_size = "524288"
- none_zero_current:
- none_zero_request:
source_dict = {'nodemask': '0','pagesize': %d, 'pagesize_unit':'KiB'}
virtio_dict = {'mem_model':'${mem_model}','alias': {'name': '%s'},'target': {${addr_dict},'size':${target_size}, 'size_unit':'${size_unit}', 'node':${node},'requested_size': ${request_size},'requested_unit':'${request_unit}', 'block_size': %s, 'block_unit':'${block_unit}'}}
unplug_dict = {'mem_model':'${mem_model}','alias': {'name': '%s'},'target': {${addr_dict},'size':${unplug_target_size},'requested_size': ${unplug_request_size}, 'block_size': %s, 'size_unit':'${unplug_size_unit}','requested_unit':'${unplug_request_unit}','block_unit':'${unplug_block_unit}','node':${unplug_node}}}
variants plug_way:
- detach:
detach_method = "detach"
nonexistent_mem:
unplug_error = "model 'virtio-mem' memory device not present in the domain configuration"
none_zero_current:
unplug_error = "virtio-mem device cannot get unplugged while 'size' != '0'"
none_zero_request:
unplug_error = "virtio-mem device cannot get unplugged while 'requested-size' != '0'"
- detach_alias:
no nonexistent_mem
detach_method = "detach_alias"
none_zero_current:
unplug_error = "virtio-mem device cannot get unplugged while 'size' != '0'"
none_zero_request:
unplug_error = "virtio-mem device cannot get unplugged while 'requested-size' != '0'"
Loading

0 comments on commit 925e270

Please sign in to comment.