⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 04_restore_withdevices_pos.py

📁 xen虚拟机源代码安装包
💻 PY
字号:
#!/usr/bin/python# Copyright (C) International Business Machines Corp., 2005# Author: Dan Smith <danms@us.ibm.com>from XmTestLib import *import reif ENABLE_HVM_SUPPORT:    SKIP("Restore currently not supported for HVM domains")config = {"disk": ["phy:/dev/ram0,hda1,w", "phy:/dev/ram1,hdb2,w"],          "vif":  ['', '']}domain = XmTestDomain(extraConfig=config)s, o = traceCommand("mke2fs -q /dev/ram0")if s != 0:    FAIL("Unable to mke2fs /dev/ram0 in dom0")s, o = traceCommand("mke2fs -q /dev/ram1")if s != 0:    FAIL("Unable to mke2fs /dev/ram1 in dom0")try:    console = domain.start()except DomainError, e:    FAIL(str(e))try:    run = console.runCmd("mkdir /mnt/a /mnt/b")    if run["return"] != 0:        FAIL("Unable to mkdir /mnt/a /mnt/b")    run = console.runCmd("mount /dev/hda1 /mnt/a")    if run["return"] != 0:        FAIL("Unable to mount /dev/hda1")    run = console.runCmd("mount /dev/hdb2 /mnt/b")    if run["return"] != 0:        FAIL("Unable to mount /dev/hdb2")    run = console.runCmd("echo hda1 > /mnt/a/foo")    if run["return"] != 0:        FAIL("Unable to write to block device hda1!")    run = console.runCmd("echo hdb2 > /mnt/b/foo")    if run["return"] != 0:        FAIL("Unable to write to block device hdb2!")    run = console.runCmd("ifconfig eth0 172.30.206.1 netmask 255.255.255.240")    if run["return"] != 0:        FAIL("Unable to configure DomU's eth0")    run = console.runCmd("ifconfig eth1 172.30.206.17 netmask 255.255.255.240")    if run["return"] != 0:        FAIL("Unable to configure DomU's eth1")    run = console.runCmd("ifconfig lo 127.0.0.1")    if run["return"] != 0:        FAIL("Unable to configure DomU's lo")except ConsoleError, e:    FAIL(str(e))domain.closeConsole()try:    s, o = traceCommand("xm save %s /tmp/test.state" % domain.getName(),                        timeout=30)except TimeoutError, e:    FAIL(str(e))if s != 0:    FAIL("xm save exited with %i != 0" % s)# Let things settletime.sleep(15)try:    s, o = traceCommand("xm restore /tmp/test.state",                        timeout=30)except TimeoutError, e:    FAIL(str(e))if s != 0:    FAIL("xm restore exited with %i != 0" % s)try:    console = domain.getConsole()    # Enable debug dumping, as this causes an Oops on x86_64    console.debugMe = True    # In case the domain is rebooted    console.sendInput("ls")    run = console.runCmd("ls | grep proc")    if run["return"] != 0:        FAIL("ls failed on restored domain")        run = console.runCmd("cat /mnt/a/foo")    if run["return"] != 0:        FAIL("Unable to read from block device hda1")    if not re.search("hda1", run["output"]):        FAIL("Failed to read correct data from hda1")    run = console.runCmd("cat /mnt/b/foo")    if run["return"] != 0:        FAIL("Unable to read from block device hdb2")    if not re.search("hdb2", run["output"]):        FAIL("Failed to read correct data from hdb2")    run = console.runCmd("ifconfig")    if not re.search("eth0", run["output"]):        FAIL("DomU's eth0 disappeared")    if not re.search("172.30.206.1", run["output"]):        FAIL("DomU's eth0 lost its IP")    if not re.search("eth1", run["output"]):        FAIL("DomU's eth1 disappeared")    if not re.search("172.30.206.17", run["output"]):        FAIL("DomU's eth1 lost its IP")    if not re.search("Loopback", run["output"]):        FAIL("DomU's lo disappeared")    if not re.search("127.0.0.1", run["output"]):        FAIL("DomU's lo lost its IP")except ConsoleError, e:    FAIL(str(e))        

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -