[Kimchi-devel] Kimchi 1.3 Sprint 2 Overview
Aline Manera
alinefm at linux.vnet.ibm.com
Mon Aug 18 14:31:57 UTC 2014
On 08/18/2014 03:55 AM, Royce Lv wrote:
> On 2014?08?15? 01:44, Aline Manera wrote:
>> Hi all,
>>
>> As agreed in the last scrum meeting
>> (http://kimchi-project.github.io/kimchi/meetings/kimchi.scrum.2014-08-13-13.02.html),
>> I am sending to you an overview about the sprint 2 tasks.
>> That way everyone can be aware of what is expected in each task and
>> we don't block the UI development.
>>
>> Just to make clear, this is my view on each task!
>> Maybe you - the task owner - have a different view on that. In this
>> case, share your ideas with us.
>>
>> And *don't forget to send a RFC, V1 patch, UI mockup *or something
>> related to your task by *next Monday (08/18)*
>>
>> This email is just a summary to motivate you! ;-)
>>
>> *ISO pool: Support to download ISO from URL (vianac)*
>> The idea here is to provide a way to user download a ISO from URL to
>> the OOTB pool (ISO pool)
>>
>> POST /storagepools/ISO/storagevolumes/ {'name': <vol-name>, 'url':
>> <http|https|ftp://url>}
> I prefer using an action rather than POST to collection itself, reasons:
>
> 1. If upload share the same REST API with create volume, the model
> logic of create volume will be messed up. Since upload and create
> fulfill different tasks, we have reason to distinguish them.
> 2. If in the future, we support create volume based on another
> storage volume, we may use identical parameters and API as this one.
> That will confuse user.
> So to make the REST API match its function, I prefer to use
> "POST upload".
>
> I think upload and download can share same REST API.
>>
>> - name can be optional. We can generate one automatically based on
>> ISO path when any name is provided by user.
>> - url is required.
>>
>> Questions:
>> - Which protocols will we support? http, https, ftp? Any other?
> As I have proposed to utilize libcurl, I think we can keep in line
> with protocols libcurl support.
> Also qemu iso streaming uses libcurl, so if a user found an ISO useful
> when using iso streaming, he may want to download it with kimchi.
> If we keep same protocol, same urls can be used.
ACK.
>>
>> - About the UI, how do we show this feature to user?
>> Basically we have 2 options:
>> 1) In the storage tab:
>> Add an option "Add ISO" to the ISO pool (or any pool ?); get the
>> URL and display a progress bar.
>> 2) While creating a template:
>> Add an option "Download ISO"; get the URL and display a progress
>> bar.
>> When the download is completed, we create a template using the
>> new ISO.
>>
>> I prefer the first option (storage tab) as it can also be used for
>> upload ISO (see below)
> ACK.
>>
>> *ISO pool: Support to upload ISO*
>> This has a similar idea from downloading ISO from URL, but instead of
>> providing a URL the user will select a local file on client side.
>>
>> POST /storagepools/ISO/storagevolumes/ {'name': <vol-name>,
>> 'filepath': filepath}
>>
>> For the UI we also have the same 2 options from downloading ISO from
>> URL feature
>>
>> I prefer the first one (storage tab) as we can use the same UI for
>> both cases, download and upload.
>>
>> While selection "Add ISO" option, a new dialog will be displayed with
>> a radio box: a browser input box (for upload) and a simple input box
>> for URL (for download). The user can only select one option and
>> confirm the operation.
>>
>> *Create template from VM (rotru)*
>> This will use the same backing storage mechanism used to create a
>> template from a IMG file.
>>
>> POST /templates {'name': <template-name>, 'vm': <vm-name>}
>>
>> About the UI:
>> We have 2 options:
>> 1) When creating a template:
>> Add an option "From guest"; then list all guests to user choose
>> one (or multiples ? ) and do the requests
>> 2) On guests Actions menu
>> Add an option "Create template" and do the request
>>
>> I prefer the first option (while creating a template)
> ACK.
>>
>> *Discover Kimchi peers(alinefm)*
>> This will use openSLP to register and discover Kimchi peers in the
>> same network.
>>
>> GET /peers will return the Kimchi peers
>> [{server: "https://1.2.3.4:8001"}, {server: "https://1.2.3.5:8001"}...]
>>
>> I think this feature should be optional, ie, we will have a config
>> file entry that can be enabled/disabled - as this feature is not
>> critical for virtualization and requires additional software
>> installation (openSLP) and configuration.
>>
>> federation = enable|disable
>>
>> When enabled, the kimchi server will be register in the openSLP tool
>> and when requesting /peers we will search for peers
>>
>> When disabled, /peers will return an empty list. Maybe it would be
>> good to also display a message on UI "Federation feature is disabled
>> for your Kimchi server."
>> To display that message, we need to update /config/capabilities to
>> also return this info.
>>
>> GET /config/capabilities
>> { ...
>> federation: enable|disable
>> }
>>
>> *Migration(Simon Jin)*
>> This task was added after we have finished the 1.3 Plan. So it would
>> be difficult to accommodate the UI for it in out current plan.
>> So I'd say I only expect to have the backend done for 1.3 release.
>>
>> POST /vms/<name>/migrate {server: <other-kimchi-server-ip>}
>>
>> *Asynchronous event notify(Sheldon Feng/Zhengsheng Zhou)[backend]*
>> *Asynchronous event notify(WenWang)[UI]*
>> This is an important and big task. But I am not sure we will be able
>> to finish it on time for 1.3 release.
>> We have already started some discussion on ML "[Kimchi-devel] [RFC]
>> Improve task management for kimchi"
>> (http://lists.ovirt.org/pipermail/kimchi-devel/2014-June/006230.html)
>>
>> *Authorization: Allow admin user change permission settings when VM
>> is running (WenWang)
>> *The idea is display the same "Edit" dialog view when vm is running
>> or not.
>> And when vm is running only enable the information that can be
>> updated with running vm for editing.
>> That way we eliminate the "Manage Media" option and keep the UI
>> consistent. And also provide a way to user checks the vm
>> configuration (https://github.com/kimchi-project/kimchi/issues/387)
>>
>> *VM ticket: update novnc/spice code (sheldon)*
>> POST /vms/<name>/connect will automatically set a random console
>> password for the VM and sets its expiration time to 10 seconds later.
>> When accessing the console URL, we need to pass the password as a
>> parameter (password=...) so noVNC/Spice can do the connection to the
>> guest console.
>>
>> *Display iSCSI targets when iSCSI server is provided (backend done in
>> 3c6c5c) (Yu Xin)*
>> It is similar to what we did for NFS servers. But in this case we
>> will list the iSCSI targets for a given server.
>>
>> GET /storageservers?_target_type=iscsi
>> [
>> { "host":"127.0.0.1"
>> "port":"3260"
>> }
>> ]
>>
>> GET
>> /storageservers/<server>/storagetargets?_target_type=iscsi&_server_port=<port>
>> [
>> {
>> "host":"127.0.0.1",
>> "target":"iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.edb1a004dc57",
>> "target_type":"iscsi"
>> }
>> ]
>>
>> -----------
>> And thanks for your patience if you were reading this line now! :-)
>> I know it is a big email but it could not be different based on the
>> tasks we have for sprint 2.
>>
>> Feel free to use it as base for your RFC email.
>> I am looking forward to see all that done.
>>
>> Regards,
>> Aline Manera
>>
>>
>> _______________________________________________
>> 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/20140818/dae2dab9/attachment.html>
More information about the Kimchi-devel
mailing list