[virt-tools-list] [virt-manager PATCH v3] add support for showing and modifying scsi controller model
Cole Robinson
crobinso at redhat.com
Tue Jan 21 14:17:49 UTC 2014
On 01/21/2014 04:19 AM, Chen Hanxiao wrote:
> From: Chen Hanxiao <chenhanxiao at cn.fujitsu.com>
>
> We could specify 'model' for scsi controllers,
> that means we could see more than one controllers
> with same icon and blank details.
> That will confuse users.
>
> This patch will show details of scsi controller device.
> And also we could modify scsi controller model
> between 'default' and 'virtio-scsi'.
>
> Signed-off-by: Chen Hanxiao <chenhanxiao at cn.fujitsu.com>
> ---
> v2: fix an issue if no scsi controller existed
> v3: code refactor according to cole's comments
>
> virtManager/details.py | 6 ++++--
> virtManager/domain.py | 21 +++++++++++++++------
> 2 files changed, 19 insertions(+), 8 deletions(-)
>
> diff --git a/virtManager/details.py b/virtManager/details.py
> index 32d51d7..aa48868 100644
> --- a/virtManager/details.py
> +++ b/virtManager/details.py
> @@ -3299,13 +3299,12 @@ class vmmDetails(vmmGObjectUI):
>
> type_label = virtinst.VirtualController.pretty_type(dev.type)
> model_label = dev.model
> - is_usb = dev.type == virtinst.VirtualController.TYPE_USB
> if not model_label:
> model_label = _("Default")
>
> self.widget("controller-type").set_text(type_label)
> combo = self.widget("controller-model")
> - uihelpers.set_grid_row_visible(combo, is_usb)
> + uihelpers.set_grid_row_visible(combo, True)
>
> model = combo.get_model()
> model.clear()
> @@ -3314,6 +3313,9 @@ class vmmDetails(vmmGObjectUI):
> model.append(["ich9-ehci1", "USB 2"])
> model.append(["nec-xhci", "USB 3"])
> self.widget("config-remove").set_sensitive(False)
> + elif dev.type == virtinst.VirtualController.TYPE_SCSI:
> + model.append(["default", "Default"])
> + model.append(["virtio-scsi", "Virtio SCSI"])
> else:
If you just do [None, "Default"] here, you don't need to specially handle
"default" in domain.py
> self.widget("config-remove").set_sensitive(True)
>
> diff --git a/virtManager/domain.py b/virtManager/domain.py
> index ada404b..6cfec3a 100644
> --- a/virtManager/domain.py
> +++ b/virtManager/domain.py
> @@ -822,16 +822,15 @@ class vmmDomain(vmmLibvirtObject):
>
> # Controller define methods
> def define_controller_model(self, devobj, newmodel):
> - def change(editdev):
> + def _change_usb(editdev):
> ignore = editdev
>
> guest = self._get_xmlobj_to_define()
> ctrls = guest.get_devices("controller")
> - ctrls = [x for x in ctrls if (x.type ==
> - VirtualController.TYPE_USB)]
> - for dev in ctrls:
> + ctrls_usb = [x for x in ctrls if
> + (x.type == VirtualController.TYPE_USB)]
> + for dev in ctrls_usb:
> guest.remove_device(dev)
> -
Most of these changes are redundant now, please drop them.
Thanks,
Cole
More information about the virt-tools-list
mailing list