[Kimchi-devel] [PATCH] [Kimchi] Validate passthrough inside the task
Daniel Henrique Barboza
danielhb at linux.vnet.ibm.com
Thu Jul 28 18:55:54 UTC 2016
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ovirt.org/pipermail/kimchi-devel/attachments/20160728/5826add4/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 6762 bytes
Desc: not available
URL: <http://lists.ovirt.org/pipermail/kimchi-devel/attachments/20160728/5826add4/attachment.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 10440 bytes
Desc: not available
URL: <http://lists.ovirt.org/pipermail/kimchi-devel/attachments/20160728/5826add4/attachment-0001.png>
More information about the Kimchi-devel
mailing list