13:00:35 <Qiming> #startmeeting senlin 13:00:35 <openstack> Meeting started Tue Jun 30 13:00:35 2015 UTC and is due to finish in 60 minutes. The chair is Qiming. Information about MeetBot at http://wiki.debian.org/MeetBot. 13:00:36 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 13:00:38 <openstack> The meeting name has been set to 'senlin' 13:00:48 <Qiming> okay, no dash 13:00:52 <jruano> hello 13:00:54 <yanyanhu_> :) 13:00:56 <lkarm> o/ 13:01:10 <Qiming> good morning/evening 13:01:21 <haiwei> hi 13:01:28 <Qiming> please review meeting agenda: https://wiki.openstack.org/wiki/Meetings/SenlinAgenda 13:01:30 <lixinhui> hi 13:01:48 <Qiming> if you want to add something, just edit 13:02:31 <Qiming> or you can shoot it during open discussion 13:02:34 <Qiming> #topic test case coverage 13:03:01 <Qiming> in last meeting, we called for filing bugs related to test case coverage 13:03:21 <Qiming> my latest number is 63% coverage, not a bad number 13:04:07 <Qiming> we still need to spend quite some time on writing test cases, especially those related to profiles, actions, policies 13:04:30 <Qiming> https://bugs.launchpad.net/senlin/+bugs?field.searchtext=&orderby=-importance&field.status%3Alist=NEW&field.status%3Alist=TRIAGED&assignee_option=any&field.assignee=&field.bug_reporter=&field.bug_commenter=&field.subscriber=&field.structural_subscriber=&field.tag=&field.tags_combinator=ANY&field.has_cve.used=&field.omit_dupes.used=&field.omit_dupes=on&field.affects_me.used=&field.has_patch.used=&field.has_branches.used=&field.has_branches=on&fie 13:04:31 <Qiming> ld.has_no_branches.used=&field.has_no_branches=on&field.has_blueprints.used=&field.has_blueprints=on&field.has_no_blueprints.used=&field.has_no_blueprints=on&search=Search 13:04:36 <jruano> i will try to make some time this week 13:04:38 <haiwei> I found some modules like senlin/engine/nodes.py are not well tested 13:04:46 <Qiming> okay, this link is too long, sorry 13:05:04 <yanyanhu_> I will try to start working on scaling and lb policy related test cases after finish related wiki item 13:05:06 <Qiming> haiwei, feel free to file a bug for that then 13:05:25 <haiwei> ok, already filed some 13:05:36 <Qiming> we talked about setting milestones/deadlines for those bugs 13:05:56 <Qiming> however, it is really up to how many resources we can put on it 13:06:10 <Qiming> in case you are not familar with the milestones 13:06:20 <Qiming> https://launchpad.net/senlin/+milestones 13:06:40 <Qiming> we have missed liberty-1, obviously 13:07:04 <Qiming> it doesn't make good sense to release the packages at this stage 13:07:19 <Qiming> next milestone would be 2015-07-29 13:07:41 <Qiming> which means we have 90 days or so to work on this, among other things 13:08:05 <yanyanhu_> 29 days? 13:08:17 <Qiming> so ... maybe we should just encourage people to claim bugs and set deadlines themselves 13:08:36 <Qiming> oh, no, 30 days 13:08:53 <lixinhui> sounds terrible 13:08:58 <yanyanhu_> maybe a plan but not deadline 13:09:02 <Qiming> aha, time is very tight 13:09:02 <haiwei> I will have a summer vocation from 7/10 though 13:09:24 <yanyanhu_> if we focus on test case, I think we might be able to finish it 13:09:25 <lixinhui> wow 13:09:42 <Qiming> we will work hard on this, using all resources we have, and see what happens by liberty-2 13:09:46 <haiwei> anyway, I will try my best in other days 13:10:14 <yanyanhu_> ok, I think at least we should finish test cases for all policies and actions 13:10:16 <lixinhui> Qiming and yanyan, do you have vacation plan? 13:10:27 <yanyanhu_> I don't have for this summer 13:10:45 <lixinhui> okay 13:10:48 <Qiming> although we have a heavy pressure on this, please don't lower your bar when review, ;) 13:11:06 <Qiming> lixinhui, not yet 13:11:06 <yanyanhu_> sure :) 13:11:18 <Qiming> will let the team know if so, :) 13:11:24 <haiwei> of courese 13:11:31 <Qiming> okay, moving on 13:11:37 <Qiming> #topic documentation 13:11:57 <Qiming> we have been working on some docs for developers during the past weeks 13:12:14 <Qiming> now we have already covered most aspects of the design 13:12:20 <haiwei> it's your jobs, thanks 13:12:30 <jruano> i have been going through the documentation in order to get caught up on the project. what is there is very good 13:12:37 <Qiming> yeah, my job, :) 13:12:52 <haiwei> otukare 13:13:00 <Qiming> if you have ever checked the output from the python-docs gate, it is pretty cool 13:13:25 <Qiming> what we still need to do is docs for users (user-guide, getting-started ...) 13:13:28 <Qiming> and wiki 13:13:31 <yanyanhu_> yes, saw it :) 13:13:46 <Qiming> will work on this 13:13:54 <Qiming> it will be my high priority 13:14:05 <lixinhui> Great! 13:14:11 <yanyanhu_> will also work on it in this week 13:14:20 <Qiming> for some reasons: even a new developer would need to know how to try things out 13:14:46 <jruano> yes... magnum has a good getting started guide if you need a template to use 13:14:49 <haiwei> yes, you don't need to explain to them one by one 13:14:51 <Qiming> and for others who just heard of the word "senlin", he/she will check openstack wiki first 13:15:09 <Qiming> thanks, I was thinking about that 13:15:16 <yanyanhu_> maybe we should provide a quick start guide at first 13:15:33 <Qiming> I really hope we don't need to write the same thing over and over again, all over different places 13:15:47 <haiwei> I think I have a good news, some people from my company has began to know senlin, not by my introduction 13:15:57 <Qiming> I will check openstack-manuals project, for example, to learn how they structure a guide for users 13:16:09 <haiwei> that means many people may have already known senlin 13:16:20 <Qiming> hopefully, we will only need to copy our writings to that project when senlin gets "integrated" 13:16:58 <haiwei> so if the docs get ready soon, will be very helpful 13:16:59 <Qiming> we have to polish the wiki page as well, it will be the "frontpage" for the project 13:16:59 <jruano> ah, that makes sense qiming 13:17:22 <Qiming> have just done something: wiki.openstack.org/wiki/Senlin 13:17:36 <Qiming> need to add some details there 13:18:17 <Qiming> any helps on that would be appreciated 13:18:29 <Qiming> #topic object deletion handling 13:18:48 <Qiming> haiwei do you want to talk about it? 13:18:57 <Qiming> https://bugs.launchpad.net/senlin/+bug/1469939 13:18:57 <openstack> Launchpad bug 1469939 in senlin "dead lock happens when trying to delete a node" [Undecided,New] 13:18:57 <haiwei> yes 13:19:58 <haiwei> in fact I want to talk about another first https://bugs.launchpad.net/senlin/+bug/1469953 13:19:59 <openstack> Launchpad bug 1469953 in senlin "Node deletion error" [Undecided,In progress] - Assigned to Haiwei Xu (xu-haiwei) 13:20:00 <yanyanhu_> I guess another action might hang there and didn't release node lock correctly 13:20:08 <yanyanhu_> and thus caused this deadlock 13:20:21 <haiwei> yes, yanyanhu 13:20:27 <Qiming> seems to me like the bugs are caused by the same problem? 13:20:45 <haiwei> not exactly i think 13:21:20 <haiwei> 1469953 is caused by node deletion when deleting a heat stack will check the heat stack status first 13:21:35 <Qiming> it is not a "dead" lock, it's actually about ensuring locks are released when not needed 13:21:38 <haiwei> see the source http://git.openstack.org/cgit/stackforge/senlin/tree/senlin/profiles/os/heat/stack.py#n117 13:21:50 <yanyanhu_> Qiming, yes 13:22:00 <haiwei> but when senlin sends a DELETE request to heat, heat stack will remain CREATE_COMPLETE for a while before going to DELETE_IN_PROGRESS. so we will get CREATE != DELETE error. 13:22:42 <haiwei> the solution can be add a sleep(1) before checking the status. https://review.openstack.org/#/c/196947/1/senlin/profiles/os/heat/stack.py 13:22:58 <Qiming> sleep(1) is so .... ugly 13:22:58 <yanyanhu_> seems we should provide another status option here 13:23:03 <haiwei> this bug is not related to lock I think 13:23:13 <haiwei> yes, Qiming 13:23:19 <Qiming> need to come up with a better status check 13:23:40 <haiwei> we just need to wait for heat a moment 13:23:40 <yanyanhu_> I think we should change the implementation of _check_action_complete 13:23:57 <haiwei> yanyanhu_, that is a good idea 13:24:05 <Qiming> okay 13:24:42 <haiwei> I will think about it later 13:24:48 <Qiming> let's see what we can do 13:24:57 <yanyanhu_> yes :) 13:25:10 <Qiming> that leads us also to the next topic 13:25:18 <Qiming> #topic SDK exception handling 13:25:32 <haiwei> because _check_action_complete is used by creation, deletion and updating, it should be careful 13:25:56 <yanyanhu_> yes 13:25:58 <Qiming> when Senlin is talking to other OpenStack service, we do that through OpenStackSDK 13:26:32 <Qiming> not only we have to cope with resource status carefully, we have to consider all types of exceptions 13:26:40 <haiwei> yes, currently we are not handling sdk's exception well i think 13:26:42 <yanyanhu_> agree 13:26:57 <haiwei> except sdk.exc.HttpException as ex: 57 raise ex 13:27:05 <Qiming> the sad news is that there is no formal guidelines or even consensus among projects today 13:27:13 <haiwei> we just catch HttpException and raise it again 13:27:17 <yanyanhu_> yes, I guess this is the only exception we catch from openstacksdk 13:27:50 <Qiming> speaking of that, please refer to senlinclient code here 13:27:51 <Qiming> http://git.openstack.org/cgit/stackforge/python-senlinclient/tree/senlinclient/common/exc.py#n200 13:27:59 <haiwei> so what about translating HTTPException to a senlin InternalError 13:28:03 <yanyanhu_> http://git.openstack.org/cgit/stackforge/python-openstacksdk/tree/openstack/exceptions.py 13:28:18 <Qiming> when I was writing the client code, I was trying to consider all possibilities 13:28:20 <yanyanhu_> exception definition in sdk 13:29:02 <Qiming> catch all exception types we can and either kill them inside senlin or return them to users in a meaningful way 13:29:28 <Qiming> we can keep an eye on SDK's exception handling 13:29:48 <yanyanhu_> yes 13:29:58 <Qiming> but we still need to be prepared for the "rare" cases where exceptions are not handled by SDK 13:30:14 <Qiming> so far, I know they have been dealing with 404 very well, ;) 13:30:19 <haiwei> yanyanhu_, we can only get HttpException from SDK? 13:30:33 <yanyanhu_> also some other exceptions 13:30:51 <Qiming> the problem is "some other exceptions" 13:30:58 <yanyanhu_> but I think this is the most common one we will use 13:31:03 <Qiming> we don't know their type, format, message 13:31:27 <haiwei> they are all here? http://git.openstack.org/cgit/stackforge/python-openstacksdk/tree/openstack/exceptions.py 13:31:31 <Qiming> sometimes, maybe, we can only get an error code, in a strange field ... 13:31:35 <yanyanhu_> yes, so I think we don't have much choice now 13:32:14 <briancurtin> Qiming: if you need something more out of that exceptions module, perhaps enter a bug on https://bugs.launchpad.net/python-openstacksdk and we can look into it. i dont think we've done much with those exceptions 13:32:17 <Qiming> I did encountered cases where Heat errors were not caught by SDK, but I cannot recall the details 13:32:38 <Qiming> aha, briancurtin, didn't expect you here, ;) 13:32:45 <yanyanhu_> :) 13:32:48 <briancurtin> Qiming: my IRC client highligts on "SDK" 13:32:50 <Qiming> it would be pretty cool if we can help improve that 13:33:33 <Qiming> okay, guys, all questions about SDK go to briancurtin, now and in future 13:33:51 <haiwei> maybe we also should enter SDK's meeting to give them some suggestions :) 13:34:06 <Qiming> haiwei, that would be cool 13:34:28 <briancurtin> our meeting is today, Tuesdays at 1900 UTC 13:34:30 <Qiming> I really see SDK a foundational service in openstack, it will make a lot things easier 13:34:38 <haiwei> and we can also help them with some implement 13:34:57 <Qiming> 1900+0800-2400=0300 13:35:01 <yanyanhu_> ... 13:35:14 <yanyanhu_> midnight in our time zone... 13:35:48 <Qiming> briancurtin, do you have a alternate meeting slot? 13:35:50 <briancurtin> hmm, i will look around the calendar and see if there are other times that might work. which timezone are you? 13:36:00 <Qiming> GMT +8 13:36:04 <haiwei> so file a bug to SDK maybe a good idea 13:36:12 <Qiming> haiwei, +1 13:36:16 <Qiming> and help fix it 13:36:17 <briancurtin> right now the meeting is in the afternoon for all US people, so we can maybe move it 13:37:04 <Qiming> cool, let us know when there are meetings we can attend, briancurtin 13:37:18 <yanyanhu_> thanks, briancurtin :) 13:37:19 <briancurtin> it might be hard to find a time that works since we are 13 hours apart, but maybe we can figure something out 13:37:44 <briancurtin> er, 11 13:37:47 <Qiming> okay, talk though code and review then 13:37:49 <haiwei> I am GMT+9 13:38:12 <haiwei> a little easier maybe 13:38:23 <yanyanhu_> comment is also a good way I believe 13:38:33 <Qiming> timezone is really annoying, and you cannot get rid of it 13:39:06 <Qiming> so ... guys, we work with the sdk team to handle exceptions 13:39:42 <Qiming> when we see exceptions from other services, let's talk whether we should move the handling logic to sdk 13:39:51 <haiwei> first we should understand SDK exception's type, i think, I have no idea of HttpException 13:39:58 <haiwei> it seems like a common exception 13:40:16 <Qiming> okay, that's your homework, haiwei, :) 13:40:29 <haiwei> ok 13:40:31 <Qiming> and my homework, obviously 13:40:56 <Qiming> let's move on 13:41:01 <Qiming> #topic open discussions 13:41:18 <haiwei> Qiming, you mean we should try to make most exceptions outside senlin get handled by SDK? 13:41:50 <Qiming> haiwei, we will study case by case, and see if it is common exception to be handled by sdk 13:41:59 <yanyanhu_> hi, Qiming, I think maybe we should give a list of items which have highest priority 13:42:14 <Qiming> list of what? 13:42:28 <haiwei> exception type? 13:42:31 <yanyanhu_> then we can know what is the focus we are woking on recently 13:42:46 <yanyanhu_> nope, all work items of senlin 13:43:10 <Qiming> first things first, test cases 13:43:21 <haiwei> currently test case and exception handle i think 13:43:28 <haiwei> and also some bugs 13:43:30 <Qiming> that will help us find bugs 13:43:54 <Qiming> after unit test cases, we will have funtional tests 13:44:00 <haiwei> and your policy implementation 13:44:16 <yanyanhu_> e.g. test cases, doc, new features we need to support 13:44:17 <yanyanhu_> e.g. in next 30 days, I think the list will include doc, test cases, wiki 13:44:24 <yanyanhu_> yes 13:44:50 <Qiming> okay, we can use etherpad for this 13:45:05 <Qiming> will open one for everyone to input/edit 13:45:08 <yanyanhu_> so we can measure whether these items can be done before the deadline 13:45:31 <haiwei> ok 13:45:47 <Qiming> #action Qiming to open a etherpad for work items and schedule 13:45:53 <yanyanhu_> cool 13:46:18 <Qiming> since we have talked about time zone problems 13:46:42 <Qiming> I really feel sorry for people like lkarm, jruano, ... 13:47:14 <Qiming> when they are online, we are mostly in dreams 13:47:35 <Qiming> the good news: https://review.openstack.org/#/c/196993/ 13:47:49 <Qiming> just figured out how to get our IRC chats logged 13:47:59 <jruano> its 8am my time, so not too bad for me. i can usually stay online later in the night, but yes timezones are problematic 13:48:26 <Qiming> once the above patch is accepted, we will have IRC log archive 13:48:49 <Qiming> so you guys can check if needed 13:48:52 <jruano> very good news 13:48:55 <yanyanhu_> or we can use etherpad to ask and answer questions? 13:49:18 <Qiming> yanyanhu_, questions should go to mailinglist I guess 13:49:24 <haiwei> the senlin mailing is not well used now 13:49:31 <yanyanhu_> hmm, right 13:49:55 <Qiming> yes, when we have some general questions, we should leverage that indeed 13:50:12 <Qiming> okay, guys, we still have 10 minutes 13:50:36 <Qiming> I'd like to share with you another "news" 13:50:55 <Qiming> we are inviting haiwei to be a core member of senlin project 13:51:12 <Qiming> yanyanhu_ and I had some discussions on this 13:51:31 <Qiming> haiwei has been a very active contributor since he gets involved in this project 13:51:52 <haiwei> thanks for trusting me, Qiming 13:52:00 <Qiming> he has gained enough knowledge to help the project moving forward 13:52:01 <jruano> congrats haiwei 13:52:22 <Qiming> it would mean more responsibility and more time dedication though 13:52:23 <haiwei> thanks, it's my honor 13:52:29 <Qiming> so, haiwei, pitty on you 13:52:34 <yanyanhu_> con :) 13:52:49 <haiwei> yes, will work even harder :) 13:52:58 <Qiming> since the team is not big, we are not announcing this in the mailinglist 13:54:12 <Qiming> anything else? 13:54:41 <haiwei> no from me 13:54:43 <yanyanhu_> oh, about the topic proposal, so we have submitted it? 13:54:57 <Qiming> yanyanhu_, still waiting for company review 13:54:59 <yanyanhu_> when the vote will start 13:55:03 <yanyanhu_> ok 13:55:20 <Qiming> need to check out the deadline 13:56:29 <Qiming> okay, let's turn to #senlin if you have any questions, comments, suggestions ... 13:56:33 <Qiming> #endmeeting