crobinso pushed to virt-manager (f21). "sshtunnels: Don't use socket API for fd passed to spice (bz #1135808) (..more)"
notifications at fedoraproject.org
notifications at fedoraproject.org
Mon Apr 13 22:37:55 UTC 2015
>From abec60a04200d1fed910f406bd354bee07c106fb Mon Sep 17 00:00:00 2001
From: Cole Robinson <crobinso at redhat.com>
Date: Mon, 13 Apr 2015 18:37:47 -0400
Subject: sshtunnels: Don't use socket API for fd passed to spice (bz #1135808)
Fix available install options for qemu ppc64le (bz #1209720) Catch errors
fetching domcapabilities, fix ppc64le details (bz #1209723) Improve disk
defaults for qemu -M q35 (bz #1207834)
diff --git a/0009-sshtunnels-Don-t-use-socket-API-for-fd-passed-to-spi.patch b/0009-sshtunnels-Don-t-use-socket-API-for-fd-passed-to-spi.patch
new file mode 100644
index 0000000..908d401
--- /dev/null
+++ b/0009-sshtunnels-Don-t-use-socket-API-for-fd-passed-to-spi.patch
@@ -0,0 +1,22 @@
+From: Cole Robinson <crobinso at redhat.com>
+Date: Sat, 11 Apr 2015 23:04:03 -0400
+Subject: [PATCH virt-manager] sshtunnels: Don't use socket API for fd passed
+ to spice (bug 1135808)
+
+---
+ virtManager/sshtunnels.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/virtManager/sshtunnels.py b/virtManager/sshtunnels.py
+index 3a338a4..3cd0182 100644
+--- a/virtManager/sshtunnels.py
++++ b/virtManager/sshtunnels.py
+@@ -141,7 +141,7 @@ class _Tunnel(object):
+ self._outfds = socket.socketpair()
+ self._errfds = socket.socketpair()
+
+- return self._outfds[0].fileno(), self._launch_tunnel, ginfo
++ return os.dup(self._outfds[0].fileno()), self._launch_tunnel, ginfo
+
+ def close(self):
+ if self.closed:
diff --git a/0010-create-Show-proper-install-options-for-ppc64le-bz-12.patch b/0010-create-Show-proper-install-options-for-ppc64le-bz-12.patch
new file mode 100644
index 0000000..1b758b8
--- /dev/null
+++ b/0010-create-Show-proper-install-options-for-ppc64le-bz-12.patch
@@ -0,0 +1,34 @@
+From: Cole Robinson <crobinso at redhat.com>
+Date: Wed, 8 Apr 2015 09:31:07 -0400
+Subject: [PATCH virt-manager] create: Show proper install options for ppc64le
+ (bz 1209720)
+
+(cherry picked from commit 68a11727a49f7c07bc3fbf14a71b65edb53a8dd7)
+---
+ virtManager/create.py | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/virtManager/create.py b/virtManager/create.py
+index 0f9bdaa..1600fda 100644
+--- a/virtManager/create.py
++++ b/virtManager/create.py
+@@ -417,8 +417,8 @@ class vmmCreate(vmmGObjectUI):
+ is_container = self.conn.is_container()
+ can_remote_url = self.conn.get_backend().support_remote_url_install()
+
+- installable_arch = (self.capsguest.arch in
+- ["i686", "x86_64", "ppc64", "ia64"])
++ installable_arch = (self.capsinfo.arch in
++ ["i686", "x86_64", "ppc64", "ppc64le", "ia64"])
+
+ # Install Options
+ method_tree = self.widget("method-tree")
+@@ -680,7 +680,7 @@ class vmmCreate(vmmGObjectUI):
+ archs.remove("i686")
+ archs.sort()
+
+- prios = ["x86_64", "i686", "armv7l", "ppc64"]
++ prios = ["x86_64", "i686", "armv7l", "ppc64", "ppc64le"]
+ if self.conn.caps.host.cpu.arch not in prios:
+ prios = []
+ else:
diff --git a/0011-domcapabilities-Can-and-log-error-fetching-XML-bz-12.patch b/0011-domcapabilities-Can-and-log-error-fetching-XML-bz-12.patch
new file mode 100644
index 0000000..40d3b07
--- /dev/null
+++ b/0011-domcapabilities-Can-and-log-error-fetching-XML-bz-12.patch
@@ -0,0 +1,65 @@
+From: Cole Robinson <crobinso at redhat.com>
+Date: Wed, 8 Apr 2015 09:53:30 -0400
+Subject: [PATCH virt-manager] domcapabilities: Can and log error fetching XML
+ (bz #1209723)
+
+(cherry picked from commit 6634053533e878d8e4ed6541350c060b22a096f6)
+---
+ virtManager/domain.py | 12 ++----------
+ virtinst/domcapabilities.py | 22 ++++++++++++++++++++++
+ 2 files changed, 24 insertions(+), 10 deletions(-)
+
+diff --git a/virtManager/domain.py b/virtManager/domain.py
+index 4a98f7f..a00c0db 100644
+--- a/virtManager/domain.py
++++ b/virtManager/domain.py
+@@ -508,17 +508,9 @@ class vmmDomain(vmmLibvirtObject):
+ "image allocated to the guest.")
+
+ def get_domain_capabilities(self):
+- if not self.conn.check_support(
+- self.conn.SUPPORT_CONN_DOMAIN_CAPABILITIES):
+- self._domain_caps = DomainCapabilities(self.conn.get_backend())
+-
+ if not self._domain_caps:
+- xml = self.conn.get_backend().getDomainCapabilities(
+- self.get_xmlobj().emulator, self.get_xmlobj().os.arch,
+- self.get_xmlobj().os.machine, self.get_xmlobj().type)
+- self._domain_caps = DomainCapabilities(self.conn.get_backend(),
+- parsexml=xml)
+-
++ self._domain_caps = DomainCapabilities.build_from_guest(
++ self.get_xmlobj())
+ return self._domain_caps
+
+
+diff --git a/virtinst/domcapabilities.py b/virtinst/domcapabilities.py
+index 6de7afb..bdec335 100644
+--- a/virtinst/domcapabilities.py
++++ b/virtinst/domcapabilities.py
+@@ -79,3 +79,25 @@ class DomainCapabilities(XMLBuilder):
+ _XML_ROOT_NAME = "domainCapabilities"
+ os = XMLChildProperty(_OS, is_single=True)
+ devices = XMLChildProperty(_Devices, is_single=True)
++
++ @staticmethod
++ def build_from_params(conn, emulator, arch, machine, hvtype):
++ xml = None
++ if conn.check_support(
++ conn.SUPPORT_CONN_DOMAIN_CAPABILITIES):
++ try:
++ xml = conn.getDomainCapabilities(emulator, arch,
++ machine, hvtype)
++ except:
++ logging.debug("Error fetching domcapabilities XML",
++ exc_info=True)
++
++ if not xml:
++ # If not supported, just use a stub object
++ return DomainCapabilities(conn)
++ return DomainCapabilities(conn, parsexml=xml)
++
++ @staticmethod
++ def build_from_guest(guest):
++ return DomainCapabilities.build_from_params(guest.conn,
++ guest.emulator, guest.os.arch, guest.os.machine, guest.type)
diff --git a/0012-addhardware-Allow-SATA-CDROM-bz-1207834.patch b/0012-addhardware-Allow-SATA-CDROM-bz-1207834.patch
new file mode 100644
index 0000000..92c28cc
--- /dev/null
+++ b/0012-addhardware-Allow-SATA-CDROM-bz-1207834.patch
@@ -0,0 +1,22 @@
+From: Cole Robinson <crobinso at redhat.com>
+Date: Sat, 4 Apr 2015 19:07:39 -0400
+Subject: [PATCH virt-manager] addhardware: Allow SATA CDROM (bz 1207834)
+
+(cherry picked from commit dd8f7c90c0ab2ccccf341e344f0abd90853d8711)
+---
+ virtManager/addhardware.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/virtManager/addhardware.py b/virtManager/addhardware.py
+index 0c989df..5e8c0b3 100644
+--- a/virtManager/addhardware.py
++++ b/virtManager/addhardware.py
+@@ -800,7 +800,7 @@ class vmmAddHardware(vmmGObjectUI):
+ disk_buses = ["ide", "sata", "scsi", "sd",
+ "usb", "virtio", "virtio-scsi", "xen"]
+ floppy_buses = ["fdc"]
+- cdrom_buses = ["ide", "scsi"]
++ cdrom_buses = ["ide", "sata", "scsi"]
+ lun_buses = ["virtio-scsi"]
+
+ if bus in disk_buses:
diff --git a/0013-guest-Use-sata-by-default-for-q35-cdrom-non-virtio-b.patch b/0013-guest-Use-sata-by-default-for-q35-cdrom-non-virtio-b.patch
new file mode 100644
index 0000000..c35059b
--- /dev/null
+++ b/0013-guest-Use-sata-by-default-for-q35-cdrom-non-virtio-b.patch
@@ -0,0 +1,173 @@
+From: Cole Robinson <crobinso at redhat.com>
+Date: Mon, 6 Apr 2015 13:43:18 -0400
+Subject: [PATCH virt-manager] guest: Use sata by default for q35 cdrom,
+ non-virtio (bz #1207834)
+
+(cherry picked from commit e29f216503106738328d267b33773f54230c2f86)
+---
+ .../compare/virt-install-q35-defaults.xml | 133 +++++++++++++++++++++
+ virtinst/guest.py | 4 +
+ 2 files changed, 137 insertions(+)
+ create mode 100644 tests/cli-test-xml/compare/virt-install-q35-defaults.xml
+
+diff --git a/tests/cli-test-xml/compare/virt-install-q35-defaults.xml b/tests/cli-test-xml/compare/virt-install-q35-defaults.xml
+new file mode 100644
+index 0000000..b87afe1
+--- /dev/null
++++ b/tests/cli-test-xml/compare/virt-install-q35-defaults.xml
+@@ -0,0 +1,133 @@
++<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" machine="q35">hvm</type>
++ <boot dev="cdrom"/>
++ <boot dev="hd"/>
++ </os>
++ <features>
++ <acpi/>
++ <apic/>
++ <pae/>
++ </features>
++ <cpu mode="custom" match="exact">
++ <model>core2duo</model>
++ </cpu>
++ <clock offset="utc">
++ <timer name="rtc" tickpolicy="catchup"/>
++ <timer name="pit" tickpolicy="delay"/>
++ <timer name="hpet" present="no"/>
++ </clock>
++ <on_poweroff>destroy</on_poweroff>
++ <on_reboot>destroy</on_reboot>
++ <on_crash>destroy</on_crash>
++ <devices>
++ <emulator>/usr/bin/qemu-kvm</emulator>
++ <disk type="file" device="disk">
++ <driver name="qemu" type="qcow2"/>
++ <source file="/dev/default-pool/testvol1.img"/>
++ <target dev="sda" bus="sata"/>
++ </disk>
++ <disk type="file" device="cdrom">
++ <driver name="qemu" type="qcow2"/>
++ <source file="/dev/default-pool/testvol2.img"/>
++ <target dev="sdb" bus="sata"/>
++ <readonly/>
++ </disk>
++ <controller type="usb" index="0" model="ich9-ehci1"/>
++ <controller type="usb" index="0" model="ich9-uhci1">
++ <master startport="0"/>
++ </controller>
++ <controller type="usb" index="0" model="ich9-uhci2">
++ <master startport="2"/>
++ </controller>
++ <controller type="usb" index="0" model="ich9-uhci3">
++ <master startport="4"/>
++ </controller>
++ <interface type="bridge">
++ <source bridge="eth0"/>
++ <mac address="00:11:22:33:44:55"/>
++ </interface>
++ <input type="mouse" bus="ps2"/>
++ <graphics type="spice" port="-1" tlsPort="-1" autoport="yes"/>
++ <console type="pty"/>
++ <channel type="spicevmc">
++ <target type="virtio" name="com.redhat.spice.0"/>
++ </channel>
++ <sound model="ich6"/>
++ <video>
++ <model type="qxl"/>
++ </video>
++ <redirdev bus="usb" type="spicevmc"/>
++ <redirdev bus="usb" type="spicevmc"/>
++ </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" machine="q35">hvm</type>
++ <boot dev="hd"/>
++ </os>
++ <features>
++ <acpi/>
++ <apic/>
++ <pae/>
++ </features>
++ <cpu mode="custom" match="exact">
++ <model>core2duo</model>
++ </cpu>
++ <clock offset="utc">
++ <timer name="rtc" tickpolicy="catchup"/>
++ <timer name="pit" tickpolicy="delay"/>
++ <timer name="hpet" present="no"/>
++ </clock>
++ <on_poweroff>destroy</on_poweroff>
++ <on_reboot>restart</on_reboot>
++ <on_crash>restart</on_crash>
++ <devices>
++ <emulator>/usr/bin/qemu-kvm</emulator>
++ <disk type="file" device="disk">
++ <driver name="qemu" type="qcow2"/>
++ <source file="/dev/default-pool/testvol1.img"/>
++ <target dev="sda" bus="sata"/>
++ </disk>
++ <disk type="block" device="cdrom">
++ <target dev="sdb" bus="sata"/>
++ <readonly/>
++ </disk>
++ <controller type="usb" index="0" model="ich9-ehci1"/>
++ <controller type="usb" index="0" model="ich9-uhci1">
++ <master startport="0"/>
++ </controller>
++ <controller type="usb" index="0" model="ich9-uhci2">
++ <master startport="2"/>
++ </controller>
++ <controller type="usb" index="0" model="ich9-uhci3">
++ <master startport="4"/>
++ </controller>
++ <interface type="bridge">
++ <source bridge="eth0"/>
++ <mac address="00:11:22:33:44:55"/>
++ </interface>
++ <input type="mouse" bus="ps2"/>
++ <graphics type="spice" port="-1" tlsPort="-1" autoport="yes"/>
++ <console type="pty"/>
++ <channel type="spicevmc">
++ <target type="virtio" name="com.redhat.spice.0"/>
++ </channel>
++ <sound model="ich6"/>
++ <video>
++ <model type="qxl"/>
++ </video>
++ <redirdev bus="usb" type="spicevmc"/>
++ <redirdev bus="usb" type="spicevmc"/>
++ </devices>
++</domain>
+diff --git a/virtinst/guest.py b/virtinst/guest.py
+index 2d0ec87..c0ce305 100644
+--- a/virtinst/guest.py
++++ b/virtinst/guest.py
+@@ -875,6 +875,8 @@ class Guest(XMLBuilder):
+ d.bus = "xen"
+ return
+ if not self.os.is_hvm():
++ # This likely isn't correct, but it's kind of a catch all
++ # for virt types we don't know how to handle.
+ d.bus = "ide"
+ return
+
+@@ -886,6 +888,8 @@ class Guest(XMLBuilder):
+ d.bus = "scsi"
+ elif self.os.is_arm():
+ d.bus = "sd"
++ elif self.os.is_q35():
++ d.bus = "sata"
+ else:
+ d.bus = "ide"
+
diff --git a/0014-addhardware-Don-t-advertise-IDE-for-Q35-bz-1207834.patch b/0014-addhardware-Don-t-advertise-IDE-for-Q35-bz-1207834.patch
new file mode 100644
index 0000000..489eb79
--- /dev/null
+++ b/0014-addhardware-Don-t-advertise-IDE-for-Q35-bz-1207834.patch
@@ -0,0 +1,51 @@
+From: Cole Robinson <crobinso at redhat.com>
+Date: Mon, 6 Apr 2015 13:36:54 -0400
+Subject: [PATCH virt-manager] addhardware: Don't advertise IDE for Q35 (bz
+ #1207834)
+
+Laine suggests we hide it altogether
+
+(cherry picked from commit feb010621b480387bd6e4d31573de9e5426cb9f3)
+---
+ virtManager/addhardware.py | 5 +++--
+ virtinst/osxml.py | 4 ++++
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/virtManager/addhardware.py b/virtManager/addhardware.py
+index 5e8c0b3..a379438 100644
+--- a/virtManager/addhardware.py
++++ b/virtManager/addhardware.py
+@@ -770,7 +770,9 @@ class vmmAddHardware(vmmGObjectUI):
+ model.clear()
+
+ if self.vm.is_hvm():
+- model.append(["ide", "IDE"])
++ if not self.vm.get_xmlobj().os.is_q35():
++ model.append(["ide", "IDE"])
++ model.append(["sata", "SATA"])
+ model.append(["fdc", "Floppy"])
+
+ if not self.vm.stable_defaults():
+@@ -778,7 +780,6 @@ class vmmAddHardware(vmmGObjectUI):
+ model.append(["usb", "USB"])
+
+ if self.vm.get_hv_type() in ["qemu", "kvm", "test"]:
+- model.append(["sata", "SATA"])
+ model.append(["sd", "SD"])
+ model.append(["virtio", "VirtIO"])
+ model.append(["virtio-scsi", "VirtIO SCSI"])
+diff --git a/virtinst/osxml.py b/virtinst/osxml.py
+index 78b12da..32fcf84 100644
+--- a/virtinst/osxml.py
++++ b/virtinst/osxml.py
+@@ -50,6 +50,10 @@ class OSXML(XMLBuilder):
+
+ def is_x86(self):
+ return self.arch == "x86_64" or self.arch == "i686"
++ def is_q35(self):
++ return (self.is_x86() and
++ self.machine and
++ "q35" in self.machine)
+
+ def is_arm32(self):
+ return self.arch == "armv7l"
diff --git a/virt-manager.spec b/virt-manager.spec
index 9c24c8e..62e6042 100644
--- a/virt-manager.spec
+++ b/virt-manager.spec
@@ -28,7 +28,7 @@
Name: virt-manager
Version: 1.1.0
-Release: 5.git%{gitcommit}%{_extra_release}
+Release: 6.git%{gitcommit}%{_extra_release}
%define verrel %{version}-%{release}
Summary: Virtual Machine Manager
@@ -56,6 +56,17 @@ Patch0006: 0006-virt-manager-reset-vgamem-for-video-when-changing-de.patch
Patch0007: 0007-cpu-Drop-vendor-and-features-if-setting-host-model-b.patch
# Drop bogus network domain name validation (bz #1195873)
Patch0008: 0008-createnet-Drop-incorrect-domain-name-validation-bz-1.patch
+# sshtunnels: Don't use socket API for fd passed to spice (bz #1135808)
+Patch0009: 0009-sshtunnels-Don-t-use-socket-API-for-fd-passed-to-spi.patch
+# Fix available install options for qemu ppc64le (bz #1209720)
+Patch0010: 0010-create-Show-proper-install-options-for-ppc64le-bz-12.patch
+# Catch errors fetching domcapabilities, fix ppc64le details (bz
+# #1209723)
+Patch0011: 0011-domcapabilities-Can-and-log-error-fetching-XML-bz-12.patch
+# Improve disk defaults for qemu -M q35 (bz #1207834)
+Patch0012: 0012-addhardware-Allow-SATA-CDROM-bz-1207834.patch
+Patch0013: 0013-guest-Use-sata-by-default-for-q35-cdrom-non-virtio-b.patch
+Patch0014: 0014-addhardware-Don-t-advertise-IDE-for-Q35-bz-1207834.patch
Requires: virt-manager-common = %{verrel}
@@ -139,6 +150,17 @@ machine).
%patch0007 -p1
# Drop bogus network domain name validation (bz #1195873)
%patch0008 -p1
+# sshtunnels: Don't use socket API for fd passed to spice (bz #1135808)
+%patch0009 -p1
+# Fix available install options for qemu ppc64le (bz #1209720)
+%patch0010 -p1
+# Catch errors fetching domcapabilities, fix ppc64le details (bz
+# #1209723)
+%patch0011 -p1
+# Improve disk defaults for qemu -M q35 (bz #1207834)
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
%build
%if %{qemu_user}
@@ -244,6 +266,12 @@ fi
%changelog
+* Mon Apr 13 2015 Cole Robinson <crobinso at redhat.com> - 1.1.0-6.git310f6527
+- sshtunnels: Don't use socket API for fd passed to spice (bz #1135808)
+- Fix available install options for qemu ppc64le (bz #1209720)
+- Catch errors fetching domcapabilities, fix ppc64le details (bz #1209723)
+- Improve disk defaults for qemu -M q35 (bz #1207834)
+
* Fri Mar 27 2015 Cole Robinson <crobinso at redhat.com> - 1.1.0-5.git310f6527
- Fix new VM disk image names when VM name changes (bz #1169141)
- Fix missing virt-install dep on pygobject (bz #1195794)
--
cgit v0.10.2
http://pkgs.fedoraproject.org/cgit/virt-manager.git/commit/?h=f21&id=abec60a04200d1fed910f406bd354bee07c106fb
More information about the scm-commits
mailing list