20:00:04 #startmeeting Octavia 20:00:06 Meeting started Wed May 27 20:00:04 2015 UTC and is due to finish in 60 minutes. The chair is xgerman. Information about MeetBot at http://wiki.debian.org/MeetBot. 20:00:07 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 20:00:10 The meeting name has been set to 'octavia' 20:00:15 o/ 20:00:15 o/ 20:00:18 #chair blogan 20:00:18 Current chairs: blogan xgerman 20:00:21 o/ 20:00:31 o/ 20:00:49 hi! 20:00:50 #link https://wiki.openstack.org/wiki/Octavia/Weekly_Meeting_Agenda#Meeting_2015-05-27 20:01:10 #topic Announcements 20:01:16 o/ 20:01:29 o/ 20:01:29 0/ 20:01:37 Midcycle: https://etherpad.openstack.org/p/LBaaS-FWaaS-VPNaaS_Summer_Midcycle_meetup 20:01:53 please sign up 20:02:03 is fwaas and vpnaas joining? or is it only lbaas now? 20:02:05 o/ 20:02:20 good question - Paul said he can’t make it 20:02:43 so it might be very LBaaS centric 20:02:46 haven't heard from fwaas guys? 20:02:48 it is just lbaas. 20:02:55 i spoke to both earlier. 20:03:08 well, where are they meeting? 20:03:23 you are assuming they are doing a mid cycle. 20:03:43 and i don't see one: https://wiki.openstack.org/wiki/Sprints 20:03:54 There wasn't any specific discussion of a VPNaaS midcydle at the F2F in Vancouver on Friday. 20:04:13 yeah, I talked with cpm earlier and he said he won’t come 20:04:18 pcm 20:04:31 pc_m hates us 20:04:44 he said he wants to be like us 20:04:46 he usually goes to the neutron meetup. :) 20:04:55 yes, he said he would be there 20:04:57 oh he hates us cuz he aint us 20:05:50 FW needs a mid cycle so I need to promote the one in Seattle harder 20:06:12 umm, why? 20:06:56 HP has big plans with FW 20:07:16 so write up a spec and post it. i'm not sure forcing a mid cycle is the path forward? 20:07:54 k - moving on 20:08:27 Links to our talks: 20:08:38 #link http://bit.ly/Octavia_OS_2015_video 20:08:46 #link https://www.openstack.org/summit/vancouver-2015/summit-videos/presentation/load-balancing-as-a-service-kilo-and-beyond 20:08:56 #link https://etherpad.openstack.org/p/YVR-neutron-octavia 20:09:01 skip over my pieces 20:09:05 #link https://etherpad.openstack.org/p/YVR-neutron-lbaas-use-cases 20:09:14 yeah, fast forward :-) 20:09:29 any other announcements? 20:09:54 #topic Brief progress reports 20:10:07 not sure if we made progress with the summit and such 20:10:19 i got that one patch up on the plane 20:10:32 phil added tis support to the neutron driver. 20:10:37 tls 20:10:41 oh yeah 20:11:02 +1 20:11:21 i'm curious whether johnsom could reproduce the delete errors i was getting 20:11:21 I like eyes on https://review.openstack.org/#/c/160034/ and https://review.openstack.org/#/c/171172/ 20:11:23 My progress report from our last IRC is I got a demo working.... grin 20:11:39 also added tls hookups in Octavia, right? 20:11:43 (ptoohill) 20:11:50 yep, I saw some patch 20:11:56 ptoohill is still recovering from wasabi meltdown 20:11:57 Could use more eyes here: https://review.openstack.org/#/c/170989/ 20:12:14 It has a -1 from brandon from earlier, but still... 20:12:14 blogan no, I spent yesterday rebuilding a devstack instance to give it a go and made it close to the point where I can try it. 20:12:32 johnsom: oh devstack problems, they're such a time sink 20:12:39 +100 20:12:50 A lot of email, expense reports, etc. to catch up on. 20:13:10 Yeah, tempest venv was blowing up on me, but got it going 20:13:34 oh god expense reports, ihavet o do them too 20:13:35 don’t forget that we drafted you to give the Vancouver demo internally 20:13:53 Yeah, twice... 20:14:01 :-) 20:14:09 ok, moving on 20:14:11 johnsom: you shouldn't have to do the vip bridge now 20:14:22 #topic Static Code Analysis 20:14:29 ah, yes 20:14:46 Sonar is NOT free/public, right? HP has licensed it? 20:14:59 nope, it’s actually open source 20:15:05 AH, ok 20:15:13 #link http://www.sonarqube.org/ 20:15:17 so we COULD add it as part of the current pep8/pylint suite? 20:15:25 i'm missing context, could someone fill in? 20:15:28 so tox would auto-run 20:15:30 o/ Sorry for being late 20:15:30 before the meeting we discussed having it as a non voting job to gauge it 20:15:38 got caught up in a meeting 20:15:43 blogan: ah, ok 20:15:54 that would work too 20:15:55 rm_work: not easy to run in tox, its java and requires maven or something 20:16:02 augh :/ 20:16:09 yeah, Designate has it as 3rd party CI so I thought we can follow their lead 20:16:12 yeah so even if we could get tox to run it, i wouldn't want to put that on my system 20:16:16 thought it'd be python, since it does python code analysis 20:16:20 #link http://sonar.designate-ci.com/ 20:16:48 there are python specific open source code analysis tools 20:16:48 do we have a 3rd-party CI for it? 20:16:50 my concern with having it is that its an extra overhead and more hoops to jump through to get code in, which is bad for getting new contributors 20:17:05 yeah I am not hugely convinced it's necessary 20:17:06 but willing to try it as a non-voting job 20:17:10 but yes, same 20:17:15 as long as I don't have to do the work to set it up 20:17:15 We have better coverage than they do... 20:17:42 dougwig: I can get us a machine on HPCloud to run 3rd party CI 20:17:44 johnsom: so are you saying its not worth doing it? 20:18:01 I agree we should start as non voting and then we can make it voting once we trust that it doesn't mess things up 20:18:06 Sorry, just an observation looking at their sonar page 20:18:10 oh lol 20:18:24 Octavia code coverage > Designate Code Coverage 20:18:28 if it starts forcing me to add @staticmethods to methods i will -2! 20:18:32 I don't particularly like the idea of making a voting gate job that runs tests that aren't easy to run out of the box locally 20:18:43 it runs in pycharm 20:18:45 that'd be like if the pep8 checks were a remote CI that voted, but wasn't in tox 20:18:51 hmm 20:18:52 we can't force people to run pycharm 20:19:04 sadly, yes 20:19:08 I also hope it has a way to configure ignoring rules 20:19:15 the way pep8/hacking does 20:19:19 i assume it does 20:19:24 it does 20:19:32 I saw a lot of #nosonar 20:19:35 in the patches 20:19:36 we have tweaked our internal one to be more foregiving 20:19:39 ok 20:19:49 let's back up a sec. are we, as a group, committing to following the rules laid down by sonar? this means either CI or someone regularly submitting changes to fix things up for sonar. 20:19:53 so you can ignore a whole rule, not just #nosonar all over 20:20:00 this is going to casue a lot of those # nosnar thigns are they? 20:20:06 So, my question is does this seem of value to the team? 20:20:33 I don't think it's that important, but if i don't have to do anything, and it runs as part of checks locally, then i am ok with it 20:20:39 if it's voting but not run locally with tox, i am less OK 20:20:46 johnsom: i have no idea until i see the output, which is why i'm cool with a non-voting job as an experiment. 20:20:53 johnsom: i, personally, right now think it will just be an annoyance because a lot of what it enforces is subjective and if it catches anything egregious that should be caught by code reveiws 20:20:57 dougwig: +1 20:21:05 blogan +1 20:21:16 johnsom: but, it'll fairly quickly need to be either voting or abandoned, because non-voting it'll rot. 20:21:18 but yes willing to try it as an experimental job 20:21:22 (even though we disagree about the things that are subjective) 20:21:24 yep 20:21:32 which makes it subjective 20:21:41 true :) 20:21:42 * blogan goes down the rat hole 20:21:54 well, we won’t quick it into a virtual blogan 20:21:59 that rat hole though 20:22:00 tweak 20:22:14 don't quick anything into a virtual me! 20:22:33 do we have that tow truck 404 page yet? 20:22:48 ok, I am with dougwig — let’s try it out non-voting and if it delivers values we make it voting 20:23:05 so should we just get the job going and bring it up in each meeting as to whether we want to keep it or not? 20:23:22 maybe not each meeting but something like that 20:23:36 whelp, not-it for setting that up 20:23:45 well i mean once we decide to get rid of it or to keep it, that'll be the last meeting for it 20:23:45 Nose-goes 20:23:52 * blogan nominates xgerman 20:23:56 +1 20:24:13 well, I already volun-told johnsom and mwang 20:24:17 lol 20:24:20 if you've got a node running sonar that i can use as a slave, i can make it non-voting on every change via the a10 ci in a matter of minutes. i really don't want to contemplate setting up another CI for gerrit ever again. 20:24:26 Yeah.... 20:24:45 johnsom and mwang2_: you poor souls. :) 20:24:49 brings back bad memories 20:25:06 * TrevorV let blogan do it initially anyway :D 20:25:13 one day ill set up a CI in gerrit, but that day is not today (or any day in th enear future) 20:25:28 I look at it as a CI learning experience.... 20:25:42 johnsom == glass is half full kind-of-guy 20:25:53 and i learned a lot actually 20:26:01 okay i think we got this covered 20:26:18 NEXT 20:26:19 #topic How to solve tightly coupled drivers (compute, network, amphora) 20:26:26 this is mine 20:26:31 yep 20:26:32 anyone get a chacne to read the agenda? 20:26:37 no 20:26:38 Yes 20:26:39 lol 20:26:42 no 20:27:08 blogan recap or should we have everybody read right now 20:27:16 tldr: amphora driver has gotten to the point where it needs to call neutron to get some information, which is bad as it shouldn't know about neutron 20:27:24 Personally, I like the driver model we have today, so I lean towards the data model updates. 20:27:37 well, option 3 kinda sucks. 20:27:38 johnsom: +1 20:27:38 +1 20:27:43 Option 1 and 2 will require the same work really, just dpeends on when the driver is called 20:27:49 yeah amp driver should call up to the controller or something for that info 20:27:54 dougwig: it was just an option 20:27:56 and then the controller calls back down to the net drvier 20:27:59 *driver 20:28:21 I like inversion of control and have the controller just provide the info — 20:28:36 if we need to let’s make tasks/methods more granular 20:28:50 so the original intent of the network driver was so we could have a neutron and nova-networks driver, but its kind of morphed into being able to satisfy every deployer's different way to hook into their networking infrastructure 20:29:04 which is also fine. 20:29:15 yeah, how ridiculous WILL option 2 be to implement? 20:29:34 also I hate circular references 20:29:35 Does Option 2 actually remove the tight coupling though? 20:29:41 option 1 and option 2 are the least ridiculous in my mind 20:29:42 yes 20:29:53 +q1 20:30:13 i do prefer option 1, but option 2 is almost the same so i dont care 20:30:13 so after we disqualified 3 20:30:14 i think i like option 2 the best? 20:30:26 prefer 2 20:30:31 i can go with that 20:30:41 dougwig what about compute call network, which call compute, which calls network 20:30:44 we still need the data models and the extra driver methods 20:30:50 lol 20:30:56 xgerman: umm, don't do that? 20:31:00 lol 20:31:09 well, we are opening the door 20:31:23 the door is open to add a fork bomb to every api call, too. 20:31:56 so Option 3 and Option 4 no one likes right? 20:32:08 you could say that they are not an option? 20:32:29 I prefer Option 4 20:32:31 Just cuz 20:32:32 option 3, we might as well not have "drivers". 20:32:34 Less work 20:32:39 dougwig: agreed 20:32:39 dougwig: yep 20:32:46 +1 20:32:53 dougwig: well we woudl still have drivers, but that would cause us to have all these unnecessary abstraction layers 20:32:57 4 tightly couples us on as neutron 20:33:19 It IS an openstack project now. Can't say I really hate that, but that's just me I guess 20:33:54 well, the idea of drivers was you didn’t need to call neutron directly 20:34:24 so it’s basically between 1 and 2 20:34:25 ? 20:34:44 If its between 1 and 2, I like 2. 20:34:51 Really we just need some subnet info to configure the amp, so I don't see why we can't just make an upstream task for it that calls the network driver and passes it to the post plug task 20:35:05 yeah and the upfront cost of both of those is the same, it just becomes whether the controller calls the driver methods or the drivers do 20:35:07 +1 20:35:22 controller calls drivers feels more sane to me 20:35:27 johnsom can you guarantee we won't have to do this for anything else? 20:35:41 TrevorV: if we do, we do teh same thing 20:35:56 To quote above, this is OpenStack, we can't guarantee anything 20:36:06 lol 20:36:19 which method prevents mucking with driver signatures less? 20:36:20 Then why not just go with inter-driver communication? Is that so problematic? 20:36:27 anyway, the data models will follow the neutron model most likely, and if someone wants to do nova-networks they'll have to translate the nova-networks models into the neutron ones 20:36:35 dougwig: they both require teh same 20:36:53 i think one is new kwargs options that will be required, the other is adding methods, which also will be needed. 20:37:24 the new methods are in both, nvm. 20:38:04 my detailed bullet point of both doesn't actually say that they require the same, but this is something i realized after that i failed to update this on 20:38:33 yeah, it should be a similar effort 20:38:58 yeah, ill volunteer myself ro this obviously so I'll let yall know if i find anything that sways it one way or the other 20:39:53 ok, so we have you explore and discuss next week again? 20:40:03 ISn't nova-network getting depricated soon? 20:40:13 well, it’s an example 20:40:18 sballe: no 20:41:47 TrevorV brought up a good piont that Option 2 would not cause a method signature to change, while Option 1 would 20:42:03 but anyway, ill get all of this figured out and bring it up next week 20:42:12 cool -- 20:42:27 Thanks blogan 20:42:45 #action blogan will evaluate option 1 and 2 in more detail for revisiting next week 20:42:51 Thnaks 20:42:53 blogan +1 20:43:04 #topic Align Octavia user API with neutron-lbaas's API 20:43:53 blogan you have the floor 20:44:19 yeah so the octavia API and neutron lbaas API differ and I think it would be beneficial if Octavia was a superset API of neutron-lbaas, meaning it was exactly teh same as neutron-lbaas but with more functionality 20:44:34 hmm 20:44:36 blogan: +1 20:44:36 Octavia's API was created prior to neutron-lbaas v2 API being finalized 20:44:45 so thats why its a bit different 20:44:50 blogan +1 20:44:54 that would actually be useful -- does that make anything we were trying to do any harder? I assume not 20:45:04 since neutron-lbaas would have to support anything we wanted to do 20:45:09 well it will require more work to get teh API calls the same 20:45:22 sure, but no real PROBLEMS with doing that 20:45:33 yeah, besides more work I don’t see any downside 20:45:35 also makes the driver capable of being even dumber. 20:45:37 nah its pretty much all the same info, just strucutred ifferently 20:45:51 Sounds good to me 20:46:01 ill add a launchpad bug for that 20:46:05 +1 20:46:15 stretch goal here is when neutron-lbaas needs its own rest agent, there's a pleasant little home waiting for it in octavia. 20:46:20 not sure if it’s broken — so lp task might be better 20:46:23 that's a few cycles off, i'd wager. 20:46:35 yeah and it doesn't break backwards compatibility 20:46:44 lp task? 20:46:48 you mean BP? 20:46:52 yep 20:47:07 the non-bug thing 20:47:45 aren't RFEs bug reports in neutron now? 20:47:56 dougwig? 20:47:58 correct. 20:48:02 Yep 20:48:09 so it fits with that 20:48:18 but, octavia doesn't need to follow neutron's process for that. unless it wants to. 20:48:35 filing a bug report for something which isn’t broken... 20:48:49 but I better get with the program 20:49:03 xgerman: We did this for the advsvc role in neutron and it worked well 20:49:08 lol, RFEs are bug reports for a reason, but i don't think in this instance those matter 20:49:45 #action blogan file RFE in launchpad for aligning Octavia API with Neutron LBaaS V2 20:49:54 as long as kyle isn't organizing our milestones in LP, we can do whatever mechanism we want. 20:50:14 mestery agreed to organize all launchpads under the neutron stadium 20:50:32 #topic Open Discussion 20:50:36 * blogan waits for the lightning bolt of rage from mestery 20:51:01 how do people think the working session went? 20:51:02 haha, he did not. 20:51:03 was it useful? 20:51:17 We have some documentation type things in gerrit that are getting old. Any thoughts on what we should do with those? 20:51:18 we fixed the routing problem :-) 20:51:36 johnsom: are they clean (no -1's) ? 20:51:41 well that wasn't in the working session, we discussed octavia becoming the ref impl in the working sessions 20:51:45 honestly it just wasn't enough time 20:51:46 No, they all have -1s I thinkg 20:51:46 isn’t sbalukoff coming back to finish them 20:52:02 yeah we needed like... another 2 h 20:52:18 johnsom: i expect that's why they're languishing. are the original commiters still around to update? 20:52:22 johnsom: i think we should update them, we should actually start thinking about having some kind of final documentation point 20:52:23 well, I think compared to other working sessions I went to ours were pretty productive 20:52:53 blogan +1 20:53:08 blogan: +1 20:53:30 Ok, so let's take a new pass over these this week and we can pick docs we will take ownership of 20:53:46 johnsom +1 20:53:50 okay 20:53:52 johnsom: +1 20:54:08 plug for https://review.openstack.org/#/c/184868/ 20:54:13 plug denied 20:54:15 we should really be py3 compat 20:54:17 >_> 20:54:18 lol 20:54:22 no reason to not be 20:54:32 except py3 is the spawn of the devil 20:54:35 <_< 20:54:45 Haha 20:54:45 py3 fixes a lot of stuff, and py2 is essentially dead now <_< 20:54:59 its the most human of all zombies 20:55:00 would like to have code reviews for the pending patches in neutron-lbaas --> especially testscenarios 20:55:43 it is good to get stuff like compatibility checks in early, to prevent further divergence 20:55:51 right now it isn't too bad 20:55:54 rm_work: +1 20:56:03 madhu_ak: those tests are waiting on the job being fixed, which is my fault at present. 20:56:05 rm_work +1 20:56:09 the only wonky bit really is the mock changes 20:56:13 yep, and once we rewrite everything in Ruby that might help 20:56:15 madhu_ak: we definitely need to start getting those reviewed 20:56:19 lol xgerman 20:56:23 oh, okay. sure 20:56:36 or was it Go people were plugging? 20:56:40 Go 20:56:48 +1 for Go 20:56:48 madhu_ak: the tenant tests are broken, if you wanted something to tweak in the meantime. they create a bunch of objects owned by admin, then create the final object owned by another tenant. they should really be creating all the objects as the other tenant. 20:56:49 dougwig is always plugging Ruby 20:56:49 Golang! :P 20:57:09 bloagn +1 20:57:13 blogan +1 20:57:28 inline assembly, ya whimps. 20:57:32 dougwig: sure 20:57:53 dougwig I actually had a nack for assembly in school. Nothing on this level of coding thoguh 20:57:54 +1 assembly 20:57:55 though*** 20:58:09 I was real good at ML as well 20:58:19 ooh, i love ML. 20:58:28 strongly typed and functional, yes. 20:58:43 yes 20:58:48 strongly typed plox 20:58:53 Haskell? 20:58:57 ML was great 20:58:59 Believe it or not, rm_work and I are bonding a little on this topic 20:59:00 I would do ML 20:59:23 ok, we are out of time 20:59:28 #endmeeting