13:00:05 <Qiming> #startmeeting senlin 13:00:06 <openstack> Meeting started Tue Apr 12 13:00:05 2016 UTC and is due to finish in 60 minutes. The chair is Qiming. Information about MeetBot at http://wiki.debian.org/MeetBot. 13:00:07 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 13:00:09 <openstack> The meeting name has been set to 'senlin' 13:00:18 <Qiming> hello guys 13:00:41 <elynn> Hi! 13:00:45 <yanyanhu> hi 13:00:49 <cznewt> hi 13:00:59 <Qiming> please review agenda and see if you have things to add: https://wiki.openstack.org/wiki/Meetings/SenlinAgenda 13:01:28 <yanyanhu> very slow to open this link... 13:01:34 <cschulz_> hi 13:01:43 <zzxwill> Hello. 13:01:48 <Qiming> haiwei, just on time 13:01:53 <haiwei> yes 13:01:55 <haiwei> ? 13:02:01 <Qiming> #topic container clustering progress 13:02:16 <Qiming> any new progress to share? 13:02:44 <haiwei> I implemented most the needed functions, and thinking about auto-scaling things 13:02:45 <Qiming> I have read your slides, but it would be better to share with everyone where we are in this thread 13:03:10 <R_lixh> hi 13:03:10 <haiwei> also started to write the ppt, only some guidelines 13:03:47 <haiwei> about the picture you wanted, what about the one I sent it to you, Qiming 13:04:00 <haiwei> not sure your idea about it 13:04:01 <Qiming> they look good 13:04:17 <Qiming> need to articulate our points in the talk 13:04:24 <haiwei> I think we should finish all ppt materials within this week 13:04:50 <Qiming> it would be great if you (and everyone else who are interested in this) can check the latest discussion on dev mailinglist 13:04:56 <Qiming> #link http://lists.openstack.org/pipermail/openstack-dev/2016-April/091947.html 13:04:58 <haiwei> should we decide the division? 13:06:02 <Qiming> I'll start working on a storyline and share with you, we may need several conf call discussions 13:06:12 <haiwei> i will read it 13:06:19 <yanyanhu> interesting thread 13:06:23 <haiwei> ok 13:06:48 <Qiming> As always, the community is still split on the right direction to go, that is the reason for the discussion 13:06:53 <Qiming> there are proponents, there are strong opponents 13:07:15 <Qiming> it is a good discussion anyway 13:07:30 <yanyanhu> sure, this is a community not a company :) 13:08:00 <yanyanhu> even in a company, it happened sometimes... 13:08:18 <Qiming> right, that is why it is called open community and why we like it, :) 13:08:31 <yanyanhu> yep :P 13:09:24 <Qiming> autoscaling prototype would be nice, but we really need a story line, why are we doing this, how are we planning to do it ... so on and so forth 13:09:42 <haiwei> agree 13:09:44 <Qiming> anyway, will send you a draft tomorrow 13:09:51 <haiwei> thanks 13:10:06 <Qiming> #topic API schema check 13:10:47 <Qiming> after working on the API micro-versioning stuff, I was reviewing a api-wg spec about strictly checking REST API requests 13:10:50 <haiwei> this topic is interesting 13:11:20 <Qiming> not just the requested URI, but also the payload, e.g. the attributes you can specify when creating a resource 13:11:47 <Qiming> We do have some ad-hoc checkings in the API layer, and I have added a TODO items in the TODO.rst file 13:11:59 <Qiming> haiwei suggested we go API schema checking 13:12:20 <Qiming> so I went digging nova api and keystone api 13:12:31 <haiwei> I have some experiences with Nova API schema 13:12:33 <Qiming> this kind of a feature is not a new wheel to invent 13:13:01 <yanyanhu> ah, I remember the issue we met before: neutron will complain if an unrecoginized attr is provided in api request body 13:13:29 <Qiming> just need to check in some basic framework then gradually fill in the schemas for each API 13:13:29 <haiwei> yes, yanyanhu 13:13:31 <yanyanhu> finally caused the path_arg problem on sdk side 13:13:34 <Qiming> then finally turn it on 13:13:56 <Qiming> neutron is doing the right thing, according to the approved api-wg spec 13:14:03 <yanyanhu> yes 13:14:28 <Qiming> at API layer, a silent failure sometimes is poisonous 13:14:56 <yanyanhu> agree. Or there should be an explicit description in API doc 13:15:05 <Qiming> haiwei, do you have suggestions how we start this? 13:15:20 <yanyanhu> to say unroconized attr will not fail the API request 13:15:47 <Qiming> api schema check is much stricter than that 13:15:49 <yanyanhu> s/unroconized/unrecognized 13:15:51 <haiwei> we can refer to what is done in Nova, if we want to do this, we should list all the APIs, and do one by one 13:16:07 <Qiming> people are using it to check data types, field length .. 13:16:26 <yanyanhu> Qiming, it includes type verification? 13:16:31 <yanyanhu> oh 13:16:36 <Qiming> the nova one is pretty complex, because it is somehow intermingled with api extensions 13:16:37 <haiwei> for every API, every parameter, check the type/length and anything necessary 13:17:00 <cschulz_> should this be a topic for Newton release? 13:17:01 <Qiming> add a decorator, say what you want to check, implement the checker 13:17:20 <cschulz_> Sounds like a lot of work. 13:17:22 <Qiming> cschulz_, doesn't sound a controversial topic 13:17:32 <Qiming> it is .... just labor ... :) 13:17:38 <haiwei> we can write a small test case use the jsonschema to see what happens if something guilty is passed 13:17:42 <yanyanhu> sounds good 13:17:42 <Qiming> we have a lot of fields to catch up 13:18:09 <haiwei> yes, need much patience, Qiming 13:18:33 <Qiming> so far, we are doing pretty good, :) 13:18:51 <Qiming> there are many projects lacking this 13:18:59 <haiwei> yes 13:19:08 <Qiming> we just focus on doing the right thing and the get the thing done 13:19:42 <Qiming> if you are experienced on this, haiwei, can you help lay out a roadmap? 13:19:57 <Qiming> what are the initial frameworks we need? 13:20:14 <haiwei> many existing checks in the api layer will be needless, if we import this schema 13:20:27 <Qiming> then everyone can help fill in the gaps for individual api requests 13:20:28 <haiwei> ok, Qiming 13:20:33 <Qiming> great! 13:21:12 <Qiming> here is the keystone specs for reference: https://specs.openstack.org/openstack/keystone-specs/specs/juno/keystone-api-validation.html 13:22:08 <haiwei> thanks 13:22:09 <cschulz_> I'll be away for a short time 13:22:29 <Qiming> okay, cschulz_ 13:22:58 <Qiming> I also checked different wsgi frameworks, trying to find a better alternative 13:23:11 <Qiming> this has been discussed in the community again and again 13:23:33 <haiwei> yes, from grizzly cycle 13:23:48 <Qiming> the hope is that there could be some framework having builtin support to validation, documentation, middleware, ... 13:24:14 <Qiming> that would be a huge reengineering 13:25:34 <Qiming> so .. let's keep the scope narrowed 13:25:38 <Qiming> moving on 13:25:44 <cschulz_> I'm back 13:25:46 <Qiming> #topic newton work items 13:25:58 <Qiming> #link https://etherpad.openstack.org/p/senlin-newton-workitems 13:26:47 <Qiming> scalability experience sharing, haven't confirmed with suzhou guys on a conf call 13:27:04 <Qiming> will try again 13:27:11 <Qiming> tempest testing 13:27:16 <yanyanhu> will they go to summit as well? 13:27:30 <Qiming> yes, they have topics accepted as well 13:27:35 <yanyanhu> nice 13:27:46 <R_lixh> nice 13:27:47 <Qiming> elynn ? 13:27:52 <elynn> yes 13:28:09 <yanyanhu> can make further discussion with them in design session 13:28:13 <elynn> Not much updated yet 13:28:22 <Qiming> okay 13:28:29 <yanyanhu> I think the basic framework looks good now 13:28:32 <Qiming> stress testing 13:28:36 <elynn> waiting for the patch to rename tempest folder to get merged. 13:28:37 <yanyanhu> based on our discussion 13:28:51 <yanyanhu> stress test: now we are focusing on rally 13:29:00 <Qiming> agree, need some reviews 13:29:03 <yanyanhu> hope to leverage it to support senlin benchmarking 13:29:22 <Qiming> So it is not stress test, to be accurate? 13:29:22 <yanyanhu> I think it is a good choice for this purpose 13:29:31 <yanyanhu> yes, should be performance test 13:29:40 <yanyanhu> stress test should be covered by tempest? 13:29:49 <yanyanhu> per our discussion, elynn ? 13:29:54 <elynn> yes 13:30:03 <elynn> rally will do benchmark 13:30:17 <yanyanhu> ok, so we have a concensus about how to organize senlin's test cases 13:30:22 <elynn> tempest for API, scenerio, stress tests. 13:30:35 <Qiming> okay 13:30:38 <yanyanhu> including api, scenario, benchmark, and maybe stress 13:31:24 <Qiming> when we have a basic framework landed, guys can start fill it with more test cases 13:31:26 <elynn> We should discuss what stress tests we are going to support. 13:31:41 <yanyanhu> Qiming, yes 13:32:00 <yanyanhu> About rally support for senlin, the first patch to add basic support looks good now. Need to wait rally team's decision 13:32:25 <yanyanhu> link is in the etherpad, I still haven't open that page... 13:32:36 <Qiming> if we want to try that, we have to do a git review -d? 13:33:03 <yanyanhu> -d? 13:33:16 <Qiming> maybe we should reach out to that team and ask for opinions 13:33:34 <Qiming> git review -d is used for check out a specific patch for review locally 13:33:58 <elynn> https://review.openstack.org/#/c/298109/11 13:33:59 <yanyanhu> Qiming, oh. I ususally used the link provided in gerrit web UI :) 13:34:13 <elynn> This is the one for rally, I think. 13:34:19 <yanyanhu> thank, elynn 13:34:23 <yanyanhu> it is 13:35:21 <Qiming> maybe we should try ping the rally cores on IRC 13:35:23 <yanyanhu> we can start work on senlin plugins I think 13:35:34 <yanyanhu> although they depends on that patch 13:35:41 <Qiming> it has been hanging there for over a week now, no reviews 13:35:42 <yanyanhu> Qiming, yes 13:36:16 <yanyanhu> just not sure how is the test going 13:36:17 <Qiming> if that is the only blocker, remove it, and move on 13:36:29 <yanyanhu> I see 13:36:37 <Qiming> then find their IRC channel, ask questions, :) 13:36:57 <yanyanhu> yes, I have. But I guess the time difference blocks the msg :) 13:37:20 <yanyanhu> anyway, will try to reach them 13:37:25 <Qiming> cool 13:37:41 <Qiming> time zone is never a critical issue 13:37:45 <yanyanhu> oh, BTW, this patch works now 13:37:46 <yanyanhu> https://review.openstack.org/303923 13:37:52 <yanyanhu> it 13:38:06 <Qiming> health management, R_lixh ? 13:38:11 <yanyanhu> it's a plugin for senlin tempest test 13:38:31 <R_lixh> I just start to looking at the fencing agent 13:38:39 <Qiming> okay, I was reviewing that, but distracted again today 13:38:41 <R_lixh> and existing work done 13:38:50 <R_lixh> on evacuation 13:39:06 <R_lixh> trying to set up the project 13:39:24 <R_lixh> still trying to put the story together 13:39:34 <R_lixh> then see what we can do in this feild 13:39:42 <Qiming> okay, if you have some rough ideas, you can put them into the etherpad 13:39:58 <R_lixh> ok 13:40:11 <Qiming> ping the team when you have new inputs there, :) 13:40:28 <Qiming> documentation 13:40:30 <R_lixh> Yes, I am thinking to monitor their IRC 13:40:46 <Qiming> I have just started some work on this 13:41:06 <Qiming> a tutorial on wiki is not a good idea -- difficult to maintain 13:41:25 <Qiming> so I'm starting a new subdir in senlin doc tree 13:41:42 <Qiming> the existing user doc will be used as a reference 13:42:14 <Qiming> there will be many links from the tutorial saying: for full documentation on ..., see .... 13:42:15 <yanyanhu> is that necessary to put the tutorial into readthedocs? 13:42:31 <Qiming> readthedocs is not openstack 13:42:58 <R_lixh> agree 13:43:11 <Qiming> I'm not sure we can publish docs directly to readthedocs 13:43:12 <yanyanhu> yes, just think maybe it's a public place to hold the tutorial 13:43:36 <Qiming> if the tutorial goes online in official openstack docs site 13:43:50 <Qiming> we can just add a link from the wiki 13:43:59 <yanyanhu> that will be the best 13:44:36 <Qiming> btw, xinhui's patch on auto-scaling tutorial will be merged into this tutorial as a sub-section 13:44:53 <Qiming> so I'm deleting line 29 on the etherpad 13:45:26 <yanyanhu> ok 13:45:33 <Qiming> the template used is also proposed to heat-templates project 13:45:33 <Qiming> so the next item is done also 13:46:25 <Qiming> event log generation bug has been fixed, finally 13:46:54 <Qiming> haiwei, do we have some place to check in your strawman code? 13:47:16 <Qiming> I mean the container support? 13:47:21 <haiwei> I did it locally 13:47:28 <Qiming> we can find some place on github 13:47:37 <Qiming> I can checkin my work there 13:47:38 <haiwei> shall I make a patch ? 13:47:47 <yanyanhu> or just push a patch to gerrit? 13:48:21 <yanyanhu> just mark it as WIP 13:48:27 <Qiming> not sure if the whole thing will be killed soon, yanyanhu 13:48:45 <yanyanhu> ok 13:48:50 <haiwei> anyway, we can abandon the patch 13:49:24 <Qiming> I was also checking the way to run containers using nova with libvirt-lxc, lxd ... 13:49:44 <Qiming> really not sure we will support them all 13:50:20 <Qiming> last item, semi-autoscaling and zaqar support 13:50:41 <Qiming> anything to share, cschulz_ ? 13:50:45 <cschulz_> Not much progress to report. 13:50:50 <Qiming> okay 13:50:58 <cschulz_> Got caught up on other things last week. 13:51:07 <cschulz_> BTW are you in US now? 13:51:11 <Qiming> speaking of a scaling request that may and may not lead to real actions 13:51:31 <Qiming> not yet, cschulz_ 13:51:48 <Qiming> I'm thinking if we can add an option to the resize request 13:52:02 <yanyanhu> for? 13:52:08 <Qiming> saying that this request is a "soft" one 13:52:21 <cschulz_> What does 'soft' mean? 13:52:35 <cschulz_> How do you envision it would be handled? 13:52:48 <Qiming> it may get executed, it may be not 13:53:03 <cschulz_> How is the decision made? 13:53:08 <yanyanhu> hmm, if not, why just rejecting the request 13:53:10 <Qiming> when receiving such a request, we can check if there are some approvals needed before translating that request to a real action 13:53:14 <yanyanhu> why not 13:53:52 <Qiming> yanyanhu, it involves some approval processs sometimes 13:53:57 <yanyanhu> I guess we can achieve that goal in scaling policy? 13:54:02 <elynn> sounds like an approval policy. 13:54:11 <Qiming> senlin doesn't know what to do actually 13:54:14 <cschulz_> One issue is that just the request may cause a request for approval 13:54:31 <cschulz_> Yes elynn 13:55:11 <Qiming> it is a little bit too late if we handle it in scaling policy, because the cluster is locked, we cannot lock it for a infinite time 13:55:13 <cschulz_> Did some work on this previous to Zaqar 13:55:32 <yanyanhu> a new policy is better way to support approval process IMHO :) 13:55:36 <Qiming> today, all policis are checked with clusters already locked, that is the issue 13:55:42 <cschulz_> Am now looking into Zaqar as the messaging mechanism to handle request and response. 13:55:54 <Qiming> cool, cschulz_ 13:56:09 <Qiming> Zaqar PTL, Fei Long Wang was an ex-ibmer 13:56:13 <cschulz_> Yes the locking is a real issue 13:56:28 <cschulz_> Approval response could be a long time in coming 13:56:48 <elynn> That would be a hook that we provide to handle request. 13:57:05 <yanyanhu> if so, all request should support it 13:57:06 <Qiming> unless we say... okay, we will break the policy checking logic 13:57:17 <yanyanhu> if it is really that generic 13:57:44 <Qiming> so it doesn't look like a REAL request to senlin 13:57:51 <Qiming> it is just a tentative one 13:57:57 <yanyanhu> yes 13:57:58 <cschulz_> It all depends on how much you want to build into Senlin as opposed to having all the decision mechanism outside. 13:58:10 <Qiming> that is the reason why I was thinking of adding a parameter to the request 13:58:36 <yanyanhu> just don't want to break the design logic of scaling request 13:58:37 <Qiming> yes, cschulz_, it is a trade-off 13:58:54 <cschulz_> Ah, I think I see 13:59:02 <yanyanhu> existing logic of action, policy 13:59:05 <Qiming> right, yanyanhu, but the request is a real one 13:59:19 <Qiming> we need to figure out a way to get it supported 13:59:21 <yanyanhu> yes 13:59:22 <Qiming> somehow 13:59:27 <yanyanhu> need some discussion here 13:59:28 <cschulz_> If you have a autoscale solution, fully closed loop, then you might need a callout mechanism for approval in some cases. 13:59:42 <Qiming> time's up, let's keep brain storming on this 13:59:52 <Qiming> thank you all, guys, talk to you next week 13:59:56 <yanyanhu> thanks 13:59:57 <cschulz_> Yes Thanks for the thoughts 13:59:57 * regXboi looks at the clock and finds a corner 14:00:03 <haiwei> bye 14:00:06 <Qiming> #endmeeting