From dab7e16c17017722e2e572cf0326f191e9d69a1f Mon Sep 17 00:00:00 2001
From: Giuseppe Scrivano <gscrivan@redhat.com>
Date: Fri, 14 Nov 2014 10:56:19 +0100
Subject: [PATCH] details: do not show MAC address if not set
Fixes this exception:
Traceback (most recent call last):
File "virt-manager/virtManager/create.py", line 1780, in finish
self.customize(guest)
File "virt-manager/virtManager/create.py", line 1812, in customize
self.config_window = vmmDetails(virtinst_guest, self.topwin)
File "virt-manager/virtManager/details.py", line 560, in __init__
self.populate_hw_list()
File "virt-manager/virtManager/details.py", line 3165, in populate_hw_list
self.repopulate_hw_list()
File "virt-manager/virtManager/details.py", line 3220, in repopulate_hw_list
update_hwlist(HW_LIST_TYPE_NIC, dev)
File "virt-manager/virtManager/details.py", line 3195, in update_hwlist
label = _label_for_device(dev)
File "virt-manager/virtManager/details.py", line 188, in _label_for_device
return "NIC %s" % dev.macaddr[-9:]
TypeError: 'NoneType' object has no attribute '__getitem__'
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1164123
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
(cherry picked from commit 741f2923d7767b31372114f245d4cb0ceef7ab83)
---
virtManager/details.py | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/virtManager/details.py b/virtManager/details.py
index d54be48..bf397ff 100644
--- a/virtManager/details.py
+++ b/virtManager/details.py
@@ -342,7 +342,10 @@ def _label_for_device(dev):
return "%s %s" % (ret, dev.disk_bus_index)
if devtype == "interface":
- return "NIC %s" % dev.macaddr[-9:]
+ if dev.macaddr:
+ return "NIC %s" % dev.macaddr[-9:]
+ else:
+ return "NIC"
if devtype == "input":
if dev.type == "tablet":
@@ -2832,7 +2835,11 @@ class vmmDetails(vmmGObjectUI):
vmmAddHardware.populate_network_model_combo(
self.vm, self.widget("network-model"))
uiutil.set_combo_entry(self.widget("network-model"), net.model)
- self.widget("network-mac-address").set_text(net.macaddr)
+
+ uiutil.set_grid_row_visible(self.widget("network-mac-address"),
+ bool(net.macaddr))
+ if net.macaddr:
+ self.widget("network-mac-address").set_text(net.macaddr)
self.netlist.set_dev(net)
--
1.9.3