Monday, 2014-06-23

*** mestery has joined #openstack-lbaas01:28
*** fnaval has quit IRC01:59
*** ptoohill_ has joined #openstack-lbaas02:02
*** fnaval has joined #openstack-lbaas02:04
*** HenryG has joined #openstack-lbaas02:21
*** vivek-ebay has joined #openstack-lbaas02:50
*** vivek-ebay has quit IRC03:39
*** fnaval has quit IRC05:04
*** blogan is now known as zz_blogan05:41
*** ptoohill has quit IRC06:27
*** ptoohill has joined #openstack-lbaas06:27
*** samuelbercovici has joined #openstack-lbaas06:33
*** samuelbercovici1 has joined #openstack-lbaas06:43
*** samuelbercovici has quit IRC06:46
*** samuelbercovici1 is now known as samuelbercovici06:46
*** samuelbercovici1 has joined #openstack-lbaas06:49
*** samuelbercovici has quit IRC06:53
*** samuelbercovici1 is now known as samuelbercovici06:53
*** samuelbercovici1 has joined #openstack-lbaas06:58
*** samuelbercovici has quit IRC07:01
*** samuelbercovici1 is now known as samuelbercovici07:01
*** ptoohill_ has quit IRC07:16
*** samuelbercovici1 has joined #openstack-lbaas07:29
*** samuelbercovici has quit IRC07:32
*** samuelbercovici1 is now known as samuelbercovici07:32
*** samuelbercovici1 has joined #openstack-lbaas07:34
*** samuelbercovici has quit IRC07:37
*** samuelbercovici1 is now known as samuelbercovici07:37
*** samuelbercovici1 has joined #openstack-lbaas07:41
*** samuelbercovici has quit IRC07:44
*** samuelbercovici1 is now known as samuelbercovici07:44
*** samuelbercovici1 has joined #openstack-lbaas07:47
*** samuelbercovici has quit IRC07:50
*** samuelbercovici1 is now known as samuelbercovici07:50
*** samuelbercovici1 has joined #openstack-lbaas07:57
*** samuelbercovici has quit IRC08:01
*** samuelbercovici1 is now known as samuelbercovici08:01
*** samuelbercovici1 has joined #openstack-lbaas08:18
*** samuelbercovici has quit IRC08:21
*** samuelbercovici1 is now known as samuelbercovici08:21
*** ptoohill_ has joined #openstack-lbaas08:25
*** samuelbercovici1 has joined #openstack-lbaas08:43
*** ptoohill_ has quit IRC08:45
*** samuelbercovici has quit IRC08:46
*** samuelbercovici1 is now known as samuelbercovici08:46
*** samuelbercovici1 has joined #openstack-lbaas09:06
*** samuelbercovici has quit IRC09:09
*** samuelbercovici1 is now known as samuelbercovici09:09
*** samuelbercovici1 has joined #openstack-lbaas09:20
*** samuelbercovici has quit IRC09:24
*** samuelbercovici1 is now known as samuelbercovici09:24
*** samuelbercovici1 has joined #openstack-lbaas09:30
*** samuelbercovici has quit IRC09:33
*** samuelbercovici1 is now known as samuelbercovici09:34
*** samuelbercovici1 has joined #openstack-lbaas09:36
*** samuelbercovici has quit IRC09:40
*** samuelbercovici1 is now known as samuelbercovici09:40
*** samuelbercovici1 has joined #openstack-lbaas09:42
*** samuelbercovici has quit IRC09:46
*** samuelbercovici1 is now known as samuelbercovici09:46
*** samuelbercovici1 has joined #openstack-lbaas09:56
*** samuelbercovici has quit IRC09:59
*** samuelbercovici1 is now known as samuelbercovici09:59
*** samuelbercovici1 has joined #openstack-lbaas10:02
*** samuelbercovici has quit IRC10:06
*** samuelbercovici1 is now known as samuelbercovici10:06
*** samuelbercovici1 has joined #openstack-lbaas10:15
*** samuelbercovici has quit IRC10:18
*** samuelbercovici1 is now known as samuelbercovici10:18
*** samuelbercovici1 has joined #openstack-lbaas10:27
*** samuelbercovici has quit IRC10:30
*** samuelbercovici1 is now known as samuelbercovici10:30
*** samuelbercovici1 has joined #openstack-lbaas10:34
*** samuelbercovici has quit IRC10:38
*** samuelbercovici1 is now known as samuelbercovici10:38
*** samuelbercovici1 has joined #openstack-lbaas10:51
*** samuelbercovici has quit IRC10:54
*** samuelbercovici1 is now known as samuelbercovici10:54
*** samuelbercovici1 has joined #openstack-lbaas11:11
*** samuelbercovici has quit IRC11:14
*** samuelbercovici1 is now known as samuelbercovici11:15
*** samuelbercovici1 has joined #openstack-lbaas11:16
*** samuelbercovici has quit IRC11:20
*** samuelbercovici1 is now known as samuelbercovici11:20
*** samuelbercovici1 has joined #openstack-lbaas11:25
*** samuelbercovici has quit IRC11:28
*** samuelbercovici1 is now known as samuelbercovici11:28
*** samuelbercovici1 has joined #openstack-lbaas11:30
*** samuelbercovici has quit IRC11:33
*** samuelbercovici1 is now known as samuelbercovici11:33
*** samuelbercovici1 has joined #openstack-lbaas11:37
*** samuelbercovici has quit IRC11:40
*** samuelbercovici1 is now known as samuelbercovici11:40
*** samuelbercovici1 has joined #openstack-lbaas12:00
*** samuelbercovici has quit IRC12:03
*** samuelbercovici1 is now known as samuelbercovici12:04
*** woodster__ has joined #openstack-lbaas12:48
*** maishsk has joined #openstack-lbaas12:54
maishskgood afternoon - anyone around?12:54
dougwighiya12:58
dougwigcrazy early morning for most of us, so I don't expect many will be here right now.  i'm on an absurdly early flight, or i'd be asleep as well.  :)12:59
maishskdougwig - safe travels - middle of the day here...12:59
dougwigwhere is "here" for you?  (i'm in idaho, US.)12:59
dougwigoh wait, not anymore.  :)  i'm here:  http://flightaware.com/live/flight/SKW452913:00
maishskJerusalem - Israel13:06
dougwignice.13:08
dougwiganything i can help with, or just saying hi?13:08
maishskdougwig: Did I undertsnad correctly that Octavia - will be replaceing LBaaS ?13:13
dougwignot quite.  octavia as currently defined is a replacement for the reference haproxy driver, and will use haproxy in conjunction with some internal service VMs to get haproxy off of the neutron node and provide scalability.  the existing lbaas hooks in neutron will not change, and the existing haproxy ref driver isn't going anywhere in the juno timeframe.13:14
dougwigif lbaas as a project splits out of neutron entirely, then octavia is a subset of that larger project.13:14
maishskso in the meantime - will any additional functionality be added into the current LBaaS?13:15
maishskspecifically - I am looking at how I should provide LB redundancy - and until I will have to maintain such a solution.13:16
dougwigdo you represent a vendor, or working on the open source haproxy driver?13:16
dougwigyes, features are being added into lbaas.  the new object model discussed at the atlanta summit, TLS/certs, L7 routing are all going into the neutron/lbaas project right now.13:17
maishskI work for Cisco - but I would define myself as a representative13:17
maishskwould not* <-13:17
dougwiglet me rephrase, are you looking to use lbaas with hardware, write a driver for hardware, or use the existing haproxy implementation?13:18
maishskexisting haproxy implementation13:18
dougwigif you want haproxy with redundancy, then you'd want the first version of octavia, due for juno.13:19
dougwigthat or a hardware vendor solution are the only short-term HA options for lbaas.13:19
maishskdougwig - talking Juno timeframe - will this project even go into incubation?13:20
maishskor are we talking a number of versions down the line13:20
maishskI can always deploy my own HAproxy solution - of course it will not be baked into Openstack - but at least that will provide the redundancy13:21
dougwigwell, it's on stackforge as of the mid-cycle meetup last week, and has a lot of dedicated developers from rackspace, hp, and blue box, and they all need it to ship.  i don't want to speak for them too much, but they're very motivated to get it out quickly.13:21
dougwigin about 3 hours they'll all be online.13:21
maishskfrom your experience - how long do you expect Octavia will take until stable? 1,2,3 (or more releases) ?13:22
maishskI will definately give them a ping13:22
dougwigjust given the scope of it, i'd expect it to be experimental in Juno and stable in K.13:23
maishskInteresting... :)13:23
*** maishsk has quit IRC13:52
*** evgenyf has joined #openstack-lbaas13:55
*** samuelbercovici1 has joined #openstack-lbaas14:12
*** samuelbercovici has quit IRC14:15
*** samuelbercovici1 is now known as samuelbercovici14:16
*** fnaval has joined #openstack-lbaas14:18
*** aburaschi has joined #openstack-lbaas14:20
*** samuelbercovici1 has joined #openstack-lbaas14:32
*** samuelbercovici has quit IRC14:35
*** samuelbercovici1 is now known as samuelbercovici14:35
*** enikanorov_ has joined #openstack-lbaas14:36
*** fnaval has quit IRC14:40
*** ptoohill_ has joined #openstack-lbaas14:47
*** german_ has joined #openstack-lbaas15:04
*** ptoohill_ has joined #openstack-lbaas15:05
*** sbalukoff1 has quit IRC15:06
*** fnaval has joined #openstack-lbaas15:09
*** ptoohill_ has quit IRC15:09
*** fnaval_ has joined #openstack-lbaas15:09
*** fnaval has quit IRC15:13
*** fnaval_ has quit IRC15:25
*** samuelbercovici1 has joined #openstack-lbaas15:27
*** sbfox has joined #openstack-lbaas15:29
*** aburaschi1 has joined #openstack-lbaas15:29
*** samuelbercovici has quit IRC15:30
*** samuelbercovici1 is now known as samuelbercovici15:30
*** aburaschi has quit IRC15:32
*** samuelbercovici1 has joined #openstack-lbaas15:41
*** samuelbercovici has quit IRC15:45
*** samuelbercovici1 is now known as samuelbercovici15:45
*** zz_blogan is now known as blogan15:54
*** sbfox has quit IRC15:56
*** sbfox has joined #openstack-lbaas16:04
*** samuelbercovici1 has joined #openstack-lbaas16:17
*** samuelbercovici has quit IRC16:20
*** samuelbercovici1 is now known as samuelbercovici16:20
*** jorgem has joined #openstack-lbaas16:24
*** sbfox has quit IRC16:37
*** sbfox1 has joined #openstack-lbaas16:37
*** evgenyf has quit IRC16:42
*** samuelbercovici1 has joined #openstack-lbaas16:48
*** samuelbercovici has quit IRC16:51
*** samuelbercovici1 is now known as samuelbercovici16:51
*** dlundquist has joined #openstack-lbaas16:51
*** sbfox1 has quit IRC16:58
*** sbfox has joined #openstack-lbaas16:58
*** sbfox has quit IRC17:08
*** sbfox has joined #openstack-lbaas17:16
*** min has joined #openstack-lbaas17:20
*** jorgem has quit IRC17:32
*** blogan is now known as zz_blogan17:33
*** jorgem has joined #openstack-lbaas17:36
*** zz_blogan is now known as blogan17:37
*** dlundquist has left #openstack-lbaas17:40
*** samuelbercovici1 has joined #openstack-lbaas17:55
*** sbfox has quit IRC17:58
*** samuelbercovici has quit IRC17:58
*** samuelbercovici1 has quit IRC18:03
*** sbfox has joined #openstack-lbaas18:06
*** vivek-ebay has joined #openstack-lbaas18:14
*** markmcclain has joined #openstack-lbaas18:20
*** sbalukoff has joined #openstack-lbaas18:23
sbalukoffMornin' folks!18:23
dougwigmorning.18:29
dougwigcan i get some of your eyes on the latest no-op code?  https://review.openstack.org/#/c/101084/18:30
sbalukoffdougwin: I'll take a look at it later this afternoon, eh!18:41
bloganafternoon!18:47
blogandougwig: any idea when your blueprint will get accepted?18:48
dougwigyou mean code review?  bp was accepted last week?18:48
dougwigas soon as i get a +1 from someone here, i'll ping markmcclain and ask him to take another look at the new unit test.18:49
dougwigalternately, you can go to the code review and git pull the changes into your branch.18:50
*** vivek-ebay has quit IRC18:54
*** vivek-ebay has joined #openstack-lbaas18:55
*** vivek-ebay has quit IRC18:57
*** vivek-ebay has joined #openstack-lbaas19:02
blogandougwig: the active and failed methods, do those belong in the LBBaseManager class?19:04
dougwigarguable, indeed.  the method of using update_status is painfully verbose and usually blows the 80 char limit, and every manager needs to access it.  i put it in for convenience, since I did the same thing in my driver.  i could go either way.19:05
bloganyeah me too19:06
bloganthis is the basemanager for all managers though right?19:06
bloganby that i mean the listenermanager will be a subclass of LBBaseManager?19:07
dougwigyes, but there is no manager that doesn't use it, as it finishes the object status.  unless we want to make it cleaner and have the plugin infer that a non-exception return from the driver means it can set active, and otherwise error.19:07
*** evgenyf has joined #openstack-lbaas19:08
dougwigalready is.  if you peek at logging_noop/driver.py, you'll see where it uses those methods.19:08
*** crc32 has joined #openstack-lbaas19:08
bloganbut that means every manager will have an active failed method now right?19:09
bloganand some entities dont have a status field19:09
dougwigahh, ok.  which don't have status?19:09
bloganlistener and health monitor19:10
*** TrevorV has joined #openstack-lbaas19:11
dougwighmm, my current driver is doing this for health monitors:19:11
dougwig            self.plugin.update_pool_health_monitor(context,19:11
dougwig                                                   health_monitor["id"],19:11
dougwig                                                   pool_id,19:11
dougwig                                                   constants.ACTIVE)19:11
dougwigwhich is decidedly not update_status.19:11
bloganyeah thats a bit odd, but healthmonitor doesn't have a status field now19:12
blogani can definitely see an argument for it to have a status, same with listener19:12
bloganbut i think if a listener's errors that should bubble up to the load balancer status19:12
dougwigi'm not even sure that the drivers should be worrying about that interface, to be honest with you.  let's see, i could make a second base that has the status helpers, and derive that from the base, and then break out base managers for each functional area, derived from the appropriate manager.  feels ugly, but it would be better from a documenting aspect, at19:14
dougwigleast, and get those methods out of listener/hm.19:14
*** evgenyf has quit IRC19:19
bloganyeah i dont know about it, maybe if the plugin exposed an update_loadbalancer_status and update_member_status method and the driver can just call that when needed?19:19
*** sbfox has quit IRC19:22
dougwigsec, someone walked in.19:27
dougwigblogan: i'd support either the higher-level helpers you suggest in the plugin, or just stop monkeying with status at all in the drivers, and let the plugin infer status from the driver op success/failure (and failures should have a neutron exception with a msg attribute.)19:31
dougwigsbalukoff: isn't the tis object 1:n on the listener in the SNI case?19:32
blogandougwig: I don't think the plugin can infer if it is being sent by agent19:41
dougwigthe agent monkeys with the neutron db directly?  ouch, ok.  concur.19:42
blogannot directly, but through rpc back to the plugin19:42
*** sbfox has joined #openstack-lbaas19:45
*** vivek-ebay has quit IRC19:54
*** vivek-ebay has joined #openstack-lbaas19:54
dougwigi have to go food.  back in a few.20:00
bloganernjoy20:00
bloganand enjoy20:00
german_food = good20:03
sbalukoffdougwig: So SNI policies / lists are 1:N with the listener, but every listener needs a default certificate if it does TLS termination, regardless of whether it's using SNI.20:04
sbalukoffSo it's 1:1 for attributes like default_certificate_id, and probably also things like TLS version number or cipher selection, once those features get added.20:05
*** markmcclain has quit IRC20:06
*** sbfox has quit IRC20:06
*** vivek-eb_ has joined #openstack-lbaas20:07
*** vivek-ebay has quit IRC20:07
blogansbalukoff: i get what you're saying, and that default_certificate_id would reference a barbican entity id?20:08
sbalukoffblogan: Yes. It's similar to what we're doing with SNI policies.20:08
*** VijayB has joined #openstack-lbaas20:09
sbalukoffBut there are also probably going to (continue to be) attributes which apply to the whole TLS connection and not just the SNI part.20:09
sbalukoffSo... It is somewhat a matter of opinion.20:09
sbalukoffBut I'm not sure I'm convinced on the "cleaner" aspect of this.20:09
sbalukoffIf we're going to split those fields off to another object, it should not be the SNI policy / list object.20:10
sbalukoffAnd the resulting object we create would have a 1:1 relationship with listener object20:10
sbalukoff(or 1:0-1)20:10
sbalukoffSince not every listener needs to have this extra object.20:10
blogani guess the worry is if more attributes are added to the listener that have to do with the tls termination.20:11
sbalukoffI could certainly be talked into this if people can clarify / articulate their reasons for wanting it thus. :)20:11
sbalukoffYes, and there will almost certainly be more attributes added.20:11
bloganthe 1:1 argument is weak because we could have health monitors be 1:1 to a pool but we'd all agree it should still be a separate entity20:11
sbalukoffThat's true.20:11
sbalukoffNote:20:11
sbalukoffWe're going to have very similar concerns with 'default policy' when L7 happens too.20:12
blogani really think what it comes down to is the separation of many attributes20:12
sbalukoffRight now, that's effectively hard-coded to "redirect to this pool"20:12
*** VijayB has joined #openstack-lbaas20:12
sbalukoffAnd you're right in that 'TLS stuff' seems to be one domain that doesn't always apply to 'Listener stuff'20:12
VijayBblogan: Hi Brandon! There?20:12
bloganVijayB: sure am20:13
VijayBHey :)20:13
sbalukoffHi Vijay20:13
*** markmcclain has joined #openstack-lbaas20:13
VijayBI made a bunch of changes for the pools and health monitors, but ran into your latest block of sixteen commits D: So I'll resolve those and push my changes in.20:13
blogansbalukoff: yeah it doesn't, but it oculd be handled easily as an optional attribute of a listener, but if there is the possibility of more attributes being added that are only in the domain of the tls cert, we should make it a separate entity20:14
sbalukoffblogan: What I'm saying in my objections are "Sell it to me harder, please! Justify why we want to change a model that's taken us this long to get ratified."20:14
bloganVijayB: oh i thought you were going to do the listeners20:14
VijayBblogan: May take a while but I should be done in probably a couple of hours (am in a meeting)20:14
VijayBblogan: oh sorry my bad!20:14
VijayBblogan: I meant listeners and health monitors20:14
sbalukoffblogan: I would say it's almost certain there will be more attributes added.20:14
sbalukoffblogan: So, I'm becoming more convinced that's the right way to do it. :)20:15
bloganVijayB: its okay, I had to change the name of pools to nodepools because with the v1 api being active at the same time as v2, the attributes of the v1 pool were being added into teh v2 pool attributes20:15
blogansbalukoff: have i sold it to you hard enough?20:15
blogansbalukoff: or do i need to close the deal?20:15
VijayBblogan: ok.. I'll ping you in case I need any clarifications...20:15
sbalukoffblogan: Haha! Can you put that in an e-mail to the list so more people see it?20:16
sbalukoffBulletted lists of reasons for doing it that way are a good way to drive the point home.20:16
bloganVijayB: okay, its something that will take some explanation, but it had to be done for now20:16
VijayBblogan: Ok..20:16
blogansbalukoff: i can send out an email20:16
sbalukoffThank you!20:17
bloganor just respond to Vijay's thread20:17
bloganwhich i already did20:17
sbalukoffThat's what I meant. :)20:17
sbalukoffOh!20:17
sbalukoffSorry, just got back from lunch.20:17
sbalukoffHaven't checked that yet.20:17
bloganoh no, its was just me saying i didn't know it wasn't goign to be a separate entity20:17
bloganso me admitting i was ignorant20:17
sbalukoffGet with the program, man!20:18
sbalukoffActually, I'd be surprised if everyone were looking that closely.20:18
*** TrevorV has quit IRC20:19
bloganyeah i kinda think people are just waiting for the refactor to complete before giving that part the attention it deserves20:19
sbalukoffOne of these times I'm going to suggest a model that includes a farhvergnugen field, just to see if people are paying attention.20:19
bloganwhich is what ive been doing20:19
sbalukoffAah.20:19
*** TrevorV has joined #openstack-lbaas20:20
sbalukoffblogan: If you're engaged in other things, I can write the e-mail response which sells the two separate objects thing pretty hard.20:21
sbalukoffI already came up with another reason you didn't mention, as well.20:22
sbalukoff;)20:22
blogansbalukoff: reviewing our current tls termination needs, a default_certificate_id on the listener would satisfy all of our requirements20:25
blogansbalukoff: what is the other reason?20:26
*** rolledback has joined #openstack-lbaas20:26
sbalukoffblogan: Keeping the TLS stuff "contained" to its own objects means we can have separate development resources on each and not worry as much about overlapping domains.20:36
sbalukoffSo, it's "cleaner" from a development and testing perspective as well.20:36
sbalukoff(Understanding TLS stuff does have different knowledge domain than understanding TCP / UDP listeners.)20:37
*** vivek-eb_ has quit IRC20:38
*** vivek-ebay has joined #openstack-lbaas20:38
*** rolledback has quit IRC20:39
*** VijayB has quit IRC20:39
*** aburaschi1 has quit IRC20:39
blogansbalukoff: yeah that is another good reason20:39
*** VijayB has joined #openstack-lbaas20:39
blogansbalukoff: i suppose each entity can now have a name and description, but what other attributes will there be?20:40
sbalukoffI'm certain the next revision / release of the TLS stuff is going to have TLS version and cipher selection stuff in it. I'm certain because based on what I've seen Samuel and Evgeny pushing for, I can tell Radware wants it (and really, there's no reason not to have it-- it's just probably more than we need for version 1)20:41
bloganwouldnt that be a part of barbican20:43
dougwigcerts and ssl/tls are not joined things.20:43
sbalukoffblogan: Nope.20:43
dougwig(i'm back)20:43
sbalukoffwelcome back.20:44
sbalukoffblogan: No, those are attributes / technologies used around the actual negotiation process for the TLS connection, certs are a part of that negotiation process as well, but not the only parts.20:44
sbalukoffAnd it doesn't make sense for barbican to store details about the kinds of TLS connection we allow.20:45
bloganokay that makes sense in some form to me, that part is something I'm not involved in much so my knowledge is lacking20:48
blogandougwig: i -1 you're blueprint20:49
bloganand your20:49
bloganlet me know if I'm crazy20:50
german_sbalukoff +1 for using the mailing list for the TLS discussion. Every time I look at another window there are 100s of lines to read here :-)20:50
sbalukoffgerman_: I think it's good to use IRC for high-bandwidth hashing out of stuff like blogan just did. But in the end, I think the ML should then have at least a summary of what was discussed so people have a simpler time keeping up with the discussion without having to have an eye on IRC all day.20:52
german_agreed. that's what I meant to say...20:52
sbalukoffI dislike having to be logged into instant messaging systems / keep an eye on IRC / jabber / skype / whatever all the time because then I have trouble getting work done that involves high concentration (like coding does).20:53
sbalukoffCool!20:53
blogani know what you mean sbalukoff20:53
german_yep, I mostly gkimpse here unless I am summoned20:53
sbalukoffSo on that note, I will not be offended if I ask you something on IRC and you don't get back to me for hours (or ever) on it. I only ask you extend the same courtesy to me. :)20:54
german_+120:54
blogani usually get offended when you say anything sbalukoff20:55
sbalukoff(This is also why I actually have trouble getting code done at a hackathon-- when there's conversation going on, my brain likes to latch onto that rather than what I'm typing. Well, and in the case of last week, I'm also a pretty crappy python coder. ;) )20:55
sbalukoffblogan: Excellent! Then my efforts are paying off.20:56
sbalukoffblogan: I know I'm screwing up if people are agreeing with me too readily. ;)20:56
VijayBblogan: I've pushed in my code after resolving the conflicts - neutron-server seems to run fine and hopefully nothing's broken..20:56
blogansbalukoff: well somehow i've managed to get you to agree with me20:56
bloganVijayB: okay I'll pull down and try it out20:57
sbalukoffblogan: Because you sold it to me. (Hard, deep, and fast.)20:57
sbalukoffReally, like I've been saying: I will happily and quickly switch alliegances if you can back up your claim, and do so more convincingly than either the status quo or your competition.20:58
german_sbalukoff, I have trouble wrapping my mind around the neutron code, too20:58
sbalukoffI try not to have much loyalty to memes, eh.20:58
VijayBblogan: Ok20:59
*** markmcclain has quit IRC20:59
sbalukoffgerman_: Wait, that's *code*? I thought it was instructions for finding a great bar on the east side of Moscow.20:59
german_exactly, maybe I am doing it all wrong and should first go to the bar, have some drinks, and then see the light :-)21:00
sbalukoffSounds like a plan to me!21:00
VijayBsbalukoff: Do you mean http://en.wikipedia.org/wiki/Moscow,_Idaho ?21:00
sbalukoffVijayB: No, I was talking about the Russian one. (And as a former resident of Moscow, ID, I can say there are no great bars there, let alone on the east side.)21:01
*** markmcclain has joined #openstack-lbaas21:01
VijayBsbalukoff: My lol!!! moment is getting trumped by the fact that you actually lived in Moscow ID!!! :p21:02
german_lol21:02
blogansbalukoff: maybe your father should run on the message of "better bars in Moscow, ID"21:04
sbalukoffVijayB: Heh! I actually wondered whether anyone would mention the Idaho Moscow in making my joke. XD  University of Idaho is my alma mater.21:04
sbalukoffblogan: I shall relay the suggestion to him. XD21:05
dougwigblogan: saw that; only part i disagree on is that if the drivers are going to update status, we should abstract that a bit more than update_status.21:05
blogandougwig: you mean an update_loadbalancer_status method?21:05
dougwigevery single driver call has to deal with status somehow; seems silly to me to make every driver load constants (for ACTIVE or ERROR), or to have a reference to the neutron models class names.  i'm almost wondering if the relevant managers should have an even more abstracted active() and failed(), which doesn't require passing the ldb model name or the21:09
dougwigconstant and/or a handy decorator to wrap the driver methods.  i'd live with it being verbose, but i hate repeated cruft.21:09
VijayBgrp: I hereby propose that sbalukoff be made the official ambassador of Moscow, ID :p21:10
german_dougwig, an exception model can't solve that21:10
german_?21:10
dougwignot with the agent21:10
dougwigi suggested that, blogan pointed out the agent.21:10
dougwigbut i'm not worried about providing helpers to the agent; it can make a verbose call, since there's nothing there to abstract.21:11
dougwigblogan: holler when we should just have a short voice chat, because i think we're talking around each other here via text.21:13
german_well, errors bubbling up to the lb really sound like exceptions in action -- anyhow... I will keep an eye on that discussion...21:14
blogandougwig: sure let me go refresh myself on the agentmanager and agentdevicedriver code21:17
VijayBI'm not for the driver making any db changes.. every implementation could possibly do it in a different order, changes may be present between different core plugins and so on.. I would like us to define the interfaces to the driver layer.21:17
bloganVijayB: what about the driver making a call back to the plugin method that does the db call?21:17
german_VijayB: absolutely -- that's why we started the neutron cleanup to create those interfaces21:17
vivek-ebayI agree. driver making DB changes will complicate things.21:18
VijayBblogan: we may need to build a layer to handle those callbacks...21:18
dougwigVijayB: i think the only thing blogan and i are debating is whether to put some friendly helpers into the driver layer; there are still calls into the plugin regardless.21:18
dougwigas an example, say the driver calls plugin.update_status(ACTIVE).  right now, the plugin implements that as a db call.  in the future, the plugin would implement that as a REST call to neutron.  that's not a problem interface.21:19
bloganVijayB: well the agent has callbacks if it is used, but without the agent, currently it just calls the appropriate plugin method to update teh status21:19
blogandougwig: yeah and that makes sense to me21:19
dougwigthe problem interfaces are the driver calls that call db.query('SELECT ...').  :)21:19
german_and they need to go21:20
blogandougwig: that would be in the case of needing to update a neutron entity, such as port21:20
*** sbfox has joined #openstack-lbaas21:20
dougwigor fetching floating ip's.21:20
*** jorgem has quit IRC21:21
german_yeah, this is what I was expecting the cleanup work to accomplish - put those in an API21:21
sbalukoffgerman_: +121:21
VijayBblogan/dougwig/german_: ok.. that sounds ok.. as the code shapes up, I'll shout out in case I see something differently..21:23
dougwiggerman_: yes, but i think no one knows all the pain points, and the v1/v2 shim layer is what's going to end up shaking out of fair amount of that.21:24
german_yeah, it's not as clear cut as I hoped but nevertheless we still should aim for it (and if after the work we find some instances treat them as bugs)21:25
dougwigblogan: this is the crux of what we're discussing, from what I understand.  it's six and one half dozen in terms of what gets called where.  if folks like the longer calls better, I'll switch (I don't):21:28
dougwighttps://www.irccloud.com/pastebin/Bjw7jmyP21:28
dougwigliterally every driver op looks similar.  to the point where i'll just use a decorator in mine.21:28
dougwigthere are some per manager variations, which we can encapsulate.21:29
dougwigsome drivers don't raise an exception at the end in the failure case, which is ok behavior right now.21:29
VijayBdougwig: with helper looks better.. drivers better simply return errors than raise exceptions.. that's better left to the upper mgmt layers21:30
dougwigdrivers can't return errors right now.  they can set status, blow an exception (which is caught, logged, and is not fatal), but they effectively return void.21:31
dougwig(we could change that now, if desired.)21:31
dougwigexceptions in the driver __init__ are fatal to neutron server, and not in any other call, as a overly detailed tangent that is not helpful right now.21:32
VijayBdougwig: hmm.. so in case of a multiple agent architecture I guess the custom plugin part of the driver sets the status..21:33
german_yeah, I like helpers better, too. But I also prefer exceptions over the C style if call==-1 ...21:33
*** sbfox1 has joined #openstack-lbaas21:33
VijayBgerman_ : I'm just wondering about the remote agent scenario21:33
VijayBI guess the rpc takes care of passing back the op statuses21:34
dougwigremote agents don't have the same plugin interface as the driver; nor should they.  i'm not sure that's a design point for driver interfaces.21:34
VijayBin which case, having helpers would just make it look cleaner21:34
german_helpers +121:34
VijayBdougwig: yes they needn't be factored in for the driver interfaces, they should be abstracted away already21:35
VijayBwe should go with helpers nevertheless, it's cleaner21:35
*** sbfox1 has quit IRC21:35
*** sbfox1 has joined #openstack-lbaas21:35
*** sbfox has quit IRC21:36
VijayBunless something prevents that..21:36
dougwigright now, just bologna's objections.21:36
dougwigdamnit, autocorrect.21:36
german_I know who you mean :-)21:36
bloganok im back21:36
bloganso what woudl the helpers be then?21:37
bloganjust so i'm clear21:37
dougwigi'm thinking abstract them down to be more specific, so they don't need the models passed in, and they vary for health_monitor as needed, and don't exist for listener?21:38
*** dlundquist has joined #openstack-lbaas21:40
dlundquistdougwig: Stephen tells me you where trying to get a hold me this weekend21:41
dougwigit is an interesting mental exercise to interleave this conversation with the neutron meeting, after having gotten up at 3am this morning.21:41
german_people have to get up at 3am in Idaho? No wonder they are looking for  anew governor!21:41
sbalukoffdougwig: This is why you should sleep in on Mondays. Nothing good ever comes from getting up too early on a Monday.21:42
dougwigi flew to the mothership this morning.  i'm currently in california.21:42
dougwigdlundquist: just checking in on the shim work, and seeing if you're still ok with it + your haproxy ref work, now that you've got a handle for how big that task will be.21:43
sbalukoffdougwig: And thus my comment is confirmed. ;)21:43
blogandougwig: so you're saying the update_status methods would me implementable methods of the driver?21:43
dougwiggot up at 4, flew to LA, so i could fly back up to SF.  ahh, modern air travel.21:43
dougwigno, update_status would be in the plugin, and active/failed would be even more abstracted helpers in the managers, which call update_status.21:44
dlundquistdougwig and blogan: The more I look at it the more I think we need to build two adaptors, one to adapt the v1 driver to the v2 driver API,  and a second to adapt the v2 LBaaS plugin back to the v1 plugin. Until the v2 LBaaS plugin takes a little more form I'm not sure how to proceed.21:45
bloganand they would be left out of the entity managers' that dont have a status?21:45
dougwigcorrect.21:45
dlundquistdougwig: I'm happy to pass this back, but I feel like to far it was a good learning excercise.21:45
* dlundquist needs to sit down and diagram this all out21:46
blogandlundquist: wasn't I supposed to get you that diagram?21:46
dougwigdlundquist: i'm plenty busy, so i'm fine not doing it.  but if it slows down octavia, it's a better split if i stay in the driver layer.21:46
ptoohilldlunndquist: on this note, im attempting to finish up, including some testing, what would be the v2 config updates. ill check this in a bit later21:46
ptoohilldlundquist21:47
ptoohillbut, this may all change it sounds like21:47
blogandlundquist: once the pluginv2 and dbv2 layers get completed it might be easier to see what needs to be done, they're close to being done, other than unit tests21:47
dlundquistblogan: your diagram/notes would be a help.21:48
ptoohillthe stuff im working on is assuming v2(verifying against that branch)21:48
*** fnaval has joined #openstack-lbaas21:48
dlundquistptoohill: do you need a hand with the HAProxy 1.5 TLS driver spec -- I know that is dependent on my work, but I'm happy to help with the spec21:48
ptoohillwell21:48
ptoohillthe tls:21:49
ptoohillhttps://review.openstack.org/#/c/98640, incompasses the change to the driver21:49
*** sbfox1 has quit IRC21:49
ptoohillso, after talking with adam and others i was assuming the work for the TLS namespace_driver update can be done under this BP21:49
*** sbfox has joined #openstack-lbaas21:49
dougwigdlundquist: what is the v1 plugin layer for?  i thought we needed one to, but then realized the steps to infer create_vip are actually easily done by looking at associations, as you suggested.21:50
ptoohillreason im assuming this, is well need access to some of the features provided by the BP in order to call the driver refactor 'DONE' but, it could also be pulled out. This was just our train of thought on it.21:52
dlundquistdougwig: neutron.services.loadblanacer.plugin LoadBalancerPlugin vs LoadBalancerPluginv221:52
dlundquistptoohill: oh, you just removed stunnel from that spec -- I'll look that one over again now that it just covers 1.521:52
ptoohilldlundquist, i have not updated the 'old' BP. im referring to the 'main' TLS spec, maybe i pasted wrong one21:53
ptoohillhttps://review.openstack.org/#/c/9864021:53
ptoohillthe 'old' one should go away in favor of being under this BP21:54
dlundquistdougwig: LoadBalancerPlugin provides methods such as populate_vip_graph which clearly do not apply to the v2 object model21:54
VijayBdlundquist: You probably already are looking at the same branch, but thought I'd repaste the branch Brandon and I are checking in code for the v2 APIs/object model to: the lbaasv2 branch git@github.com:brandonlogan/neutron.git21:54
ptoohill^^ this is where im basing the stuff im currently working on. (config updates for: https://review.openstack.org/#/c/100977)21:55
dlundquistptoohill: 98640 doesn't include any lbaas driver changes by my reading, it would just result in an API extension with a persistence layer21:55
ptoohillits there21:56
ptoohilltheres one line referencing it21:56
ptoohill:/21:56
dlundquistptoohill: I didn't think it was included "Further TLS and Layer 7 content filtering/manipulation are outside the scope ofthis spec, but other specs may depend on this."21:56
ptoohillthat was the 'old' spec right?21:57
dlundquistVijayB: Thanks, I've been working off that branch.21:57
dlundquistptoohill: that was my spec (100977)21:57
ptoohillyea21:57
ptoohilli understand that, its not taking into consideration l7/tls21:58
dlundquistptoohill: I thought you where going to submit a follow on spec to extend it with TLS support21:58
ptoohillI was until i got to talking to others about it21:58
ptoohillit was understood by majority that the 98640 spec will also handle the updates to the driver21:59
ptoohilli was working under your(our) spec to update the configs/driver to support the object model refactor. This does not include TLS/L7 etc..22:00
dlundquistso there still is the piece to update the HAProxy driver with writing out keys/certificates and adding the TLS related parts to the haproxy config file.22:01
VijayBdlundquist: cool, good to know we're all working on the same branch22:01
blogandlundquist: are you talking about an adapter that would go from someone creating a vip to the code actually creating a load balancer and listener?22:01
ptoohilldlundquist: correct, but that would be handled undert 9864022:02
dlundquistdougwig: I had one more question re the updated driver: are we sure we only want to offer stats on the load balancer object? HAProxy can offer stats down pool or member granularity. I'm happy to sum across all the pools, but wasn't sure if that would be the best experience to the user.22:02
dlundquistblogan: I was talking about a shim driver so after we pull out the v1 persistence layer v1 LBaaS drivers would still work22:03
ptoohillwhich i have a comment in patch 10 of 98640 regarding the storing of the secrets22:03
blogandlundquist: okay becuase you mentioned going v1 to v2, and v2 to v122:05
blogandlundquist: i have these "workflow" images, where do you want them?22:05
dougwigdlundquist: i think it was vijay that suggested supporting stats() on all objects, and i fully support that (and figure we can slip it into the manager for all when we do it.)  i was just trying to keep the first step more at parity, with an eye towards adding a stats() call for every manager down the road a little bit.22:05
dougwigdlundquist: regarding things like vip_graph, we are allowed to break current drivers temporarily, and comment out their unit tests, pending the vendor fixing their driver.  if any particular call adds a LOT of complexity, it might be worth chatting with the driver author about whether it's less work to port the driver than to write that particular shim entry22:07
dougwigpoint.22:07
*** markmcclain has quit IRC22:08
*** VijayB_ has joined #openstack-lbaas22:11
blogandlundquist: http://tinypic.com/r/14xp0lv/8 http://tinypic.com/r/28u1chf/822:11
bloganthose are a little old and some may be wrong but i think the workflow is there22:11
blogani'm terrible at diagrams22:12
*** VijayB has quit IRC22:15
dlundquistblogan: thank you22:15
dlundquistdougwig: I guess the shim driver isn't required22:16
dlundquistwe'll just comment out their tests for now. I'm going focus back on the HAProxy driver22:16
dougwigi'm not sure that i said we could punt all the drivers.  though maybe we can; one of us should email all of the maintainers and see about them doing updates, and timeframe.  want me to start that?22:20
blogani thought the point of the shim was so that they could do updates at their own pace22:21
dougwig+122:21
dougwigbut part of that discussion was not supporting every little thing if they were using "problem" interfaces.22:21
bloganwhat is one of the problem interfaces?22:22
bloganmany to many healthmonitors for sure22:22
german_+122:22
bloganothers?22:22
german_subnet id22:22
bloganif there are more than one different subnet_ids22:23
bloganyeah22:23
dougwigi think in the context of that discussion, problem interfaces were anything that made the shim overly complicated, if it was one driver.  update_status on ldb.Vip was one example, e.g.22:24
dougwigdarn, i wish i'd documented that conversation now.22:24
bloganlol i wish i had documented many conversations22:24
dlundquistHere are the methods on the plugin object being used by in-tree LBaaS drivers: https://gist.github.com/dlundquist/8264773b77ffcf271c6722:25
bloganah yeah anything going to core_plugin would need to be an API call in the future if lbaas ever splits out22:27
dougwigdlundquist: nice list; certainly points to a second shim plugin being the path of least resistance, you're right.22:28
dlundquistSo I'm thinking the lbaas driver shim should be composed of two parts: a v1 to v2 driver shim, a v2 to v1 plugin shim each with their own private methods to convert the object formats22:31
dlundquistno: in both cases we need to convert v2 DB object to v1 objects22:31
dlundquistso all the object conversion logic should be pulled out into a third file22:32
dlundquistCan you think of any case where a driver would need to create a v2 DB object?22:33
dougwigdlundquist: i think if we could, we would opt for a plugin method instead, else we'd be adding another problem interface.  so, by definition, no.22:38
bloganoh the make_blah_dict are going away in favor of modelinstance.to_dict22:41
blogani should make a baselbaasmodel class so that every model has that22:42
*** sbfox has quit IRC22:51
*** sbfox has joined #openstack-lbaas22:51
dougwigi read that as basebase model, and for a second, thought that was the most awesome thing ever.  no sleep is not a good thing.23:03
*** fnaval has quit IRC23:05
*** fnaval has joined #openstack-lbaas23:05
bloganlol i could see that happening23:08
*** fnaval has quit IRC23:09
*** markmcclain has joined #openstack-lbaas23:12
*** markmcclain1 has joined #openstack-lbaas23:13
*** fnaval has joined #openstack-lbaas23:15
*** markmcclain has quit IRC23:17
*** VijayB_ has quit IRC23:22
*** VijayB_ has joined #openstack-lbaas23:23
*** blogan is now known as zz_blogan23:25
*** fnaval has quit IRC23:36
*** fnaval has joined #openstack-lbaas23:36
VijayB_btw, I'm sorry if I got the name wrong, but was it Craig who was working on implementing the CLI for the new object model/api?? It would be good to have that code as well so I could run CLIs to test out the new api paths.. are we maintaining a separate python-neutronclient branch also on the lines of lbaasv2?23:40
*** fnaval has quit IRC23:40
sbalukoffVijayB_: I think it was Craig (ctracey here) who was working on CLI stuff, though exactly what I'm not certain.23:47
VijayB_sbalukoff: Thanks Stephen! I'll wait for ctracey to ping us to confirm that...23:47
ctraceyMy changes are on gerrit with more coming23:49
ctraceyAll linked via the etherpad23:49
*** vivek-ebay has quit IRC23:52
*** sbfox1 has joined #openstack-lbaas23:53
*** sbfox has quit IRC23:53
*** vivek-ebay has joined #openstack-lbaas23:55

Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!