13:01:50 #startmeeting 13:01:50 Meeting started Wed Nov 13 13:01:50 2013 UTC. The chair is alinefm. Information about MeetBot at http://wiki.debian.org/MeetBot. 13:01:50 Useful Commands: #action #agreed #help #info #idea #link #topic. 13:01:58 #meetingname scrum 13:01:58 The meeting name has been set to 'scrum' 13:02:18 howdy guys! 13:02:22 #info Agenda: 1) Sprint 1 2) Open Discussion 13:02:25 anything else? 13:02:59 let me add sprint 2 13:03:09 #info Agenda: 1) Sprint 1 2) Sprint 2 3) Open Discussion 13:03:29 https://github.com/kimchi-project/kimchi/wiki/Todo-1.1 13:03:43 #topic Sprint 1 13:04:03 the sprint 1 ends last Monday and we have only 2 from 10 tasks merged upstream 13:05:06 I would ask everything with tasks from sprint 1 to focus on it 13:05:16 we need to run against the time 13:05:41 also I would like to have an stats like: For each patch sent to mail list, one patch reviewed!! 13:06:08 is it reasonable for you? 13:06:54 alinefm: make sense 13:07:20 maybe we should "freeze" development for a few days and do patch reviews only? 13:07:22 pradeep, thanks! ( I was thinking I was taking alone hehe) 13:07:31 "one patch reviewed"? 13:07:43 clearly we're falling behind the amount of patches reviewed vs new patches 13:07:44 royce, for each one you sent to review 13:07:55 if you send 3 patches to review, review other 3 13:08:05 ok, that is cool 13:08:40 danielhb, yeap! 13:08:44 alinefm, I think danielhb idea is good. we have to much tasks to complete, and most of them have many patches and the number os versions is increasing 13:08:53 we need more review and also try to address all comments in the next version 13:09:46 pvital, danielhb, I don' like to freeze right now to do not block people do not have tasks on sprint 1 13:10:16 let's go quickly through the sprint 1 tasks 13:10:19 royce, Set a custom pool for a template (templates) 13:10:26 I guess it is almost done! 13:10:27 I prefer a intensive review. And the reviewer should have reasonable and in detail as possible as she/he can. 13:10:50 royce, do you want to comment anything about it? 13:11:09 yep, i think it is ready to merge 13:11:33 royce, ok 13:11:35 shaohef, Create guest network 13:11:42 maybe one day for development and another day for review, ming? 13:11:53 I have split this patch 13:12:01 alinefm: seems it is big 13:12:06 I am seeing a lot of patches on mail list but seems they do not go further 13:12:09 I think we can't split "dev" and "review" simply 13:12:32 royce, it depends on people. hard-splitting will not work. 13:12:40 alinefm: Yes. need one review it. I think the interface is ready 13:12:50 alinefm: the network depends on it. 13:13:06 alinefm: I send a RFC about the network plan. 13:13:24 alinefm: first interface, then basic network API, and then .... 13:13:48 alinefm: so any one can give more comments on interface first? 13:13:50 shaohef, I saw and liked it! we need to focus in small piece of work to get it done faster 13:14:19 shaohef, I made some comments about UI, anyone addressed it? 13:14:27 hlwanghl, xinding ^ 13:14:43 OK 13:15:05 I think Yu Xin is taking Network, right? shaohef 13:15:11 yes 13:15:21 alinefm: Yes, I think one seldom is patient with a big patch. 13:15:28 I will handle the coments about Network UI 13:15:29 I will exchange the interface review for my next version of vm-rename:) 13:15:52 Can anyone first review the network API which impact both front end and back end 13:15:57 royce: that's great. 13:16:52 shaohef, in the last network patches version did you address aglitke's comments? 13:17:02 YuXin, I am trying... 13:17:18 ok 13:17:27 alinefm: yes. 13:17:34 shaohef, I will check it 13:17:37 next: Local ISO discovery (templates) 13:17:39 royce, ^ 13:17:45 alinefm: thanks. 13:17:56 royce, I've just sent you some minor comments. 13:18:04 I hope we can merge it tomorrow 13:18:08 ok, thanks alinefm 13:18:26 shaohef, Basic host management (host) 13:18:27 I'll rebase it now 13:18:39 royce, thanks! 13:18:55 shaohef, I think the RFC is done! 13:19:03 I am missing patches related to it 13:19:03 alinefm: I have send serval patch set 13:19:21 alinefm: yes. RFC is done. we have get agreement. 13:19:30 alinefm: for static, /host 13:19:36 alinefm: for stats /host/stats 13:19:45 shaohef, yeap 13:19:54 I have made some comments in the first version 13:20:00 alinefm: no oppose 13:20:01 did you send the V2? 13:20:16 alinefm: have seen it. V2 will be soon 13:20:23 alinefm: still some RFC 13:20:34 alinefm: which static data we need . 13:20:44 alinefm: hlwanghl list four. 13:20:58 alinefm: are they enough? 13:20:59 shaohef, I think the four listed on RFC is enough 13:21:17 when needed we can add more ones 13:21:20 we can always add more later if we find need 13:21:24 Yes, we can list 4 for the first version 13:21:26 alinefm: OK, I need to remove the Vendor of OS. 13:21:31 alinefm: agree. 13:21:34 alinefm: ? 13:21:47 shaohef, yes 13:21:51 alinefm: for no interface for me to get the Vendor of OS. 13:22:00 does it already work? 13:22:15 alinefm: and the Vendor of OS is a common sense. 13:22:32 AdamKingIT1 listed CPU, Memory, Network and Disk I/O in widi 13:23:14 shaohef, in ubuntu I have the file /etc/os-release 13:23:18 So AdamKingIT1, I think we can include CPU, Memory, Disk Size, and OS, right? 13:23:21 shaohef: if its already implemented I wouldn't remove it. If its only in the api doc, then remove 13:23:21 What will be showed on CPU? core numbers? 13:23:26 in rhel, fedora, opensuse we have similar files 13:23:30 with other names 13:23:37 alinefm: let me check it. 13:23:44 alinefm: that's good 13:23:49 but from the OS you can handle the right file 13:24:10 shaohef: seems platform module can give some information about os 13:24:17 shaohef, alinefm: we cant use lsb to get this info? 13:24:23 Disk size should be local dissks. 13:24:33 alinefm: no vendor for fedora from /etc/os-release 13:24:36 shaohef: including the os type, distributin name and release number 13:24:44 We will not shot the shared storage. 13:24:46 alinefm: seems I have read it before 13:24:48 We are agreed that we aren't using the info in the current impl, but tthat doesn't mean the API can't return it. 13:24:52 ming, IMO CPU info means something like Inter(R) Core(TM) i5 CPU M 560 @2.7GHz 13:25:00 CPU cores are reasonable, maybe the numa info? 13:25:18 future we may want to ping 13:25:22 pin 13:25:23 AdamKingIT1: not implemented 13:25:38 shaohef, did you check platform and lbs? as apporc and pvital suggested 13:25:52 maybe we can find something in these libraries 13:26:09 shaohef: platform.system() platform.dist() platform.release() 13:26:15 got it. In the interest of sprint 1 I'd say move on without it and come back to it if we find a burning need for it 13:26:28 AdamKingIT1, agree 13:26:29 apporc: let me try. 13:26:49 AdamKingIT1: agree. 13:27:29 hlwanghl, I would ask you to disable buttons on host tab until they get a backend function 13:27:31 apporc: no vendor info 13:28:23 alinefm, I'll remove buttons without backend function 13:28:31 alinefm: I have google and try many methods 13:28:41 shaohef: what do you mean by vendor? for fedora, what do you expect? 13:29:04 apporc: redhat 13:29:26 apporc: I think it should be redhat. 13:29:42 hlwanghl, or just disable them. It is up to you 13:29:58 OK 13:29:59 I suggest 'disabled' 13:30:27 Putting them there will give customer an expectation 13:30:29 shaohef, not sure it should be redhat for fedora 13:30:37 shaohef: why 'fedora' is not enough? 13:30:47 from vendor I understand who provides it 13:31:02 shaohef, but anyway, do not let it block you 13:31:19 if you can find the vendor info display an "--" in it 13:31:40 hlwanghl, is it "--" good for UI/ 13:31:50 don't know if have a pattern for that 13:31:52 shaohef: need the company name? I think some os, it can have no vendor then. 13:32:15 shaohef, http://www.fpaste.org/53713/49506138/ this is the info provided by lsb 13:32:21 alinefm, I'm OK with "--" 13:32:50 alinefm: can we support the system model, such as "ThinkPad T410" instead of vendor of OS? 13:33:01 How often will the vendor be redundant with t he description? 13:33:45 shaohef, can we get Thinkpad model info? If we just install the host within a VM, then the machine type is nothing 13:34:02 Fine for the API to return it, but it looks like a bug for the UI to say "Fedora Fedora release 19 (Schrödinger’s Cat) 13:34:09 shaohef, To me, OS information is enough like Fedora 19 13:34:35 Yes we can label them, but its still redundant to the user 13:34:45 AdamKingIT1: agree. 13:35:09 AdamKingIT1: a map for OS and vendor in code? 13:35:56 hmm, hard to maintain. Isn't there another project that keeps up w/ this stuff we could use? 13:36:02 shaohef, let's move to the next topic. we have too much details here. I think we can add some and fix them later. 13:36:10 shaohef, I agree with ming on it. OS is enough 13:36:16 For centos, debian, gentoo, what 's the vendor? I think os information should be enough. 13:36:26 agree 13:36:34 I agree OS enough 13:36:37 agree 13:36:39 shaohef, for vendor use "--" and we can change later 13:36:40 OK. go ahead. os information is enough. 13:36:54 next one 13:36:56 ming, Debug Reports (host) 13:37:04 I sent some comments yesterday 13:37:15 but I have had chance to see the new version 13:37:19 alinefm, I replied to you. 13:37:30 did you address aglitke's comments? 13:37:42 Your first comments about the get() can not apply. 13:38:01 ming, of course, it can! =) 13:38:07 No. 13:38:19 you can see the royce patches about deep scan 13:38:53 there is no need to change the base get() implementation 13:38:58 do it on debugreports get() function 13:39:35 + resp = res.get() 13:39:36 + if 'task_id' in res.data: 13:39:38 + cherrypy.response.status = 202 13:39:39 + else: 13:39:41 + cherrypy.response.status = 201 13:39:42 + return resp 13:39:44 from royce's patch 13:39:54 the change in get() 13:41:47 ming, yes, I suggested her to do it in get() from storagepool as well 13:41:57 Also, royce's create() method of class storage_pool 13:42:02 is not right to me 13:42:14 I do not want to change base API to accommodate mew resources 13:42:32 We shouldn't return a storage_pool resource with a task id 13:43:19 We have agreed with Adam and you the create() method should return task resource instead of a storage_pool resource with task id contained in it. 13:43:40 ming, I refered the redhat doc on their async rest api, they did it in this way 13:44:02 we can't return two kinds of resource representations from one api 13:44:04 ming, right, debugreports and deep scan have the same scenario 13:44:10 https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Virtualization/3.0/html-single/REST_API_Guide/index.html#sect-REST_API_Guide-Common_Features-Resources-Creating_Resources ? 13:44:34 some time storage pool return resource, sometime return task... that is confusing for me 13:44:38 ming, but in deep scan we create a new storage pool that already exists as resource 13:44:54 we need to be able to handle both way to create a storagepool 13:45:05 thanks shaohef, that is it 13:45:59 ming, in case of debugreports it always will return a task 13:46:09 alinefm, task id should not belong to a resource. It is a just independent resource. 13:46:13 there is no other of return 13:46:36 royce: sos-report just need to task ID, some different with storage pool? 13:46:50 ming, you are suggesting to time returning task and time return storagepool data 13:47:18 as royce said it will confuse the user/dev 13:47:32 alinefm. no. Both should return task resource for a time consuming creation operation. 13:48:08 ming, but when we create a storagepool directly (without deep scan) we do not need a task resource 13:48:59 alinefm, if you don't need task resource, why the storagepool resource should have a task id in it? 13:49:10 ming, for deep scan 13:49:19 we have multiple ways to create a storagepool 13:50:04 alinefm, I mean for direct creation of storagepool, you will get a storagepool resource with task id. 13:50:18 ming, nope 13:50:20 The task id is useless and bug prone. 13:50:26 only when a task id makes sense 13:50:33 royce handles it well 13:50:56 ming: alinefm: task id keeps change it. every time you create it. But its unique. 13:51:40 ming: alinefm: id or resource any thing should be fine. 13:52:05 alinefm, the taskid can be polled by a client even if the task id is not set by direct creation. 13:52:11 that task is generated by the post storagepool request, but after all what we want is a storagepool to get I think 13:52:19 but for tasks like migration 13:52:32 we don't need any resource for it 13:52:46 so just return a task id is enough 13:53:02 alinefm, we have agreed to return task resource for a long time. 13:53:11 ming, yeap! for debugreports 13:53:47 ming, in the last debugreports version you have already done that 13:53:49 and I agree 13:54:06 ming, I just do not want you to change the base API 13:54:21 ming, as I suggested to royce, move the code to the resource get() 13:54:44 alinefm, that is what I have done in resource.get(). 13:54:51 got u 13:55:01 resource = its own resource 13:55:08 ming, in your case in debugreports.get() 13:55:18 in royce's case, in storagepool.get() 13:55:27 alinefm, no. That is can not be done. 13:55:40 ming, yes! you can do it! =) 13:55:44 I have explained that. 13:55:54 and I do no agree 13:56:06 please move it to debugreports.get() 13:56:12 But you havn't read my code and comments loud. 13:56:18 let's move on as your time is short 13:56:54 Because royce return a storagepool resource with a task id for both creat() 13:57:05 That is a different. 13:57:33 ming, of course I read. We have discussed it to here in IRC 13:57:34 In debugpreport.create() it return task resource only, totally different. 13:57:53 I don't think you have understood that. 13:58:22 ming, I know. I am only saying to you do not move the code you put in Resource.get() to DebugReports.get() 13:58:33 only that 13:58:50 I agree in returning a task resource while creating a debugreport 13:59:11 Debugreports.get() will not know that. 13:59:12 everything keeps as you did unless the code 13:59:29 ming, can we continue if after the meeting? 13:59:35 I would like to pass through other items 13:59:37 Sure. 13:59:38 alinefm: what is the next function you want to discuss? 13:59:50 Add extension interface for Advanced host config (host) 14:00:07 zhoumeina, markwu, I've seen some patches from you 14:00:17 I made some comments too 14:00:45 I am missing the V2 14:00:50 zhoumeina, markwu, any update? 14:02:13 ok 14:02:14 next 14:02:15 VM edit (guest) 14:02:28 royce, I sent you some comments yesterday 14:02:54 do you have any point related to it? 14:02:56 I'm on v3 rebase, I'm not sure I understood all comments 14:03:07 I asked in mailist 14:03:28 If there is time left, we can discuss about it 14:03:28 royce, I will check. If you have time we can discuss after the meeting too 14:03:34 royce, great 14:03:34 sure 14:03:40 next: NFS Pool :New Storage Pool based on NFS (storage) 14:03:42 pradeep, ^ 14:03:58 alinefm: sent v6 just now. But tests and mock model cannot be added for this. 14:04:05 For tests: i need to add nfs server IP also in tests. But this should be given by user. If i use same server as nfs server & client, i need to update /etcexports, which is not the right way to do. Any way we have tests to create storage pool. That should be fine. hence no mock model, tests needed for this. 14:04:15 royce: shaohef: ^^ 14:04:31 We are on drop the test first 14:04:56 we do not want to corrupt host env 14:05:35 markwu, did vdsm do nfs pool test in functional test? 14:06:15 royce: we should set up a test environment for functional test later 14:06:21 You could mock the whole backend if you cant come up w/ a way to avoid permanently altering the host 14:06:43 right, a dedicate env for test,shaohef 14:06:55 I made some comment on nfs pool, I think we need to fix some errors 14:07:26 zhoumeina: fixed it and sent it now 14:07:39 pradeep: ok 14:07:42 pradeep, can't you do test even for mock model? 14:07:58 I will review it tomorrow. 14:08:22 pradeep, I will check it out and send suggestions if they come up 14:08:23 seems vdsm had done it:P 14:08:41 alinefm: nope. any way we have test/mockmodel to create storage pool. i dont think we need it 14:08:50 royce, could you send details about it to pradeep ? 14:08:57 another thing, that is about nfs export path mount. 14:09:29 ok,alinefm 14:10:05 if we don't have that export path list, UI can not check if the path is right in the export path list. 14:10:30 zhoumeina: listing all exported paths right on server. shaohef sent RFC for that. 14:10:43 right? 14:10:45 pradeep: I know 14:10:48 zhoumeina, we will improve it later 14:11:02 for know I do not want to block pradeep because that 14:11:14 it is also true for LVM pool and iscsi pool, so we have necessity to expose this api in backend, zhoumeina 14:11:21 What I want to point is We will have bugs if we don't use this api in nfs pool 14:12:02 zhoumeina: got it. We can always improve it later. since we have plans to add other pools also 14:12:29 we are ahead of the time. 14:12:45 I will end the meeting but we can continue discussing here. 14:12:45 I we want to improve it later, we need a way to avoid those bug 14:13:00 royce, I think we need a detail discussion about the create() return. 14:13:00 zhoumeina: we have bugs, or we will allow the user to try to create pools that can not succeed? 14:13:18 my concern is libvirt will hang and then use the local path if it couldn't mount it 14:13:21 Also I would like to ask people who has tasks for sprint 2 (and complete all from sprint 1) to start working on it 14:13:37 OK, ming 14:13:43 That bugs maybe cause libvit hang 14:13:59 I read the readhat docs just not. It return task status contained in the resource. 14:14:05 #endmeeting