fix comment
This commit is contained in:
@@ -1,20 +1,32 @@
|
||||
{
|
||||
"path": "${OET_PATH}/testcases/smoke-test/smoke-memlink",
|
||||
"machine type": "physical",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "oe_test_memlink_balloon"
|
||||
"name": "oe_test_memlink_balloon",
|
||||
"machine type": "physical",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "oe_test_memlink_fpr"
|
||||
"name": "oe_test_memlink_fpr",
|
||||
"machine type": "physical",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "oe_test_memlink_dumpxml_proportion"
|
||||
"name": "oe_test_memlink_dumpxml_proportion",
|
||||
"machine type": "physical",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "oe_test_memlink_oom_running"
|
||||
"name": "oe_test_memlink_oom_running",
|
||||
"machine type": "physical",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "oe_test_memlink_oom_start"
|
||||
"name": "oe_test_memlink_oom_start",
|
||||
"machine type": "physical",
|
||||
"machine num": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,26 +1,42 @@
|
||||
{
|
||||
"path": "${OET_PATH}/testcases/smoke-test/smoke-migrate",
|
||||
"machine type": "physical",
|
||||
"machine num": 2,
|
||||
"cases": [
|
||||
{
|
||||
"name": "oe_test_migrate_content_hugepage"
|
||||
"name": "oe_test_migrate_content_hugepage",
|
||||
"machine type": "physical",
|
||||
"machine num": 2
|
||||
},
|
||||
{
|
||||
"name": "oe_test_migrate_memlink_balloon"
|
||||
"name": "oe_test_migrate_memlink_balloon",
|
||||
"machine type": "physical",
|
||||
"machine num": 2
|
||||
},
|
||||
{
|
||||
"name": "oe_test_migrate_memlink_fpr"
|
||||
"name": "oe_test_migrate_memlink_fpr",
|
||||
"machine type": "physical",
|
||||
"machine num": 2
|
||||
},
|
||||
{
|
||||
"name": "oe_test_migrate_mode_iterative"
|
||||
"name": "oe_test_migrate_mode_iterative",
|
||||
"machine type": "physical",
|
||||
"machine num": 2
|
||||
},
|
||||
{
|
||||
"name": "oe_test_migrate_mode_onecopy"
|
||||
"name": "oe_test_migrate_mode_onecopy",
|
||||
"machine type": "physical",
|
||||
"machine num": 2
|
||||
},
|
||||
{
|
||||
"name": "oe_test_migrate_mode_tcp"
|
||||
"name": "oe_test_migrate_mode_tcp",
|
||||
"machine type": "physical",
|
||||
"machine num": 2
|
||||
},
|
||||
{
|
||||
"name": "oe_test_migrate_status_circle"
|
||||
"name": "oe_test_migrate_status_circle",
|
||||
"machine type": "physical",
|
||||
"machine num": 2
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,11 +1,14 @@
|
||||
{
|
||||
"path": "${OET_PATH}/testcases/smoke-test/smoke-ubnative",
|
||||
"machine type": "physical",
|
||||
"cases": [
|
||||
{
|
||||
"name": "oe_test_ubnative_ping"
|
||||
"name": "oe_test_ubnative_ping",
|
||||
"machine type": "physical"
|
||||
},
|
||||
{
|
||||
"name": "oe_test_ubnative_vmlife"
|
||||
"name": "oe_test_ubnative_vmlife",
|
||||
"machine type": "physical"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -91,8 +91,7 @@ function pre_init() {
|
||||
# vm clean
|
||||
vm_clean "local"
|
||||
vm_clean "remote"
|
||||
rm -rf /var/log/libvirt/libvirtd.log*
|
||||
rm -rf /var/log/libvirt/qemu/*
|
||||
rm -rf /var/log/libvirt/libvirtd.log*; rm -rf /var/log/libvirt/qemu/*
|
||||
SSH_CMD "rm -rf /var/log/libvirt/libvirtd.log*;
|
||||
rm -rf /var/log/libvirt/qemu/*" "$NODE2_IPV4" "$NODE2_PASSWORD" "$NODE2_USER"
|
||||
}
|
||||
@@ -123,11 +122,11 @@ function set_huge_mem() {
|
||||
if [ "${flag}" = "local" ]; then
|
||||
echo 3 > /proc/sys/vm/drop_caches
|
||||
echo "$huge_size" > "$huge_2M"
|
||||
sleep 10
|
||||
SLEEP_WAIT 10
|
||||
output=$(grep HugePages_ /proc/meminfo)
|
||||
elif [ "${flag}" = "remote" ]; then
|
||||
SSH_CMD "echo 3 > /proc/sys/vm/drop_caches; echo $huge_size > $huge_2M" "$NODE2_IPV4" "$NODE2_PASSWORD" "$NODE2_USER"
|
||||
sleep 10
|
||||
SLEEP_WAIT 10
|
||||
output=$(SSH_CMD "grep HugePages_ /proc/meminfo" "$NODE2_IPV4" "$NODE2_PASSWORD" "$NODE2_USER")
|
||||
fi
|
||||
total_local=$(echo "$output" | grep "HugePages_Total:" | sed 's/\r//' | awk '{print int($2)}')
|
||||
@@ -151,7 +150,7 @@ function wait_exec() {
|
||||
for ((i = 1; i <= count; i++)); do
|
||||
LOG_INFO "[$i] wait in cmd: ${cmd}..."
|
||||
eval "${cmd}" &> /dev/null && return 0
|
||||
sleep 2
|
||||
SLEEP_WAIT 2
|
||||
done
|
||||
LOG_WARN "${cmd} timeout failed"
|
||||
return 1
|
||||
@@ -168,7 +167,7 @@ function create_vm_waiting_running() {
|
||||
sed -i "s|IMAGE_PATH|${qcow2_path}|g" "${xml_path}"
|
||||
LOG_INFO "vm xml save dir: $xml_path; image dir is: $qcow2_path"
|
||||
virsh create "$xml_path" || return 1
|
||||
sleep 60
|
||||
SLEEP_WAIT 60
|
||||
virsh list | grep -iq "$vm_name"
|
||||
return $?
|
||||
}
|
||||
@@ -231,13 +230,13 @@ function check_memlink_recycle() {
|
||||
# allocing 1G
|
||||
chmod +x "${OET_PATH}/testcases/smoke-test/smoke-memlink/common/set_memory.sh" || return 1
|
||||
sh "${OET_PATH}/testcases/smoke-test/smoke-memlink/common/set_memory.sh" "$vm_name"
|
||||
sleep 30
|
||||
SLEEP_WAIT 30
|
||||
os_used_running="$(get_hugepage_used "local")"
|
||||
LOG_INFO "os_used_running: $os_used_running"
|
||||
# kill stress
|
||||
chmod +x "${OET_PATH}/testcases/smoke-test/smoke-memlink/common/unset_memory.sh" || return 1
|
||||
sh "${OET_PATH}/testcases/smoke-test/smoke-memlink/common/unset_memory.sh" "$vm_name"
|
||||
sleep 80
|
||||
SLEEP_WAIT 80
|
||||
os_used_free="$(get_hugepage_used "local")"
|
||||
LOG_INFO "os_used_free: $os_used_free"
|
||||
# check
|
||||
@@ -254,7 +253,7 @@ function check_memlink_recycle() {
|
||||
|
||||
function destroy_vm() {
|
||||
local vm_name=$1
|
||||
virsh destroy "$vm_name" && sleep 3
|
||||
virsh destroy "$vm_name" && SLEEP_WAIT 3
|
||||
virsh undefine "$vm_name" --nvram
|
||||
virsh list --all
|
||||
}
|
||||
@@ -266,4 +265,6 @@ function memlink_post() {
|
||||
vm_clean "remote"
|
||||
set_huge_mem 0
|
||||
set_huge_mem 0 "remote"
|
||||
setenforce 1
|
||||
SSH_CMD "setenforce 1" "$NODE2_IPV4" "$NODE2_PASSWORD" "$NODE2_USER"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,20 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2025. Huawei Technologies Co.,Ltd.ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
####################################
|
||||
#@Author : fanlirong
|
||||
#@Contact : fanlirong1@h-partners.com
|
||||
#@Date : 2025-12-06
|
||||
#@License : Mulan PSL v2
|
||||
#@Desc : Prepare packages
|
||||
#####################################
|
||||
|
||||
yum install -y qemu
|
||||
yum install -y edk2
|
||||
|
||||
@@ -1,4 +1,20 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2025. Huawei Technologies Co.,Ltd.ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
####################################
|
||||
#@Author : fanlirong
|
||||
#@Contact : fanlirong1@h-partners.com
|
||||
#@Date : 2025-12-06
|
||||
#@License : Mulan PSL v2
|
||||
#@Desc : Set memory
|
||||
#####################################
|
||||
|
||||
VM_NAME=$1
|
||||
TMPFS_SIZE=${2:-1}
|
||||
|
||||
@@ -1,4 +1,20 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2025. Huawei Technologies Co.,Ltd.ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
####################################
|
||||
#@Author : fanlirong
|
||||
#@Contact : fanlirong1@h-partners.com
|
||||
#@Date : 2025-12-06
|
||||
#@License : Mulan PSL v2
|
||||
#@Desc : Unset memory
|
||||
#####################################
|
||||
|
||||
VM_NAME=$1
|
||||
|
||||
|
||||
@@ -36,12 +36,12 @@ function run_test() {
|
||||
max="50" # default
|
||||
|
||||
create_vm_waiting_running "$vm_name"
|
||||
CHECK_RESULT $? 0 0 "create vm failed" || exit 1
|
||||
CHECK_RESULT $? 0 0 "create vm failed"
|
||||
|
||||
chmod +x "${OET_PATH}/testcases/smoke-test/smoke-memlink/common/set_network.exp"
|
||||
expect "${OET_PATH}/testcases/smoke-test/smoke-memlink/common/set_network.exp" "$vm_name"
|
||||
wait_exec "ping -c 3 ${vm_ip:?}" 100
|
||||
CHECK_RESULT $? 0 0 "ping vm failed" || exit 1
|
||||
CHECK_RESULT $? 0 0 "ping vm failed"
|
||||
|
||||
check_memlink_recycle "$vm_total" "$vm_used" "$used" "$max" "pass"
|
||||
CHECK_RESULT $? 0 0 "check memlink recycle failed"
|
||||
|
||||
@@ -35,7 +35,7 @@ function run_test() {
|
||||
LOG_INFO "Test $vm_name proportion:"
|
||||
|
||||
create_vm_waiting_running "$vm_name"
|
||||
CHECK_RESULT $? 0 0 "create vm failed" || exit 1
|
||||
CHECK_RESULT $? 0 0 "create vm failed"
|
||||
|
||||
virsh dumpxml "$vm_name" &> "$vm_name".xml
|
||||
grep "proportion=" "$vm_name".xml
|
||||
@@ -44,7 +44,7 @@ function run_test() {
|
||||
chmod +x "${OET_PATH}/testcases/smoke-test/smoke-memlink/common/set_network.exp"
|
||||
expect "${OET_PATH}/testcases/smoke-test/smoke-memlink/common/set_network.exp" "$vm_name"
|
||||
wait_exec "ping -c 3 ${vm_ip:?}" 100
|
||||
CHECK_RESULT $? 0 0 "ping vm failed" || exit 1
|
||||
CHECK_RESULT $? 0 0 "ping vm failed"
|
||||
|
||||
check_memlink_recycle "2" "1.5" "130" "50" "pass"
|
||||
CHECK_RESULT $? 0 0 "check memlink recycle failed"
|
||||
|
||||
@@ -32,12 +32,12 @@ function run_test() {
|
||||
vm_name="2u2g_memlink_fpr"
|
||||
|
||||
create_vm_waiting_running "$vm_name"
|
||||
CHECK_RESULT $? 0 0 "create vm failed" || exit 1
|
||||
CHECK_RESULT $? 0 0 "create vm failed"
|
||||
|
||||
chmod +x "${OET_PATH}/testcases/smoke-test/smoke-memlink/common/set_network.exp"
|
||||
expect "${OET_PATH}/testcases/smoke-test/smoke-memlink/common/set_network.exp" "$vm_name"
|
||||
wait_exec "ping -c 3 ${vm_ip:?}" 100
|
||||
CHECK_RESULT $? 0 0 "ping vm failed" || exit 1
|
||||
CHECK_RESULT $? 0 0 "ping vm failed"
|
||||
|
||||
check_memlink_recycle "2" "1.5" "130" "50" "pass"
|
||||
CHECK_RESULT $? 0 0 "check memlink recycle failed"
|
||||
|
||||
@@ -32,18 +32,18 @@ function run_test() {
|
||||
vm_name="2u2g_memlink_balloon"
|
||||
|
||||
create_vm_waiting_running "$vm_name"
|
||||
CHECK_RESULT $? 0 0 "create vm failed" || exit 1
|
||||
CHECK_RESULT $? 0 0 "create vm failed"
|
||||
|
||||
chmod +x "${OET_PATH}/testcases/smoke-test/smoke-memlink/common/set_network.exp"
|
||||
expect "${OET_PATH}/testcases/smoke-test/smoke-memlink/common/set_network.exp" "$vm_name"
|
||||
wait_exec "ping -c 3 ${vm_ip:?}" 100
|
||||
CHECK_RESULT $? 0 0 "ping vm failed" || exit 1
|
||||
CHECK_RESULT $? 0 0 "ping vm failed"
|
||||
|
||||
chmod +x "${OET_PATH}/testcases/smoke-test/smoke-memlink/common/set_memory.sh"
|
||||
sh "${OET_PATH}/testcases/smoke-test/smoke-memlink/common/set_memory.sh" "$vm_name" "4"
|
||||
|
||||
wait_exec "ping -c 3 ${vm_ip:?}" 100
|
||||
CHECK_RESULT $? 0 0 "ping vm failed" || exit 1
|
||||
CHECK_RESULT $? 0 0 "ping vm failed"
|
||||
|
||||
chmod +x "${OET_PATH}/testcases/smoke-test/smoke-memlink/common/unset_memory.sh"
|
||||
sh "${OET_PATH}/testcases/smoke-test/smoke-memlink/common/unset_memory.sh" "$vm_name"
|
||||
|
||||
@@ -32,14 +32,14 @@ function run_test() {
|
||||
vm_name="2u2g_memlink_balloon"
|
||||
|
||||
create_vm_waiting_running "$vm_name"
|
||||
CHECK_RESULT $? 0 0 "create vm failed" || exit 1
|
||||
CHECK_RESULT $? 0 0 "create vm failed"
|
||||
|
||||
set_huge_mem 1024
|
||||
sleep 60
|
||||
chmod +x "${OET_PATH}/testcases/smoke-test/smoke-memlink/common/set_network.exp"
|
||||
expect "${OET_PATH}/testcases/smoke-test/smoke-memlink/common/set_network.exp" "$vm_name"
|
||||
wait_exec "ping -c 3 ${vm_ip:?}" 50
|
||||
CHECK_RESULT $? 0 0 "ping vm failed" || exit 1
|
||||
CHECK_RESULT $? 0 0 "ping vm failed"
|
||||
|
||||
check_memlink_recycle "2" "1.5" "130" "50" "pass"
|
||||
CHECK_RESULT $? 0 0 "check memlink recycle failed"
|
||||
|
||||
@@ -86,8 +86,7 @@ function pre_init() {
|
||||
# vm clean
|
||||
vm_clean "local"
|
||||
vm_clean "remote"
|
||||
rm -rf /var/log/libvirt/libvirtd.log*
|
||||
rm -rf /var/log/libvirt/qemu/*
|
||||
rm -rf /var/log/libvirt/libvirtd.log*; rm -rf /var/log/libvirt/qemu/*
|
||||
SSH_CMD "rm -rf /var/log/libvirt/libvirtd.log*;
|
||||
rm -rf /var/log/libvirt/qemu/*" "$NODE2_IPV4" "$NODE2_PASSWORD" "$NODE2_USER"
|
||||
}
|
||||
@@ -104,11 +103,11 @@ function set_huge_mem() {
|
||||
local huge_2M="/sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages"
|
||||
if [ "${flag}" = "local" ]; then
|
||||
echo "$huge_size" > "$huge_2M"
|
||||
sleep 10
|
||||
SLEEP_WAIT 10
|
||||
output=$(grep HugePages_ /proc/meminfo)
|
||||
elif [ "${flag}" = "remote" ]; then
|
||||
SSH_CMD "echo $huge_size > $huge_2M" "$NODE2_IPV4" "$NODE2_PASSWORD" "$NODE2_USER"
|
||||
sleep 10
|
||||
SLEEP_WAIT 10
|
||||
output=$(SSH_CMD "grep HugePages_ /proc/meminfo" "$NODE2_IPV4" "$NODE2_PASSWORD" "$NODE2_USER")
|
||||
fi
|
||||
total_local=$(echo "$output" | grep "HugePages_Total:" | sed 's/\r//' | awk '{print int($2)}')
|
||||
@@ -128,7 +127,7 @@ function wait_exec() {
|
||||
for ((i = 1; i <= count; i++)); do
|
||||
LOG_INFO "[$i] wait in cmd: ${cmd}..."
|
||||
eval "${cmd}" &> /dev/null && return 0
|
||||
sleep 2
|
||||
SLEEP_WAIT 2
|
||||
done
|
||||
LOG_WARN "${cmd} timeout failed"
|
||||
return 1
|
||||
@@ -145,7 +144,7 @@ function create_vm_waiting_running() {
|
||||
sed -i "s|IMAGE_PATH|${qcow2_path}|g" "${xml_path}"
|
||||
LOG_INFO "vm xml save dir: $xml_path; image dir is: $qcow2_path"
|
||||
virsh create "$xml_path" || return 1
|
||||
sleep 60
|
||||
SLEEP_WAIT 60
|
||||
virsh list | grep -iq "$vm_name"
|
||||
return $?
|
||||
}
|
||||
@@ -200,7 +199,7 @@ function check_vm_exist() {
|
||||
|
||||
function destroy_vm() {
|
||||
local vm_name=$1
|
||||
virsh destroy "$vm_name" && sleep 3
|
||||
virsh destroy "$vm_name" && SLEEP_WAIT 3
|
||||
virsh undefine "$vm_name" --nvram
|
||||
virsh list --all
|
||||
}
|
||||
@@ -208,6 +207,8 @@ function destroy_vm() {
|
||||
function post_clean() {
|
||||
vm_clean "local"
|
||||
vm_clean "remote"
|
||||
setenforce 1
|
||||
SSH_CMD "setenforce 1" "$NODE2_IPV4" "$NODE2_PASSWORD" "$NODE2_USER"
|
||||
}
|
||||
|
||||
function vm_sshx() {
|
||||
@@ -268,13 +269,13 @@ function check_memlink_recycle() {
|
||||
# allocing 1G
|
||||
chmod +x "${OET_PATH}/testcases/smoke-test/smoke-memlink/common/set_memory.sh" || return 1
|
||||
sh "${OET_PATH}/testcases/smoke-test/smoke-memlink/common/set_memory.sh" "$vm_name"
|
||||
sleep 30
|
||||
SLEEP_WAIT 30
|
||||
os_used_running="$(get_hugepage_used "local")"
|
||||
LOG_INFO "os_used_running: $os_used_running"
|
||||
# kill stress
|
||||
chmod +x "${OET_PATH}/testcases/smoke-test/smoke-memlink/common/unset_memory.sh" || return 1
|
||||
sh "${OET_PATH}/testcases/smoke-test/smoke-memlink/common/unset_memory.sh" "$vm_name"
|
||||
sleep 80
|
||||
SLEEP_WAIT 80
|
||||
os_used_free="$(get_hugepage_used "local")"
|
||||
LOG_INFO "os_used_free: $os_used_free"
|
||||
# check
|
||||
|
||||
@@ -1,4 +1,20 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2025. Huawei Technologies Co.,Ltd.ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
####################################
|
||||
#@Author : fanlirong
|
||||
#@Contact : fanlirong1@h-partners.com
|
||||
#@Date : 2025-12-06
|
||||
#@License : Mulan PSL v2
|
||||
#@Desc : Prepare packages
|
||||
#####################################
|
||||
|
||||
yum install -y qemu
|
||||
yum install -y edk2
|
||||
|
||||
@@ -1,4 +1,20 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2025. Huawei Technologies Co.,Ltd.ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
####################################
|
||||
#@Author : fanlirong
|
||||
#@Contact : fanlirong1@h-partners.com
|
||||
#@Date : 2025-12-06
|
||||
#@License : Mulan PSL v2
|
||||
#@Desc : Set memory
|
||||
#####################################
|
||||
|
||||
VM_NAME=$1
|
||||
TMPFS_SIZE=${2:-1}
|
||||
|
||||
@@ -1,4 +1,20 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2025. Huawei Technologies Co.,Ltd.ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
####################################
|
||||
#@Author : fanlirong
|
||||
#@Contact : fanlirong1@h-partners.com
|
||||
#@Date : 2025-12-06
|
||||
#@License : Mulan PSL v2
|
||||
#@Desc : Unset memory
|
||||
#####################################
|
||||
|
||||
VM_NAME=$1
|
||||
|
||||
|
||||
@@ -31,11 +31,11 @@ function run_test() {
|
||||
vm_name="2u2g_huge_page"
|
||||
|
||||
create_vm_waiting_running "$vm_name"
|
||||
CHECK_RESULT $? 0 0 "create vm failed" || exit 1
|
||||
CHECK_RESULT $? 0 0 "create vm failed"
|
||||
|
||||
mig_vm "$vm_name" 2 "urma" "--onecopy"
|
||||
check_vm_exist "$vm_name"
|
||||
CHECK_RESULT $? 0 1 "check vm failed, vm should not exist in local: $vm_name" || exit 1
|
||||
CHECK_RESULT $? 0 1 "check vm failed, vm should not exist in local: $vm_name"
|
||||
|
||||
mig_vm_back "$vm_name" 2 "urma" "--onecopy"
|
||||
check_vm_exist "$vm_name"
|
||||
|
||||
@@ -32,23 +32,23 @@ function run_test() {
|
||||
vm_name="2u2g_memlink_balloon"
|
||||
|
||||
create_vm_waiting_running "$vm_name"
|
||||
CHECK_RESULT $? 0 0 "create vm failed" || exit 1
|
||||
CHECK_RESULT $? 0 0 "create vm failed"
|
||||
|
||||
chmod +x "${OET_PATH}/testcases/smoke-test/smoke-migrate/common/set_network.exp"
|
||||
expect "${OET_PATH}/testcases/smoke-test/smoke-migrate/common/set_network.exp" "$vm_name"
|
||||
wait_exec "ping -c 3 ${vm_ip:?}" 100
|
||||
CHECK_RESULT $? 0 0 "ping vm failed" || exit 1
|
||||
CHECK_RESULT $? 0 0 "ping vm failed"
|
||||
|
||||
mig_vm "$vm_name" 2 "urma"
|
||||
check_vm_exist "$vm_name"
|
||||
CHECK_RESULT $? 0 1 "check vm failed, vm should not exist in local: $vm_name" || exit 1
|
||||
CHECK_RESULT $? 0 1 "check vm failed, vm should not exist in local: $vm_name"
|
||||
|
||||
mig_vm_back "$vm_name" 2 "urma"
|
||||
check_vm_exist "$vm_name"
|
||||
CHECK_RESULT $? 0 0 "check vm failed, vm should exist in local: $vm_name" || exit 1
|
||||
CHECK_RESULT $? 0 0 "check vm failed, vm should exist in local: $vm_name"
|
||||
|
||||
wait_exec "ping -c 3 ${vm_ip:?}" 10
|
||||
CHECK_RESULT $? 0 0 "ping vm failed" || exit 1
|
||||
CHECK_RESULT $? 0 0 "ping vm failed"
|
||||
|
||||
check_memlink_recycle "2" "1.5" "130" "50" "pass"
|
||||
CHECK_RESULT $? 0 0 "check memlink recycle failed"
|
||||
|
||||
@@ -32,23 +32,23 @@ function run_test() {
|
||||
vm_name="2u2g_memlink_fpr"
|
||||
|
||||
create_vm_waiting_running "$vm_name"
|
||||
CHECK_RESULT $? 0 0 "create vm failed" || exit 1
|
||||
CHECK_RESULT $? 0 0 "create vm failed"
|
||||
|
||||
chmod +x "${OET_PATH}/testcases/smoke-test/smoke-migrate/common/set_network.exp"
|
||||
expect "${OET_PATH}/testcases/smoke-test/smoke-migrate/common/set_network.exp" "$vm_name"
|
||||
wait_exec "ping -c 3 ${vm_ip:?}" 100
|
||||
CHECK_RESULT $? 0 0 "ping vm failed" || exit 1
|
||||
CHECK_RESULT $? 0 0 "ping vm failed"
|
||||
|
||||
mig_vm "$vm_name" 2 "urma"
|
||||
check_vm_exist "$vm_name"
|
||||
CHECK_RESULT $? 0 1 "check vm failed, vm should not exist in local: $vm_name" || exit 1
|
||||
CHECK_RESULT $? 0 1 "check vm failed, vm should not exist in local: $vm_name"
|
||||
|
||||
mig_vm_back "$vm_name" 2 "urma"
|
||||
check_vm_exist "$vm_name"
|
||||
CHECK_RESULT $? 0 0 "check vm failed, vm should exist in local: $vm_name" || exit 1
|
||||
CHECK_RESULT $? 0 0 "check vm failed, vm should exist in local: $vm_name"
|
||||
|
||||
wait_exec "ping -c 3 ${vm_ip:?}" 10
|
||||
CHECK_RESULT $? 0 0 "ping vm failed" || exit 1
|
||||
CHECK_RESULT $? 0 0 "ping vm failed"
|
||||
|
||||
check_memlink_recycle "2" "1.5" "130" "50" "pass"
|
||||
CHECK_RESULT $? 0 0 "check memlink recycle failed"
|
||||
|
||||
@@ -30,11 +30,11 @@ function run_test() {
|
||||
vm_name="2u2g_small_page"
|
||||
|
||||
create_vm_waiting_running "$vm_name"
|
||||
CHECK_RESULT $? 0 0 "create vm failed" || exit 1
|
||||
CHECK_RESULT $? 0 0 "create vm failed"
|
||||
|
||||
mig_vm "$vm_name" 2 "urma"
|
||||
check_vm_exist "$vm_name"
|
||||
CHECK_RESULT $? 0 1 "check vm failed, vm should not exist in local: $vm_name" || exit 1
|
||||
CHECK_RESULT $? 0 1 "check vm failed, vm should not exist in local: $vm_name"
|
||||
|
||||
mig_vm_back "$vm_name" 2 "urma"
|
||||
check_vm_exist "$vm_name"
|
||||
|
||||
@@ -30,11 +30,11 @@ function run_test() {
|
||||
vm_name="2u2g_small_page"
|
||||
|
||||
create_vm_waiting_running "$vm_name"
|
||||
CHECK_RESULT $? 0 0 "create vm failed" || exit 1
|
||||
CHECK_RESULT $? 0 0 "create vm failed"
|
||||
|
||||
mig_vm "$vm_name" 2 "urma" "--onecopy"
|
||||
check_vm_exist "$vm_name"
|
||||
CHECK_RESULT $? 0 1 "check vm failed, vm should not exist in local: $vm_name" || exit 1
|
||||
CHECK_RESULT $? 0 1 "check vm failed, vm should not exist in local: $vm_name"
|
||||
|
||||
mig_vm_back "$vm_name" 2 "urma" "--onecopy"
|
||||
check_vm_exist "$vm_name"
|
||||
|
||||
@@ -30,11 +30,11 @@ function run_test() {
|
||||
vm_name="2u2g_small_page"
|
||||
|
||||
create_vm_waiting_running "$vm_name"
|
||||
CHECK_RESULT $? 0 0 "create vm failed" || exit 1
|
||||
CHECK_RESULT $? 0 0 "create vm failed"
|
||||
|
||||
mig_vm "$vm_name" 2 "tcp"
|
||||
check_vm_exist "$vm_name"
|
||||
CHECK_RESULT $? 0 1 "check vm failed, vm should not exist in local: $vm_name" || exit 1
|
||||
CHECK_RESULT $? 0 1 "check vm failed, vm should not exist in local: $vm_name"
|
||||
|
||||
mig_vm_back "$vm_name" 2 "tcp"
|
||||
check_vm_exist "$vm_name"
|
||||
|
||||
@@ -31,20 +31,20 @@ function run_test() {
|
||||
vm_name="2u2g_huge_page"
|
||||
|
||||
create_vm_waiting_running "$vm_name"
|
||||
CHECK_RESULT $? 0 0 "create vm failed" || exit 1
|
||||
CHECK_RESULT $? 0 0 "create vm failed"
|
||||
|
||||
# migrate vm and cancel migrate
|
||||
mig_vm "$vm_name" 3 "urma" &
|
||||
pid=$!
|
||||
sleep 1
|
||||
virsh domjobabort "$vm_name"
|
||||
CHECK_RESULT $? 0 0 "migrate cancel failed" || exit 1
|
||||
CHECK_RESULT $? 0 0 "migrate cancel failed"
|
||||
wait "$pid"
|
||||
|
||||
# migrate vm again
|
||||
mig_vm "$vm_name" 3 "urma"
|
||||
check_vm_exist "$vm_name"
|
||||
CHECK_RESULT $? 0 1 "check vm failed, vm should not exist in local: $vm_name" || exit 1
|
||||
CHECK_RESULT $? 0 1 "check vm failed, vm should not exist in local: $vm_name"
|
||||
|
||||
# migrate vm back
|
||||
mig_vm_back "$vm_name" 2 "urma" "--onecopy"
|
||||
|
||||
@@ -29,6 +29,8 @@ vm_ip="192.168.1.101"
|
||||
vm_user="root"
|
||||
vm_passwd="openEuler12#$"
|
||||
|
||||
original_selinux_mode=""
|
||||
|
||||
function ub_env_init() {
|
||||
# img pre
|
||||
mkdir -p "$image_dir"
|
||||
@@ -50,12 +52,14 @@ function ub_env_init() {
|
||||
modprobe vfio
|
||||
modprobe vfio-ub
|
||||
# config
|
||||
setenforce 0
|
||||
original_selinux_mode=$(getenforce)
|
||||
if [[ "$original_selinux_mode" != "Permissive" && "$original_selinux_mode" != "permissive" ]]; then
|
||||
setenforce 0
|
||||
fi
|
||||
# vm clean
|
||||
virsh list --all --name | xargs -I {} virsh destroy {}
|
||||
virsh list --all --name | xargs -I {} virsh undefine {} --nvram
|
||||
rm -rf /var/log/libvirt/libvirtd.log*
|
||||
rm -rf /var/log/libvirt/qemu/*
|
||||
rm -rf /var/log/libvirt/libvirtd.log*; rm -rf /var/log/libvirt/qemu/*
|
||||
}
|
||||
|
||||
function set_hugepages() {
|
||||
@@ -98,7 +102,7 @@ function create_vm_waiting_running() {
|
||||
done
|
||||
LOG_INFO "vm xml save dir: $xml_path; image dir is: $qcow2_path"
|
||||
virsh define "$xml_path" && virsh start "$vm_name" || return 1
|
||||
sleep 60
|
||||
SLEEP_WAIT 60
|
||||
virsh list | grep "$vm_name"
|
||||
return $?
|
||||
}
|
||||
@@ -109,7 +113,7 @@ function wait_exec() {
|
||||
for ((i = 1; i <= count; i++)); do
|
||||
LOG_INFO "[$i] wait in cmd: ${cmd}..."
|
||||
eval "${cmd}" &> /dev/null && return 0
|
||||
sleep 2
|
||||
SLEEP_WAIT 2
|
||||
done
|
||||
LOG_WARN "${cmd} timeout failed"
|
||||
return 1
|
||||
@@ -133,13 +137,6 @@ function vm_modprobe_ko() {
|
||||
modprobe unic" "$vm_ip" "$vm_passwd" "$vm_user"
|
||||
}
|
||||
|
||||
function destroy_vm() {
|
||||
local vm_name=$1
|
||||
virsh destroy "$vm_name" && sleep 3
|
||||
virsh undefine "$vm_name" --nvram
|
||||
virsh list --all
|
||||
}
|
||||
|
||||
function ub_dev_restore() {
|
||||
local bus_instance=$1
|
||||
local ub_dev_ids=$2
|
||||
@@ -153,3 +150,9 @@ function ub_dev_restore() {
|
||||
done
|
||||
setub -b destroy -g "$bus_instance"
|
||||
}
|
||||
|
||||
function post_clean() {
|
||||
virsh list --all --name | xargs -I {} virsh destroy {}
|
||||
virsh list --all --name | xargs -I {} virsh undefine {} --nvram
|
||||
setenforce 1
|
||||
}
|
||||
|
||||
@@ -1,4 +1,20 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2025. Huawei Technologies Co.,Ltd.ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
####################################
|
||||
#@Author : fanlirong
|
||||
#@Contact : fanlirong1@h-partners.com
|
||||
#@Date : 2025-12-06
|
||||
#@License : Mulan PSL v2
|
||||
#@Desc : Prepare packages
|
||||
#####################################
|
||||
|
||||
yum install -y qemu
|
||||
yum install -y edk2
|
||||
|
||||
@@ -57,7 +57,7 @@ function run_test() {
|
||||
|
||||
function post_test() {
|
||||
LOG_INFO "Start to restore the test environment."
|
||||
destroy_vm "$vm_name"
|
||||
post_clean
|
||||
ub_dev_restore "$bus_instance" "$ub_dev_id"
|
||||
LOG_INFO "End to restore the test environment."
|
||||
}
|
||||
|
||||
@@ -104,7 +104,7 @@ function run_test() {
|
||||
function post_test() {
|
||||
LOG_INFO "Start to restore the test environment."
|
||||
rm -rf save
|
||||
destroy_vm "$vm_name"
|
||||
post_clean
|
||||
ub_dev_restore "$bus_instance" "$ub_dev_id"
|
||||
LOG_INFO "End to restore the test environment."
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user