[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