[Kimchi-devel] [PATCH] [Kimchi] Validate passthrough inside the task

joserz at linux.vnet.ibm.com joserz at linux.vnet.ibm.com
Thu Jul 28 19:24:18 UTC 2016


I found the issue, I'm sending a new version to fix it
On Thu, Jul 28, 2016 at 03:55:54PM -0300, Daniel Henrique Barboza wrote:
> 
> 
> On 07/28/2016 03:54 PM, Socorro wrote:
> >
> >JFYI....in testing the UI PCI patch from before, I had also encountered
> >the Unknown Parameter error when clicking on the Filter dropdown.
> >
> 
> Yeah, as I've said, one of the errors was already there. My point is that we
> can't add a new one :)
> 
> >
> >On 07/28/2016 11:41 AM, Daniel Henrique Barboza wrote:
> >>I'll send my feedback here but consider that it belongs to all
> >>the 3 passthrough related patches you've sent.
> >>
> >>Testing in my TP, with your patches, I had one extra error
> >>when switching to the 'To Add' filter. In current master I have
> >>the following error:
> >>
> >>
> >>
> >>With your patch:
> >>
> >>
> >>
> >>There's an extra error 'Node device undefined not found'.
> >>
> >>Ideally you could get rid of all the errors in this window but at the
> >>very least we can't increase them.
> >>
> >>
> >>On 07/27/2016 11:00 PM, Jose Ricardo Ziviani wrote:
> >>>  - In order to validade if a given PCI is ok to be attached, a heavy
> >>>    verification has to be done. This commit add such verification
> >>>    in the task. This will give a faster response to the UI,
> >>>    improving the user experience.
> >>>
> >>>Signed-off-by: Jose Ricardo Ziviani<joserz at linux.vnet.ibm.com>
> >>>---
> >>>  model/vmhostdevs.py                 | 22 ++++++++++++++++-
> >>>  ui/js/src/kimchi.guest_edit_main.js | 47 ++++++++++++++++++++-----------------
> >>>  2 files changed, 47 insertions(+), 22 deletions(-)
> >>>
> >>>diff --git a/model/vmhostdevs.py b/model/vmhostdevs.py
> >>>index 15b5bec..ef39de3 100644
> >>>--- a/model/vmhostdevs.py
> >>>+++ b/model/vmhostdevs.py
> >>>@@ -89,7 +89,6 @@ class VMHostDevsModel(object):
> >>>
> >>>      def create(self, vmid, params):
> >>>          dev_name = params['name']
> >>>-        self._passthrough_device_validate(dev_name)
> >>>          dev_info = self.dev_model.lookup(dev_name)
> >>>
> >>>          if dev_info['device_type'] == 'pci':
> >>>@@ -216,6 +215,13 @@ class VMHostDevsModel(object):
> >>>          dev_info = params['dev_info']
> >>>          lock = params['lock']
> >>>
> >>>+        try:
> >>>+            self._passthrough_device_validate(dev_info['name'])
> >>>+
> >>>+        except InvalidParameter as e:
> >>>+            cb(e.message, False)
> >>>+            raise
> >>>+
> >>>          with lock:
> >>>              try:
> >>>                  self._validate_pci_passthrough_env()
> >>>@@ -455,6 +461,13 @@ class VMHostDevsModel(object):
> >>>          dev_info = params['dev_info']
> >>>          lock = params['lock']
> >>>
> >>>+        try:
> >>>+            self._passthrough_device_validate(dev_info['name'])
> >>>+
> >>>+        except InvalidParameter as e:
> >>>+            cb(e.message, False)
> >>>+            raise
> >>>+
> >>>          with lock:
> >>>              dom = VMModel.get_vm(vmid, self.conn)
> >>>
> >>>@@ -501,6 +514,13 @@ class VMHostDevsModel(object):
> >>>          dom = VMModel.get_vm(vmid, self.conn)
> >>>          lock = params['lock']
> >>>
> >>>+        try:
> >>>+            self._passthrough_device_validate(dev_info['name'])
> >>>+
> >>>+        except InvalidParameter as e:
> >>>+            cb(e.message, False)
> >>>+            raise
> >>>+
> >>>          with lock:
> >>>              with RollbackContext() as rollback:
> >>>                  xmlstr = self._get_usb_device_xml(dev_info)
> >>>diff --git a/ui/js/src/kimchi.guest_edit_main.js b/ui/js/src/kimchi.guest_edit_main.js
> >>>index 507ae75..5d91b14 100644
> >>>--- a/ui/js/src/kimchi.guest_edit_main.js
> >>>+++ b/ui/js/src/kimchi.guest_edit_main.js
> >>>@@ -546,9 +546,11 @@ kimchi.guest_edit_main = function() {
> >>>                      wok.message.error(err.responseJSON.reason, '#alert-modal-container');
> >>>                  });
> >>>              } else {
> >>>+                $('html').addClass('in-progress');
> >>>+                $('#form-guest-edit-pci > .wok-mask').show();
> >>>+                var haveCompanions = false;
> >>>+                var pciTitle = i18n['KCHVMED6007M'] + '\n';
> >>>                  kimchi.getPCIDeviceCompanions(id, function(infoData) {
> >>>-                    var pciTitle = i18n['KCHVMED6007M'] + '\n';
> >>>-                    var haveCompanions = false;
> >>>                      for (var p = 0; p < infoData.length; p++) {
> >>>                          if (infoData[p].device_type === 'net') {
> >>>                              haveCompanions = true;
> >>>@@ -564,24 +566,19 @@ kimchi.guest_edit_main = function() {
> >>>                              pciTitle += ', ' + i18n['KCHVMED6006M'] + ' ' + infoData[p].model + '\n';
> >>>                          }
> >>>                      }
> >>>-                    var settings = {
> >>>-                        title: i18n['KCHVMED6012M'],
> >>>-                        content: pciTitle,
> >>>-                        confirm: i18n['KCHAPI6002M'],
> >>>-                        cancel: i18n['KCHAPI6003M']
> >>>-                    };
> >>>+                });
> >>>+                $('#form-guest-edit-pci > .wok-mask').fadeOut(300, function() {});
> >>>+                $('html').removeClass('in-progress');
> >>>
> >>>-                    if (haveCompanions) {
> >>>-                        wok.confirm(settings, function() {
> >>>-                            kimchi.addVMPCIDevice(kimchi.selectedGuest, {
> >>>-                                name: id
> >>>-                            }, function(task) {
> >>>-                                getOngoingAttachingDevices(task);
> >>>-                            }, function(err) {
> >>>-                                wok.message.error(err.responseJSON.reason, '#alert-modal-container');
> >>>-                            });
> >>>-                        });
> >>>-                    } else {
> >>>+                var settings = {
> >>>+                    title: i18n['KCHVMED6012M'],
> >>>+                    content: pciTitle,
> >>>+                    confirm: i18n['KCHAPI6002M'],
> >>>+                    cancel: i18n['KCHAPI6003M']
> >>>+                };
> >>>+
> >>>+                if (haveCompanions) {
> >>>+                    wok.confirm(settings, function() {
> >>>                          kimchi.addVMPCIDevice(kimchi.selectedGuest, {
> >>>                              name: id
> >>>                          }, function(task) {
> >>>@@ -589,8 +586,16 @@ kimchi.guest_edit_main = function() {
> >>>                          }, function(err) {
> >>>                              wok.message.error(err.responseJSON.reason, '#alert-modal-container');
> >>>                          });
> >>>-                    }
> >>>-                });
> >>>+                    });
> >>>+                } else {
> >>>+                    kimchi.addVMPCIDevice(kimchi.selectedGuest, {
> >>>+                        name: id
> >>>+                    }, function(task) {
> >>>+                        getOngoingAttachingDevices(task);
> >>>+                    }, function(err) {
> >>>+                        wok.message.error(err.responseJSON.reason, '#alert-modal-container');
> >>>+                    });
> >>>+                }
> >>>              }
> >>>          });
> >>>      };
> >>
> >>
> >>
> >>_______________________________________________
> >>Kimchi-devel mailing list
> >>Kimchi-devel at ovirt.org
> >>http://lists.ovirt.org/mailman/listinfo/kimchi-devel
> >
> >
> >
> >_______________________________________________
> >Kimchi-devel mailing list
> >Kimchi-devel at ovirt.org
> >http://lists.ovirt.org/mailman/listinfo/kimchi-devel
> 

> _______________________________________________
> Kimchi-devel mailing list
> Kimchi-devel at ovirt.org
> http://lists.ovirt.org/mailman/listinfo/kimchi-devel




More information about the Kimchi-devel mailing list