Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
tp-qemu
提交
cc9ce31a
T
tp-qemu
项目概览
openeuler
/
tp-qemu
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
tp-qemu
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
cc9ce31a
编写于
11月 05, 2018
作者:
Q
Qianqian Zhu
提交者:
GitHub
11月 05, 2018
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #1437 from huangyum/balloon_hotplug
balloon_hotplug: invoke simple_hotplug() to set bus under q35
上级
d934d097
35d3926c
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
26 addition
and
41 deletion
+26
-41
qemu/tests/balloon_hotplug.py
qemu/tests/balloon_hotplug.py
+26
-40
qemu/tests/cfg/balloon_hotplug.cfg
qemu/tests/cfg/balloon_hotplug.cfg
+0
-1
未找到文件。
qemu/tests/balloon_hotplug.py
浏览文件 @
cc9ce31a
import
logging
import
logging
import
time
import
re
import
re
from
virttest.qemu_devices
import
qdevices
from
virttest.qemu_devices
import
qdevices
...
@@ -60,11 +59,9 @@ def run(test, params, env):
...
@@ -60,11 +59,9 @@ def run(test, params, env):
test
.
error
(
"Ballooon service status is not running"
)
test
.
error
(
"Ballooon service status is not running"
)
session
.
close
()
session
.
close
()
pause
=
float
(
params
.
get
(
"virtio_balloon_pause"
,
3.0
))
pm_test_after_plug
=
params
.
get
(
"pm_test_after_plug"
)
pm_test_after_plug
=
params
.
get
(
"pm_test_after_plug"
)
pm_test_after_unplug
=
params
.
get
(
"pm_test_after_unplug"
)
pm_test_after_unplug
=
params
.
get
(
"pm_test_after_unplug"
)
idx
=
0
idx
=
0
err
=
""
vm
=
env
.
get_vm
(
params
[
"main_vm"
])
vm
=
env
.
get_vm
(
params
[
"main_vm"
])
vm
.
verify_alive
()
vm
.
verify_alive
()
balloon_device
=
params
.
get
(
"ballon_device"
,
"virtio-balloon-pci"
)
balloon_device
=
params
.
get
(
"ballon_device"
,
"virtio-balloon-pci"
)
...
@@ -79,20 +76,17 @@ def run(test, params, env):
...
@@ -79,20 +76,17 @@ def run(test, params, env):
error_context
.
context
(
"Hotplug balloon device for %d times"
%
(
i
+
1
),
error_context
.
context
(
"Hotplug balloon device for %d times"
%
(
i
+
1
),
logging
.
info
)
logging
.
info
)
out
=
new_dev
.
hotplug
(
vm
.
monitor
)
out
=
vm
.
devices
.
simple_hotplug
(
new_dev
,
vm
.
monitor
)
if
out
:
if
out
[
1
]
is
False
:
err
+=
"
\n
Hotplug monitor output: %s"
%
out
test
.
fail
(
"Failed to hotplug balloon in iteration %s, %s"
# Pause
%
(
i
,
out
[
0
]))
time
.
sleep
(
pause
)
ver_out
=
new_dev
.
verify_hotplug
(
out
,
vm
.
monitor
)
if
not
ver_out
:
err
+=
(
"
\n
Device is not in qtree %ss after hotplug:
\n
%s"
%
(
pause
,
vm
.
monitor
.
info
(
"qtree"
)))
# temporary workaround for migration
# temporary workaround for migration
vm
.
params
[
"balloon"
]
=
"balloon%d"
%
idx
vm
.
params
[
"balloon"
]
=
"balloon%d"
%
idx
vm
.
params
[
"balloon_dev_devid"
]
=
"balloon%d"
%
idx
vm
.
params
[
"balloon_dev_devid"
]
=
"balloon%d"
%
idx
vm
.
params
[
"balloon_dev_add_bus"
]
=
"yes"
vm
.
params
[
"balloon_dev_add_bus"
]
=
"yes"
devs
=
vm
.
devices
.
get_by_params
({
"id"
:
'balloon%d'
%
idx
})
vm
.
params
[
"balloon_pci_bus"
]
=
devs
[
0
][
"bus"
]
enable_balloon_service
()
enable_balloon_service
()
...
@@ -111,34 +105,26 @@ def run(test, params, env):
...
@@ -111,34 +105,26 @@ def run(test, params, env):
error_context
.
context
(
"Unplug balloon device for %d times"
%
(
i
+
1
),
error_context
.
context
(
"Unplug balloon device for %d times"
%
(
i
+
1
),
logging
.
info
)
logging
.
info
)
out
=
new_dev
.
unplug
(
vm
.
monitor
)
if
out
:
out
=
vm
.
devices
.
simple_unplug
(
devs
[
0
].
get_aid
(),
vm
.
monitor
)
err
+=
"
\n
Unplug monitor output: %s"
%
out
if
out
[
1
]
is
False
:
# Pause
test
.
fail
(
"Failed to hotplug balloon in iteration %s, %s"
time
.
sleep
(
pause
)
%
(
i
,
out
[
0
]))
ver_out
=
new_dev
.
verify_unplug
(
out
,
vm
.
monitor
)
if
not
ver_out
:
if
params
.
get
(
"migrate_after_unplug"
,
"no"
)
==
"yes"
:
err
+=
(
"
\n
Device is still in qtree %ss after unplug:
\n
%s"
error_context
.
context
(
"Migrate after hotunplug balloon device"
,
%
(
pause
,
vm
.
monitor
.
info
(
"qtree"
)))
logging
.
info
)
if
err
:
# temporary workaround for migration
logging
.
error
(
vm
.
monitor
.
info
(
"qtree"
))
del
vm
.
params
[
"balloon"
]
test
.
fail
(
"Error occurred while hotpluging "
del
vm
.
params
[
"balloon_dev_devid"
]
"virtio-pci. Iteration %s, monitor "
del
vm
.
params
[
"balloon_dev_add_bus"
]
"output:%s"
%
(
i
,
err
))
del
vm
.
params
[
"balloon_pci_bus"
]
else
:
vm
.
migrate
(
float
(
params
.
get
(
"mig_timeout"
,
"3600"
)))
if
params
.
get
(
"migrate_after_unplug"
,
"no"
)
==
"yes"
:
error_context
.
context
(
"Migrate after hotunplug balloon device"
,
if
pm_test_after_unplug
:
logging
.
info
)
run_pm_test
(
pm_test_after_unplug
,
"hot-unplug"
)
# temporary workaround for migration
if
not
vm
.
is_alive
():
del
vm
.
params
[
"balloon"
]
return
del
vm
.
params
[
"balloon_dev_devid"
]
del
vm
.
params
[
"balloon_dev_add_bus"
]
vm
.
migrate
(
float
(
params
.
get
(
"mig_timeout"
,
"3600"
)))
if
pm_test_after_unplug
:
run_pm_test
(
pm_test_after_unplug
,
"hot-unplug"
)
if
not
vm
.
is_alive
():
return
error_context
.
context
(
"Verify guest alive!"
,
logging
.
info
)
error_context
.
context
(
"Verify guest alive!"
,
logging
.
info
)
vm
.
verify_kernel_crash
()
vm
.
verify_kernel_crash
()
qemu/tests/cfg/balloon_hotplug.cfg
浏览文件 @
cc9ce31a
...
@@ -4,7 +4,6 @@
...
@@ -4,7 +4,6 @@
monitor_type = qmp
monitor_type = qmp
monitors = qmp1
monitors = qmp1
balloon_repeats = 1
balloon_repeats = 1
virtio_balloon_pause = 10.0
free_mem_cmd = cat /proc/meminfo |grep MemFree
free_mem_cmd = cat /proc/meminfo |grep MemFree
reboot_method = shell
reboot_method = shell
shutdown_method = shell
shutdown_method = shell
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录