*** mestery has joined #openstack-lbaas | 00:59 | |
*** mestery has quit IRC | 01:36 | |
*** mestery has joined #openstack-lbaas | 01:36 | |
*** mestery has quit IRC | 01:37 | |
*** logan2 has quit IRC | 02:18 | |
*** haigang has joined #openstack-lbaas | 02:39 | |
*** enikanorov2_ has quit IRC | 02:41 | |
*** haigang has quit IRC | 02:46 | |
*** logan2 has joined #openstack-lbaas | 02:57 | |
*** ganeshna has joined #openstack-lbaas | 03:03 | |
openstackgerrit | Brandon Logan proposed openstack/neutron-lbaas: Octavia driver correctly reports statuses https://review.openstack.org/213597 | 03:40 |
---|---|---|
rm_work | johnsom: what is the dependency that is broken | 03:46 |
rm_work | johnsom: for the UDP thing | 03:46 |
rm_work | HM? | 03:46 |
rm_work | failover flows? | 03:47 |
rm_work | or something upstream | 03:47 |
*** openstack has joined #openstack-lbaas | 04:18 | |
*** diogogmt has quit IRC | 04:30 | |
*** vivek-ebay has joined #openstack-lbaas | 04:43 | |
*** vjay6 has joined #openstack-lbaas | 05:23 | |
*** vivek-ebay has quit IRC | 05:25 | |
openstackgerrit | Adam Harwell proposed openstack/octavia: Adding amphora failover flows https://review.openstack.org/202336 | 05:34 |
rm_work | rebasing the stack i'm about to be working on top of | 05:34 |
rm_work | man, gerrit is SLOOOOOW tonight | 05:37 |
rm_work | taking like 5-10 seconds to respond | 05:37 |
*** vjay6 has quit IRC | 05:37 | |
*** enikanorov2 has joined #openstack-lbaas | 05:38 | |
rm_work | err hmm | 05:42 |
rm_work | maybe i don't need to be on the end of that chain | 05:42 |
*** enikanorov2 has quit IRC | 05:43 | |
rm_work | oh, nope, i do | 05:43 |
*** bana_k has joined #openstack-lbaas | 05:46 | |
*** vjay6 has joined #openstack-lbaas | 05:52 | |
*** vjay6 has quit IRC | 06:05 | |
*** vjay6 has joined #openstack-lbaas | 06:09 | |
*** vjay6 has quit IRC | 06:15 | |
*** vjay6 has joined #openstack-lbaas | 06:16 | |
*** vjay6 has quit IRC | 06:21 | |
rm_work | xgerman: hmm, after looking at this for a bit, I am not sure if i think this needs to be done as a mixin | 06:28 |
rm_work | like... why is the code that handles DB updates for statuses a mixin? is there really multiple options for that? | 06:29 |
rm_work | if a member goes down... the member needs to be updated in the DB to "down", period, right? | 06:29 |
rm_work | and I am thinking maybe this new "event stream" thing doesn't really need to have a bunch of options either... | 06:31 |
rm_work | originally i figured it would have at least "send to queue" and "just log" | 06:31 |
rm_work | but... | 06:31 |
rm_work | oh, actually I see | 06:31 |
rm_work | was thinking of the wrong queue | 06:32 |
rm_work | this is driving me crazy though, I can't find ANYTHING that actually *uses* any of these mixins | 06:40 |
rm_work | the Health or Stats mixins | 06:40 |
bana_k | does ctavia supports docker as of now? | 06:59 |
bana_k | octavia* | 06:59 |
*** jschwarz has joined #openstack-lbaas | 07:16 | |
*** ganeshna has quit IRC | 07:23 | |
*** enikanorov2 has joined #openstack-lbaas | 07:34 | |
*** iwi has joined #openstack-lbaas | 07:43 | |
*** numan has joined #openstack-lbaas | 07:43 | |
*** bana_k has quit IRC | 07:49 | |
*** ganeshna has joined #openstack-lbaas | 07:50 | |
rm_you | bana_k: "support"? | 08:11 |
rm_you | ah, he's gone | 08:11 |
*** mixos has quit IRC | 08:25 | |
rm_work | erg, xgerman i think i am going to wait and discuss this in the morning rather than overwrite your CR with my current stuff | 08:38 |
*** iwi has quit IRC | 08:44 | |
*** apuimedo has joined #openstack-lbaas | 08:55 | |
*** vjay6 has joined #openstack-lbaas | 09:03 | |
*** kbyrne has quit IRC | 09:12 | |
*** kbyrne has joined #openstack-lbaas | 09:17 | |
*** vjay7 has joined #openstack-lbaas | 09:54 | |
*** vjay6 has quit IRC | 09:55 | |
*** vjay8 has joined #openstack-lbaas | 10:04 | |
*** vjay7 has quit IRC | 10:04 | |
*** ganeshna has quit IRC | 10:50 | |
*** vjay8 has quit IRC | 11:17 | |
*** ganeshna has joined #openstack-lbaas | 11:33 | |
*** vjay8 has joined #openstack-lbaas | 11:37 | |
*** vjay8 has quit IRC | 11:42 | |
*** ganeshna has quit IRC | 11:42 | |
*** woodster_ has joined #openstack-lbaas | 11:46 | |
*** chlong has quit IRC | 11:59 | |
*** ebagdasa has joined #openstack-lbaas | 12:00 | |
*** vjay8 has joined #openstack-lbaas | 12:04 | |
openstackgerrit | OpenStack Proposal Bot proposed openstack/neutron-lbaas: Updated from global requirements https://review.openstack.org/212261 | 12:09 |
*** apuimedo has quit IRC | 13:15 | |
*** diogogmt has joined #openstack-lbaas | 13:41 | |
*** vjay8 has quit IRC | 13:48 | |
*** diogogmt has quit IRC | 13:54 | |
*** chlong has joined #openstack-lbaas | 14:03 | |
*** numan has quit IRC | 14:37 | |
*** diogogmt has joined #openstack-lbaas | 14:48 | |
*** apuimedo has joined #openstack-lbaas | 14:50 | |
*** Dave has joined #openstack-lbaas | 14:52 | |
*** mlavalle has joined #openstack-lbaas | 14:56 | |
*** mlavalle has quit IRC | 14:59 | |
*** mlavalle has joined #openstack-lbaas | 14:59 | |
johnsom | rm_work rm_you It's the failover flows | 15:14 |
*** sbalukoff has quit IRC | 15:17 | |
*** chlong has quit IRC | 15:18 | |
openstackgerrit | Armando Migliaccio proposed openstack/neutron-lbaas: Remove fall-back logic to service provider registration https://review.openstack.org/206221 | 15:25 |
*** chlong has joined #openstack-lbaas | 15:32 | |
*** diogogmt_ has joined #openstack-lbaas | 15:35 | |
*** diogogmt has quit IRC | 15:37 | |
*** diogogmt_ is now known as diogogmt | 15:37 | |
*** chlong has quit IRC | 15:38 | |
*** chlong has joined #openstack-lbaas | 15:40 | |
*** TrevorV has joined #openstack-lbaas | 15:41 | |
*** vjay8 has joined #openstack-lbaas | 15:47 | |
*** vjay8 has quit IRC | 15:52 | |
*** mestery has joined #openstack-lbaas | 15:53 | |
*** enikanorov2 has quit IRC | 16:12 | |
*** vivek-ebay has joined #openstack-lbaas | 16:14 | |
*** vivek-ebay has quit IRC | 16:29 | |
johnsom | TrevorV Any chance you could get the tox tests passing on https://review.openstack.org/#/c/202336/ today? | 16:43 |
*** fnaval has joined #openstack-lbaas | 16:45 | |
TrevorV | johnsom, that's the thing on my plate today, yessir :) | 16:47 |
johnsom | Excellent. I was going to volunteer if you didn't have the cycles. It's hosing up my test runs for the health manager. | 16:48 |
blogan | rm_work, xgerman, johnsom: https://review.openstack.org/#/c/213597/ | 16:48 |
blogan | patch for the status updates in the driver | 16:48 |
blogan | the octavia driver i mean | 16:48 |
johnsom | Saw that, cool | 16:49 |
*** vivek-ebay has joined #openstack-lbaas | 16:50 | |
*** bharath has joined #openstack-lbaas | 16:52 | |
TrevorV | blogan, you blew threw that this weekend? Thanks. I couldn't get to it this weekend... | 16:52 |
TrevorV | Sorry about that johnsom | 16:53 |
TrevorV | But getting tox passing won't necessarily complete the flow for failover, you know that right? | 16:53 |
johnsom | TrevorV No problem | 16:53 |
TrevorV | okay | 16:53 |
TrevorV | Just making sure | 16:53 |
johnsom | Yeah, I'm fine that it is still WIP | 16:53 |
johnsom | I'm just writing up the config stuff for the health manager and since it depends on the health_manager which depends on failover flows my tox runs are failing. | 16:54 |
*** jschwarz has quit IRC | 16:55 | |
*** enikanorov2 has joined #openstack-lbaas | 17:00 | |
openstackgerrit | Trevor Vardeman proposed openstack/octavia: Adding amphora failover flows https://review.openstack.org/202336 | 17:00 |
TrevorV | johnsom, there y'ar mate | 17:00 |
johnsom | Thank you Sir! | 17:01 |
TrevorV | Now to get the flow working ha ha | 17:04 |
xgerman | yep | 17:05 |
*** vivek-ebay has quit IRC | 17:10 | |
*** vivek-ebay has joined #openstack-lbaas | 17:14 | |
*** mestery has quit IRC | 17:15 | |
*** KunalGandhi has joined #openstack-lbaas | 17:16 | |
*** bana_k has joined #openstack-lbaas | 17:25 | |
*** mestery has joined #openstack-lbaas | 17:26 | |
openstackgerrit | Michael Johnson proposed openstack/octavia: Implement UDP heartbeat sender and receiver https://review.openstack.org/201882 | 17:31 |
johnsom | WIP getting ready for rebase | 17:31 |
openstackgerrit | Michael Johnson proposed openstack/octavia: health manager service https://review.openstack.org/160061 | 17:32 |
*** enikanorov2 has quit IRC | 17:32 | |
*** mestery has quit IRC | 17:34 | |
openstackgerrit | Michael Johnson proposed openstack/octavia: Implement UDP heartbeat sender and receiver https://review.openstack.org/201882 | 17:42 |
johnsom | WIP re-bassing, boom, boom | 17:45 |
*** minwang2 has joined #openstack-lbaas | 17:51 | |
*** madhu_ak has joined #openstack-lbaas | 18:05 | |
rm_work | xgerman: so i am failing at figuring out where the statuses are currently updated in octavia | 18:09 |
rm_work | xgerman: https://review.openstack.org/#/c/201882/31/octavia/controller/healthmanager/heartbeat_udp.py,cm line 209 updates the DB but i think that DB is not the main DB Table, but the separate "healthTable" | 18:10 |
rm_work | right? | 18:10 |
rm_work | which then something else is supposed to read, and then update the main DB | 18:10 |
rm_work | xgerman: which i would assume this reads: https://review.openstack.org/#/c/160061/38/octavia/controller/healthmanager/health_manager.py,cm like on line 47 but then all it does is trigger a failover flow on line 53 | 18:11 |
xgerman | we are having our standup — will get back in 10 | 18:11 |
rm_work | i don't see any code anywhere in octavia right now that ACTUALLY updates the statuses for stuff in the DB | 18:11 |
rm_work | xgerman: kk | 18:11 |
johnsom | rm_work Also in standup, but I agree with you. | 18:12 |
rm_work | which i assume is what this is for: https://github.com/openstack/octavia/blob/master/octavia/controller/healthmanager/update_health_mixin.py | 18:13 |
rm_work | but no one actually uses it | 18:13 |
rm_work | and i am honestly not sure exactly HOW they'd use it | 18:13 |
rm_work | because i still don't quite understand how "picking a mixin via config" works, because you inherit from the mixin you want in the class definition, so how is this one selected? | 18:14 |
rm_work | blogan: i think the queue solution is just as trivial to do, if we can actually fix the fact that octavia doesn't update its DB correctly at all yet for status changes ... | 18:16 |
rm_work | blogan: would rather have just seen the neutron side of that implemented :/ | 18:17 |
*** mixos has joined #openstack-lbaas | 18:19 | |
*** sbalukoff has joined #openstack-lbaas | 18:21 | |
*** bharath has quit IRC | 18:24 | |
xgerman | rm_work the plan is for the UDP receiver to include the mixins - this is how we get around a driver-calling-another driver | 18:26 |
xgerman | we still need to integrate that with Carlo’s code | 18:26 |
rm_work | hmm | 18:27 |
rm_work | except i dont think so | 18:27 |
blogan | rm_work: are you talkin about prov statuses or operating statuses? | 18:27 |
rm_work | the UDP receiver just writes to the separate amphorahealth table | 18:27 |
rm_work | which is the one we were saying might be in redis or might not | 18:27 |
rm_work | but is separate nonetheless | 18:27 |
rm_work | the thing that actually updates all the statuses would need to read from that | 18:27 |
xgerman | yea, and it also need to integrate with the mains to ship what bogan calls operational status | 18:28 |
rm_work | which i think is min's HM review? | 18:28 |
xgerman | so there are two tables strucures: | 18:28 |
blogan | rm_work: and it might be as trivial, but we have this in case its now, plus we're going to need to ahve some kind of check to determine with something has "timed out", as in something is in PENDING_CREATE but octavia never sends back a "CREATED" event | 18:28 |
xgerman | 1) To detect if heartbeats are missing — that implemented | 18:28 |
xgerman | 2) Keep track of member up/down; listener uip/down — that’;s missing | 18:29 |
rm_work | yeah my concern is the lack of #2 even *within* octavia | 18:29 |
rm_work | I was assuming that was at least handled already | 18:29 |
rm_work | but it is not :( | 18:29 |
blogan | nope | 18:29 |
johnsom | The health checker needs to decide if there is an issue and update the amphora/lb/etc tables | 18:29 |
xgerman | well, we have the mixins but they are not hooked up | 18:29 |
rm_work | again, i am not sure how you select which mixin to use | 18:30 |
xgerman | nope, the messages need to be processed and send to the mixins | 18:30 |
rm_work | i was hoping for an example but it's not in use yet | 18:30 |
blogan | xgerman: i thought we decided to just have a health manager interface, instead of using the mixin, the health manager being pluggable just like the other drivers | 18:30 |
blogan | xgerman: i coudl be getting the mixin mixed up here though | 18:30 |
rm_work | yeah i am having a hard time wrapping my head around how "configuration selectable mixins" works | 18:30 |
rm_work | where was the example you linked me last time? | 18:30 |
xgerman | well, we need a way to take the information from the UDP message and put it wherever it’s needed | 18:31 |
rm_work | it scrolled off my history and i couldn't find it | 18:31 |
rm_work | well, it is ALWAYS needed in the DB | 18:31 |
rm_work | i don't see a situation where we wouldn't want to update our DB statuses | 18:31 |
xgerman | I am now trying to rethink that since we need to write to the Octavia DB and put it on the queue | 18:31 |
xgerman | so we likely need a list of actions | 18:31 |
rm_work | well | 18:31 |
blogan | the idea was to allow a polling implementation and this event driven implementation | 18:32 |
rm_work | i figure we need to get it writing to the DB *first* | 18:32 |
blogan | but we were going to do the event driven implementation | 18:32 |
blogan | yes | 18:32 |
blogan | we do | 18:32 |
rm_work | and then the eventstream thing i had envisioned would be able to hook in there | 18:32 |
xgerman | well, we have code for doing all of that — we just need to hook them up with the UDP reciever | 18:33 |
rm_work | IMO we step back from the queue thing for a second, and seriously just get octavia's own DB up to date | 18:33 |
xgerman | and I wanted that code to be a bit more mature before taking it as a dependency | 18:33 |
rm_work | then we can revisit the next step | 18:33 |
xgerman | so basically we need to stabilize the up stuff first | 18:33 |
rm_work | all of my plans relied on the DB being properly updated already | 18:33 |
xgerman | rm_work we have the update code but we don;t have a stable up_receiver to insert that | 18:34 |
xgerman | will get on that today and then everythign should be more clear | 18:34 |
rm_work | ok | 18:35 |
rm_work | i'll just work on the neutron-lbaas side then maybe | 18:35 |
xgerman | yeah | 18:35 |
rm_work | since at least it's 100% clear what has to happen on that side | 18:35 |
rm_work | need to read from queue :P | 18:35 |
xgerman | :-) | 18:35 |
blogan | in the meantime we can get that review i pushed up merged and then switch the code whenever this is done | 18:35 |
blogan | rm_work: i would like whatever event stream code you put into neutron-lbaas to be driver agnostic, but that can be done in the future | 18:36 |
rm_work | well, even your review isn't helpful yet, because octavia doesn't know what its own statuses are >_> | 18:36 |
rm_work | blogan: that was the plan | 18:36 |
blogan | rm_work: octavia updates its statuses correctly | 18:36 |
blogan | rm_work: thats done outside of the health stuff | 18:37 |
blogan | it doesn't update the operating statuses though | 18:37 |
blogan | other than dumbly saying ONLINE vs OFFLINE | 18:37 |
xgerman | yep, ops status | 18:37 |
xgerman | is midding | 18:37 |
rm_work | blogan: i mean member up/down, listener up/down | 18:37 |
blogan | well OFFLINE when being provisioned, ONLINE when being updated | 18:37 |
blogan | rm_work: yeah but what I've written shouldn't be sued to monitor operating statues | 18:37 |
blogan | tahts not scalable | 18:37 |
rm_work | yeah | 18:37 |
rm_work | that is why we need an eventqueue system | 18:37 |
blogan | what i've written can be used to just montior provisioning status when a change happens, that is scalable | 18:38 |
rm_work | hmm | 18:38 |
rm_work | so my plan was: | 18:38 |
blogan | but if we can use the event queuing system for this thats fine, but we'll still need some process to monitor when somethign in octavia gets stuck in a provisioning status anyway | 18:38 |
xgerman | yeah, I think we are good for provisioning stats with your code | 18:40 |
xgerman | what we now need is the operational status one | 18:40 |
blogan | yeah | 18:40 |
rm_work | generic interface "EventStream" with one method, "emit" which takes an event type (from constants.py, like EVENT_MEMBER_STATUS_CHANGE or EVENT_LB_PROVISION_COMPLETE" or whatever) and there would be a QueueEventStream and a LoggingEventStream to start with, but everywhere statuses are updated (health monitor for operational, flows(?) for provisioning), that interface would be called with the correct event type and the data for it | 18:40 |
blogan | so yall okay with gettnig that merged in now (after i write the tests), and then switch to use a better solution later? | 18:40 |
blogan | rm_work: thats what i figured you had in mind, and that looks sound to me and will give us teh ability to send more info to whomever wants to consume these events | 18:41 |
rm_work | for the QueueEventStream, the EVENT_TYPE would be the name that goes on the queue | 18:41 |
rm_work | so, the only issues i have still are that I am not sure how to normalize the data for the events | 18:42 |
rm_work | EventStream.emit(EVENT_MEMBER_STATUS_CHANGE, member_dict) ? | 18:42 |
rm_work | and just pass the dict for the member? | 18:42 |
blogan | yeah, not everything the member has but for starters member id and status | 18:43 |
rm_work | right, so | 18:43 |
rm_work | do we have a small data structure that we define, like {"object_type", "object_id", "new_status"} ? | 18:43 |
rm_work | or is that too simplistic for health messages | 18:44 |
blogan | its gong to have to be truned into a dictionary anyway, but if you want to turn into a class you'd have to define it | 18:44 |
rm_work | right | 18:44 |
rm_work | but | 18:44 |
rm_work | can we easily do that? | 18:44 |
blogan | or you can use the member one we have now and infer what teh object_type is by the class and use the id and provisioning fields | 18:44 |
rm_work | will something like the dict i mentioned above appropriately capture the message in all cases? | 18:44 |
rm_work | yeah | 18:45 |
rm_work | but for what we put on the queue | 18:45 |
blogan | we will need to include stats in these | 18:45 |
rm_work | or log in the logs | 18:45 |
blogan | like bandwidht and connections | 18:45 |
rm_work | sure, but i assume stats would be a different model | 18:45 |
blogan | for listeners | 18:45 |
*** bharath has joined #openstack-lbaas | 18:45 | |
blogan | same event strea though? | 18:45 |
blogan | stream | 18:46 |
rm_work | ye | 18:46 |
*** vivek-ebay has quit IRC | 18:46 | |
rm_work | what i had for example constants was | 18:46 |
rm_work | EVENT_MEMBER_STATUS = 'MEMBER_STATUS_EVENT' | 18:46 |
rm_work | EVENT_LISTENER_STATUS = 'LISTENER_STATUS_EVENT' | 18:46 |
rm_work | EVENT_STATS_UPDATE = 'STATS_UPDATE_EVENT' | 18:46 |
rm_work | where there are essentially two "MAJOR" types of events emitted | 18:46 |
rm_work | STATS events, which would have one model type | 18:46 |
rm_work | and STATUS events | 18:46 |
rm_work | which would have another | 18:46 |
blogan | yeah that'd be fine i believe | 18:46 |
rm_work | those two are just not possible to combine generically | 18:46 |
rm_work | member and listener status changes can both be mapped to {"id", "type", "status"} | 18:47 |
rm_work | so I have code started for this | 18:47 |
blogan | the api listening on the neutron lbaas side will have methods that expect the model, so the model itself will be an interface as well | 18:47 |
rm_work | but i basically scrapped xgerman's mixin stuff, which is why i didn't submit yet | 18:47 |
rm_work | yeah | 18:47 |
xgerman | rm_work you want those sent when things change or very time we get info, e.g. member1 up, next second member_1 up, ... | 18:48 |
rm_work | when things change only | 18:48 |
blogan | well when the heartbeat says things change right? | 18:48 |
rm_work | since it's a queue, that should not pose any problems -- it should be durable (we shouldn't lose any data), and it should be ordered (so lots of quick changes will still be reflected correctly) | 18:48 |
xgerman | nope, the heartbeat tells you the current status | 18:48 |
*** minwang2 has quit IRC | 18:49 | |
xgerman | rm_work I am not doubting that part :-) | 18:49 |
rm_work | xgerman: right, it says the current status, writes it to the *health* table, and then the HM interprets if there is any change | 18:49 |
xgerman | well, no | 18:49 |
rm_work | which is where the emission to the eventstream would actually happen | 18:49 |
xgerman | that health_table only covers amphora health | 18:49 |
rm_work | which includes member statuses, doesn't it? | 18:49 |
xgerman | NO | 18:50 |
xgerman | member status is part of the members table | 18:50 |
rm_work | err but | 18:50 |
rm_work | that's where member status updates come from | 18:50 |
rm_work | the UDP packets | 18:50 |
rm_work | https://review.openstack.org/#/c/201882/33/octavia/controller/healthmanager/heartbeat_udp.py,cm | 18:50 |
xgerman | yes, and then we need to check in the DB if there is a change and then send it to you | 18:50 |
rm_work | right | 18:50 |
rm_work | but | 18:50 |
xgerman | so it’s computational expensive - just saying | 18:51 |
rm_work | the UDP Heartbeat receiver isn't responsible for that | 18:51 |
rm_work | right? | 18:51 |
rm_work | it needs to just "receive -> dump to db -> goto start" | 18:51 |
xgerman | maybe | 18:51 |
xgerman | there is some performance issue… if we write everything orread first and only write if it changes or | 18:52 |
rm_work | right now, if a member goes down, it is reported in the UDP heartbeat... and then what, thrown away? | 18:52 |
xgerman | it is reported in each UDP heart beat it down | 18:52 |
rm_work | yeah | 18:52 |
xgerman | and we will add the code to write it to the DB each heartbeat | 18:52 |
xgerman | but you want in your event stream a CHANGE | 18:52 |
rm_work | but ... the udp receiver doesn't store that? | 18:52 |
rm_work | or does it | 18:52 |
rm_work | well | 18:53 |
xgerman | not yet | 18:53 |
xgerman | and I will fix that | 18:53 |
rm_work | do you really want the UDP Receiver to be writing to the member, listener, etc tables for every LB every time it gets a heartbeat? | 18:53 |
xgerman | how else would you do it?> | 18:53 |
rm_work | ok, i think i do just need to wait | 18:53 |
rm_work | and see what you have planned there | 18:53 |
xgerman | well, I will just write that to the DB and hope we don’t need to scale for the Tokyo demo | 18:54 |
xgerman | in real life you probably need to reds that | 18:54 |
xgerman | or at least have a memory cache so you only write when it changes | 18:54 |
rm_work | yeah | 18:56 |
*** vivek-ebay has joined #openstack-lbaas | 18:56 | |
*** vivek-ebay has quit IRC | 19:07 | |
*** TrevorV has quit IRC | 19:07 | |
*** vivek-ebay has joined #openstack-lbaas | 19:10 | |
blogan | you dont have to write everytime, you can just check if there is a difference | 19:11 |
blogan | its still a select request everytime though | 19:11 |
xgerman | yep | 19:12 |
xgerman | hence I am worried about scalability but that is likely M work | 19:12 |
blogan | i think we all are worried about it, but i think at some point the difference will hae to be calculated anyway | 19:15 |
blogan | by our system or neutron-lbaas | 19:15 |
blogan | i mean by octavia or neutron-lbaas | 19:15 |
*** madhu_ak_ has joined #openstack-lbaas | 19:26 | |
*** minwang2 has joined #openstack-lbaas | 19:28 | |
*** madhu_ak has quit IRC | 19:30 | |
*** madhu_ak_ is now known as madhu_ak | 19:30 | |
openstackgerrit | German Eichberger proposed openstack/octavia: Implement UDP heartbeat sender and receiver https://review.openstack.org/201882 | 19:33 |
*** vivek-ebay has quit IRC | 20:01 | |
*** abdelwas has joined #openstack-lbaas | 20:13 | |
openstackgerrit | Phillip Toohill proposed openstack/neutron-lbaas: Registering consumers https://review.openstack.org/188703 | 20:14 |
*** crc32 has joined #openstack-lbaas | 20:15 | |
openstackgerrit | Phillip Toohill proposed openstack/octavia: Updating ssh driver with root user check https://review.openstack.org/203203 | 20:16 |
crc32 | german and johsom what are you pushing into my patchsets? | 20:18 |
rm_work | ptoohill: whelp, Castellan-Certs is dead, and I think we may just want to rip out the whole CertManager interface I went to all that effort to make, and just use Barbican directly :/ | 20:18 |
crc32 | xgerman johnsom you both pushed a patchset each around the weekend into my code base. What is it your trying to do? | 20:19 |
crc32 | https://review.openstack.org/201882 | 20:19 |
rm_work | i think those were rebasess? | 20:19 |
johnsom | crc32 I hooked your code into Min's health_manager and made it a dependent patch. I also started work on the config file stuff. | 20:19 |
rm_work | ah | 20:19 |
crc32 | xgerman took out my Queue reader and writer. | 20:20 |
johnsom | crc32 We talked about me doing the config stuff on Friday right? | 20:20 |
crc32 | yes we did. I didn't see your changes specifically yet but german ripped out my Queue sender and reciever. | 20:20 |
johnsom | crc32 I have a couple of bugs, but should have the config stuff done today | 20:22 |
crc32 | Also I was going to comment about your comments to about sha256. At the midcycle we talked about using SHA256 and everyone including you seemed fine with it back at the midcycle. The computations are down to the microsecond and it is only 30% slower then sha1 and we have bigger bottlenecks that are 4 orders of magnitude slower than sha256. | 20:22 |
crc32 | I'm reverting germans changes. I don't know why he broke my Queue sender and Reciever | 20:23 |
ptoohill | I seen that a sec ago rm_work :/ | 20:23 |
johnsom | Ok, I just forgot. | 20:23 |
ptoohill | rm_work: Do we have to rip out the interface | 20:23 |
ptoohill | maybe it's something we implement later or something else pops up | 20:23 |
crc32 | also in reponse to your pid reader. It seems the structure of the stats socket is "./uuid/uuid.pid and not ./uuid.haproxy.pid" | 20:24 |
crc32 | and don't know why its different but if you log into the amphora you will see the directory structure. | 20:24 |
johnsom | Ok | 20:25 |
openstackgerrit | Phillip Toohill proposed openstack/octavia: Updates for containers functionality https://review.openstack.org/199954 | 20:27 |
xgerman | crc32 what is your vision of how to write the operational status to the DB? | 20:27 |
xgerman | I think the queue approch is flawed and we really need to get that resolved so we can be part of Liberty | 20:28 |
crc32 | I read the UDP send the stats down the Queue then multiple workers can read from the Queue on the other side and write to the database. | 20:28 |
xgerman | that’s the same mu code does just queuing it up in a threadpool | 20:29 |
xgerman | and also hooking up the operational status reporting we need | 20:30 |
crc32 | I woulden't mind you putting the thread pull on the other side of the Queue but leave one thread reading the UDP packets. | 20:31 |
crc32 | thread pool | 20:31 |
xgerman | not sure what the queue is adding? | 20:31 |
johnsom | I think what xgerman added will work | 20:31 |
rm_work | ptoohill: yeah we can leave it for now but at some point it may just need to be ripped out | 20:32 |
crc32 | and I know what I did would work as well. | 20:32 |
xgerman | well, you need a thread pool in any case so the queue is superfluous | 20:32 |
rm_work | ptoohill: CertGenerator can stay, it will still be useful, but CertManager is critically flawed, in that no end-user would ever be able to store certs without Barbican :/ | 20:33 |
openstackgerrit | Madhusudhan Kandadai proposed openstack/neutron-lbaas: Add basic listener scenario tests https://review.openstack.org/213852 | 20:33 |
rm_work | ptoohill: which i think we ran into with the local impl | 20:33 |
rm_work | and hand-waved to deal with accepting certs and storing them on-behalf of the user later | 20:33 |
rm_work | but i don't really think that's feasible to implement sanely | 20:33 |
rm_work | at least, it's not feasible to sanely implement a *mixed* approach -- either we'd have to store on-behalf (more like CLB1) or else we'd have to let the user store, not a combination | 20:34 |
rm_work | and I like the idea of letting the user store, because that enables the re-usability I was hoping for | 20:35 |
crc32 | I disagree but I guess it doesn't matter. | 20:37 |
ptoohill | rm_work: I agree. I went through the reviews on that. Makes sense, sadly enough. | 20:40 |
rm_work | yeah | 20:40 |
openstackgerrit | Phillip Toohill proposed openstack/octavia: Adding sni_containers to Octavia API https://review.openstack.org/209684 | 20:41 |
*** vivek-ebay has joined #openstack-lbaas | 21:00 | |
*** amotoki has joined #openstack-lbaas | 21:09 | |
*** mestery has joined #openstack-lbaas | 21:15 | |
*** kev has joined #openstack-lbaas | 21:21 | |
*** kev is now known as Guest91611 | 21:21 | |
Guest91611 | neutron-lbaasv2-agent is giving me this error AttributeError: 'module' object has no attribute 'PeriodicTasks' any ideas? | 21:22 |
Guest91611 | I'm trying to run kilo | 21:22 |
blogan | Guest91611: module object requires neutron to be installed, do you have that? | 21:23 |
Guest91611 | neutron service is running | 21:25 |
blogan | Guest91611: can you import it in a python interpreter in the same enviornment the agent is attempting to be ran in? | 21:26 |
Guest91611 | ok | 21:26 |
blogan | Guest91611: thats just a simple test i'd do to troubleshoot | 21:27 |
blogan | Guest91611: plus how are you installing neutron and nuetorn-lbaas? devstack? a package? | 21:27 |
Guest91611 | devstack | 21:27 |
Guest91611 | I clone the kilo devstak | 21:27 |
blogan | Guest91611: are you doing the enable_plugin neutron-lbaas line in the localrc? | 21:28 |
Guest91611 | used following conf https://gist.github.com/anonymous/a79a047d93e95c41f62b | 21:29 |
johnsom | crc32 heads up, I am going to change the jinja template for the amphora agent. | 21:29 |
blogan | Guest91611: ah, so thats pulling down the master branch | 21:29 |
blogan | Guest91611: for neutron-lbaas | 21:29 |
blogan | Guest91611: you need to specify the stable/kilo branch | 21:30 |
blogan | so at teh end of that enable_plugin method add stable/kilo | 21:30 |
crc32 | xgerman I'm not sure what this check() code is doing. My dorecv() method takes no parameters and your passing in a db object. also check takes amphora ID as a parameter but you don't know what amphora_id will be untill you get the udp packet. What does "def check(self amphora_uid) actually do? | 21:30 |
Guest91611 | oh ok. ll do it. | 21:30 |
Guest91611 | thanks a lot | 21:31 |
crc32 | johnsom: Ok i think thats potholes stuff | 21:31 |
blogan | Guest91611: np | 21:31 |
crc32 | ptoohill's stuff | 21:31 |
johnsom | crc32 It's code I added this weekend. Just didn't want you to be writing tests on the config format while I was changing it | 21:32 |
crc32 | I was already writing mock tests on friday so those are ruined already. | 21:33 |
Guest91611 | just FYI I followed this one http://docs.openstack.org/developer/devstack/guides/devstack-with-lbaas-v2.html | 21:33 |
openstackgerrit | Sherif Abdelwahab proposed openstack/octavia: Amphora Flows and Service Drivers for Active Standby https://review.openstack.org/206252 | 21:33 |
crc32 | but still though. What is the "def check(self, amphora_id) code supposed to do?" | 21:33 |
blogan | Guest91611: yeah but thats just doing everything from master, doing it from a release requires this difference bc the enable_plugin directive doesn't understand the branches yet (not sure it will ever) | 21:34 |
crc32 | line 186 and up in heartbeat_udp.py | 21:34 |
ptoohill | johnsom: I'm curious the template change. Though i can just view the chaneg when it's up. | 21:34 |
ptoohill | oh | 21:34 |
ptoohill | there's another jinja template somewhere isnt there, I think that's the one you speak of? | 21:34 |
johnsom | ptoohill It's not the haproxy template, it's on I wrote for the amphora-agent config file | 21:34 |
ptoohill | yea, gotcha ;) | 21:35 |
Guest91611 | oh ok . thanks | 21:35 |
*** KunalGandhi has quit IRC | 21:36 | |
openstackgerrit | Phillip Toohill proposed openstack/octavia: Adding sni_containers to Octavia API https://review.openstack.org/209684 | 21:40 |
rm_work | xgerman: so were you actively working on figuring out the operational status updates? | 21:47 |
rm_work | is that something you're planning to just propose some code for, or is it something we need to discuss more? | 21:47 |
xgerman | I will get the database updates working and then once I see your queue sped I can put them on the queue | 21:48 |
*** jorgem has joined #openstack-lbaas | 21:48 | |
rm_work | hmm | 21:49 |
rm_work | well i wasn't working on the octavia side of the queue, i was looking at the neutron-lbaas side | 21:49 |
xgerman | yeah, that sounds fine | 21:49 |
xgerman | I can code the Octavia side uo | 21:49 |
crc32 | xgerman I'm not sure what this check() code is doing. My dorecv() method takes no parameters and your passing in a db object. also check takes amphora ID as a parameter but you don't know what amphora_id will be untill you get the udp packet. What does "def check(self amphora_uid) actually do? | 21:49 |
xgerman | but as I said we need to agree on the message and code | 21:49 |
rm_work | well, i can do that too, but wanted to wait until i saw how the db updates were happening | 21:49 |
rm_work | hmm yes | 21:50 |
xgerman | crc32 it’s buggy and I need to fix/test | 21:50 |
xgerman | I put it up so I am not trampling on everybody’s feet and I think I am | 21:50 |
crc32 | so do I just revert it back to the queue method for now untill we get a working patch set? | 21:51 |
xgerman | no, we meed to have the DB update in there | 21:53 |
xgerman | I will fix that and write unit tests just need to coordinate with johnsom so his changes don’t overwrite mine | 21:55 |
crc32 | Do you have time to discuss this? | 21:55 |
crc32 | right now it looks like your code will start dropping UDP packets if the thread pool gets full. | 21:56 |
johnsom | No, it won't drop UDP packets | 21:56 |
crc32 | check is calling dorecv() | 21:56 |
johnsom | The DB jobs just get queued up if all of the workers are busy | 21:57 |
crc32 | so the thread pool queue can grow indefinitly | 21:57 |
bana_k | deleting the loadbalancer should delete the corresponding amphora? | 21:59 |
blogan | bana_k: yes | 22:00 |
bana_k | hmm ok. Not happening though as of now | 22:00 |
rm_work | xgerman: so do you agree that a generic data-model for EVENT_*_STATUS_CHANGE could be: {"object_type", "id", "new_status"} ? | 22:01 |
*** KunalGandhi has joined #openstack-lbaas | 22:01 | |
xgerman | sure | 22:01 |
rm_work | ok | 22:01 |
*** mestery has quit IRC | 22:01 | |
blogan | bana_k: oh i think there's a bug where if the port was created by neutron-lbaas the loadbalancer delete will fail in octavia | 22:01 |
xgerman | but we need to agree on those values | 22:01 |
rm_work | well | 22:01 |
rm_work | I figured the "type" would be a constant | 22:01 |
xgerman | and id’s are not the same in octavia + labs necessarily | 22:01 |
xgerman | (or are they - I forgot) | 22:02 |
blogan | neutron-lbaas you mean? | 22:02 |
xgerman | yep | 22:02 |
blogan | xgerman: they are the same now, octavia allows the id to be specified | 22:02 |
xgerman | awesome!! | 22:02 |
xgerman | so yeah, rm_work give me the list of values and I will plug them in | 22:03 |
bana_k | blogan: should I see any errors in o-controller ? | 22:03 |
blogan | bana_k: o-cw? | 22:03 |
bana_k | blogan : yes | 22:03 |
blogan | bana_k: yes | 22:03 |
bana_k | blogan: didn't see any | 22:03 |
*** mestery has joined #openstack-lbaas | 22:04 | |
blogan | tahts something i've been meaning to fix anyway, let me try to get something pushed up real quick | 22:04 |
blogan | bana_k: hmmm so it said the lb-delete-flow successfully completed? | 22:04 |
bana_k | o-cw didn log anything | 22:04 |
johnsom | blogan bana_k I think there is a comment in the code that we should add the delete | 22:05 |
*** KunalGandhi has quit IRC | 22:05 | |
blogan | bana_k: you should changed your octavia.conf to have debug = True | 22:05 |
blogan | johnsom: add the delete to what? | 22:05 |
johnsom | We were going to have the housekeeping delete the amp later. So I left a comment to pick it up later | 22:06 |
johnsom | octavia/controller/worker/flows/amphora_flows.py:151 | 22:06 |
bana_k | blogan : 2015-08-17 17:06:38.817 12940 INFO octavia.common.config [-] Logging enabled! | 22:06 |
bana_k | I think for some reason cw is not logging anything | 22:07 |
johnsom | We changed our collective mind and plan to just delete it. We (or I) haven't got around to fix that | 22:07 |
blogan | johnsom: ohhh, then i must be wrong then, but i don't see why we don't just delete it then on the delete request, not a big deal though | 22:08 |
blogan | johnsom: oh okay, yes thats what i thought | 22:08 |
johnsom | blogan Yep | 22:08 |
blogan | johnsom: well while i fix this port bug issue i can do taht as well | 22:08 |
johnsom | blogan Be my guest | 22:08 |
blogan | i need to get my coding fix on again, i enjoyed being able to write code this past weekend | 22:09 |
*** mestery has quit IRC | 22:09 | |
rm_work | xgerman: yeah I will define a model type I think | 22:09 |
rm_work | xgerman: and an interface (probably not a mixin) to use | 22:09 |
openstackgerrit | OpenStack Proposal Bot proposed openstack/octavia: Updated from global requirements https://review.openstack.org/213889 | 22:12 |
*** amotoki has quit IRC | 22:14 | |
*** KunalGandhi has joined #openstack-lbaas | 22:19 | |
xgerman | blogan, johnsom we definitely need some debug setting which keeps the amp around for post mortems | 22:20 |
johnsom | Yes | 22:20 |
johnsom | I don't think we need house keeping to accomplish that however. | 22:20 |
xgerman | yep | 22:21 |
xgerman | just wanted to make sure it doesn’t slip our collective mind :-) | 22:21 |
openstackgerrit | Pengtao Huang proposed openstack/neutron-lbaas: change if to else https://review.openstack.org/212560 | 22:29 |
blogan | xgerman: you think if a delete call comes in for the load ablancer we'll want to post mortem that? usually thats a correctly functioning amphora | 22:33 |
*** chlong has quit IRC | 22:34 | |
blogan | xgerman: i figured we'd want that for just failing over amphorae, but i suppose there could be the case where a customer deletes it bc it wasn't behaving correctly | 22:34 |
xgerman | yep | 22:35 |
openstackgerrit | OpenStack Proposal Bot proposed openstack/neutron-lbaas: Updated from global requirements https://review.openstack.org/212261 | 22:38 |
openstackgerrit | OpenStack Proposal Bot proposed openstack/octavia: Updated from global requirements https://review.openstack.org/213889 | 22:39 |
*** chadix has joined #openstack-lbaas | 22:51 | |
*** vivek-ebay has quit IRC | 22:57 | |
openstackgerrit | Carlos Garza proposed openstack/octavia: Implement UDP heartbeat sender and receiver https://review.openstack.org/201882 | 23:01 |
*** vivek-ebay has joined #openstack-lbaas | 23:07 | |
*** jorgem has quit IRC | 23:08 | |
*** mestery has joined #openstack-lbaas | 23:13 | |
*** mixos has quit IRC | 23:15 | |
openstackgerrit | Brandon Logan proposed openstack/neutron-lbaas: Octavia driver correctly reports statuses https://review.openstack.org/213597 | 23:19 |
*** tiny-hands has joined #openstack-lbaas | 23:43 | |
openstackgerrit | Bharath M proposed openstack/octavia: Add Housekeeping to manage spare amphora https://review.openstack.org/202829 | 23:43 |
openstackgerrit | Bharath M proposed openstack/octavia: Add Housekeeping to manage spare amphora https://review.openstack.org/202829 | 23:50 |
*** crc32 has quit IRC | 23:51 | |
*** mestery has quit IRC | 23:55 | |
*** bharath has quit IRC | 23:58 | |
*** amotoki has joined #openstack-lbaas | 23:59 |
Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!