19:01:21 #startmeeting Poppy Weekly Meeting 19:01:22 Meeting started Thu Jan 22 19:01:21 2015 UTC and is due to finish in 60 minutes. The chair is amitgandhinz. Information about MeetBot at http://wiki.debian.org/MeetBot. 19:01:23 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 19:01:23 o/ 19:01:26 The meeting name has been set to 'poppy_weekly_meeting' 19:01:26 0/ 19:01:32 #topic RollCall 19:01:41 hi tonytan4ever, miqui ! 19:01:43 o/ 19:01:44 o/ 19:01:47 hi 19:01:53 hi folks.... 19:02:04 o/ 19:02:13 o/ 19:02:22 o/ 19:02:37 #link Agenda - https://wiki.openstack.org/wiki/Meetings/Poppy 19:02:50 #topic Last Weeks Items 19:03:07 #link http://eavesdrop.openstack.org/meetings/poppy_weekly_meeting/2015/poppy_weekly_meeting.2015-01-15-19.00.html 19:03:35 tonytan4ever to reach out to the TaskFlow IRC channel to learn the differences between celery and taskflow 19:03:36 o/ 19:03:47 we have an agenda later to talk about this in detail 19:03:54 I did some research about TaskFlow 19:04:05 and compared it with Celery. 19:04:09 yeah..i did some pking at it.. 19:04:18 cool. we can dig in a bit 19:04:30 wbrothers to add doc to cdn vendor wiki page on how to add a mimic plugin for their api 19:04:46 This is the advantage with TF: a ) Tasks are grouped into workflows that can define ordering and dependency 19:05:01 tonytan4ever: save it for the agenda items in a little bit ;-) 19:05:02 . which are compiled to a directed graph and can be executed in parallel. These workflows can have portions that retry, and can revert their work on failure,. 19:05:15 OK 19:05:53 wbrothers: did you document how to build mimic plugin's for cdn providers? 19:06:53 ok moving on then 19:07:09 ALL - investigate worker management 19:07:17 we'll discuss that shortly with the TF stuff 19:07:19 No I haven't 19:07:30 ok thanks wbrothers ,i'll push it forwrad 19:07:42 #action wbrothers to add doc to cdn vendor wiki page on how to add a mimic plugin for their api 19:08:10 #topic Updates on Blueprints and Bugs 19:08:13 #link https://launchpad.net/poppy/+milestone/kilo-3 19:08:29 yes you read that right! we are now in Kilo-3 cycle 19:08:52 i released Kilo-2 yesterday which contained mostly bug fixes (https://launchpad.net/poppy/+milestone/kilo-2) 19:09:14 i moved any remaining bugs forward into k3, and groomed the blueprints targeted 19:09:27 thanks amitgandhinz 19:09:33 the focus is now back on to features 19:09:59 lets quickly go over the bugs that are being worked on.... 19:10:12 https://bugs.launchpad.net/bugs/1408296 19:10:39 obulpathi: are you currrently working on this or can i unassign you 19:10:40 I still have to start this 19:10:52 same for #1408301 ? 19:11:11 yes 19:11:27 ok, removing your name 19:11:30 ok 19:12:25 miqui: https://bugs.launchpad.net/bugs/1381091 19:12:54 are you working on this or should i remove your name also 19:13:10 keep my name on it... 19:13:23 ok 19:13:50 then there are 3 bugs in progress that need reviews or are being worked on 19:14:06 obulpathi: https://bugs.launchpad.net/bugs/1380679 19:14:13 what is the status of this one, its been around for a while 19:14:38 I will finish it up by this week 19:14:44 i dont see a PR for it 19:14:49 lets leave the status the same for now 19:14:54 ok 19:15:11 ok, moving on to blueprints 19:15:25 https://blueprints.launchpad.net/poppy/+spec/queue-driver 19:15:34 we are going to discuss this in a bit, so no update needed right now 19:15:54 malini is out so cant get update on https://blueprints.launchpad.net/poppy/+spec/conformance-tests 19:16:10 obulpathi: https://blueprints.launchpad.net/poppy/+spec/mimic-racksapce-dns 19:16:20 I did some progreass on thsi 19:16:33 good chunks of API are in working state: CREATE and search 19:16:48 about 50% is done 19:16:53 so change it to Good Progress then 19:16:56 yep 19:17:18 miqui: any update on https://blueprints.launchpad.net/poppy/+spec/home-doc 19:17:47 started to look at this... did some one else in the team make a change? 19:17:55 i notice some differences... 19:18:03 i dont think so 19:18:21 let me look... 19:18:51 https://github.com/stackforge/poppy/commits/master/poppy/transport/pecan/controllers/v1/home.py 19:18:56 no changes since dev 2 19:18:58 dec 2 19:19:06 hmm, ok... well.. i will dedicate more time to it.. sometimes i cannot correlate the actual output with the verb/action 19:19:15 ah k... 19:19:36 well...i'll keep at it... 19:19:40 ok 19:19:45 probably get it wrong first couple of passes... 19:20:01 so miost likely i'll be asking a review 19:20:26 thats fine, all part of the process =) 19:21:00 ok any other updates for any of the bp here https://launchpad.net/poppy/+milestone/kilo-3 19:21:11 kilo 3 ends on March 5 19:21:35 nop 19:21:39 no updates 19:21:50 most of these stories are related to adding some more basic features customers need, and cleaning up code to make it better or more maintainable 19:22:29 ok moving on then... 19:22:39 #topic New Items - Taskflow vs Celery Discussion 19:22:46 OK 19:23:00 from miqui: http://paste.forj.io/show/289/ 19:23:14 yeah that was my chat with tf folks... 19:23:22 go for it tonytan4ever, tell us what you learned over the past week 19:23:29 then started looking at their architecture... 19:24:12 In short TaskFlow provides mechanism for workflow patterns, gives you ability to build task based on dependencies and retries, and things of that nature. 19:25:12 so our tasks and workflow is basically 1. talk to cdn provider. 2. update storage. 3. update dns 19:25:13 So the dependencies and retry mechanism are buzzword here 19:25:40 Yes, execept in create we need to update storage first. 19:25:45 ok 19:25:52 from miqui's discussion, "celery is highly (imho) intrusive" stuck out to me alot 19:25:58 and dependency is 2 only happens after 1 succeeds? 19:26:15 Yeah 19:26:28 But I argue since we only have three tasks at most 19:26:34 and retry is retry on failure (eg rate limiting, server unavailable, etc) 19:26:47 yeh 19:27:15 true, workflow might be simple now...but could grow tomore use cases... 19:27:17 Following what I want to argue, since we only have 3 tasks at most, their dependencies/retries are not that important. 19:27:43 And TF does have a draw back that monitoring worker process is not as easy as in Celery. 19:27:47 yeh, that could be added later if needed/wanted 19:27:55 +1 19:28:04 how do you monitor workers in TF? 19:28:11 You can only read logs. 19:28:12 good qurstion... 19:28:39 Celery has flower which is favored by me and will be liked by Ops as well. 19:29:03 harlowja: ^^ 19:29:24 hallo 19:29:34 hi 19:29:38 ...hi 19:29:42 harlowja: if you have a sec, the Poppy team is discussing between choosing TaskFlow or Celery for our tasks/workers 19:29:42 H harlowja 19:29:47 hi there 19:30:02 well i'm still of the believe that celery is a full-app solution, u adopt it all or none of it :) 19:30:11 while taskflow i think isn't 19:30:16 *or wasn't intended to be 19:30:28 how does monitoring workers work with TF? 19:30:52 so it doesn't have a flower like thing (yet) but u are free to make one 19:31:07 but depends on what u mean by monitoring workers 19:31:20 up/down? 19:31:34 up/down, do we need to scale them out more 19:31:38 For example, we need to know if a worker has been successfully completed 19:31:39 progress and failures 19:31:40 reached a threshold (like max pool size) 19:31:43 don't there exist a ton of existing solutions to monitor this stuff? :) 19:32:15 well completed succesfully is different than up/down; up/down i'd hope can be monitored by the existing tools that monitor process no? 19:32:28 yes 19:32:36 cpowell_: thoughts on monitoring? 19:32:37 progress and failures, that would need to be added, but i don't suspect its hard 19:33:13 normally just looking for process name 19:33:24 count number of PIDs 19:34:17 even with Celery, your celery worker would be managed by Supervisord or something 19:34:25 sensuapp easily do this... 19:34:38 <3 Sensu 19:34:44 lol 19:34:44 ya, i think there is like 10 trillion things that do this no? 19:34:51 yup 19:35:00 nagios 4, etc...etc.... 19:35:21 tonytan4ever: so what does celery's flower give us that we need? 19:35:35 It gives us all what we need. 19:35:55 pretty pictures :-P 19:36:00 Up/down, scale situation, task success/failure. 19:36:07 have we considered documentation? 19:36:15 Yeah, and it's pretty. 19:36:31 if celery docs are much better than taskflow, i failed, ha 19:36:37 i hope its nearly the same :-P 19:36:46 *and/or better 19:37:06 how widely used is taskflow currently (in production systems)? 19:37:08 I would say I can read both celery and tf. Tf's docs are fine for me. 19:37:24 amitgandhinz so cinder has been using it (not in the same manner u have in mind) for a while 19:37:31 http://www.rackspace.com/cloud/big-data/ uses the workers 19:37:35 and i guess thats been going for a year 19:37:49 mirantis uses it in https://github.com/MirantisLabs/pumphouse 19:38:08 it though becomes a question of what funcitonality do u want to us 19:38:09 *use 19:38:22 since u don't have to use the workers (if u just want to run workflows in local threads/processes) 19:38:42 celery i think has bigger names, but thats imho partially because its older 19:38:55 yeh we want it to perform async tasks that are initiated from the rest api, so we will be using the workers 19:39:34 Yeah. To use worker/queue is our primary reason to have this discussion here in the first. 19:39:35 imho; i'd do an evaluation, decide on what u guys feel is appropriate and go with it (if its not taskflow, thats fine) 19:39:47 use the right tool that u guys feel is ok :) 19:40:06 celery hasn't been accepted to well into openstack (its been tried like 3+ times) 19:40:34 but maybe that situation is better now 19:40:52 i saw barbican's issues with getting it accepted, but wasnt sure how wide spread its lack of acceptance was 19:41:17 Yeah, plus celery is FreeBSD license. 19:41:46 tonytan4ever: from your view, besides monitoring, what other benefits do you see with using celery? 19:41:52 ah the good ole http://lists.openstack.org/pipermail/openstack-tc/2013-December/000436.html :-/ 19:42:02 harlowja: lol ya 19:42:11 amitgandhinz i don't think its been attempted since 19:42:21 but its been a year, maybe time to try again :) 19:42:27 *seems to happen once per year, lol 19:42:37 *year+- 19:42:43 Celery also has simple exception/failure handling mechanism, for us only with three tasks it should be good enough. 19:43:15 tonytan4ever what does freebsd license help? 19:43:17 apache not good? 19:43:31 * harlowja curious 19:43:44 i thought apache was preferred... 19:43:53 That's a drawback of celery comparing to TF, harlowja 19:44:00 i think thats what tonytan4ever was implying =P 19:44:12 tonytan4ever oh, i'm not such a license expert, not really sure the diff, ha 19:44:33 And we can adopt our current async workers for celery task functions pretty easily. 19:44:44 Not too much code their. 19:44:56 This is the benefit of celery ^^ 19:45:40 meh, i'm meh meh on that, stuff is never as easy as that ;) 19:46:01 With tf we'd have to break those function down into tasks and combine them into flows. 19:46:20 The Apache 2.0 licenses contain a patent grant, which means that at least the authors of the code are giving you any rights that you need for the authors' patents that happen to be in the code that you are using. 19:46:34 tonytan4ever ya, the amount of refactoring either way is imho marginal 19:46:37 FreeBSD license does not grant the use the rights on patents used by the code 19:46:40 im ok with a bit more work if the code becomes more granular into units 19:46:46 s othat the major upside of Apache license 19:46:53 obulpathi good to know 19:47:01 :) 19:47:39 ok do we have more questions on celery vs taskflow or are we ready to vote on it? 19:47:39 amitgandhinz: +1, granular so it does one thing and one thing well.. 19:47:56 it might be useful to prototype both ways, idk 19:47:57 just a thought 19:48:10 *up to u guys though 19:48:21 /and let tf handle the life cycle of it... 19:49:26 #startvote Should we implement Taskflow or Celery? Taskflow, Celery, Both 19:49:27 Begin voting on: Should we implement Taskflow or Celery? Valid vote options are Taskflow, Celery, Both. 19:49:28 Vote using '#vote OPTION'. Only your last vote counts. 19:49:54 well, judging from the tone of the email harlowja linked, I think that celery is a non-starter... 19:49:57 #vote Celery 19:50:15 cpowell_ the tone might of calmed down over the past year (i'm must not sure), lol 19:50:20 *i'm just not sure 19:50:35 we could always seed the thought again on the dev list 19:51:01 *bring your flak jackets (just incase) 19:51:05 lol 19:51:24 cpowell_: miqui: obulpathi: ready to vote yet, or do you have more questions? 19:51:34 are there docs for prodution installation/configuration 19:51:51 I see how to use it in the code... 19:51:59 #vote TaskFlow 19:52:09 probably could be made better cpowell_ in that area; but i don't think its to much work there 19:52:26 be nice to have some examples/recommendations for that i guess 19:52:57 the rackspace guys maybe can make that (they've been using this model/workers... for a whie) 19:52:58 *while 19:53:12 * harlowja will poke them on this, ha 19:53:21 and poke and poke :-P 19:53:21 cpowell_: we should sync up with the big data folks 19:53:35 ok 19:53:39 def amitgandhinz cpowell_ #openstack-state-management channel (dkrause or jimbohickville) 19:53:52 dkrause not on right now, but jimbo (greg) is 19:54:00 we can do that offline 19:54:01 nm, he left to, ha 19:54:09 * amitgandhinz heard us and ran =P 19:54:11 :) 19:54:21 ok only 6 minutes left 19:54:24 can we vote? 19:55:21 I reserve the right to complain about either choice 19:55:32 lol 19:55:35 #vote TaskFlow 19:55:36 You can vote both right, lol 19:55:37 lol, no we hold you to it for ever and ever 19:55:40 #vote None (Start with only queues and implement worker mechanism later, depending on the needs and our ability to handle TaskFlow. I prefer TaskFlow tough, if we can manage it) 19:55:41 obulpathi: None (Start with only queues and implement worker mechanism later, depending on the needs and our ability to handle TaskFlow. I prefer TaskFlow tough, if we can manage it) is not a valid option. Valid options are Taskflow, Celery, Both. 19:55:54 cpowell_: Same thoughts here 19:56:06 #vote TaskFlow 19:56:22 OK. I guess it's TaskFlow then... 19:56:23 #vote TaskFlow 19:56:26 I am insterested in TaskFlow, but from an Ops perspective I need to see more 19:56:47 miqui: ??? 19:57:42 its going to have to start with a prototype either way 19:57:48 voting.. 19:57:52 #vote TaskFlow 19:58:16 ok i think thats everyone 19:58:21 #endvote 19:58:22 Voted on "Should we implement Taskflow or Celery?" Results are 19:58:23 Celery (1): tonytan4ever 19:58:24 Taskflow (4): miqui, obulpathi, cpowell_, amitgandhinz 19:58:44 ok, so lets do a prototype of taskflow 19:59:03 I am alway be minority... Lol. 19:59:03 and we should build it in a way such that if in the future we want to build celery workers we arent locked into a corner 19:59:16 tonytan4ever: even minority's have a voice =) 19:59:26 OK. 19:59:31 agreed. 19:59:47 the kicker for me i feel is openstack acceptance of taskflow, and the monitoring is still possible with taskflow workers (with a little mrore work) 20:00:06 and the nice to have of smaller units of tasks makes for better code 20:00:12 at the expense of more time to build it 20:00:16 anyway, time is up 20:00:23 we should continue discussing in the channel 20:00:24 thanks harlowja 20:00:25 cools, #openstack-state-management guys 20:00:28 See you all. 20:00:36 #endmeeting