Aline,
Actually it'sa backend issue. Today we are raise exceptions but we need
to call the task callback for failure instead.
For example, if you do this in your _attach_pci_device() ->
vmhostdevs.py:
try:
self._validate_pci_passthrough_env()
except:
cb('Failed', False)
you should see the error.
However, there's a number of issues that can happen in this process and
we need a way to send those error to the front-end in order to be able
able to display each of them accordingly.
Why do not _validate_pci_passthrough_env() receives cb as parameter and
automatically updates the Task status?
On Thu, Jul 21, 2016 at 11:21:14PM +0000, Samuel Henrique De Oliveira
Guimaraes wrote:
> When the reques tis completed, I receive some Ajax errors on the screenshots and the
following output on Wok log:
>
> WOKOBJST0001E: Unable to find aedfc2e5-7cb2-4d48-9471-70d06d781e23 in datastore
> ERROR:cherrypy.error:WOKOBJST0001E: Unable to find
aedfc2e5-7cb2-4d48-9471-70d06d781e23 in datastore
> WOKOBJST0001E: Unable to find 29b4f639-ce59-4ae6-a0f1-667fddae3bb5 in datastore
> ERROR:cherrypy.error:WOKOBJST0001E: Unable to find
29b4f639-ce59-4ae6-a0f1-667fddae3bb5 in datastore
> WOKOBJST0001E: Unable to find 24b61c72-d0f8-48e7-802c-ce6aadbb05a5 in datastore
> ERROR:cherrypy.error:WOKOBJST0001E: Unable to find
24b61c72-d0f8-48e7-802c-ce6aadbb05a5 in datastore
> WOKOBJST0001E: Unable to find 3f59d60a-206c-4917-ba74-24edfc23cd36 in datastore
> ERROR:cherrypy.error:WOKOBJST0001E: Unable to find
3f59d60a-206c-4917-ba74-24edfc23cd36 in datastore
> WOKOBJST0001E: Unable to find 454edf01-8a0e-4ee4-abf7-21a49d7471f0 in datastore
> ERROR:cherrypy.error:WOKOBJST0001E: Unable to find
454edf01-8a0e-4ee4-abf7-21a49d7471f0 in datastore
> WOKOBJST0001E: Unable to find aeebc4a1-5815-423c-8a1f-a04882d81dae in datastore
> ERROR:cherrypy.error:WOKOBJST0001E: Unable to find
aeebc4a1-5815-423c-8a1f-a04882d81dae in datastore
> WOKOBJST0001E: Unable to find 7bc8625c-8ec3-48e5-b7f7-7cf7956951b6 in datastore
> ERROR:cherrypy.error:WOKOBJST0001E: Unable to find
7bc8625c-8ec3-48e5-b7f7-7cf7956951b6 in datastore
> WOKOBJST0001E: Unable to find 2c2f4ef0-7ce0-4aad-b6c8-b891d21fbf40 in datastore
> ERROR:cherrypy.error:WOKOBJST0001E: Unable to find
2c2f4ef0-7ce0-4aad-b6c8-b891d21fbf40 in datastore
>
> I've added some console.log('') messages between the
getOngoingAttachingDevices function to make sure that it is running and it does runs after
the "/plugins/kimchi/vms/*guest*/hostdevs/" request is completed but it is too
late to filter for failed devices. I can remove the filter for tasks that are running and
always show the latest failure message but I don't think this should be the proper way
to tackle this issue.
>
> -----Original Message-----
> From: kimchi-devel-bounces(a)ovirt.org [mailto:kimchi-devel-bounces@ovirt.org] On
Behalf Of Samuel Henrique De Oliveira Guimaraes
> Sent: quinta-feira, 21 de julho de 2016 19:54
> To: Aline Manera <alinefm(a)linux.vnet.ibm.com>; sguimaraes943(a)gmail.com; Kimchi
Devel <kimchi-devel(a)ovirt.org>
> Subject: Re: [Kimchi-devel] [PATCH v2] [Kimchi] Issue #956: Unable to assign pci
passthrough devices through kimchi
>
> I think there's a timeout issue when attaching a PCI device. The same doesn't
happen when you try to detach it. The first time I try to attach the device, the browser
network console shows that the 'kimchi/vms/*vm*/hostdevs' request is not finished,
so for this I'll have to show the "loading" backdrop before the
"process" callback starts. The problem is that by the time it runs the function
getOngoingAttachingDevices() it doesn't show any result because the task already
failed.
>
> Samuel
>
> -----Original Message-----
> From: kimchi-devel-bounces(a)ovirt.org [mailto:kimchi-devel-bounces@ovirt.org] On
Behalf Of Aline Manera
> Sent: quinta-feira, 21 de julho de 2016 18:12
> To: sguimaraes943(a)gmail.com; Kimchi Devel <kimchi-devel(a)ovirt.org>
> Subject: Re: [Kimchi-devel] [PATCH v2] [Kimchi] Issue #956: Unable to assign pci
passthrough devices through kimchi
>
> Almost there! =)
>
> I noticed the following:
>
> 1. Tried to attach a device
> 2. Task was created but it failed
>
> [alinefm@alinefm-TP440 wok]$ curl -H "Content-Type: application/json" -H
> "Accept: application/json" -k
https://localhost:8001/plugins/kimchi/tasks/2
> {
> "status":"failed",
> "message":"KCHVMHDEV0003E: No IOMMU groups found. Host PCI pass
through needs IOMMU group to function correctly. Please enable Intel VT-d or AMD IOMMU in
your BIOS, then verify the Kernel is compiled with IOMMU support. For Intel CPU, add
'intel_iommu=on' to GRUB_CMDLINE_LINUX parameter in /etc/default/grub file. For
AMD CPU, add 'iommu=pt iommu=1'.",
> "id":"2",
> "target_uri":"/plugins/kimchi/vms/opensuse42.1/hostdevs/"
> }[
>
> 3. I could see a request on
> /tasks?target_uri=status=running&target_uri=/plugins/kimchi/vms/*name*/hostdevs
>
> The problem is the task status is failed. So it is running nothing and no error is
shown.
>
> On 07/21/2016 05:49 PM, sguimaraes943(a)gmail.com wrote:
>> From: Samuel GuimarĂ£es <sguimaraes943(a)gmail.com>
>>
>> This commit fixes an issue with PCI passthrough devices through Kimchi.
>> It also addresses an enhancement to display success messages when some actions
doesn't require the Save button and there's no UI feedback to the user (Issue
#975).
>>
>> v2 - Added error callbacks for kimchi.addVMPCIDevice() and
kimchi.removeVMPCIDevice() to display error messages before if starts to track ongoing
tasks.
>>
>> Samuel GuimarĂ£es (1):
>> Issue #956: Unable to assign pci passthrough devices through kimchi
>>
>> model/vmhostdevs.py | 2 +-
>> ui/css/kimchi.css | 5 +
>> ui/css/src/modules/_edit-guests.scss | 4 +
>> ui/js/src/kimchi.guest_edit_main.js | 236
+++++++++++++++++++++++------------
>> ui/js/src/kimchi.guest_main.js | 10 +-
>> ui/pages/guest-edit.html.tmpl | 20 ++-
>> ui/pages/i18n.json.tmpl | 2 +
>> 7 files changed, 180 insertions(+), 99 deletions(-)
>>
> _______________________________________________
> Kimchi-devel mailing list
> Kimchi-devel(a)ovirt.org
>
http://lists.ovirt.org/mailman/listinfo/kimchi-devel
> _______________________________________________
> Kimchi-devel mailing list
> Kimchi-devel(a)ovirt.org
>
http://lists.ovirt.org/mailman/listinfo/kimchi-devel
> _______________________________________________
> Kimchi-devel mailing list
> Kimchi-devel(a)ovirt.org
>
http://lists.ovirt.org/mailman/listinfo/kimchi-devel