如何使用Python多处理并行运行libvirt机器?

2024-05-17 19:45:35 发布

您现在位置:Python中文网/ 问答频道 /正文

在CCExtractor的内部CI示例平台上,我们使用libvirt来管理虚拟机。我们一直在尝试并行运行windows和linux机器,但是当我们尝试并行运行它们时,libvirt connection抛出了一个错误。你知道吗

已正确传递所有上下文。我们尝试过各种方法,但都是按顺序运行的。你知道吗

下面是我们尝试使用给定的连接字符串为两个不同的虚拟机启动进程的代码。你知道吗

我们对这两个进程使用相同的连接URI。你知道吗

我们希望这两台机器应该开始并行运行,但实际情况是Linux机器(首先启动)开始运行,然后linvirt在我们尝试启动Windows虚拟机时给出以下错误。你知道吗

[INFO] [<windows>] Reverted to Updated machine for win2k8
et necessary
libvirt: QEMU Driver error : Requested operation is not valid: domain is not running
 to monitor socket: No such process
[CRITICAL] [<windows>] Failed to launch VM win2k8
/multiprocessing/process.py", line 297, in _bootstrap
    self.run()
  File "/usr/local/lib/python3.7/multiprocessing/process.py", line 99, in run
    self._target(*self._args, **self._kwargs)
  File "/var/www/sample-platform/mod_ci/controllers.py", line 185, in kvm_processor
    if vm.destroy() == -1:
  File "/usr/local/lib/python3.7/site-packages/libvirt.py", line 1133, in destroy
    if ret == -1: raise libvirtError ('virDomainDestroy() failed', dom=self)
libvirt.libvirtError: Requested operation is not valid: domain is not running

Tags: toinpyself机器进程iswindows