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