13:01:37 #startmeeting 13:01:37 Meeting started Wed Sep 25 13:01:37 2013 UTC. The chair is aglitke. Information about MeetBot at http://wiki.debian.org/MeetBot. 13:01:37 Useful Commands: #action #agreed #help #info #idea #link #topic. 13:01:42 aglitke: let me fix it. 13:01:42 #meetingname scrum 13:01:42 The meeting name has been set to 'scrum' 13:01:54 Good day everyone! 13:02:02 hi all 13:02:08 aglitke: morning aglitke 13:02:18 hi team 13:02:27 Hey! Do we have important things today? 13:02:31 We have a decent amount of things to cover so let's get started. 13:02:44 royce: Yes. It's the last meeting before code freeze 13:03:02 #info Agenda: Outstanding release features 13:03:15 oh, right... I saw frank is with us, that's why I ask:) 13:03:16 #info 2) Distro testing 13:03:27 ahh fnovak... welcome! 13:03:33 fnovak: morning 13:03:48 In the demo recently, the iso streaming can not work properly. 13:04:00 I think we should have a good discussion. 13:04:12 ming: streaming of discover 13:04:22 streaming or discovery? 13:04:29 remote iso to create a VM 13:04:34 streaming, aglitke 13:04:45 ok... That is not expected to be supported until after the release. 13:05:09 aglitke: yes. today's demo always report error. 13:05:10 we have documented some issues about this one, and I'm willing to investigate them with alinefm 13:05:27 But we have a bunch of paches integrated for that feature. 13:05:31 ok, but let's make sure we handle this current release first. 13:05:40 royce, I checked them but I could not reproduce some of them 13:06:15 Let's start with the release stuff first because I am worried I have not seen patches for some of it. 13:06:17 I saw your reply alinefm, I'll find out if it is related with fc19 or libvirt 13:06:28 #topic Outstanding release features 13:06:47 alinefm, can you summary how we can test iso streaming feature partially off line. 13:06:50 (XD) Streamline template creation flows 13:07:11 I have sent out the patch 13:07:12 ming, royce, we can talk about it after meeting 13:07:23 xinding: I have not seen any patches from you yet concerning the UI flow for ISO scanning 13:07:36 xinding: today? 13:07:43 I sent it just now 13:08:05 [project-kimchi] [PATCH] Streamline template creation flows 13:08:06 ok. I will review ASAP. When does your next holiday begin? 13:08:23 28/9 13:08:50 ok. So we'll need to work hard to get this one nailed down before then. 13:08:57 I'll come back on 8/10 13:09:06 Next is: XD) Allow a user editing a template to specify a custom storage pool 13:09:41 I sent out the Patch [project-kimchi] [PATCH] Set a custom pool for a template 13:09:50 xinding: It seems that you have more items than others on the team. Maybe we can spread work out to zhoumeina or hlw 13:09:55 But the backend api is not ready 13:10:07 what is missing in the backend? 13:10:11 aglitke, shall I send backend patch with this one to check before create? 13:10:24 xinding: yes, maybe I can help with some item 13:10:43 no storagePool property in Template 13:10:54 it has the storagepool property 13:10:58 all lowercase. 13:11:27 well... you can specify it when creating a template but it is not listed when you GET a template 13:11:31 we need to fix that 13:11:39 royce: Can you check that? 13:11:50 of course, aglitke 13:11:56 I have not see it in API.md. I'll modify it 13:12:02 you should be able to add a template with a custom storage pool via the REST API today 13:12:18 xinding: not sure you need a update method like template . 13:12:29 so storage pool are specified by both vm and template create, right? 13:12:50 royce: today, yes. But let's only promote it for templates. 13:13:00 Can we ceate a Vm without template? 13:13:02 for vms we don't need to document it yet. 13:13:07 ming: no 13:13:28 but when creating a VM from a template, you can override anything in the template. 13:13:39 we just don't use that feature today. 13:13:42 Okay. 13:13:44 I see, aglitke, I plan to move the storage provisioning for vm to template class 13:14:06 planned 13:14:23 Actually, we don't have storage provisioning yet. 13:14:34 Tough we have storage pool. 13:14:34 hmm... Can we do that after release and still implement this single feature? 13:14:49 Ok, aglitke 13:14:55 royce: We only have 2 more days before feature freeze. 13:15:07 we need to be careful to finish what we have started. 13:15:33 so: royce will handle all backend changes and xinding will handle frontend,. 13:15:51 please work together and submit a single patch series with backend first, then frontent. 13:16:03 Deal! 13:16:06 ok 13:16:10 aglitke, I got patch to block the login after too many passs word check failure 13:16:12 thanks guys! 13:16:28 ming: Yeah, I don't think that needs to go in for release. 13:16:43 I saw some comment from Aline. 13:16:45 I think there was still some open discussion on it 13:17:06 aglitke, I think it is quite common for normal login 13:17:25 To protect the system from attack. 13:17:50 But you are using a delayed server response to implement it. 13:17:58 that's not protecting the server. 13:18:14 an attacker can use the rest api from multiple clients to work around your delay. 13:18:43 to implement properly, you'd have to implement a timer in the login rest api and simply deny new login attempts until the timer expires. 13:18:49 That's another problem. 13:19:08 then you'd need to enhance the client side to respect the timer and delay the form reset on the client. 13:19:47 The attacker can use their own client 13:20:06 right... that's why you have the server side timer in the rest api 13:20:28 you deny all logins from a given user (regardless of correct or incorrect pw) for a period of time. 13:20:44 then the attacker won't gain anything by bypassing the client side logic./ 13:21:24 the client-side logic just enforces the delay for the normal user so he doesn't get confused 13:21:55 anyway... this is not a priority for the 1.0 release so I'd like to move on. We can discuss on the list. 13:21:58 (HLW) Update UI to make use of enriched responses 13:22:15 it seems hlw is out... Does anyone have any info on this one? 13:22:56 zhoumeina: royce: ? 13:22:59 aglitke: I only know that hongliang is working on the language selecting this week 13:23:19 ok. I think this one is going to slip... Maybe... 13:23:40 aglitke, is enriched response means exception with reason and stack? 13:24:16 I was going to work on creating error message codes from the rest api so the UI could display a translated detailed message. 13:24:43 royce: I believe so. 13:24:54 RIght now we say "Template creation failed" 13:24:56 no reason 13:25:02 If it is, I'll check with him and debug with him 13:25:38 I think we will need a message catalog and then pass the error number or key when creating the exception 13:26:20 so the msg content in frontend, and error number in backend? Is that detailed enough? 13:26:24 royce: You did the error screen refactoring. I think we want to pass a reason key in the response body of an error page when it's json 13:26:28 aglitke, most of the exception raised will be handled by cherrypy. 13:26:29 So we need to do the translation in the front? 13:26:54 here is what I am thinking (probably too big for 1.0): 13:27:13 1. All backend exceptions need to decend from a common KimchiError class 13:27:24 I'm back 13:27:49 zhoumeina: you means we should translation the exception error? 13:27:49 all exceptions must be passed a reason key. Like the keys in i18n.html 13:27:53 then... 13:28:14 i18n.html will have translation strings for each possible reason key 13:28:33 OK 13:28:51 so when an exception happens in a rest api, the UI can translate the reason using the JS i18n scheme we have. 13:29:19 we need to declare all reason keys in the backend 13:29:23 exception.py 13:29:38 but can that be detailed enough for the reason? such as template invalid because remote iso xxx cannot be accessed? 13:30:15 Not sure, cherrpy will intercept the exception and translate the exception to its own. 13:30:19 gettext understands parameterized strings. We should find out if we can make those work in our current scheme 13:30:36 the rest api can return a reason key and reason data 13:31:00 then gettext needs to do translate(reason_key % reason_data) 13:31:26 shaohef can help here... gettext supports using printf-style msg strings 13:31:37 the granuity of the key is as big as InvalidParameter or TemplateinvalidforVm? 13:31:38 and it can accept data to fill into the translated string 13:32:02 granularity is one key per specific failure reason 13:32:10 aglitke: do you means _("msg") in python code? 13:32:11 so we have to make i18n.html support parameters. 13:32:14 MissingParameter 13:32:51 shaohef: yes.... _("Cannot find %s", data) 13:32:56 or something 13:33:13 aglitke: not only in html, right. 13:33:19 aglitke: yes, it is easy to me. 13:33:22 zhoumeina: Yes... But I think this is not possible for 1.0 13:34:00 shaohef: Are you working on any release features? 13:34:01 Let's move on 13:34:20 I have no feature now , so I can help with this 13:34:32 aglitke: no 13:34:45 aglitke: no release features for me 13:34:46 Let's see what else is outstanding. We can try for this one as a stretch. shaohef you can look at backend then. 13:35:11 aglitke: we should list the outstanding, both UI and backend. 13:35:13 (hlw) Add languange selector to login screen, set in session, update i18 to be sensitive to session setting 13:35:31 I am just running down https://github.com/kimchi-project/kimchi/wiki/Todo-September-Base 13:35:46 and listing items of priority 1,2,3 that are not listed as complete. 13:35:58 aglitke: and everyone to take some of the 13:36:01 aglitke: yes 13:36:44 zhoumeina: I wonder why hlw is not at the scrum... You say he is working on this? Any patches forthcoming? 13:37:12 yes , he is ready to send patch, but I don't know why he is absent 13:37:38 ok... hopefully we'll see that one soon. 13:37:55 That is all of the outstanding features on my list. 13:38:00 sure , he promise it will be sent this week 13:38:18 shaohef: and zhoumeina: Will you guys take a look at the i18n item? 13:38:25 sure 13:38:32 I will take the front end 13:38:33 aglitke, I sent patches to probe remote iso while creating a template 13:38:37 We need patches sent out before friday to allow for reviews. 13:38:44 I think it will be interesting to have it merged to the release 13:38:59 zhoumeina: I expect you'll need to work closely with shaohef. 13:39:08 alinefm, is that deep scan? 13:39:11 aglitke: sure. but we should not send error message in error.html 13:39:23 this is a complex feature so it may not be ready in time but we should try. 13:39:25 aglitke: but we should not put error message in error.html 13:39:25 aglitke: no problem 13:39:46 no, ming, it is for remote iso distro/version probe 13:39:54 I think that one is ready 13:40:11 aglitke: we can not do translation every html file, but not error.html 13:40:12 ming, no! It is only to identify distro and version from an url 13:40:21 so it is diso/version info detection. 13:40:25 shaohef: We need to think about how to implement this best. I think the error reason keys need to be defined in the backend, but they need to be translated in the frontend. 13:40:32 Is anyone reviewing this patch? [project-kimchi] [PATCH V5 0/7] support distros 13:40:50 xinding: Not yet... That will not make it before the release. 13:41:14 xinding: shaohef and I agreed to delay it. 13:41:15 But the template creation needs it 13:41:29 So I should remove it from UI? 13:41:32 What form of template creation? 13:41:44 xinding, just disabled it in UI 13:41:54 create template from remote iso images 13:42:02 I think deep scan should be disabled as well 13:42:04 yes, that needs to be disabled in the UI 13:42:15 deep scan and remote iso are not supported yet 13:42:21 so they should not be choices. 13:42:38 Ok, so there is only shallow scan 13:42:48 shallow scan and direct specify 13:42:55 we will enable the others for 1.1 13:43:13 xinding: I will still review the current patch to see how the UI will be laid out. 13:43:21 aglitke, xinding, maybe disable iso streaming too? 13:43:43 I don't think we are verifying the iso streaming support to enable/disable it 13:43:44 OK, I'll disable these features from UI and resent a patch 13:43:44 xinding: But you can use display:none to hide the parts that aren't ready 13:44:16 alinefm: it will always be disabled in this release. 13:44:40 ok 13:44:54 alright... any other items for release features? 13:45:40 ok 13:45:46 aglitke, my patches to probe remote iso is for now? 13:45:52 alinefm, I saw libvirt patch is not released, so users need to compile libvirt themselves for that one...Maybe after released we can enable it 13:45:55 or will be integrated in next release? 13:46:05 alinefm: I think that can wait, right? 13:46:16 It is not in FC 19 upgrade package yet? 13:46:44 aglitke, it is ready! and royce has already reviewed =) 13:46:48 but it is up to you 13:47:05 ok... I will look at it. 13:47:10 I like the probe remote iso feature, we wish that can be merged:) 13:47:12 I mean the ISO streaming support in libvirt. 13:47:17 right, ming 13:47:18 ok 13:47:33 #topic testing 13:47:39 In today's demo, I feel deeply we don' have much killer feature yet. 13:47:45 #link https://github.com/kimchi-project/kimchi/wiki/Testing-1.0 13:48:03 ISO streaming should be one, but can't work. 13:48:27 ming: 1.1 will bring that. We decided to delay it because it was not ready and it can't be supported on many distros. 13:48:59 for 1.1 we are going to add a workaround to make streaming work even if libvirt cannot support it natively. 13:49:00 RHEL6.4 service problem, we shall switch to sysV script, I think 13:49:24 royce: this is for testing topic? 13:49:26 royce, why? rhel6 does not use systemd? ou upstart? 13:49:47 royce: Is there an issue to track it? 13:49:47 aglitke, no systemd in RHEL6 13:49:52 yeah, aglitke, alinefm, we add upstart script 13:50:19 but the service and initctl can not match in rhel6.4 13:50:34 s/match/map 13:50:42 royce, to use upstart you should run: start 13:50:46 royce: please open an issue and mark it in the table on the testing page 13:50:49 like: start kimchid 13:51:05 aglitke I find it is pretty annoying after I file a bug without the permission to mark it as a bug or enhancement. 13:51:30 Or we don't have a way to tag the issue. 13:51:45 ming: Yes, that is annoying. I don't think I can change permissions on that. 13:51:52 A bunch of issues are out of track. 13:51:57 I mean in rhel docs, it says running: service xxx start, I know their are mapping in new version of upstart 13:52:28 can others tag? 13:52:36 It seems others can tag and close issues. 13:52:47 aglitke, I don't think so. 13:52:47 royce: shaohef ? Do you have access? 13:52:52 aglitke, I only can close bugs that were created by me 13:53:06 alinefm: can you tag your own bugs? 13:53:12 right, aglitke 13:53:33 I mean we can just close, not tag 13:54:00 Just close the bug created by yourself. 13:54:21 aglitke: yes I can. 13:54:21 even you can not tag the issue created by yourself. 13:55:17 aglitke, no! only close 13:55:25 aglitke: but I can not tag the issue created by yourself. I can just close it 13:55:55 ming: I notice you are not in the collaborators group 13:56:19 I found a way to maybe allow better access, I will look into it but it may take some time. 13:56:21 aglitke: Can you add me into that group? 13:56:32 what is your github userid? 13:56:38 sming56 13:57:19 ming: ok, you've been added. 13:57:28 Cool. 13:57:50 royce: please track that RHEL6.4 issue in a new issue and log it in the test matrix. 13:58:16 starting next week we will be focusing on testing 13:58:30 any other last minute topics? 13:58:57 aglitke: the session directory need fixed before code freezing? 13:59:03 yes 13:59:15 that should allow the test cases to run 13:59:36 aglitke: got it. 13:59:40 thanks 13:59:59 I think we should have tag like this, distro/component at least. For example RHEL6.4/network 14:00:01 alright. Thanks for your help everyone! 14:00:27 royce, ming, would you like to talk about iso streaming? 14:00:30 ming: I am not sure... I think we can add multiple tags. 14:00:39 bug + RHEL6.4 14:00:57 but I don't want to get too complicated with the tags. 14:01:05 sure, alinefm 14:01:11 It can get unwieldy pretty quickly 14:01:12 sure, alinefm 14:01:23 ok... let me end the official meeting. 14:01:26 #endmeeting