From 7e9c61ab18a6399ca08182f3322efccc3c6a8e82 Mon Sep 17 00:00:00 2001 From: Bo Chen Date: Wed, 13 Apr 2022 11:29:05 -0700 Subject: [PATCH] tests: Add `test_live_migration_numa_local' Signed-off-by: Bo Chen --- tests/integration.rs | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/tests/integration.rs b/tests/integration.rs index 6ab642fe4..88965d904 100644 --- a/tests/integration.rs +++ b/tests/integration.rs @@ -7273,8 +7273,9 @@ mod live_migration { net_id, guest.network.guest_mac, guest.network.host_ip ); - let memory_param: &[&str] = if numa { - &[ + let memory_param: &[&str] = match (local, numa) { + (false, false) => &["--memory", "size=4G"], + (false, true) => &[ "--memory", "size=0,hotplug_method=virtio-mem", "--memory-zone", @@ -7285,11 +7286,20 @@ mod live_migration { "guest_numa_id=0,cpus=[0-2,9],distances=[1@15,2@20],memory_zones=mem0", "guest_numa_id=1,cpus=[3-4,6-8],distances=[0@20,2@25],memory_zones=mem1", "guest_numa_id=2,cpus=[5,10-11],distances=[0@25,1@30],memory_zones=mem2", - ] - } else if local { - &["--memory", "size=4G,shared=on"] - } else { - &["--memory", "size=4G"] + ], + (true, false) => &["--memory", "size=4G,shared=on"], + (true, true) => &[ + "--memory", + "size=0,hotplug_method=virtio-mem,shared=on", + "--memory-zone", + "id=mem0,size=1G,hotplug_size=32G,shared=on", + "id=mem1,size=1G,hotplug_size=32G,shared=on", + "id=mem2,size=2G,hotplug_size=32G,shared=on", + "--numa", + "guest_numa_id=0,cpus=[0-2,9],distances=[1@15,2@20],memory_zones=mem0", + "guest_numa_id=1,cpus=[3-4,6-8],distances=[0@20,2@25],memory_zones=mem1", + "guest_numa_id=2,cpus=[5,10-11],distances=[0@25,1@30],memory_zones=mem2", + ], }; // Start the source VM @@ -7583,6 +7593,12 @@ mod live_migration { _test_live_migration(true, false) } + #[test] + #[cfg(not(feature = "mshv"))] + fn test_live_migration_numa_local() { + _test_live_migration(true, true) + } + fn _test_live_migration_ovs_dpdk(local: bool) { let ovs_focal = UbuntuDiskConfig::new(FOCAL_IMAGE_NAME.to_string()); let ovs_guest = Guest::new(Box::new(ovs_focal));