13:02:15 <alinefm> #startmeeting
13:02:15 <kimchi-bot> Meeting started Wed Aug 13 13:02:15 2014 UTC.  The chair is alinefm. Information about MeetBot at http://wiki.debian.org/MeetBot.
13:02:15 <kimchi-bot> Useful Commands: #action #agreed #help #info #idea #link #topic.
13:02:15 <alinefm> #meetingname scrum
13:02:15 <kimchi-bot> The meeting name has been set to 'scrum'
13:02:28 <alinefm> #info Agenda 1) Status 2) Open discussion
13:02:28 <alinefm> anything else?
13:04:45 <alinefm> #topic Status
13:04:45 <alinefm> #info Please provide your status using the #info command: #info <nickname> <status>
13:05:06 <alinefm> #info royce bebased and merged image based template
13:05:24 <alinefm> #info royce fixed wrong bus type in power, refactored device name generation
13:05:40 <alinefm> #info royce helped to address problem of cdrom update, sent 3 patches
13:06:04 <pvital> #info pvital submitted a patch to change the default environment configuration to production mode.
13:06:23 <alinefm> #info alinefm updated makefile to include spice.css
13:06:53 <alinefm> #info alinefm fixed kimchi running on power by removing a hard coded x86_64 arch
13:06:59 <pvital> #info pvital is working in a patch set to make upstream Kimchi fully enabled on Power machines
13:07:09 <pvital> #info pvital reviewed some patches
13:07:10 <alinefm> #info alinefm fixed issue #340
13:07:33 <alinefm> #info alinefm sent patch to properly list host partitions for Ubuntu 14.04 server
13:08:01 <alinefm> #info alinefm sent patch to request /config/capabilities just once on UI and as soon as possible
13:08:14 <vianac> #info vianac reviewed patches on the mailing list
13:08:25 <alinefm> #info alinefm is working with royce and christy to fix problems while updating cdrom value
13:09:44 <rotru> #info rotru working to enable kimchi open HELP pages from plugins
13:11:24 <alinefm> anything else?
13:12:41 <alinefm> ok...
13:12:51 <alinefm> today we are finish the sprint 1 stabilization
13:13:06 <alinefm> which means we need to start working on the sprint 2 features now =)
13:13:27 <alinefm> https://github.com/kimchi-project/kimchi/wiki/Todo-1.3
13:14:00 <alinefm> there are just 2 tasks without owners at the moment
13:14:21 <alinefm> anyone would like to pick one of them?
13:15:24 <wenwang> I can do the UI work of the Authorization
13:15:53 <alinefm> sure, wenwang!
13:15:57 <alinefm> I will update the wiki
13:16:46 <alinefm> more volunteers? =)
13:17:01 <wenwang> Also, I think I can do the work of listing Kimchi peers
13:17:17 <YuXin> I will handle list kimchi peers
13:17:29 <alinefm> wenwang, that would be great! but make sure to don't overload you
13:19:34 <alinefm> I will set the list kimchi peers to YuXin as the pci passthrough UI is already done
13:20:14 <alinefm> wenwang, about the authorization one: I talked to YuXin to make the full "edit" dialog available when the vm is running and disable what does not make sense for a running vm
13:20:21 <alinefm> you can talk to him for more details too
13:20:47 <wenwang> alinefm: sure
13:21:26 <YuXin> Display iSCSI targets when iSCSI server is provided (backend done in 3c6c5c)
13:21:40 <YuXin> seems like this one also has no owner
13:22:26 <YuXin> aline, assign this to me also
13:22:27 <alinefm> YuXin, do you think you can hold this one too?
13:22:33 <YuXin> ok
13:24:13 <YuXin> As "PCI Passthrough" is done actually, so I can handle "list kimchi peers" and "iSCSI targets"
13:24:27 <YuXin> then each of UI member has 2 items
13:24:35 <alinefm> sounds a good plan
13:25:01 <alinefm> about the non-assigned backend tasks I will check if royce can pick one and the upload task I need to check with sdxaio
13:25:49 <rotru> alinefm;  you can set "Create template from VM" to me
13:26:06 <alinefm> oh! thanks, rotru!
13:27:10 <alinefm> so I want to see at the ML by next Monday (08/18) a RFC, a V1 patch, a mockup UI or something
13:27:29 <alinefm> we need to start the feature discussion as soon as possible
13:27:46 <wenwang> sounds great!
13:27:54 <alinefm> rotru, shaohef, vianac, YuXin, ok? ^
13:28:12 <rotru> alinefm;  ok!
13:28:20 <alinefm> wenwang, YuXin, the mockup UI does not need to have a code! it can be just an image
13:28:42 <vianac> alinefm, ok
13:28:48 <wenwang> alinefm: Okay, np
13:30:08 <alinefm> #action everyone assigned to a task will send to ML a RFC, a V1 patch, a mockup UI or something by next Monday (08/18)
13:30:26 <alinefm> any question? or we can move on...
13:31:15 <YuXin> aline, for UI mockup, we need to backend RFC to have the API designed first
13:32:19 <YuXin> or at least some one send out a description of the feature about what content and information need to be presented
13:33:27 <alinefm> right! I can send an overview for all tasks by EOD tomorrow
13:33:34 <YuXin> many thanks
13:33:47 <wenwang> thanks alinefm
13:34:01 <alinefm> and then each owner can make suggestion and propose changes on it
13:34:06 <shaohef> alinefm: OK
13:34:09 <YuXin> exactly
13:34:11 <alinefm> that way we don't block the UI
13:34:18 <YuXin> exactly
13:34:55 <alinefm> #action alinefm send an overview for all tasks by EOD tomorrow (08/14)
13:35:36 <YuXin> if API can be designed first with url and json response, it will greatly save UI from blocking
13:35:51 <YuXin> Aline, I believe you will shape a good model for everyone
13:36:55 <alinefm> I hope too =)
13:37:03 <alinefm> let's move on to open discussion section now
13:37:38 <alinefm> #topic Open Discussion
13:37:47 <alinefm> what do you want to discuss today?
13:38:14 <YuXin> from shaohe's VNC password patch, I see something to discuss
13:38:43 <alinefm> please, go ahead
13:38:44 <YuXin> there are already many options in VM edit, and it will ever evolve in the furthre
13:38:58 <rotru> I have a topic
13:39:19 <YuXin> now, we save at an unit per tab
13:39:40 <YuXin> but I think it is better to save what a user truly change
13:40:24 <YuXin> from virt-manager, I see for each item like cpu, memory, if any item changed, it need to be save at once
13:40:24 <alinefm> are you saying even if I don't change any value, all fields are send to the PUT request?
13:41:02 <YuXin> from the design, I think it is saved per tab, right?
13:41:11 <alinefm> right
13:42:02 <YuXin> {"name":"VM-01","cpus":2,"memory":1024}
13:42:15 <YuXin> I only changed cpu, but all are posted to server
13:43:14 <YuXin> now, shaohe add vnc password as a separate tab, aline, you have comment to add it also to general tab
13:44:14 <alinefm> yes
13:44:29 <alinefm> I proposed that as it is part of the same PUT request made on general tab
13:44:37 <YuXin> if user only update cpu, others should not be posted and be updated on vm also
13:44:44 <alinefm> agree
13:45:07 <alinefm> what about use the same design of network and storage tab?
13:45:17 <YuXin> that is what I prefer
13:45:20 <alinefm> the first view, we display only labels
13:45:28 <alinefm> with an edit icon
13:45:33 <YuXin> aline, this is about granularity
13:45:42 <alinefm> when selecting edit, this icon turn to save one
13:45:55 <alinefm> and on each click on save we perform a request
13:45:57 <YuXin> so for each item, we should give user a way to save it separately, right?
13:46:06 <alinefm> yes
13:46:20 <alinefm> that is what we did for storage and network, right?
13:46:30 <YuXin> yes
13:46:44 <YuXin> and we also support save multiple items in batch
13:46:56 <YuXin> so I think here we can copy virt-manager
13:47:08 <YuXin> virt-manager use a button named 'apply'
13:47:36 <YuXin> so for each item in general tab, we follow an 'apply' button
13:48:02 <YuXin> if user changed that item, enable the apply button, and if user click on that button, post to save it
13:48:13 <YuXin> but the dialog window does not close
13:48:29 <alinefm> sounds good for me
13:48:35 <alinefm> but can't we use the same edit/save icons used on network/storage tabs?
13:48:39 <YuXin> if user click on OK button, post all changed field to save them and close the dialog
13:48:42 <alinefm> instead of this apply button
13:48:59 <YuXin> that is ok
13:49:23 <YuXin> I will try to get a mockup out for comments
13:49:32 <rotru> I have worked in a problem relates to plugins and their help page.
13:49:33 <rotru> Currently, kimchi is not able to open a help from a plugin, because of the tabe url link (plugins have #plugins/XXX instead of #tab/XXX).
13:49:33 <rotru> This is easy to fix, however, we need to set a static dir to all plugins help page.
13:49:33 <rotru> We have some options:
13:49:33 <rotru> 1) Force plugins to copy help pages to Kimchi's ui/pages/help path (I don´t like this)
13:49:34 <rotru> 2) Force plugins to have the same structure that kimchi: plugins/XXXX/ui/pages/help/LANG/
13:49:36 <rotru> Choosing (2), Kimchi could set the static path to each plugin help page on the fly when it loads them.
13:49:40 <rotru> What do you guys think ?
13:49:56 <alinefm> YuXin, that would be great! but anyway, I think it is a good approach
13:50:09 <YuXin> ok
13:50:10 <alinefm> YuXin, are you be responsible to make those changes? may I add a task for it?
13:50:29 <YuXin> ok
13:51:27 <alinefm> moving on to help problem pointed by rotru
13:52:27 <alinefm> 1) I don't like it. Each plugin should have its own dir structure
13:52:59 <alinefm> 2) For this option, we need to make it configurable IMO. One plugin may not have a help page
13:53:04 <alinefm> how handle this case?
13:53:20 <alinefm> or we will force each plugin to have a help page (which I don't like) ?
13:54:09 <rotru> alinefm;  Its possible to not force
13:54:10 <alinefm> shaohef, vianac ^
13:54:46 <rotru> alinefm;  in this case, kimchi would fails with "URL not found" .. .then move to guest tab ( this is what happens today )
13:55:41 <rotru> alinefm;  or, we can create a default kimchi html, saying that help is not available for that plugin/tab
13:55:49 <alinefm> ouch!
13:56:07 <alinefm> rotru, yeap! this is what I'd say
13:56:08 <YuXin> in UI, whether each plugin tab has a ? to lauch its help content, or plugin help content is merged to kimchi help and all lauched with that ? of kimchi?
13:56:46 <alinefm> each plugin has its own help
13:56:54 <alinefm> it is a separated html file
13:57:13 <alinefm> sorry, each tab has its own help (as a plugin can have multiple tabs)
13:57:28 <YuXin> then there will be a ? along with each plugin tab?
13:57:37 <alinefm> yes
13:57:45 <alinefm> it is part of the framework
13:58:07 <alinefm> as the ? appears under the logged user menu
13:58:34 <alinefm> rotru, but cherrypy starts up without errors, even point to it a non-existent dir?
13:58:37 <YuXin> plugin has a xml configuration file, add an entry in that xml file for each tab with the help.html
13:59:11 <YuXin> then we click the ? in each tab to lauch the tab help can get it to work?
13:59:17 <alinefm> YuXin, oh! that will solve all problems =)
13:59:18 <alinefm> rotru, ^
13:59:22 <rotru> alinefm;  I see some cherrypy errors in the console, but did not pay attention at this moment ...
13:59:53 <alinefm> YuXin, and if the tab does not have a help page setup on tabs.xml we remove the ? option from the menu?
14:00:03 <YuXin> yes
14:00:03 <rotru> YuXin; I can check this option
14:00:41 <shaohef> YuXin: do you mean put the help.html path  in xml configure file? if no help.html path , then a default help.html?
14:01:14 <YuXin> without help.html, does not show the ? on UI, so user can not launch it
14:02:18 <YuXin> I worry about the UI design, how to make it looks good and from user's perspective, plugin and kinchi base are integrated well
14:02:24 <rotru> YuXin; we cannot add the full help.html path in the xml, because the path is defined on the fly
14:03:02 <alinefm> rotru, in the xml you defined the API to access the file
14:03:06 <rotru> YuXin;  oh, nevermind what I said
14:03:06 <alinefm> not the real path on system
14:03:21 <rotru> alinefm;  I see , just open the xml
14:03:25 <shaohef> YuXin:  can a API for help.html?   GET /tabs/helps ?
14:03:52 <alinefm> shaohef, we already have it
14:03:53 <rotru> shaohef;  plugins does not use 'tabs'
14:03:56 <alinefm> but  the API is /help
14:04:11 <YuXin> shaohe, the tab.xml will pass to client, and just a entry there will get all the configure and UI processing will be straight-forward
14:04:38 <alinefm> I think the main problem is on backend
14:04:53 <alinefm> how to expose or not the plugin help dir?
14:05:03 <YuXin> host     guest    template    storage pool    network   administration(?)   xxxx(?)
14:05:19 <alinefm> the best way to do that would have the plugin config dir has a property for it
14:05:45 <alinefm> rotru, in this case you will need to have a plugin.conf.in and substitute the values on build time
14:06:11 <alinefm> BUT for it works for install and local tests, the plugin must be set as a git sub-module
14:06:25 <alinefm> I mean, a git sub-module on local git repo
14:08:41 <alinefm> http://fpaste.org/125249/14079388/
14:09:05 <alinefm> we already pass all the plugin config to cherrypy
14:10:17 <rotru> alinefm;  there is not guarantee that /foo/bar/ path will be always used
14:10:58 <alinefm> I know, because that you need to build it on build time using autoconf
14:11:02 <alinefm> like we did on kimchi
14:11:16 <alinefm> @datadir@/ui/help
14:11:27 <alinefm> and substitute it for the real path on build time
14:13:20 <rotru> alinefm;  I see
14:13:27 <rotru> This is an option too
14:13:59 <alinefm> is there any special reason to you don't use git sub-module on local setup?
14:14:41 <rotru> alinefm; I am not sure about this
14:17:18 <alinefm> rotru, could you do a test on it?
14:17:30 <rotru> alinefm; sure
14:17:47 <alinefm> I mean, generate your help dir config on build time + git sub-module and see it if works for local setup?
14:18:01 <alinefm> and the test the installation too, of course
14:18:27 <alinefm> *and then
14:19:04 <rotru> alinefm; ok
14:19:34 <alinefm> rotru, and let me know if you have any special reason to don't use git sub-module
14:20:12 <rotru> zhshzhou;  ^?  any idea ?
14:22:33 <alinefm> seems we have a good plan
14:22:46 <alinefm> we are over time team
14:23:00 <alinefm> feel free to send to ML any other topic you want to discuss
14:23:35 <alinefm> thanks everyone for joining and for the great discussions too
14:23:57 <alinefm> #endmeeting