Commit 9be20ca0 authored by Guido Günther's avatar Guido Günther

New upstream version 1.4.3

parent 194c3e4b
# Virtual Machine Manager News # Virtual Machine Manager News
## Release 1.4.3 (September 19, 2017)
- Improve install of debian/ubuntu non-x86 media (Viktor Mihajlovski, Andrew
Wong)
- New virt-install --graphics listen.* (Pavel Hrdina)
- New virt-install --disk snapshot_policy= (Pavel Hrdina)
- New virt-install --cpu cache.* (Lin Ma)
- Several bug fixes
## Release 1.4.2 (August 08, 2017) ## Release 1.4.2 (August 08, 2017)
- New VM wixard virt-bootstrap integration (Radostin Stoyanov) - New VM wixard virt-bootstrap integration (Radostin Stoyanov)
......
Metadata-Version: 1.0 Metadata-Version: 1.0
Name: virt-manager Name: virt-manager
Version: 1.4.2 Version: 1.4.3
Summary: UNKNOWN Summary: UNKNOWN
Home-page: http://virt-manager.org Home-page: http://virt-manager.org
Author: Cole Robinson Author: Cole Robinson
......
...@@ -247,6 +247,10 @@ Example of specifying two NUMA cells. This will generate XML like: ...@@ -247,6 +247,10 @@ Example of specifying two NUMA cells. This will generate XML like:
</numa> </numa>
</cpu> </cpu>
=item B<--cpu host-passthrough,cache.mode=passthrough>
Example of passing through the host cpu's cache information.
=back =back
Use --cpu=? to see a list of all available sub options. Complete details at L<http://libvirt.org/formatdomain.html#elementsCPU> Use --cpu=? to see a list of all available sub options. Complete details at L<http://libvirt.org/formatdomain.html#elementsCPU>
...@@ -722,6 +726,12 @@ WD-WMAP9A966149 ...@@ -722,6 +726,12 @@ WD-WMAP9A966149
It defines what to do with the disk if the source file is not accessible. See It defines what to do with the disk if the source file is not accessible. See
possible values in L<http://www.libvirt.org/formatdomain.html#elementsDisks> possible values in L<http://www.libvirt.org/formatdomain.html#elementsDisks>
=item B<snapshot_policy>
Defines default behavior of the disk during disk snapshots. See possible
values in L<http://www.libvirt.org/formatdomain.html#elementsDisks>,
"snapshot" attribute of the <disk> element.
=back =back
See the examples section for some uses. This option deprecates -f/--file, See the examples section for some uses. This option deprecates -f/--file,
...@@ -1589,7 +1599,7 @@ Use --rng=? to see a list of all available sub options. Complete details at L<ht ...@@ -1589,7 +1599,7 @@ Use --rng=? to see a list of all available sub options. Complete details at L<ht
=back =back
=item B<--panic> OPTS =item B<--panic> MODEL[,OPTS]
Attach a panic notifier device to the guest. For the recommended settings, use: Attach a panic notifier device to the guest. For the recommended settings, use:
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -563,13 +563,17 @@ class TestInitrdInject(TestBaseCommand): ...@@ -563,13 +563,17 @@ class TestInitrdInject(TestBaseCommand):
class CheckPylint(distutils.core.Command): class CheckPylint(distutils.core.Command):
user_options = [] user_options = [
("jobs=", "j", "use multiple processes to speed up Pylint"),
]
description = "Check code using pylint and pycodestyle" description = "Check code using pylint and pycodestyle"
def initialize_options(self): def initialize_options(self):
pass self.jobs = None
def finalize_options(self): def finalize_options(self):
pass if self.jobs:
self.jobs = int(self.jobs)
def run(self): def run(self):
files = ["setup.py", "virt-install", "virt-clone", files = ["setup.py", "virt-install", "virt-clone",
...@@ -592,6 +596,8 @@ class CheckPylint(distutils.core.Command): ...@@ -592,6 +596,8 @@ class CheckPylint(distutils.core.Command):
cmd = "pylint-2 " cmd = "pylint-2 "
else: else:
cmd = "pylint " cmd = "pylint "
if self.jobs:
cmd += "--jobs=%d " % self.jobs
cmd += "--rcfile tests/pylint.cfg " cmd += "--rcfile tests/pylint.cfg "
cmd += "--output-format=%s " % output_format cmd += "--output-format=%s " % output_format
cmd += "--ignore %s " % ",".join( cmd += "--ignore %s " % ",".join(
...@@ -673,8 +679,8 @@ distutils.core.setup( ...@@ -673,8 +679,8 @@ distutils.core.setup(
'rpm': my_rpm, 'rpm': my_rpm,
'test': TestCommand, 'test': TestCommand,
'test_ui': TestUI, 'test_ui': TestUI,
'test_urls' : TestURLFetch, 'test_urls': TestURLFetch,
'test_initrd_inject' : TestInitrdInject, 'test_initrd_inject': TestInitrdInject,
}, },
distclass=VMMDistribution, distclass=VMMDistribution,
......
...@@ -234,7 +234,7 @@ ...@@ -234,7 +234,7 @@
<mouse mode="client"/> <mouse mode="client"/>
<filetransfer enable="yes"/> <filetransfer enable="yes"/>
</graphics> </graphics>
<graphics type="spice" port="-1" tlsPort="-1" autoport="yes"> <graphics type="spice">
<gl enable="yes"/> <gl enable="yes"/>
<image compression="off"/> <image compression="off"/>
<listen type="socket"/> <listen type="socket"/>
...@@ -249,6 +249,18 @@ ...@@ -249,6 +249,18 @@
<image compression="off"/> <image compression="off"/>
<listen type="none"/> <listen type="none"/>
</graphics> </graphics>
<graphics type="spice" port="-1" tlsPort="-1" autoport="yes">
<image compression="off"/>
<listen type="address" address="1.2.3.4"/>
</graphics>
<graphics type="spice" port="-1" tlsPort="-1" autoport="yes">
<image compression="off"/>
<listen type="network" network="default"/>
</graphics>
<graphics type="spice">
<image compression="off"/>
<listen type="socket" socket="/tmp/foobar"/>
</graphics>
<serial type="tcp"> <serial type="tcp">
<source mode="bind" host="127.0.0.1" service="2222"/> <source mode="bind" host="127.0.0.1" service="2222"/>
<protocol type="telnet"/> <protocol type="telnet"/>
...@@ -369,7 +381,7 @@ ...@@ -369,7 +381,7 @@
<source mode="connect" host="127.0.0.1" service="8000"/> <source mode="connect" host="127.0.0.1" service="8000"/>
</backend> </backend>
</rng> </rng>
<panic> <panic model="isa">
<address iobase="507" type="isa"/> <address iobase="507" type="isa"/>
</panic> </panic>
</devices> </devices>
......
<domain type="kvm">
<name>foobar</name>
<uuid>00000000-1111-2222-3333-444444444444</uuid>
<memory>65536</memory>
<currentMemory>65536</currentMemory>
<vcpu>1</vcpu>
<os>
<type arch="x86_64">hvm</type>
<boot dev="hd"/>
</os>
<features>
<acpi/>
<apic/>
</features>
<cpu mode="custom" match="exact">
<model>Opteron_G4</model>
</cpu>
<clock offset="utc">
<timer name="rtc" tickpolicy="catchup"/>
<timer name="pit" tickpolicy="delay"/>
<timer name="hpet" present="no"/>
</clock>
<pm>
<suspend-to-mem enabled="no"/>
<suspend-to-disk enabled="no"/>
</pm>
<devices>
<emulator>/usr/bin/qemu-kvm</emulator>
<controller type="usb" index="0" model="none"/>
<console type="pty"/>
<panic model="isa"/>
</devices>
</domain>
<domain type="kvm">
<name>foobar</name>
<uuid>00000000-1111-2222-3333-444444444444</uuid>
<memory>65536</memory>
<currentMemory>65536</currentMemory>
<vcpu>1</vcpu>
<os>
<type arch="x86_64">hvm</type>
<boot dev="hd"/>
</os>
<features>
<acpi/>
<apic/>
</features>
<cpu mode="custom" match="exact">
<model>Opteron_G4</model>
</cpu>
<clock offset="utc">
<timer name="rtc" tickpolicy="catchup"/>
<timer name="pit" tickpolicy="delay"/>
<timer name="hpet" present="no"/>
</clock>
<pm>
<suspend-to-mem enabled="no"/>
<suspend-to-disk enabled="no"/>
</pm>
<devices>
<emulator>/usr/bin/qemu-kvm</emulator>
<controller type="usb" index="0" model="none"/>
<console type="pty"/>
<panic model="isa">
<address iobase="0x505" type="isa"/>
</panic>
</devices>
</domain>
<domain type="kvm">
<name>foobar</name>
<uuid>00000000-1111-2222-3333-444444444444</uuid>
<memory>65536</memory>
<currentMemory>65536</currentMemory>
<vcpu>1</vcpu>
<os>
<type arch="x86_64">hvm</type>
<boot dev="hd"/>
</os>
<features>
<acpi/>
<apic/>
</features>
<cpu mode="custom" match="exact">
<model>Opteron_G4</model>
</cpu>
<clock offset="utc">
<timer name="rtc" tickpolicy="catchup"/>
<timer name="pit" tickpolicy="delay"/>
<timer name="hpet" present="no"/>
</clock>
<pm>
<suspend-to-mem enabled="no"/>
<suspend-to-disk enabled="no"/>
</pm>
<devices>
<emulator>/usr/bin/qemu-kvm</emulator>
<controller type="usb" index="0" model="none"/>
<console type="pty"/>
<panic model="isa"/>
</devices>
</domain>
<domain type="kvm">
<name>foobar</name>
<uuid>00000000-1111-2222-3333-444444444444</uuid>
<memory>65536</memory>
<currentMemory>65536</currentMemory>
<vcpu>1</vcpu>
<os>
<type arch="ppc64le" machine="pseries">hvm</type>
<boot dev="hd"/>
</os>
<clock offset="utc"/>
<devices>
<emulator>/usr/libexec/qemu-kvm</emulator>
<controller type="usb" index="0" model="none"/>
<console type="pty"/>
<panic model="pseries"/>
</devices>
</domain>
<domain type="kvm">
<name>foobar</name>
<uuid>00000000-1111-2222-3333-444444444444</uuid>
<memory>65536</memory>
<currentMemory>65536</currentMemory>
<vcpu>1</vcpu>
<os>
<type arch="s390x" machine="s390-ccw-virtio">hvm</type>
<boot dev="hd"/>
</os>
<clock offset="utc"/>
<devices>
<emulator>/usr/bin/qemu-system-s390x</emulator>
<controller type="usb" index="0" model="none"/>
<console type="pty">
<target type="sclp"/>
</console>
<panic model="s390"/>
</devices>
</domain>
...@@ -63,9 +63,7 @@ ...@@ -63,9 +63,7 @@
<rng model="virtio"> <rng model="virtio">
<backend model="random">/dev/random</backend> <backend model="random">/dev/random</backend>
</rng> </rng>
<panic> <panic model="isa"/>
<address type="isa" iobase="0x505"/>
</panic>
</devices> </devices>
<seclabel type="dynamic" model="selinux"/> <seclabel type="dynamic" model="selinux"/>
<seclabel type="none" model="dac"/> <seclabel type="none" model="dac"/>
......
...@@ -95,6 +95,7 @@ ...@@ -95,6 +95,7 @@
<cell id="0" cpus="1,2,3" memory="1024"/> <cell id="0" cpus="1,2,3" memory="1024"/>
<cell id="1" cpus="5-8" memory="256"/> <cell id="1" cpus="5-8" memory="256"/>
</numa> </numa>
<cache mode="emulate" level="3"/>
</cpu> </cpu>
<clock offset="utc"> <clock offset="utc">
<timer name="rtc" tickpolicy="merge"/> <timer name="rtc" tickpolicy="merge"/>
...@@ -140,7 +141,7 @@ ...@@ -140,7 +141,7 @@
<source mode="connect" host="foo" service="708"/> <source mode="connect" host="foo" service="708"/>
</backend> </backend>
</rng> </rng>
<panic> <panic model="isa">
<address iobase="0x506" type="isa"/> <address iobase="0x506" type="isa"/>
</panic> </panic>
</devices> </devices>
...@@ -249,6 +250,7 @@ ...@@ -249,6 +250,7 @@
<cell id="0" cpus="1,2,3" memory="1024"/> <cell id="0" cpus="1,2,3" memory="1024"/>
<cell id="1" cpus="5-8" memory="256"/> <cell id="1" cpus="5-8" memory="256"/>
</numa> </numa>
<cache mode="emulate" level="3"/>
</cpu> </cpu>
<clock offset="utc"> <clock offset="utc">
<timer name="rtc" tickpolicy="merge"/> <timer name="rtc" tickpolicy="merge"/>
...@@ -294,7 +296,7 @@ ...@@ -294,7 +296,7 @@
<source mode="connect" host="foo" service="708"/> <source mode="connect" host="foo" service="708"/>
</backend> </backend>
</rng> </rng>
<panic> <panic model="isa">
<address iobase="0x506" type="isa"/> <address iobase="0x506" type="isa"/>
</panic> </panic>
</devices> </devices>
......
...@@ -36,8 +36,6 @@ os.environ["LANG"] = "en_US.UTF-8" ...@@ -36,8 +36,6 @@ os.environ["LANG"] = "en_US.UTF-8"
os.environ["HOME"] = "/tmp" os.environ["HOME"] = "/tmp"
os.environ["DISPLAY"] = ":3.4" os.environ["DISPLAY"] = ":3.4"
_defaultconn = utils.open_testdefault()
# Location # Location
image_prefix = "/tmp/__virtinst_cli_" image_prefix = "/tmp/__virtinst_cli_"
xmldir = "tests/cli-test-xml" xmldir = "tests/cli-test-xml"
...@@ -75,43 +73,43 @@ test_files = { ...@@ -75,43 +73,43 @@ test_files = {
'URI-KVM-SESSION': utils.uri_kvm_session, 'URI-KVM-SESSION': utils.uri_kvm_session,
'URI-KVM-REMOTE': utils.uri_kvm + ",remote", 'URI-KVM-REMOTE': utils.uri_kvm + ",remote",
'URI-KVM-NODOMCAPS': utils.uri_kvm_nodomcaps, 'URI-KVM-NODOMCAPS': utils.uri_kvm_nodomcaps,
'URI-KVM-ARMV7L' : utils.uri_kvm_armv7l, 'URI-KVM-ARMV7L': utils.uri_kvm_armv7l,
'URI-KVM-AARCH64' : utils.uri_kvm_aarch64, 'URI-KVM-AARCH64': utils.uri_kvm_aarch64,
'URI-KVM-PPC64LE' : utils.uri_kvm_ppc64le, 'URI-KVM-PPC64LE': utils.uri_kvm_ppc64le,
'URI-KVM-S390X' : utils.uri_kvm_s390x, 'URI-KVM-S390X': utils.uri_kvm_s390x,
'URI-KVM-S390X-KVMIBM' : utils.uri_kvm_s390x_KVMIBM, 'URI-KVM-S390X-KVMIBM': utils.uri_kvm_s390x_KVMIBM,
'URI-XEN': utils.uri_xen, 'URI-XEN': utils.uri_xen,
'URI-LXC': utils.uri_lxc, 'URI-LXC': utils.uri_lxc,
'URI-VZ': utils.uri_vz, 'URI-VZ': utils.uri_vz,
'CLONE_DISK_XML' : "%s/clone-disk.xml" % xmldir, 'CLONE_DISK_XML': "%s/clone-disk.xml" % xmldir,
'CLONE_STORAGE_XML' : "%s/clone-disk-managed.xml" % xmldir, 'CLONE_STORAGE_XML': "%s/clone-disk-managed.xml" % xmldir,
'CLONE_NOEXIST_XML' : "%s/clone-disk-noexist.xml" % xmldir, 'CLONE_NOEXIST_XML': "%s/clone-disk-noexist.xml" % xmldir,
'IMAGE_XML' : "%s/image.xml" % xmldir, 'IMAGE_XML': "%s/image.xml" % xmldir,
'IMAGE_NOGFX_XML' : "%s/image-nogfx.xml" % xmldir, 'IMAGE_NOGFX_XML': "%s/image-nogfx.xml" % xmldir,
'OVF_IMG1' : "%s/tests/virtconv-files/ovf_input/test1.ovf" % os.getcwd(), 'OVF_IMG1': "%s/tests/virtconv-files/ovf_input/test1.ovf" % os.getcwd(),
'VMX_IMG1' : "%s/tests/virtconv-files/vmx_input/test1.vmx" % os.getcwd(), 'VMX_IMG1': "%s/tests/virtconv-files/vmx_input/test1.vmx" % os.getcwd(),
'NEWIMG1' : "/dev/default-pool/new1.img", 'NEWIMG1': "/dev/default-pool/new1.img",
'NEWIMG2' : "/dev/default-pool/new2.img", 'NEWIMG2': "/dev/default-pool/new2.img",
'NEWCLONEIMG1' : new_images[0], 'NEWCLONEIMG1': new_images[0],
'NEWCLONEIMG2' : new_images[1], 'NEWCLONEIMG2': new_images[1],
'NEWCLONEIMG3' : new_images[2], 'NEWCLONEIMG3': new_images[2],
'AUTOMANAGEIMG' : "/some/new/pool/dir/new", 'AUTOMANAGEIMG': "/some/new/pool/dir/new",
'BLOCKVOL' : '/iscsi-pool/diskvol1', 'BLOCKVOL': '/iscsi-pool/diskvol1',
'EXISTIMG1' : "/dev/default-pool/testvol1.img", 'EXISTIMG1': "/dev/default-pool/testvol1.img",
'EXISTIMG2' : "/dev/default-pool/testvol2.img", 'EXISTIMG2': "/dev/default-pool/testvol2.img",
'EXISTIMG3' : exist_images[0], 'EXISTIMG3': exist_images[0],
'EXISTIMG4' : exist_images[1], 'EXISTIMG4': exist_images[1],
'EXISTUPPER' : "/dev/default-pool/UPPER", 'EXISTUPPER': "/dev/default-pool/UPPER",
'POOL' : "default-pool", 'POOL': "default-pool",
'VOL' : "testvol1.img", 'VOL': "testvol1.img",
'DIR' : "/var", 'DIR': "/var",
'TREEDIR' : treedir, 'TREEDIR': treedir,
'MANAGEDNEW1' : "/dev/default-pool/clonevol", 'MANAGEDNEW1': "/dev/default-pool/clonevol",
'MANAGEDDISKNEW1' : "/dev/disk-pool/newvol1.img", 'MANAGEDDISKNEW1': "/dev/disk-pool/newvol1.img",
'COLLIDE' : "/dev/default-pool/collidevol1.img", 'COLLIDE': "/dev/default-pool/collidevol1.img",
'SHARE' : "/dev/default-pool/sharevol.img", 'SHARE': "/dev/default-pool/sharevol.img",
} }
...@@ -238,9 +236,9 @@ class Command(object): ...@@ -238,9 +236,9 @@ class Command(object):
raise AssertionError( raise AssertionError(
("Expected command to %s, but it didn't.\n" % ("Expected command to %s, but it didn't.\n" %
(self.check_success and "pass" or "fail")) + (self.check_success and "pass" or "fail")) +
("Command was: %s\n" % self.cmdstr) + ("Command was: %s\n" % self.cmdstr) +
("Error code : %d\n" % code) + ("Error code : %d\n" % code) +
("Output was:\n%s" % output)) ("Output was:\n%s" % output))
if self.compare_file: if self.compare_file:
if self._check_support(tests, conn, self.compare_check, if self._check_support(tests, conn, self.compare_check,
...@@ -418,7 +416,7 @@ c.add_compare(""" \ ...@@ -418,7 +416,7 @@ c.add_compare(""" \
c.add_compare("""--pxe \ c.add_compare("""--pxe \
--memory 512,maxmemory=1024 \ --memory 512,maxmemory=1024 \
--vcpus 4,cores=2,threads=2,sockets=2 \ --vcpus 4,cores=2,threads=2,sockets=2 \
--cpu foobar,+x2apic,+x2apicagain,-distest,forbid=foo,forbid=bar,disable=distest2,optional=opttest,require=reqtest,match=strict,vendor=meee,cell.id=0,cell.cpus=1,2,3,cell.memory=1024,cell1.id=1,cell1.memory=256,cell1.cpus=5-8 \ --cpu foobar,+x2apic,+x2apicagain,-distest,forbid=foo,forbid=bar,disable=distest2,optional=opttest,require=reqtest,match=strict,vendor=meee,cell.id=0,cell.cpus=1,2,3,cell.memory=1024,cell1.id=1,cell1.memory=256,cell1.cpus=5-8,cache.mode=emulate,cache.level=3 \
--metadata title=my-title,description=my-description,uuid=00000000-1111-2222-3333-444444444444 \ --metadata title=my-title,description=my-description,uuid=00000000-1111-2222-3333-444444444444 \
--boot cdrom,fd,hd,network,menu=off,loader=/foo/bar \ --boot cdrom,fd,hd,network,menu=off,loader=/foo/bar \
--idmap uid_start=0,uid_target=1000,uid_count=10,gid_start=0,gid_target=1000,gid_count=10 \ --idmap uid_start=0,uid_target=1000,uid_count=10,gid_start=0,gid_target=1000,gid_count=10 \
...@@ -488,6 +486,9 @@ c.add_compare(""" \ ...@@ -488,6 +486,9 @@ c.add_compare(""" \
--graphics spice,gl=yes,listen=socket \ --graphics spice,gl=yes,listen=socket \
--graphics spice,gl=yes,listen=none \ --graphics spice,gl=yes,listen=none \
--graphics spice,gl=yes,listen=none,rendernode=/dev/dri/foo \ --graphics spice,gl=yes,listen=none,rendernode=/dev/dri/foo \
--graphics spice,listens0.type=address,listens0.address=1.2.3.4 \
--graphics spice,listens0.type=network,listens0.network=default \
--graphics spice,listens0.type=socket,listens0.socket=/tmp/foobar \
\ \
--controller usb,model=ich9-ehci1,address=0:0:4.7,index=0 \ --controller usb,model=ich9-ehci1,address=0:0:4.7,index=0 \
--controller usb,model=ich9-uhci1,address=0:0:4.0,index=0,master=0 \ --controller usb,model=ich9-uhci1,address=0:0:4.0,index=0,master=0 \
...@@ -625,6 +626,7 @@ c.add_valid("--disk /dev/zero") # Referencing a local unmanaged /dev node ...@@ -625,6 +626,7 @@ c.add_valid("--disk /dev/zero") # Referencing a local unmanaged /dev node
c.add_valid("--disk pool=default,size=.00001") # Building 'default' pool c.add_valid("--disk pool=default,size=.00001") # Building 'default' pool
c.add_valid("--disk %(AUTOMANAGEIMG)s,size=.1") # autocreate the pool c.add_valid("--disk %(AUTOMANAGEIMG)s,size=.1") # autocreate the pool
c.add_valid("--disk %(NEWIMG1)s,sparse=true,size=100000000 --check disk_size=off") # Don't warn about fully allocated file exceeding disk space c.add_valid("--disk %(NEWIMG1)s,sparse=true,size=100000000 --check disk_size=off") # Don't warn about fully allocated file exceeding disk space
c.add_valid("--disk %(EXISTIMG1)s,snapshot_policy=no") # Disable snasphot for disk
c.add_invalid("--file %(NEWIMG1)s --file-size 100000 --nonsparse") # Nonexisting file, size too big c.add_invalid("--file %(NEWIMG1)s --file-size 100000 --nonsparse") # Nonexisting file, size too big
c.add_invalid("--file %(NEWIMG1)s --file-size 100000") # Huge file, sparse, but no prompting c.add_invalid("--file %(NEWIMG1)s --file-size 100000") # Huge file, sparse, but no prompting
c.add_invalid("--file %(NEWIMG1)s") # Nonexisting file, no size c.add_invalid("--file %(NEWIMG1)s") # Nonexisting file, no size
...@@ -647,6 +649,21 @@ c.add_invalid("--disk source_pool=default-pool,source_volume=idontexist") # try ...@@ -647,6 +649,21 @@ c.add_invalid("--disk source_pool=default-pool,source_volume=idontexist") # try
c.add_invalid("--disk size=1 --security model=foo,type=bar") # Libvirt will error on the invalid security params, which should trigger the code path to clean up the disk images we created. c.add_invalid("--disk size=1 --security model=foo,type=bar") # Libvirt will error on the invalid security params, which should trigger the code path to clean up the disk images we created.
################
# Panic device #
################
c = vinst.add_category("panic", "--connect %(URI-KVM)s --noautoconsole --import --disk none --graphics none --controller usb,model=none --network none")
c.add_compare("--panic default", "panic-default")
c.add_compare("--panic isa", "panic-isa")
c.add_compare("--panic isa,iobase=0x505", "panic-isa-iobase")
c = vinst.add_category("panic", "--connect %(URI-KVM-PPC64LE)s --noautoconsole --import --disk none --graphics none --controller usb,model=none --network none")
c.add_compare("--panic default", "panic-pseries-default")
c = vinst.add_category("panic", "--connect %(URI-KVM-S390X)s --noautoconsole --import --disk none --graphics none --controller usb,model=none --network none")
c.add_compare("--panic default", "panic-s390x-default")
################################################ ################################################
# Invalid devices that hit virtinst code paths # # Invalid devices that hit virtinst code paths #
...@@ -840,6 +857,7 @@ c.add_valid("--bridge mybr0 --mac 22:22:33:44:55:AF") # Old bridge w/ mac ...@@ -840,6 +857,7 @@ c.add_valid("--bridge mybr0 --mac 22:22:33:44:55:AF") # Old bridge w/ mac
c.add_valid("--network bridge:mybr0,model=e1000") # --network bridge: c.add_valid("--network bridge:mybr0,model=e1000") # --network bridge:
c.add_valid("--network network:default --mac RANDOM") # VirtualNetwork with a random macaddr c.add_valid("--network network:default --mac RANDOM") # VirtualNetwork with a random macaddr
c.add_valid("--vnc --keymap=local") # --keymap local c.add_valid("--vnc --keymap=local") # --keymap local
c.add_valid("--panic 0x505") # ISA panic with iobase specified
c.add_invalid("--nonetworks") # no networks c.add_invalid("--nonetworks") # no networks
c.add_invalid("--graphics vnc --vnclisten 1.2.3.4") # mixing old and new c.add_invalid("--graphics vnc --vnclisten 1.2.3.4") # mixing old and new
c.add_invalid("--network=FOO") # Nonexistent network c.add_invalid("--network=FOO") # Nonexistent network
......
<domain type='kvm'>
<name>clone-orig</name>
<uuid>aaa3ae22-fed2-bfbd-ac02-3bea3bcfad82</uuid>
<memory>262144</memory>
<currentMemory>262144</currentMemory>
<vcpu>1</vcpu>
<os>
<type arch='i686' machine='pc'>hvm</type>
<boot dev='cdrom'/>
</os>
<features>
<acpi/>
</features>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash>
<devices>
<emulator>/usr/bin/qemu-kvm</emulator>
<input type='mouse' bus='ps2'/>
<graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1' passwd='foo'/>
</devices>
</domain>
<domain type="kvm">
<name>clone-new</name>
<uuid>12345678-1234-1234-1234-123456789012</uuid>
<memory>262144</memory>
<currentMemory>262144</currentMemory>
<vcpu>1</vcpu>