[virt-tools-list] [virt-manager PATCH v3] add support for showing and modifying scsi controller model

Chen chen_han_xiao at 126.com
Tue Jan 21 16:31:22 UTC 2014


At 2014-01-21 22:17:49,"Cole Robinson" <crobinso at redhat.com> wrote:

>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
I did a simple test like:
 +            model.append([None,  "Default"])
 +            model.append(["virtio-scsi", "Virtio SCSI"])
And keep the rest of codes unchanged.
We could change scsi-controller from "default" to "virtio-scsi",
but failed to change it from "virtio-scsi" to "defalut"
(press 'Apply' button, but nothing happed)
>
>>              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
>
>_______________________________________________
>virt-tools-list mailing list
>virt-tools-list at redhat.com
>https://www.redhat.com/mailman/listinfo/virt-tools-list
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/virt-tools-list/attachments/20140122/04ba3107/attachment.htm>


More information about the virt-tools-list mailing list