15:00:21 #startmeeting gantt 15:00:22 Meeting started Tue Jan 28 15:00:21 2014 UTC and is due to finish in 60 minutes. The chair is n0ano. Information about MeetBot at http://wiki.debian.org/MeetBot. 15:00:23 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 15:00:25 The meeting name has been set to 'gantt' 15:00:35 anyone here want to talk about the scheduler? 15:01:08 I'm here, hi 15:01:12 hi 15:01:13 Hi n0ano 15:01:19 Hi all 15:01:33 hi 15:02:04 Are there logs for the last meeting? the ones I can see are from 7th Jan 15:02:37 PaulMurray, yeah, start from http://eavesdrop.openstack.org/meetings/gantt/2014/ 15:02:41 that should work 15:02:47 thanks 15:03:23 PaulMurray, sorry, the 14th was when I change the meeting name to gantt, hence the location of the logs changed 15:03:37 boris-42, you here? 15:03:52 n0ano yep 15:03:59 cool 15:04:02 hi 15:04:08 #topic no-db status update 15:04:11 n0ano so we made some benchmarks 15:04:14 boris-42, anything happening? 15:04:22 n0ano 1 controller + 128 computes 15:04:32 n0ano with Rally 15:04:46 n0ano but seems like there are other bottlenecks =) 15:04:53 n0ano not related to the scheduler=) 15:05:09 I hate it when the real word messes with my plans :-) 15:05:16 =)) 15:05:38 n0ano so scheduler is not the first problem (that you will face with OpenStack=) 15:06:08 do you know where the other bottlencks are? 15:06:09 what are you finding to be the first problem? 15:06:13 boris-42 it's the least problem we have :)) 15:06:42 n0ano my another team is working around profiling stuff 15:06:56 boris-42: which profiling tools are you using? 15:06:56 n0ano so we will get "why it works so slowww..." 15:07:06 garyk1 we are doing our tool=) 15:07:07 boris-42 what is the problem exactly, can you brief? 15:07:13 toan-tran idk 15:07:19 toan-tran everywhere =) 15:07:34 garyk1 we are doing own tool 15:07:40 (I've always said, performance is an infinite resource sink) 15:07:44 garyk1 it is based on ceilometer & rpc notifier 15:07:58 boris-42: ok, thanks. it would be nice if we all were using the same tool and then could share 15:08:12 garyk1 and this lib https://github.com/pboris/osprofiler 15:08:22 garyk1 i have to find time to finish this work 15:08:26 boris-42: thanks. i was looking into zipkin 15:08:38 garyk1 zipkin is unmergable into upstream 15:08:49 garyk1 so we will get the same result 15:08:54 boris-42: ok, thanks! 15:08:58 garyk1 but in upstream without & without zipkin=) 15:09:15 interesting point, is there an openstack profiler/performance project (and if not, should such a thing be started)? 15:09:30 n0ano I started doing 15:09:39 n0ano and almost finish it.. 15:09:48 http://pavlovic.me/drawer.html < it will look like this 15:09:57 there are couple of oslo patches 15:10:05 and it's all 15:10:10 cool 15:10:18 garyk1 I hope I will find time to finish it 15:10:55 Was that BP you mentioned earlier for this, if so I can see if I can get some people interested in helping out 15:12:16 actually, that was a link to the github source tree, is there a BP? 15:13:40 boris-42, yt? 15:14:46 well, boris-42 seems to have dropped off, let's move on for now 15:14:53 #topic scheduler code forklift 15:15:34 Don't know if you all have been tracking but I've put in a patch for review that gets the gantt tree to pass all scheduler tests and also the tree works as a scheduler for nova 15:15:56 cf the commit at https://review.openstack.org/#/c/68521/ 15:16:18 (as always, reviews are very welcome) 15:16:42 n0ano: awesome. I'll take a look at it when I have a moment 15:16:57 +1 top work 15:16:59 with this change we can then start the work of disentangling gantt from nova and truly turn it into a separate service 15:17:37 also, I've completely ignored the client side of the work, we have a bare bones tree but I don't even know where to start with that. 15:17:53 anyone who wants to look at the client side feel free. 15:18:02 n0ano: I had started with initial things 15:18:03 how is tempest doing, are the tests passing when running gantt now? 15:18:38 johnthetubaguy, not sure, Jenkins is completely happy, how do I run tempest 15:18:54 * n0ano has noticeable holes in my openstack knowledge 15:19:12 ah, you need to change check-tempest-dsvm-full to use gnatt for the scheduler, using your devstack changes 15:19:32 it would be good to start running that against nova too, so people spot when the break gnatt with their changes to nova 15:20:15 that'll require some infrastructure changes, I'll need help on that 15:20:21 speaking of devstack... 15:20:42 sometimes after updating nova I got problems with RPC API 15:20:42 I have the patch up for review to add gantt but nobody has looked at it 15:20:47 #link https://review.openstack.org/#/c/67666/ 15:20:51 should we precise the RPC version for gantt? 15:20:57 i started to look at the devstack pacth today but got sidetracked. i'll comment soon 15:21:03 reviews for that would be `really` good 15:21:07 garyk1, great tnx 15:21:12 n0ano: its not too bad, they have documents, and you can specify stuff that goes into devstack localrc, relating to a job config, but not done that in anger before 15:22:12 Robert Collins helped (as in did all the work :-) setup the gantt tree, I'm sure we can get this put in also 15:22:42 up until now that gantt tree didn't work as a scheduler so now is the right time to put in the tempest checks 15:23:43 :) 15:24:49 that's pretty much where we are on the forklift so moving on 15:25:14 * n0ano hit the wrong key, lost my screen for a second 15:25:31 Gantt is strictly tight to nova, should we precise nova in requirements? 15:25:57 toan-tran, not sure what you're asking? 15:26:13 the RPC version is freeze in gantt, 15:26:35 it may cause some incompatibility when importing from nova 15:27:06 probably, I consider the importing from nova a transitional phase, the goal is to cut the cord as soon as possible 15:27:31 I don't want to formalize the nova import too much, I just want it to go away 15:27:57 then maybe we have to put it in oslo 15:28:35 toan-tran, yes, I would imagine that, rather than duplicate code between nova & gantt it should go into something like oslo instead 15:29:36 moving on 15:29:46 #topic policy based scheduler 15:29:51 toan-tran, the floor is yours 15:29:58 n0ano thanks 15:30:21 I have uploaded the code of the blueprint here: https://review.openstack.org/#/c/61386/ 15:30:52 the purpose is to create scheduler that is capable of applying different policies in different contexts 15:31:15 like an aggregate, an avaialbility zone, or for a particular (group of) user 15:31:52 we came up with this after working a while with different scenario 15:32:04 especially when thinking of pcloud 15:32:17 like the AggregateRamFilter we have today? 15:32:22 yes 15:32:27 how are teh policies defined 15:33:00 here is an example: https://review.openstack.org/#/c/61386/7/etc/nova/scheduling_policy.json.sample 15:33:21 it's JSON format, as the current policy.json 15:33:39 toan-tran: does this overlap with work that inbar and alex are doing? 15:33:52 part of it, yes 15:34:00 what is an example - target - effect - condition 15:34:06 that is https://review.openstack.org/#/c/58480/. thanks for the update 15:34:18 Yathi: target = an aggregate 15:34:30 Effect = RamOverProvisioning (1.5) 15:34:52 Condition = all/time/exceptional condition , etc 15:35:06 that's the standard of policy based management system 15:35:27 garyk1 in fact when we started working with scheduler 15:35:40 we looked at the multi scheduler blueprint 15:36:07 toan-tran: nice to hear 15:36:10 the problem was that it uses flavor metadata for customizing scheduler 15:36:47 then looping between scheduler --> filter --> metadata --> scheduler ... 15:37:05 so I like the policy file approach, but I assume we could have both places as data sources? And so unify the two blueprints? 15:37:59 johnthetubaguy : the idea of active schedulers already comes from multi schedulers 15:38:00 :) 15:38:19 OK, cool 15:38:29 but we start design it as a policy based management system 15:38:36 not as a scheduler per se 15:39:22 thus it is more like a scheduling center to call other schedulers, which implemeneted as "plugins" 15:39:33 each plugin is correspondent to a policy rule 15:39:41 example 15:39:57 so i am guessing you can switch the scheduler drivers based on policy at runtime 15:40:16 "service_class" = gold ==> calling plugin with parameter gold 15:40:29 Yathi yes, that's the purpose 15:40:40 we have implemented a plugin "generic" 15:40:48 so you basically have named macros or named references to drivers 15:41:08 which is basically a "filter-scheduler" with customizable filters/weighers that admin can change in real time 15:41:22 debo_os : yes 15:41:45 I think that in some usecase like pCloud 15:41:58 user would like to define their own policy for his bare-metal servers 15:42:26 it would not interferre with the remaining of the datacenters 15:42:32 so you are tightly coupling your code to Filter scheduler then ? what happens if we have the solver scheduler driver in.. which does schuduling based on constraints in future ? 15:42:42 got it ... but how would users define their policies .... 15:43:04 debo_os : by using our rule languae 15:43:08 language 15:43:29 much like how admin use filters now 15:43:59 Yathi: solver scheduler can be called also 15:44:20 Yathi I think of using the rules to pass filters as parameters to solvers 15:44:43 that's why I'm interested in how you use the filter/weighers list to constitute the constraint 15:45:16 in fact we also figured how we can cooperate with sovler sheduler 15:45:52 toan-tran - agreed this is the work, some of my team members are doing currently - to add pluggable constraints - hopefully we can sync up later on 15:46:03 Yathi +1 15:46:19 I think solver is very interesting in term of optimization 15:46:25 toan-tran: any pointers to your rule language .... 15:46:38 I am in the process of first getting my solver scheduler code ready for review.. will work with you later on 15:46:53 I documented in the doc in gerrit link 15:47:07 thx 15:47:26 https://review.openstack.org/#/c/61386/7/doc/source/devref/scheduling_policy.rst 15:47:28 here it is 15:48:28 currently we implemented some plugins in the /plugins folders 15:49:12 they just call filters and weighers on the host_states 15:49:18 Toan-tran - I like this work, and I am willing to collaborate on this further 15:49:28 Yathi +1 15:49:37 toan-tran, OK, tnx, looks like you sparked some interest 15:49:41 moving on. 15:49:47 #topic instance groups 15:49:52 code up for review 15:49:53 Yathi I can send you what we think of the connection between the two 15:49:54 garyk1, did you want to give an update 15:50:13 https://review.openstack.org/#/c/62557/ 15:51:01 ok ... I can chime in for Gary if he has stepped out 15:51:12 debo_os, looks like, go ahead 15:51:16 the code is up for review https://review.openstack.org/#/c/62557/ 15:51:42 Right now it looks big due to the docs and the v2/v3 API in the same patch ... one comment has been to split it up 15:51:45 sorry, i was looking at something else 15:52:11 debo_os, I saw that, 3k lines is a bit daunting 15:52:49 +1 but its mostly docs .... and we reduced a lot of code by removing an extra layer 15:53:04 i guess breaking it up into smaller pieces may help with the review process. 15:53:16 which ws due to pre-object era design (this original code is old) 15:53:28 so does it make sesne to do 3 splits - v2, v3, doc 15:53:55 debo_os, that sounds like a good plan to me 15:53:59 ok 15:54:54 OK, moving on 15:54:58 #topic opens 15:55:10 in the last few minutes, does anyone have any opens? 15:55:58 hearing crickets, we'll close in... 15:56:01 3... 15:56:16 2... 15:56:19 Reviews welcome for the caching scheduler 15:56:29 https://review.openstack.org/#/c/67855 15:56:32 its rough 15:56:39 currently profiling and tuning stuff 15:56:58 but would be interested in what people think 15:57:12 it helps a bit in some cases 15:57:21 toan-tran: would you publish your view of the connection between policy-based with solver on the mailing list ? 15:57:32 we might have something to contribute there 15:58:00 gilr : yes 15:58:25 toan-tran: excellent 15:58:33 1 15:58:44 tnx everyone, we'll talk again next week 15:58:51 #endmeeting