Accepting request 315891 from Virtualization

Bug fixes

OBS-URL: https://build.opensuse.org/request/show/315891
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/virt-manager?expand=0&rev=123
This commit is contained in:
Stephan Kulow 2015-07-14 15:43:52 +00:00 committed by Git OBS Bridge
commit 32f4007293
8 changed files with 740 additions and 8 deletions

View File

@ -0,0 +1,52 @@
Subject: createpool: Fix adding iscsi pools (bz 1231558)
From: Cole Robinson crobinso@redhat.com Sun Jun 21 15:47:31 2015 -0400
Date: Sun Jun 21 15:47:31 2015 -0400:
Git: 34db1af7b661b7eb5df4c71fc910d31c1ae9f7a4
diff --git a/virtManager/createpool.py b/virtManager/createpool.py
index bd18d43..1eaa805 100644
--- a/virtManager/createpool.py
+++ b/virtManager/createpool.py
@@ -479,9 +479,11 @@ class vmmCreatePool(vmmGObjectUI):
source_list = self.widget("pool-source-path")
target_list = self.widget("pool-target-path")
- pool = uiutil.get_list_selection(source_list, column=2)
+ pool = uiutil.get_list_selection(source_list, column=2,
+ check_entry=False)
if pool is None:
- pool = uiutil.get_list_selection(target_list, column=2)
+ pool = uiutil.get_list_selection(target_list, column=2,
+ check_entry=False)
return pool
diff --git a/virtManager/uiutil.py b/virtManager/uiutil.py
index 82d2c1d..40b74d4 100644
--- a/virtManager/uiutil.py
+++ b/virtManager/uiutil.py
@@ -70,17 +70,21 @@ def get_list_selected_row(widget, check_visible=False):
return row
-def get_list_selection(widget, column=0, check_visible=False):
+def get_list_selection(widget, column=0,
+ check_visible=False, check_entry=True):
"""
Helper to simplify getting the selected row and value in a list/tree/combo.
If nothing is selected, and the widget is a combo box with a text entry,
return the value of that.
+
+ :param check_entry: If True, attempt to check the widget's text entry
+ using the logic described above.
"""
row = get_list_selected_row(widget, check_visible=check_visible)
if row is not None:
return row[column]
- if hasattr(widget, "get_has_entry"):
+ if check_entry and hasattr(widget, "get_has_entry"):
if widget.get_has_entry():
return widget.get_child().get_text().strip()

View File

@ -0,0 +1,114 @@
Subject: virt-xml: refactor the handling of --define and --update options
From: Pavel Hrdina phrdina@redhat.com Thu Jul 2 14:09:46 2015 +0200
Date: Tue Jul 7 10:42:32 2015 -0400:
Git: 76bad650dea9f83305f4a77bf83dee34d79e5308
The code was wrong in many ways. The main issue was, that for live
updates we were using config XML instead of live XML.
This patch fixes the --update and --define options to work properly as
described in man page.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1192875
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
diff --git a/virt-xml b/virt-xml
index 744af3d..5dbe2e1 100755
--- a/virt-xml
+++ b/virt-xml
@@ -295,6 +295,33 @@ def update_changes(domain, devs, action, confirm):
print_stdout("")
+def prepare_changes(xmlobj, options, parsermap, parserobj):
+ origxml = xmlobj.get_xml_config()
+
+ if options.edit != -1:
+ devs = action_edit(xmlobj, options, parsermap, parserobj)
+ action = "update"
+
+ elif options.add_device:
+ devs = action_add_device(xmlobj, options, parsermap, parserobj)
+ action = "hotplug"
+
+ elif options.remove_device:
+ devs = action_remove_device(xmlobj, options, parsermap, parserobj)
+ action = "hotunplug"
+
+ newxml = xmlobj.get_xml_config()
+ diff = get_diff(origxml, newxml)
+
+ if options.print_diff:
+ if diff:
+ print_stdout(diff)
+ elif options.print_xml:
+ print_stdout(newxml)
+
+ return devs, action
+
+
#######################
# CLI option handling #
#######################
@@ -410,10 +437,6 @@ def main(conn=None):
elif not options.build_xml:
inactive_xmlobj = _make_guest(conn, options.stdinxml)
- origxml = None
- if inactive_xmlobj:
- origxml = inactive_xmlobj.get_xml_config()
-
check_action_collision(options)
parserobj = check_xmlopt_collision(options, parsermap)
@@ -421,42 +444,25 @@ def main(conn=None):
fail(_("Don't know how to --update for --%s") %
(parserobj.cli_arg_name))
- if options.edit != -1:
- devs = action_edit(inactive_xmlobj, options, parsermap, parserobj)
- action = "update"
-
- elif options.add_device:
- devs = action_add_device(inactive_xmlobj, options,
- parsermap, parserobj)
- action = "hotplug"
-
- elif options.remove_device:
- devs = action_remove_device(inactive_xmlobj, options,
- parsermap, parserobj)
- action = "hotunplug"
-
- elif options.build_xml:
+ if options.build_xml:
devs = action_build_xml(conn, options, parsermap, parserobj)
for dev in util.listify(devs):
print_stdout(dev.get_xml_config())
return 0
- newxml = inactive_xmlobj.get_xml_config()
- diff = get_diff(origxml, newxml)
-
- if options.print_diff:
- if diff:
- print_stdout(diff)
- elif options.print_xml:
- print_stdout(newxml)
-
if options.update and active_xmlobj:
+ devs, action = prepare_changes(active_xmlobj, options,
+ parsermap, parserobj)
update_changes(domain, devs, action, options.confirm)
if options.define:
+ devs, action = prepare_changes(inactive_xmlobj, options,
+ parsermap, parserobj)
define_changes(conn, inactive_xmlobj, devs, action, options.confirm)
if not options.update and active_xmlobj:
print_stdout(
_("Changes will take effect after the next domain shutdown."))
+ if not options.update and not options.define:
+ prepare_changes(inactive_xmlobj, options, parsermap, parserobj)
return 0

View File

@ -0,0 +1,27 @@
Subject: connection: catch more errors in filter_nodedevs (bug 1225771)
From: Cole Robinson crobinso@redhat.com Tue Jun 9 11:41:39 2015 -0400
Date: Tue Jun 9 11:41:39 2015 -0400:
Git: 77423e7a8d2061f06f9f7d0b7a791821a134c8f7
https://bugzilla.redhat.com/show_bug.cgi?id=1225771 Has an example of
libvirt failing to generate nodedev XML, so handle that too.
diff --git a/virtManager/connection.py b/virtManager/connection.py
index d40ace2..3ca13cc 100644
--- a/virtManager/connection.py
+++ b/virtManager/connection.py
@@ -594,9 +594,11 @@ class vmmConnection(vmmGObject):
try:
xmlobj = dev.get_xmlobj()
except libvirt.libvirtError, e:
- if e.get_error_code() == libvirt.VIR_ERR_NO_NODE_DEVICE:
- continue
- raise
+ # Libvirt nodedev XML fetching can be busted
+ # https://bugzilla.redhat.com/show_bug.cgi?id=1225771
+ if e.get_error_code() != libvirt.VIR_ERR_NO_NODE_DEVICE:
+ logging.debug("Error fetching nodedev XML", exc_info=True)
+ continue
if devtype and xmlobj.device_type != devtype:
continue

View File

@ -0,0 +1,517 @@
Subject: addhardware: Fix udp/tcp host vs mode UI
From: Cole Robinson crobinso@redhat.com Sun Jun 21 15:14:30 2015 -0400
Date: Sun Jun 21 15:14:30 2015 -0400:
Git: fc93e154dc522a997689fbb370eac2d87f80b146
We had the UI label names swapped, so were showing the incorrect fields
diff --git a/ui/addhardware.ui b/ui/addhardware.ui
index a42f840..ec6a970 100644
--- a/ui/addhardware.ui
+++ b/ui/addhardware.ui
@@ -79,13 +79,13 @@
<object class="GtkLabel" id="page-title-label">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0</property>
<property name="xpad">6</property>
<property name="ypad">6</property>
<property name="label">Page title</property>
<property name="use_markup">True</property>
<property name="justify">fill</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0</property>
</object>
</child>
</object>
@@ -155,10 +155,10 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes">_Device type:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">config-storage-devtype</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -186,10 +186,10 @@
<object class="GtkLabel" id="label21">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes">_Bus type:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">config-storage-bustype</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -228,10 +228,10 @@
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes">Stor_age format:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">storage-format-combobox-entry</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -242,10 +242,10 @@
<object class="GtkLabel" id="label28">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes">Cac_he mode:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">config-storage-cache</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -325,10 +325,10 @@
<object class="GtkLabel" id="label29">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes">_Type:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">controller-type</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -339,10 +339,10 @@
<object class="GtkLabel" id="controller-model-label">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes">_Model:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">controller-model</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -468,11 +468,11 @@
<object class="GtkLabel" id="label386">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes">_MAC address:</property>
<property name="use_markup">True</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">create-mac-address</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -483,10 +483,10 @@
<object class="GtkLabel" id="label6">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes">Device mode_l:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">net-model</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -590,10 +590,10 @@
<object class="GtkLabel" id="label395">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">1</property>
<property name="label" translatable="yes">_Type:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">input-type</property>
+ <property name="xalign">1</property>
</object>
<packing>
<property name="x_options">GTK_FILL</property>
@@ -674,10 +674,10 @@
<object class="GtkLabel" id="label10">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">1</property>
<property name="label" translatable="yes">_Model:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">sound-model</property>
+ <property name="xalign">1</property>
</object>
<packing>
<property name="x_options">GTK_FILL</property>
@@ -711,11 +711,11 @@
<object class="GtkLabel" id="label20">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="xpad">1</property>
<property name="label" translatable="yes">Host _Device:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">host-device</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="x_options">GTK_FILL</property>
@@ -820,10 +820,10 @@
<object class="GtkLabel" id="char-port-label">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes">_Port:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">char-port</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
@@ -869,10 +869,10 @@
<object class="GtkLabel" id="char-bind-port-label">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes">Po_rt:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">char-bind-port</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
@@ -902,10 +902,10 @@
<object class="GtkLabel" id="char-path-label">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes">_Path:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">char-path</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -916,24 +916,24 @@
<object class="GtkLabel" id="char-mode-label">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes">_Mode:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">char-mode</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
- <property name="top_attach">8</property>
+ <property name="top_attach">7</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="char-host-label">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes">H_ost:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">char-host</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -944,24 +944,24 @@
<object class="GtkLabel" id="char-bind-host-label">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes">_Bind Host:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">char-mode</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
- <property name="top_attach">7</property>
+ <property name="top_attach">8</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="char-use-telnet-label">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes">Use Te_lnet:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">char-use-telnet</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -972,10 +972,10 @@
<object class="GtkLabel" id="label9">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes">Device _Type:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">char-device-type</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -998,10 +998,10 @@
<object class="GtkLabel" id="char-target-type-label">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes">T_ype:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">char-target-type</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -1023,10 +1023,10 @@
<object class="GtkLabel" id="char-target-name-label">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes">_Name:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">combobox-entry</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -1083,10 +1083,10 @@
<object class="GtkLabel" id="char-channel-label">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes">_Channel:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">char-channel</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -1142,10 +1142,10 @@
<object class="GtkLabel" id="label23">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes">_Model:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">video-model</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="x_options">GTK_FILL</property>
@@ -1192,10 +1192,10 @@
<object class="GtkLabel" id="label26">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes">_Model:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">watchdog-model</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="x_options">GTK_FILL</property>
@@ -1294,10 +1294,10 @@
<object class="GtkLabel" id="label30">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">1</property>
<property name="label" translatable="yes">_Mode:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">smartcard-mode</property>
+ <property name="xalign">1</property>
</object>
<packing>
<property name="x_options">GTK_FILL</property>
@@ -1347,10 +1347,10 @@
<object class="GtkLabel" id="label439">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes">_Port:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">usbredir-service</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
@@ -1381,10 +1381,10 @@
<object class="GtkLabel" id="label3213">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">1</property>
<property name="label" translatable="yes">_Type:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">usbredir-list</property>
+ <property name="xalign">1</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -1395,10 +1395,10 @@
<object class="GtkLabel" id="label438">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">1</property>
<property name="label" translatable="yes">_Host:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">usbredir-host</property>
+ <property name="xalign">1</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -1455,10 +1455,10 @@
<object class="GtkLabel" id="tpm-device-path-label">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes">Device _Path:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">tpm-device-path</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -1480,10 +1480,10 @@
<object class="GtkLabel" id="label35">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">1</property>
<property name="label" translatable="yes">_Backend:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">tpm-type</property>
+ <property name="xalign">1</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -1516,10 +1516,10 @@
<object class="GtkLabel" id="label4">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes">_Type:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">rng-type</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -1541,10 +1541,10 @@
<object class="GtkLabel" id="label8">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes">_Backend Type:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">rng-backend-type</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -1566,10 +1566,10 @@
<object class="GtkLabel" id="label12">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes">Backend _Mode:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">rng-backend-mode</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -1591,10 +1591,10 @@
<object class="GtkLabel" id="label17">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes">_Host:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">rng-connect-host</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -1622,10 +1622,10 @@
<object class="GtkLabel" id="char-port-label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes">_Port:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">rng-connect-service</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
@@ -1656,10 +1656,10 @@
<object class="GtkLabel" id="rng-bind-host-label">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes">B_ind Host:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">rng-bind-host</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -1687,10 +1687,10 @@
<object class="GtkLabel" id="char-port-label2">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes">P_ort:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">rng-bind-service</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
@@ -1721,10 +1721,10 @@
<object class="GtkLabel" id="label5">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes">_Device:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">rng-device</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -1768,10 +1768,10 @@
<object class="GtkLabel" id="panic-type-label">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes">Address _Type:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">panic-type</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -1792,10 +1792,10 @@
<object class="GtkLabel" id="panic-iobase-label">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes">_IO Base:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">panic-iobase</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>

View File

@ -1,3 +1,14 @@
-------------------------------------------------------------------
Wed Jul 8 11:29:25 MDT 2015 - carnold@suse.com
- bsc#937336 - ImportError using virt-install
virt-manager.spec
- Upstream bug fixes
76bad650-fix-virt-xml-define-and-update.patch
fc93e154-fix-udp-tcp-host-vs-mode-UI.patch
34db1af7-fix-adding-iscsi-pools.patch
77423e7a-connection-catch-more-errors-in-filter_nodedevs.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Jun 15 14:17:50 UTC 2015 - lma@suse.com Mon Jun 15 14:17:50 UTC 2015 - lma@suse.com
@ -7,7 +18,7 @@ Mon Jun 15 14:17:50 UTC 2015 - lma@suse.com
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Jun 8 06:07:48 MDT 2015 - carnold@suse.com Mon Jun 8 06:07:48 MDT 2015 - carnold@suse.com
- Update to virt-manager 1.2.0 - fate#318394: Update to version 1.2.1
virt-manager-1.2.1.tar.bz2 virt-manager-1.2.1.tar.bz2
* Bugfix release * Bugfix release
* Fix connecting to older libvirt versions (Michał Kępień) * Fix connecting to older libvirt versions (Michał Kępień)

View File

@ -1,7 +1,7 @@
# #
# spec file for package virt-manager # spec file for package virt-manager
# #
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -15,7 +15,6 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/ # Please submit bugfixes or comments via http://bugs.opensuse.org/
# #
%define with_guestfs 0 %define with_guestfs 0
%define askpass_package "openssh-askpass" %define askpass_package "openssh-askpass"
%define qemu_user "qemu" %define qemu_user "qemu"
@ -37,6 +36,10 @@ Source0: %{name}-%{version}.tar.bz2
Source1: virt-install.rb Source1: virt-install.rb
Source2: virt-install.desktop Source2: virt-install.desktop
# Upstream Patches # Upstream Patches
Patch1: 77423e7a-connection-catch-more-errors-in-filter_nodedevs.patch
Patch2: fc93e154-fix-udp-tcp-host-vs-mode-UI.patch
Patch3: 34db1af7-fix-adding-iscsi-pools.patch
Patch4: 76bad650-fix-virt-xml-define-and-update.patch
# SUSE Only # SUSE Only
Patch70: virtman-desktop.patch Patch70: virtman-desktop.patch
Patch71: virtman-kvm.patch Patch71: virtman-kvm.patch
@ -89,9 +92,9 @@ Requires: libosinfo >= 0.2.10
Requires: python-gconf Requires: python-gconf
Requires: virt-manager-common = %{verrel} Requires: virt-manager-common = %{verrel}
Requires: vm-install >= 0.5.6 Requires: vm-install >= 0.5.6
Requires: typelib(Libosinfo)
# Libvirt-glib # Typelib's
Requires: typelib(Libosinfo)
Requires: typelib(LibvirtGLib) Requires: typelib(LibvirtGLib)
# For console widget # For console widget
@ -126,6 +129,7 @@ Group: System/Monitoring
# This version not strictly required: virt-manager should work with older, # This version not strictly required: virt-manager should work with older,
# however varying amounts of functionality will not be enabled. # however varying amounts of functionality will not be enabled.
Requires: libosinfo >= 0.2.10
Requires: libvirt-python >= 0.7.0 Requires: libvirt-python >= 0.7.0
Requires: python-ipaddr Requires: python-ipaddr
Requires: python-libxml2 Requires: python-libxml2
@ -157,6 +161,10 @@ machine).
%prep %prep
%setup -q %setup -q
# Upstream Patches # Upstream Patches
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
# SUSE Only # SUSE Only
%patch70 -p1 %patch70 -p1
%patch71 -p1 %patch71 -p1

View File

@ -1,4 +1,6 @@
Use the correct qemu emulator based on the architecture. Use the correct qemu emulator based on the architecture.
We want to get away from using the old qemu-dm emulator
for Xen HVM guests so default to qemu-system-i386.
Index: virt-manager-1.2.1/virtinst/guest.py Index: virt-manager-1.2.1/virtinst/guest.py
=================================================================== ===================================================================
--- virt-manager-1.2.1.orig/virtinst/guest.py --- virt-manager-1.2.1.orig/virtinst/guest.py
@ -11,7 +13,7 @@ Index: virt-manager-1.2.1/virtinst/guest.py
import logging import logging
import urlgrabber.progress as progress import urlgrabber.progress as progress
@@ -811,14 +812,28 @@ class Guest(XMLBuilder): @@ -811,14 +812,29 @@ class Guest(XMLBuilder):
self.emulator = None self.emulator = None
return return
@ -40,7 +42,8 @@ Index: virt-manager-1.2.1/virtinst/guest.py
+ if os.path.exists(preferred_emulator): + if os.path.exists(preferred_emulator):
+ self.emulator = preferred_emulator + self.emulator = preferred_emulator
+ elif self.os.is_hvm() and self.type == "xen": + elif self.os.is_hvm() and self.type == "xen":
+ self.emulator = "/usr/lib/xen/bin/qemu-dm" + # We don't want to use the old qemu-dm for xen
+ self.emulator = "/usr/lib/xen/bin/qemu-system-i386"
+ elif not self.emulator: + elif not self.emulator:
+ self.emulator = "/usr/bin/qemu-kvm" + self.emulator = "/usr/bin/qemu-kvm"

View File

@ -6,7 +6,7 @@ Index: virt-manager-1.2.1/virtManager/connection.py
=================================================================== ===================================================================
--- virt-manager-1.2.1.orig/virtManager/connection.py --- virt-manager-1.2.1.orig/virtManager/connection.py
+++ virt-manager-1.2.1/virtManager/connection.py +++ virt-manager-1.2.1/virtManager/connection.py
@@ -904,7 +904,7 @@ class vmmConnection(vmmGObject): @@ -906,7 +906,7 @@ class vmmConnection(vmmGObject):
self.caps.get_cpu_values("x86_64") self.caps.get_cpu_values("x86_64")
try: try: