[Spice-devel] [Engine-devel] SPICE Foreign Menu Using REST

Michal Skrivanek michal.skrivanek at redhat.com
Mon Jun 24 01:23:36 PDT 2013


On Jun 24, 2013, at 10:08 , Itamar Heim <iheim at redhat.com> wrote:

> On 06/24/2013 11:02 AM, Michal Skrivanek wrote:
>> 
>> On Jun 20, 2013, at 14:27 , Itamar Heim <iheim at redhat.com> wrote:
>> 
>>> On 06/20/2013 03:13 PM, Tomas Jelinek wrote:
>>>> 
>>>> 
>>>> ----- Original Message -----
>>>>> From: "Itamar Heim" <iheim at redhat.com>
>>>>> To: "Christophe Fergeau" <cfergeau at redhat.com>
>>>>> Cc: "Tomas Jelinek" <tjelinek at redhat.com>, "engine-devel" <engine-devel at ovirt.org>,
>>>>> spice-devel at lists.freedesktop.org, "Marc-André Lureau" <mlureau at redhat.com>
>>>>> Sent: Thursday, June 20, 2013 1:09:21 PM
>>>>> Subject: Re: [Engine-devel] [Spice-devel] SPICE Foreign Menu Using REST
>>>>> 
>>>>> On 06/20/2013 02:07 PM, Christophe Fergeau wrote:
>>>>>> Hey Itamar,
>>>>>> 
>>>>>> On Wed, Jun 19, 2013 at 06:00:47PM +0300, Itamar Heim wrote:
>>>>>>> On 06/19/2013 04:33 PM, Tomas Jelinek wrote:
>>>>>>>> Hi all,
>>>>>>>> 
>>>>>>>> for the non plugin invocation of the console
>>>>>>>> (http://www.ovirt.org/Features/Non_plugin_console_invocation) the
>>>>>>>> dynamicMenu property is not usable to enrich the SPICE client menu.
>>>>>>>> 
>>>>>>>> This feature is about requesting this menu using oVirt's REST API and
>>>>>>>> than calling it back once some item from this menu has been selected.
>>>>>>>> 
>>>>>>>> The oVirt's feature page with specific details:
>>>>>>>> http://www.ovirt.org/Features/Foreign_Menu_Using_REST
>>>>>>>> 
>>>>>>>> Any comments are more than welcomed.
>>>>>>> 
>>>>>>> Why are we putting the logic of the menu into the REST API?
>>>>>>> can't the menu be builded by client based on getting the list of
>>>>>>> ISO's and current CD?
>>>>>> 
>>>>>> The client needs a way to get the list of available ISOs in order to build
>>>>>> the menu, as well as a way to let the engine know when the user clicked on
>>>>>> an ISO in the menu. One way of doing that is to have the menu stuff exposed
>>>>>> in the REST API. Another way would be to expose the list of ISOs in the
>>>>>> REST API (I'd have a slight preference for that I think).
>>>>> 
>>>>> that's my preference as well, and the REST API should already do that today:
>>>>> - get list of ISOs of available in a DC (the one the VM is in)
>>>>> - ability to change the CD of the VM
>>>> Well, and what about the stop/suspend VM for example, what we have in the menu today?
>>> 
>>> supported as well.
>>> 
>>>> Also this should be something that the client decide to have or not have?
>>> 
>>> I think the client should decide on the features relevant to the client.
>>> 
>>>> 
>>>>> 
>>>>>> Or do you have anything in mind for the client to get the list of ISOs
>>>>>> available to the engine?
>>>>> 
>>>>> my preference is to provide the data, not the semantics of the menu.
>>>> We should clarify something here. There are two possibilities who should be responsible for deciding
>>>> what should the foreign menu contain and also what to do if it the item is selected:
>>>> 1: the client - e.g. we will not provide any support for the menu in REST because the client reads what needs
>>>>    and knows how to call the oVirt back
>>>> 
>>>> 2: the server side - e.g. we will provide in REST side the menu structure with the description what to do if something is
>>>>    selected
>>>> 
>>>> Both have some advantages and disadvantages but we need to clarify which way to go. So, who is the one responsible to decide
>>>> what is in the foreign menu (now or in the future) and how to react if something is selected? Client or engine?
>>> 
>>> my preference is the client will decide this, as there are various clients to the REST API, and each should decide which features are important for them.
>> 
>> I would agree as long as it is not hardcoded and can be change in some config file easily. We shouldn't wait for next RHEL release to do a little modification if possible.
>> I think "owning" the menu in some form on RHEV-M side has an advantage of delivery synchronization.
>> 
> 
> this forces you to maintain backward compatibility in the "Menu API", the client to handle ignoring new features/items in the menu they don't support yet, etc.
> while the *data* which is the important part is already in the stable, backward compatible, API.

i don't think it would be needed. We don't really need much features on spice client side except for displaying and invoking a generic REST call. Items support is based on Engine side if the menu is supplied by Engine side.


> 
>> 
>>> 
>>>> 
>>>>> iiuc, we are on the same page.
>>>>> 
>>>>>> 
>>>>>> Christophe
>>>>>> 
>>>>> 
>>>>> 
>>> 
>>> _______________________________________________
>>> Engine-devel mailing list
>>> Engine-devel at ovirt.org
>>> http://lists.ovirt.org/mailman/listinfo/engine-devel
>> 
> 



More information about the Spice-devel mailing list