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