Tuesday, 2020-01-07

*** goldyfruit_ has joined #openstack-lbaas02:35
*** goldyfruit_ has quit IRC02:36
*** goldyfruit_ has joined #openstack-lbaas02:36
*** rcernin_ has joined #openstack-lbaas03:13
*** rcernin has quit IRC03:13
*** hongbin has joined #openstack-lbaas03:34
*** rcernin_ has quit IRC03:56
*** rcernin has joined #openstack-lbaas04:00
*** goldyfruit_ has quit IRC04:24
*** goldyfruit_ has joined #openstack-lbaas04:24
*** hongbin has quit IRC04:24
*** goldyfruit_ has quit IRC04:48
*** tkajinam has quit IRC04:52
*** goldyfruit_ has joined #openstack-lbaas05:13
*** tkajinam has joined #openstack-lbaas05:23
*** tkajinam has quit IRC05:58
*** pcaruana has joined #openstack-lbaas06:00
*** pcaruana has quit IRC06:14
*** gcheresh has joined #openstack-lbaas06:38
*** tkajinam has joined #openstack-lbaas06:41
*** tkajinam_ has joined #openstack-lbaas06:52
*** rcernin has quit IRC06:54
*** tkajinam has quit IRC06:55
*** henriqueof has quit IRC07:02
*** henriqueof1 has joined #openstack-lbaas07:02
*** maciejjozefczyk has joined #openstack-lbaas07:50
*** maciejjozefczyk_ has joined #openstack-lbaas07:50
*** maciejjozefczyk_ has quit IRC07:50
maciejjozefczykHappy New Year!08:06
gthiemongeHNY! ;-)08:12
*** tesseract has joined #openstack-lbaas08:17
rm_worko/08:18
*** pcaruana has joined #openstack-lbaas08:29
*** AlexStaf has joined #openstack-lbaas08:30
*** lemko has joined #openstack-lbaas08:31
*** rpittau|afk is now known as rpittau08:36
*** tridde has quit IRC08:53
*** trident has joined #openstack-lbaas08:55
*** tkajinam_ has quit IRC08:58
*** dmellado has quit IRC09:07
*** dmellado has joined #openstack-lbaas09:08
*** sapd1_x has joined #openstack-lbaas10:02
*** sapd1_x has quit IRC10:49
*** rpittau is now known as rpittau|bbl11:16
*** lemko has quit IRC11:20
*** servagem has joined #openstack-lbaas13:06
*** goldyfruit_ has quit IRC13:20
*** rpittau|bbl is now known as rpittau13:26
*** pcaruana has quit IRC14:20
*** TrevorV has joined #openstack-lbaas14:32
*** pcaruana has joined #openstack-lbaas14:32
*** ramishra has quit IRC15:16
*** ramishra has joined #openstack-lbaas15:17
*** gcheresh has quit IRC15:39
*** AlexStaf has quit IRC16:06
*** KeithMnemonic has quit IRC16:30
*** KeithMnemonic has joined #openstack-lbaas16:31
*** pcaruana has quit IRC17:05
xgermanstumbled across this primer: https://blog.envoyproxy.io/introduction-to-modern-network-load-balancing-and-proxying-a57f6ff80236 — pretty good and we might want to link to it17:07
xgermanalso Happy New Year!!17:07
*** rpittau is now known as rpittau|afk17:09
johnsomHappy New Year!17:18
*** pcaruana has joined #openstack-lbaas17:28
rm_workWe should probably cut a release for the client17:46
johnsomYeah, some nice features there. Should we bump to 2.x since it no longer supports py2?17:59
rm_workAh that's not a bad call18:02
rm_workI like it18:02
johnsomYeah, I think it is a good idea.18:04
johnsomrm_work Are you handling that, or should I work on it?18:15
rm_workI'll do it in a moment I guess18:17
rm_workI always make you do that stuff lol18:17
rm_workActually don't we have a release manager? :D18:17
* rm_work glances at cgoncalves 18:17
*** adeberg has joined #openstack-lbaas18:19
johnsomHe's on vacation, lol18:21
rm_workheh18:24
johnsomI have a minute and can do it. I'm just working on doing some reviews this morning.18:24
rm_workI'm trying to figure out how to properly convert this stuff from running on Apache mod_wsgi to uwsgi18:25
rm_workBecause mod_wsgi is a shitshow18:25
rm_workSpecifically around python versions18:26
johnsomYes it is18:27
rm_workuwsgi has about 8000 config options, and the documentation just kinda throws them all in a big list lol18:27
johnsomyep18:27
johnsomThe Apache side is pretty straight forward, just proxying through to a uwsgi unix socket:18:28
johnsomProxyPass "/load-balancer" "unix:/var/run/uwsgi/octavia-wsgi.socket|uwsgi://uwsgi-uds-octavia-wsgi/" retry=018:29
rm_workAh no, I'm dropping Apache altogether18:29
rm_workJUST uwsgi18:30
rm_workWe already run another layer above it18:30
johnsomAh. Well, the devstack uwsgi config is https://zuul.opendev.org/t/openstack/build/6305f48fc0b34c908b459b8b3585a82e/log/controller/logs/etc/octavia/octavia-uwsgi.ini.gz18:30
johnsomYeah, removing layers is always a good idea if you can18:31
johnsomI don't remember the tweaks i have done to that in the past18:32
rm_workOh we run octavia-wsgi not octavia-api18:33
rm_workInteresting18:33
rm_workDidn't realize lol18:33
rm_workNever followed that goal18:33
johnsomYeah, the API is a very light weight server I highly don't recommend in production.18:33
johnsomWe use the uwsgi18:33
rm_workRight but we run octavia-api as the wsgi file lol18:34
rm_workWhich apparently has been working somehow...18:34
johnsomYeah, I think there is a wrapper in there18:34
johnsomAh, no, I remember now, the setup tools creates the bin file that has the wrapper18:35
johnsomWe should update this: https://docs.openstack.org/octavia/latest/admin/apache-httpd.html18:35
*** pvradu has joined #openstack-lbaas18:36
johnsomThis is the tricky bit: https://github.com/openstack/octavia/blob/master/setup.cfg#L4218:36
johnsomSeems like it's been forever since we did that stuff, but....18:36
rm_workYeah...18:40
*** pvradu has quit IRC18:40
*** trident has quit IRC18:48
*** trident has joined #openstack-lbaas18:49
adebergHey all :) anyone could help me understand how the "Operating status" supposed to behave ? Any doc/portion of code I could read ? I keep having my LB as "Offline" while they seem to work fine (members+pool+LB are offline but configured HM displays online). Don't know where to start looking18:50
johnsomadeberg It's in the documentation here: https://docs.openstack.org/api-ref/load-balancer/v2/index.html#status-codes18:51
openstackgerritBrian Haley proposed openstack/octavia master: Support hacking 2.0.0  https://review.opendev.org/69930218:52
adebergthx, I'll give it another look, but the admin_state_up is true for all my members (unless administratively disabled means otherwise)18:53
johnsomadeberg I am happy to answer questions too.18:54
johnsomadmin_state_up is the enable/disable setting (terminology we had to inherit from neutron). admin_state_up of False would lead to operating status DOWN once the provisioning status is done being "PENDING_UPDATE".18:55
johnsomhaleyb We ARE the cool kids...  lol18:55
haleyb:)18:55
adebergthen, what does mean "administratively disabled" ?18:55
johnsomadeberg "administratively disabled is the description in the documentation for the "OFFLINE" status in our API18:56
adebergjohnsom, what I don't get here, is that, from the amphora (within the haproxy netns) I'm able to curl my backend/member but the member still shows OFFLINE. What's the process responsible for updating that state ?18:59
johnsomadeberg Sorry, I should have looked at the docs again. I meant OFFLINE when I said DOWN in my last comment.18:59
johnsomadeberg Hmm, that is interesting. It likely means your health manager controllers are not receiving the health updates from the amphora. Check you lb-mgmt-net and your controller IP/port list setting: https://docs.openstack.org/octavia/latest/configuration/configref.html#health_manager.controller_ip_port_list19:02
adebergjohnsom, will do19:02
johnsomadeberg If you enable debug on the health manager, you should see "packet received" log messages from the amphora.19:03
adebergjohnsom, ok I don't see any only "Submitting periodic callback" lines so that might be my issue19:05
johnsomadeberg Yep, that is the problem19:05
adebergjohnsom, to give a bit of context I was trying to upgrade a kolla-ansible lab from rocky to stein and forgot to double check everything was working *before*19:06
johnsomAh, yeah, for some reason kolla-ansible doesn't setup the lb-mgmt-net for you like the other deploy tools do19:07
adebergjohnsom, thx a lot. Will keep fixing my deployment and let you know :)19:08
*** gcheresh has joined #openstack-lbaas19:14
rm_workthough in that case wouldn't the entire controlplane not work? ie, no configuration of LBs either?19:24
rm_workwith no mgmt net the whole thing should just fail to function19:24
johnsomYeah, but it could be a security group or one-way route or something...19:42
openstackgerritMerged openstack/octavia master: Fix diskimage-create.sh for Debian  https://review.opendev.org/70001219:45
*** gcheresh has quit IRC19:52
johnsomproposed openstack/releases master: Release python-octaviaclient 2.0.0  https://review.opendev.org/70144920:02
*** AlexStaf has joined #openstack-lbaas20:28
*** pcaruana has quit IRC20:41
*** AlexStaf has quit IRC20:43
*** maciejjozefczyk has quit IRC20:54
*** servagem has quit IRC20:54
johnsomOk, my afternoon fun. Get creative to clean up abandoned ports nova leaves when someone deletes an amp via OSC and then does a failover... I know I can check the security group to get the base port list, we do this on LB delete. Not sure about member ports yet. I need to see if nova leaves those around sometimes as well.21:08
*** pvradu has joined #openstack-lbaas21:13
*** gcheresh has joined #openstack-lbaas21:23
rm_worki keep meaning to write something that'll do a full graph audit21:27
rm_workand just show me any objects in our project that aren't supposed to be there :D21:28
johnsomYeah. I'm thinking we should start using the port description field to store the LB ID. Since tags are an extension.21:28
johnsomMy current problem is, find them when I have no amphora record. Plus we don't store the member subnet port IDs anywhere. So, tricky to tie back to the right LB.21:29
rm_workyeah21:31
rm_workeugh how the heck do i pass a config file path to the octavia-api when it's being run as a wsgi app >_>21:32
rm_workuwsgi doesn't seem to want to let me pass config params through, maybe that's just not something wsgi expects?21:32
johnsomNova seems to clean up the lb-mgmt-net port and the member subnet ports on "server delete", but not the vrrp (base) port. But, as I have seen, I don't really trust it to do any of them21:32
*** rcernin has joined #openstack-lbaas21:37
*** rcernin has quit IRC21:37
*** rcernin has joined #openstack-lbaas21:38
johnsomHmm, all of the logs are dumping in compressed garbage for me....21:39
johnsomi.e. https://zuul.opendev.org/t/openstack/build/e8f193e3cf9b435680c22ec2bf65bf25/log/controller/logs/screen-o-cw.txt.gz21:39
openstackgerritBrian Haley proposed openstack/octavia master: Remove all usage of six library  https://review.opendev.org/70129021:39
openstackgerritBrian Haley proposed openstack/octavia master: Remove all usage of six library  https://review.opendev.org/70129021:41
johnsomrm_work well somehow the API is picking up our config file: https://zuul.opendev.org/t/openstack/build/f3da5dfca22d4e72933a44bddcea3989/log/controller/logs/screen-o-api.txt.gz#321:43
rm_workyeah, i think because it's in the standard loc?21:43
rm_workoh21:43
rm_workTHAT is the uwsgi config21:43
rm_worki mean the octavia config21:43
*** gcheresh has quit IRC21:44
rm_workhttps://zuul.opendev.org/t/openstack/build/f3da5dfca22d4e72933a44bddcea3989/log/controller/logs/screen-o-api.txt.gz#4421:44
openstackgerritMerged openstack/octavia master: Fix tests to correctly call reset_mock()  https://review.opendev.org/69928721:44
rm_workwhelp21:46
rm_worki would have -1'd that21:46
rm_workthat's what i get for not reviewing actively enough I guess21:46
*** pvradu has quit IRC21:47
haleybrm_work: ^^ that change for reset_mock ?21:47
rm_workyes21:48
rm_workI commented just now, but not useful lol21:48
rm_workwhen i saw the comment name here i knew exactly what happened T_T21:48
rm_workthose lines are just dead code, someone copy/pasted around badly21:49
*** TrevorV has quit IRC21:49
rm_worki thought i got all of them already but apparently not21:49
haleybrm_work: i can see the bottom one can be removed, but the top looks correct as there is an assert after it21:51
rm_workask yourself this: the test passed when it was a completely bogus noop line. is a reset necessary for the test to pass? :D21:52
adeberg@johnsom, turns out it was some routing issue, after switching back to the lb-mgmt-net ip for the controller_ip_port_list and making the health-manager bind on it everything's fine21:53
haleybrm_work: yeah, you're right, typically these tests are assert_called_once_with() which would have failed, it just got lucky it's additive21:54
rm_workso it's *still* a dead line21:55
johnsomadeberg Ok. So, probably the amphora didn't have a proper route back on the lb-mgmt-net. check your neutron subnet configuration for the subnet the amphora sit on the lb-mgmt-net. Either the gateway is pointing to a router that doesn't know the way back, is missing, or there are host routes hijacking it.21:55
johnsomstating the obvious, but maybe giving some ideas to check21:57
adebergjohnsom, at this point i'm not sure it's worth the trouble as all I wanted was to assert my upgrade went well. We're using provider networks and I know the setup is correct in my other envs. i'll see tomorrow depending on my mood xD21:57
johnsomOk, sounds good.21:58
openstackgerritBrian Haley proposed openstack/octavia master: Remove test calls to reset_mock()  https://review.opendev.org/70146522:01
rm_worklol thanks, i was just going to be sad, and not bother making a patch lol22:03
haleybdon't want anyone to be ;(22:04
haleybthat actually looks mad...22:04
johnsomOk, I have decided this port cleanup issue is big enough to be a separate story/patch. https://storyboard.openstack.org/#!/story/200707722:45
johnsomCurrently failover still succeeds, and the ports will be cleaned up on LB delete. It's just the edge case of someone deleting the amp that leads to port leakage.22:46
johnsomIf LB delete detects this issue, it walks every port in the project hunting for the port to cleanup. Not something I want to add to failover...22:47
rm_worklol22:48
rm_workcould that be something that housekeeping is responsible for?22:48
rm_workbecause it can also happen "later"22:48
johnsomYeah, that would require some locking work in housekeeping, but I included that as something to explore in the story22:48
johnsomI.e. don't kill ports that are actually being *added* to the LB, etc.22:49
rm_workwhelp, with all the wsgi nonsense for every project during a cycle goal, somehow "specifying a config file that isn't in a default location" never came up, heh22:49
johnsomI think having the ID in the port description will make this all much cleaner. I just don't want to layer that on this patch. I will circle back and do a followup22:50
rm_workyeah22:50
johnsomI vaguely think it did, but was brushed off.22:50
rm_work<22:50
rm_work<_<22:51
openstackgerritBrian Haley proposed openstack/octavia master: Remove all deprecated driver code that moved to octavia-lib  https://review.opendev.org/70147322:51
johnsomrm_work if you pass our config parameter to uwsgi in the systemd service config it doesn't pick up the right config?23:07
johnsomfor example: /usr/local/bin/uwsgi --ini /etc/octavia/octavia-uwsgi.ini --config-file /etc/octavia/octavia-other-config.conf23:08
*** tkajinam has joined #openstack-lbaas23:08
*** servagem has joined #openstack-lbaas23:13
*** tesseract has quit IRC23:13
johnsomrm_work Ah, you might need to pass it as --pyargv23:14
johnsomwhich I guess can go in the uwsgi.ini as well23:15
*** goldyfruit_ has joined #openstack-lbaas23:17
rm_workoh is that how?23:32
rm_worki will test --pyargv23:32
*** ccamposr has quit IRC23:36
*** ccamposr has joined #openstack-lbaas23:37
*** pvradu has joined #openstack-lbaas23:44
rm_workI don't think that works23:44
rm_worki tried using it to change the config file to some garbage and it still started up correctly23:44
johnsomThe format you pass into that is a bit odd, I think it needs the --config-file not just config-file23:47
johnsomAh, argh, so the setuptools script doesn't pass argv down and our service code doesn't try sys.argv: https://github.com/openstack/octavia/blob/master/octavia/common/service.py#L2123:52
johnsomAh, it's actually PBR that creates that script23:56
johnsomIt seems like if we don't get argv passed in, maybe we should pull the system argv in23:58

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