Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
tp-qemu
提交
33e66293
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,发现更多精彩内容 >>
提交
33e66293
编写于
3月 05, 2018
作者:
Y
yama
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
qemu_guest_agent_hotplug.py: add hotplug/unplug guest agent device case
Signed-off-by:
N
yama
<
yama@redhat.com
>
上级
fd74708a
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
106 addition
and
18 deletion
+106
-18
qemu/tests/cfg/qemu_guest_agent_hotplug.cfg
qemu/tests/cfg/qemu_guest_agent_hotplug.cfg
+39
-0
qemu/tests/qemu_guest_agent.py
qemu/tests/qemu_guest_agent.py
+11
-18
qemu/tests/qemu_guest_agent_hotplug.py
qemu/tests/qemu_guest_agent_hotplug.py
+56
-0
未找到文件。
qemu/tests/cfg/qemu_guest_agent_hotplug.cfg
0 → 100644
浏览文件 @
33e66293
- qemu_guest_agent_hotplug: install setup image_copy unattended_install.cdrom single_driver_install.with_vioserial
only Fedora, RHEL, Windows
only x86_64,i386,ppc64,ppc64le
no Fedora.8, Fedora.9, Fedora.10, Fedora.11, Fedora.12, Fedora.13, Fedora.14, Fedora.15
type = qemu_guest_agent_hotplug
gagent_serial_type = virtio
gagent_name = "org.qemu.guest_agent.0"
gagent_install_cmd = "yum install -y qemu-guest-agent"
gagent_start_cmd = "service qemu-guest-agent start"
gagent_status_cmd = "service qemu-guest-agent status"
gagent_pkg_check_cmd = "rpm -q qemu-guest-agent"
gagent_check_type = sync
extra_params += "-device virtio-serial-pci,id=virtio-serial0,bus=pci.0"
backend_char_plug = "socket"
id_char_plug = "serial0"
dev_driver = "virtserialport"
dev_id = "serial0"
Windows:
gagent_src_type = url
cdroms += " virtio"
cdrom_virtio = isos/windows/virtio-win.iso
i386:
qemu_ga_pkg = qemu-ga-x86.msi
x86_64:
qemu_ga_pkg = qemu-ga-x64.msi
gagent_download_cmd = "wget https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-qemu-ga/${qemu_ga_pkg} -P /tmp/"
gagent_install_cmd = "start /wait %s /quiet"
gagent_uninstall_cmd = "start /wait msiexec /uninstall %s /quiet"
gagent_start_cmd = "net start qemu-ga"
gagent_stop_cmd = "net stop qemu-ga"
gagent_status_cmd = sc query qemu-ga |findstr "RUNNING"
gagent_pkg_check_cmd = wmic product get name |findstr "QEMU guest agent"
gagent_host_path = "/tmp/${qemu_ga_pkg}"
gagent_guest_dir = "C:\qemu-ga"
gagent_remove_service_cmd = "net stop qemu-ga & del /f C:\qemu-ga\${qemu_ga_pkg} & echo done"
RHEL.6:
gagent_start_cmd = "service qemu-ga start"
gagent_stop_cmd = "service qemu-ga stop"
gagent_status_cmd = "service qemu-ga status"
qemu/tests/qemu_guest_agent.py
浏览文件 @
33e66293
...
...
@@ -31,6 +31,12 @@ class BaseVirtTest(object):
self
.
params
=
params
if
env
:
self
.
env
=
env
start_vm
=
self
.
params
[
"start_vm"
]
self
.
start_vm
=
start_vm
if
self
.
start_vm
==
"yes"
:
vm
=
self
.
env
.
get_vm
(
params
[
"main_vm"
])
vm
.
verify_alive
()
self
.
vm
=
vm
def
setup
(
self
,
test
,
params
,
env
):
if
test
:
...
...
@@ -215,13 +221,8 @@ class QemuGuestAgentTest(BaseVirtTest):
@
error_context
.
context_aware
def
setup
(
self
,
test
,
params
,
env
):
BaseVirtTest
.
setup
(
self
,
test
,
params
,
env
)
start_vm
=
params
[
"start_vm"
]
if
(
not
self
.
vm
)
and
(
start_vm
==
"yes"
):
vm
=
self
.
env
.
get_vm
(
params
[
"main_vm"
])
vm
.
verify_alive
()
self
.
vm
=
vm
if
self
.
start_vm
==
"yes"
:
session
=
self
.
_get_session
(
params
,
self
.
vm
)
if
self
.
_check_ga_pkg
(
session
,
params
.
get
(
"gagent_pkg_check_cmd"
)):
logging
.
info
(
"qemu-ga is already installed."
)
else
:
...
...
@@ -240,11 +241,7 @@ class QemuGuestAgentTest(BaseVirtTest):
def
run_once
(
self
,
test
,
params
,
env
):
BaseVirtTest
.
run_once
(
self
,
test
,
params
,
env
)
start_vm
=
params
[
"start_vm"
]
if
(
not
self
.
vm
)
and
(
start_vm
==
"yes"
):
vm
=
self
.
env
.
get_vm
(
params
[
"main_vm"
])
vm
.
verify_alive
()
self
.
vm
=
vm
if
self
.
start_vm
==
"yes"
:
self
.
gagent_verify
(
self
.
params
,
self
.
vm
)
def
cleanup
(
self
,
test
,
params
,
env
):
...
...
@@ -697,6 +694,7 @@ class QemuGuestAgentBasicCheck(QemuGuestAgentTest):
error_context
.
context
(
"boot guest with disk '%s'"
%
disk_name
,
logging
.
info
)
env_process
.
preprocess_vm
(
test
,
params
,
env
,
vm_name
)
self
.
initialize
(
test
,
params
,
env
)
self
.
setup
(
test
,
params
,
env
)
timeout
=
float
(
params
.
get
(
"login_timeout"
,
240
))
session
=
self
.
vm
.
wait_for_login
(
timeout
=
timeout
)
...
...
@@ -943,13 +941,8 @@ class QemuGuestAgentBasicCheckWin(QemuGuestAgentBasicCheck):
@
error_context
.
context_aware
def
setup
(
self
,
test
,
params
,
env
):
BaseVirtTest
.
setup
(
self
,
test
,
params
,
env
)
start_vm
=
params
[
"start_vm"
]
if
(
not
self
.
vm
)
and
(
start_vm
==
"yes"
):
vm
=
self
.
env
.
get_vm
(
params
[
"main_vm"
])
vm
.
verify_alive
()
self
.
vm
=
vm
if
self
.
start_vm
==
"yes"
:
session
=
self
.
_get_session
(
params
,
self
.
vm
)
if
self
.
_check_ga_pkg
(
session
,
params
.
get
(
"gagent_pkg_check_cmd"
)):
logging
.
info
(
"qemu-ga is already installed."
)
else
:
...
...
@@ -967,7 +960,7 @@ class QemuGuestAgentBasicCheckWin(QemuGuestAgentBasicCheck):
session
.
close
()
args
=
[
params
.
get
(
"gagent_serial_type"
),
params
.
get
(
"gagent_name"
)]
self
.
gagent_create
(
params
,
vm
,
*
args
)
self
.
gagent_create
(
params
,
self
.
vm
,
*
args
)
def
run
(
test
,
params
,
env
):
...
...
qemu/tests/qemu_guest_agent_hotplug.py
0 → 100644
浏览文件 @
33e66293
import
logging
from
virttest
import
error_context
from
virttest.qemu_devices
import
qdevices
from
qemu.tests.qemu_guest_agent
import
run
as
guest_agent_run
@
error_context
.
context_aware
def
run
(
test
,
params
,
env
):
"""
hotplug guest agent device
:param test: kvm test object
:param params: Dictionary with the test parameters
:param env: Dictionary with test environment.
"""
def
check_status_unplug
(
out
,
dev
):
if
out
is
True
:
logging
.
debug
(
"Unplug %s successfully"
%
dev
)
else
:
test
.
fail
(
"Error occurred while unpluging %s"
%
dev
)
vm
=
env
.
get_vm
(
params
[
"main_vm"
])
vm
.
verify_alive
()
char_backend
=
params
[
"backend_char_plug"
]
char_id
=
params
[
"id_char_plug"
]
gagent_name
=
params
[
"gagent_name"
]
char_path
=
vm
.
get_virtio_port_filename
(
gagent_name
)
params
[
"path_char_plug"
]
=
char_path
dev_driver
=
params
[
"dev_driver"
]
dev_id
=
params
[
"dev_id"
]
error_context
.
context
(
"hotplug guest agent device"
,
logging
.
info
)
params_char_plug
=
params
.
object_params
(
"char_plug"
)
chardev
=
qdevices
.
CharDevice
(
params
=
params_char_plug
)
chardev
.
hotplug
(
vm
.
monitor
)
device
=
qdevices
.
QDevice
(
dev_driver
)
device
.
set_param
(
"chardev"
,
char_id
)
device
.
set_param
(
"id"
,
dev_id
)
device
.
set_param
(
"name"
,
gagent_name
)
device
.
hotplug
(
vm
.
monitor
)
error_context
.
context
(
"install and start guest agent"
,
logging
.
info
)
guest_agent_run
(
test
,
params
,
env
)
error_context
.
context
(
"hot unplug guest agent device"
,
logging
.
info
)
device
.
unplug
(
vm
.
monitor
)
device_status
=
device
.
verify_unplug
(
""
,
vm
.
monitor
)
check_status_unplug
(
device_status
,
"virtserialport"
)
chardev
.
unplug
(
vm
.
monitor
)
chardev_status
=
chardev
.
verify_unplug
(
""
,
vm
.
monitor
)
check_status_unplug
(
chardev_status
,
"socket"
)
vm
.
verify_alive
()
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录