vm_resumer.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:sonic-mgmt 作者: Azure 项目源码 文件源码
def resume_paused():
    MAX_ATTEMPTS = 10

    conn = libvirt.open("qemu:///system")
    if conn == None:
        print 'Failed to open connection to qemu:///system'
        exit(1)

    paused = [i.name() for i in conn.listAllDomains() if i.info()[0] == libvirt.VIR_DOMAIN_PAUSED]

    if len(paused) > 0:
        print "Following VM are paused"
        print "\n".join(paused)
        print

    for vm in paused:
        print "Resume VM: " + vm.name()
        vm.resume()

    for _ in range(MAX_ATTEMPTS):
        if len([i for i in conn.listAllDomains() if i.info()[0] == libvirt.VIR_DOMAIN_PAUSED]) == 0:
            break
        time.sleep(1)
    else:
        print "Can't resume VMs:%s" % ", ".join(i.name() for i in conn.listAllDomains() if i.info()[0] == libvirt.VIR_DOMAIN_PAUSED)
        paused = []

    conn.close()

    return paused
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号