13:02:31 <alinefm> #startmeeting
13:02:31 <kimchi-bot> Meeting started Wed Aug 20 13:02:31 2014 UTC.  The chair is alinefm. Information about MeetBot at http://wiki.debian.org/MeetBot.
13:02:31 <kimchi-bot> Useful Commands: #action #agreed #help #info #idea #link #topic.
13:02:31 <alinefm> #meetingname scrum
13:02:31 <kimchi-bot> The meeting name has been set to 'scrum'
13:02:49 <alinefm> #info Agenda 1) Status 2) Open discussion
13:02:49 <alinefm> anything else?
13:04:41 <alinefm> ok.. so let's get started
13:04:51 <alinefm> #topic Status
13:04:51 <alinefm> #info Please provide your status using the #info command: #info <nickname> <status>
13:04:55 <YuXin> #info <YuXin> 1) Sent UI mockup for iSCSI targets and Kimchi peers 2) Working on iSCSI targets
13:05:08 <alinefm> #info alinefm sent an overview about all sprint 2 tasks
13:05:30 <alinefm> #info alinefm sent a RFC patch for discover kimchi peers features
13:05:49 <alinefm> #info alinefm is now working in finish the patch set to send them to review
13:05:50 <wenwang> #info wenwang Sent mockup of Authorization: Allow admin user change permission settings when VM is running
13:06:04 <royce> #info royce sent patch about refactor vmstorage name generation to resolve remaining vmstorage bugs
13:06:13 <wenwang> #info wenwang Sent RFC for Asynchronous event notify
13:06:36 <vianac> #info vianac sent RFC for download remote ISO feature and started working on that feature; reviewed patches on the mailing list
13:06:47 <wenwang> #info wenwang sent patch that add indicator when creating a network
13:07:15 <royce> #info royce investigated cherrypy large file upload UI and backend, also sent RFC  about this one, also prepared slides for Linux Con with Zhengsheng
13:07:36 <wenwang> #info wenwang Sent patch that fix bug of popup messages when log out
13:09:12 <alinefm> that's great, team!
13:09:16 <royce> #info royce tested merged patches on Power to make sure power bugs about vmstorage are fixed
13:10:01 <alinefm> I want to thank everyone for sending the RFC on time
13:10:13 <alinefm> it helps us a lot during the devel process
13:10:22 <pvital> #info pvital submitted 5 patches to support power (ppc) as one more default arch
13:10:52 <royce> its good for us to have a schedule and make sure  items working according to plan
13:11:15 <YuXin> aline, thanks for the summary of sprint2 features, that is quite helpful for UI team to uderstand the feature
13:11:29 <alinefm> royce, yeap
13:11:40 <alinefm> YuXin, I hope I can continue doing that in the next sprints =)
13:11:49 <YuXin> sure
13:12:05 <wenwang> Greate job alinefm
13:12:23 <alinefm> so now it is time for the patches! I thought in one patch set per person by the end of this week
13:12:33 <alinefm> sounds reasonable?
13:12:57 <alinefm> it means if one person has 2 features in this sprint, he/she just needs to send a patch set for one for these features
13:13:06 <alinefm> so we can start working on review/merge
13:13:10 <alinefm> what do you think?
13:14:47 <royce> I can try to make it before Monday, but I'm not sure other tasks such as async event can catch up the schedule as zhengsheng is on vacation:)
13:15:28 <YuXin> I will try to get iSCSI targets out within this week
13:16:28 <alinefm> royce, well remembered! but it is a special case IMO
13:16:45 <alinefm> wenwang, vianac, does that work for you?
13:17:25 <vianac> alinefm, ok, I'll send at least an initial version by EOW
13:18:16 <alinefm> vianac, but it needs to be functional, ok?
13:18:21 <wenwang> I think I can have one patch finished before the end of this week: Authorization: Allow admin user change permission settings when VM is running
13:18:26 <vianac> alinefm, ok
13:18:36 <alinefm> vianac, wenwang, great!
13:18:54 <alinefm> shall we move on to open discussion section?
13:18:57 <wenwang> alinefm: I think the async work might be arranged after that.
13:19:18 <alinefm> ok
13:19:44 <royce> alinefm, we can just do download function, without the progress, I think that'll be easier to achieve in this week
13:20:00 <alinefm> #topic Open Discussion
13:20:17 <alinefm> royce, yes - I also want to talk about download/upload
13:20:28 <royce> From me: about the upload api
13:21:22 <royce> If we adopt /storagepools/pool-name/upload -->return value is storage pool rather then a task id tracking download
13:22:11 <royce> If we adopt POST /storagepools/pool/storagevolumes -->for upload we will have param which is not json
13:23:09 <royce> because upload accept param which is a file handler from the input form <input type=file>
13:23:58 <alinefm> what is not json?
13:23:59 <YuXin> /storagepools/<pool-name>/storagevolumes is reasonable to me as it is just a way to create a volume by upload a file
13:24:22 <alinefm> YuXin, upload or download
13:24:31 <YuXin> upload
13:25:30 <royce> the input file
13:25:33 <alinefm> I think POST /storagepools/<pool-name>/storagevolumes can work well in both scenarios (upload and download)
13:25:51 <alinefm> and we pass a JSON {file: ....}
13:26:14 <royce> aline, we cannot specify a {'file': 'the path of file'}
13:26:56 <royce> the file is bytes stream and we get it from input form
13:27:07 <YuXin> royce, we willl use an ajax request to hanlde upload, right?
13:27:42 <royce> YuXin, hongliang and I took a look, ajax form data support in IE10+ and other browsers
13:28:07 <alinefm> royce, hm do you mean the upload will be done through UI?
13:28:11 <royce> means IE10- does not support it
13:28:14 <alinefm> by ajax requests
13:28:55 <royce> I'm thinking about API definition, the schema check...
13:29:11 <royce> and ajax requests
13:29:28 <alinefm> that way won't I be able to use curl to do upload?
13:30:23 <royce> haven't tried curl yet, I can take a look at this tomorrow
13:31:07 <YuXin> aline, brower can support upload, why not make it a feature of kimchi
13:31:49 <alinefm> YuXin, we can't provide a feature linked on UI
13:31:55 <alinefm> the API must work by itself
13:32:07 <alinefm> and the UI uses it for its matters
13:32:59 <royce> YuXin, do you know there is alternative for ajax form data on IE?
13:33:33 <YuXin> aline, since technically it works, do you mean we are blocked due failed to get a reasonable API design?
13:34:17 <royce> alinefm, what do you think I need to write in API def/schema, or I ignore this part?
13:35:19 <alinefm> my point is: all Kimchi features are accessible using only the API or from UI, right?
13:35:30 <alinefm> the UI only uses the API to properly display the data
13:35:40 <alinefm> we need to continue doing that
13:36:20 <alinefm> example: if we agree with the API /storagepools/<pool-name>/storagevolumes
13:36:35 <alinefm> it needs to work alone and with UI
13:36:40 <alinefm> does that make sense?
13:37:30 <YuXin> so you are worrying about using it with API?
13:37:49 <alinefm> yes
13:37:56 <YuXin> user has no way to create a volume by uploading a file through API
13:38:49 <YuXin> I belive file upload is supported in http specification, Royce, have you investigated that?
13:39:04 <royce> I think without UI this API can work, only thing is its param is not json string
13:39:25 <royce> YuXin, of course, you create a form and its input type is file
13:39:59 <alinefm> ok - let's do it simple by now
13:40:00 <YuXin> if it is part of http, other http client should be also can upload file
13:40:08 <alinefm> I mean, using the UI to do the upload
13:40:30 <alinefm> royce, YuXin, but we need a specific API for it
13:40:37 <YuXin> sure
13:40:43 <alinefm> POST /storagepools/<pool-name>/storagevolumes is used to create a volume using JSON
13:41:07 <alinefm> it can work for download too
13:41:10 <alinefm> vianac, ^
13:41:47 <alinefm> royce, maybe use your suggestion POST /storagepools/<pool-name>/upload
13:41:49 <alinefm> ?
13:42:43 <royce> alinefm, I need to try if a param which is a file handler can be handled by the controller properly of the storagevolumes collection
13:43:22 <alinefm> ok
13:43:28 <royce> if it works, I will use same with vianac
13:43:28 <alinefm> other solution would be... ?
13:44:01 <royce> If not... I would change the return value of storage pool action:(
13:44:15 <royce> to return task id
13:44:39 <royce> which seems little wired
13:45:12 <alinefm> so:
13:45:20 <alinefm> 1) try POST /storagepools/<pool-name>/storagevolumes with a file handler
13:45:25 <alinefm> if it does not work:
13:45:31 <alinefm> 2) POST /storagepools/<pool-name>/upload
13:45:36 <alinefm> royce, ^is that?
13:45:36 <royce> yes
13:45:53 <YuXin> if we pursure user experience, then we will use ajax, but only support ie10+, if pursue brower support completeness, we need to use brower built-in upload support
13:46:35 <alinefm> YuXin, usually we support current browser version - 1
13:46:42 <alinefm> which means IE10 and IE11
13:46:48 <YuXin> good
13:47:01 <royce> hongliang said there maybe alternative but complex, is there ? YuXin
13:47:01 <YuXin> royce, so no browser support issue
13:47:09 <alinefm> YuXin, is it supported on chorme and ff and mobile browsers?
13:47:24 <YuXin> no problem except IE
13:47:33 <royce> chrome and ff, tried, passed
13:47:56 <YuXin> royce, since IE10 and IE11 works, let us use ajax and take the most simplified approach
13:49:21 <YuXin> any more issues about upload/download? royce, I will further disscuss with you about details tomorrow
13:49:23 <alinefm> it is ok for me
13:49:40 <alinefm> don't forget to give a try on mobile - just to confirm it works
13:49:51 <YuXin> ok
13:50:03 <royce> good for me now
13:50:12 <YuXin> aline, for iSCSI targets, I see an API to get all iSCSI servers, I want to confirm whether we also update the iscsi sever section to be a dropdown list?
13:50:13 <alinefm> and royce, once you get a position about your tests let us know on ML
13:50:30 <royce> sure, alinefm, about the progress tracking
13:51:08 <alinefm> royce, we can posptone it as we need to update the Task resource to accommodate that
13:51:12 <alinefm> YuXin, agree ^?
13:51:18 <YuXin> ok
13:51:34 <royce> do we still use task or do we wait for async event?
13:51:58 <wenwang> royce: I recommend you not wait
13:52:07 <alinefm> I'd say to use task by now
13:52:20 <royce> :)
13:52:20 <alinefm> and when we have async event working we make the changes to use it
13:52:28 <alinefm> YuXin, GET /storageservers?_target_type=iscsi
13:52:33 <YuXin> yes
13:52:38 <alinefm> this ^should return the list of servers/ports
13:52:43 <YuXin> yes
13:52:59 <YuXin> now, in UI, the server and port is input box
13:53:23 <YuXin> just want to discuss to make the server also a dropdown list for selection
13:53:43 <alinefm> it would be good
13:53:51 <alinefm> I think we do it for nfs, dont we?
13:54:11 <alinefm> the user starts typing the server and if one is found a drop down is displayed
13:54:35 <YuXin> yes, a filter select, I am trying to make it today
13:54:59 <YuXin> for nfs, we can do the same, but a separate patch
13:55:08 <alinefm> agree
13:55:21 <royce> nfs already ready for this
13:55:23 <alinefm> YuXin, I liked your mock for iscsi with the loading icon =)
13:56:18 <alinefm> anything else? we still have 4 minutes
13:56:42 <YuXin> I have been thinking to omit the icon but just show "loading targets..." there to get rid of complexity, but since it is desired, I will try to add it
13:59:22 <alinefm> with the icon it seems more beautiful ("beautiful" isn't the right word but..) but feel free to only display the text if you get blocked on it
13:59:50 <YuXin> no problem
14:00:22 <alinefm> is that all?
14:00:49 <YuXin> that is all for me
14:01:15 <royce> all for me
14:01:34 <alinefm> #action everyone will send one patch set by the end of this week (which means if you have 2 tasks just need to send a patch set for one of them)
14:01:41 <alinefm> thanks everyone for joining!
14:02:02 <alinefm> #endmeeting