Friday, 2023-09-29

mnasiadkahello13:06
mnasiadkagthiemonge: https://review.opendev.org/c/openstack/octavia-dashboard/+/775561 - are you planning on working on this, or maybe there's a way I could help?13:06
gthiemongemnasiadka: hi, we discussed this change at the last ptg, the main concern is that the ovn-provider doesn't support most of the default options in the LB wizard, and we don't want to add provider-specific code to the dashboard (like if provider == ovn-provider then available protocols = [tcp, udp])13:51
mnasiadkaOk, but today there's no way to use the ovn-octavia-provider via Horizon dashboard13:53
mnasiadkaSurely there must be a way out of this :)13:53
gthiemongeand IIRC if the user selects an unsupported option (like http protocol), the error is not propagated to the UI, it fails, without any explanations13:53
gthiemongeI think if we have a popup that says "unsupported protocol http" that could work13:54
gthiemongebut right now, this commit would bring bad user experience13:55
mnasiadkaok, so UI error propagation would need to be solved first14:18
gthiemongehttps://opendev.org/openstack/octavia-dashboard/src/branch/master/octavia_dashboard/static/app/core/openstack-service-api/lbaasv2.service.js#L151-L15614:19
gthiemongeI think we should be able to get the error in the catch function and display it on the screen14:20
gthiemongemnasiadka: unfortunatly the API validates only one option at a time, so it could be really painful for the end user to find the correct options to set for the ovn-provider15:13
spateljohnsom Hey!17:00
spatelI am seeing very strange issue with one of my k8s application when I expose to octavia LB using UDP port - https://paste.opendev.org/show/bwl8E2tHizLVwuUXcRJH/17:01
spatelPool is showing OFFLINE 17:01
spateldoes Octavia support UDP ?17:01
johnsomIt has since Rocky17:01
spatelI am running Xena 17:02
johnsomI think that is a known and fixed bug related to the fact there are no health monitors on the pool. I think it is just rolling that up as OFFLINE instead of active.17:03
spatel?17:03
spatelyou are saying its BUG?17:03
johnsomYes. I think it is just that status field has the wrong word in it. The LB works right?17:04
spatelNO, its not working 17:04
johnsomHmm, ok, what protocol is going over UDP?17:05
johnsomCan we add a health monitor to the pool so we can see the status of the members?17:05
johnsomHmm, it implies RTP....17:07
johnsomCan you do a member show on one of those?17:07
spatelUDP 17:10
spatelThis is all managed by k8s so not sure how to tell k8s to edit health monitor 17:10
johnsomOk, let's start with a member show17:11
spatellet me get you output hold on17:11
spatelis this correct command? openstack loadbalancer member show 5ac0af83-0797-4411-95dd-e20e1caa45b9 17:12
johnsomNo, you need to include the pool UUID as well17:12
spatelhttps://paste.opendev.org/show/bG5rZ5pMwWszyJOAP4uS/17:13
johnsomopenstack loadbalancer member show bf2bb75f-edcb-4073-9a8f-b53b8b6d0cab 5ac0af83-0797-4411-95dd-e20e1caa45b9 17:13
spatelFound it 17:13
johnsomOk, this looks fine. now a "openstack subnet show 975fe679-61ba-4f4c-abb9-56416917fbb4"17:14
spatelhttps://paste.opendev.org/show/bOZFCbOlkYgFTwcCwJ1v/17:14
spatelI have other apps exposed with TCP and they are working fine 17:15
spatelone odd thing, I can't ssh to lbaas-mgmt IP even I am on same subnet 17:17
spatelotherwise I can get on VM and try to debug 17:17
johnsomThat looks fine as well. Give me one minute to look at the xena code17:18
spatelok17:18
johnsomHmm, that implies you are having neutron issues. 17:18
spatellet me debug that17:19
spateljohnsom I am inside amphora 17:31
spatelHow do I check haproxy logs to see what is going on 17:31
johnsomOk, sudo and run "ipvsadm"17:32
johnsomHAProxy is not used for UDP, it is all done in the kernel itself17:32
spatelI can see /var/log/haproxy.log 17:32
spatelhttps://paste.opendev.org/show/bMzcHWvx6gnbW80X9C7p/17:33
spatelYou are saying its not using haproxy but ipvsadm?17:33
johnsomIt's not using HAProxy, it's using the linux kernel for UDP17:34
spatelI see17:34
johnsomGive me one minute to create a UDP LB17:34
spatelcool 17:35
johnsomWe may need to run that ipvsadm command in the network namespace.17:35
johnsomUgh, my development environment is not in a good state as I'm working on SR-IOV. Give me ~10 minutes to boot an Octavia VM17:40
spatelno worry or you can tell me and I will run command 17:45
spatelhttps://paste.opendev.org/show/b8cTWxsmfW4pHhMjWzjN/17:45
johnsomWhile we wait, try "ip netns exec amphora-haproxy ipvsadm" (Trying to remember the syntax off my head)17:45
johnsomOk, so there is no configured UDP LB in that amphora.  Could the connectivity issue cause the LB to go into ERROR?17:46
johnsomHave you tried a failover?17:46
johnsomOk, the VM is ready, give me one minute to create a UDP LB17:55
johnsomYeah, ok, inside the netns you should see:18:00
johnsomhttps://www.irccloud.com/pastebin/ilWJfdBQ/18:01
johnsomYou can check if the configuration is even there, it's in /var/lib/octavia/lvs18:02
johnsomAlso, just to make sure, the amphora image you are using is from xena right?18:02
spatelgive me a min.. in other call18:16
spatelback18:34
spatelI am not seeing that info in my output 18:35
spatel /var/lib/octavia/lvs: No such file or directory18:35
spatelYes its Xena image 18:35
johnsomSo I am guessing your network connectivity issues caused a provisioning failure. The LB should be in ERROR. I would try an "openstack loadbalancer failover" command and see if that fixes it.18:37
spatelwhat if I found yoga image or some latest version 18:37
johnsomNo, Xena should be fine. We gate test all of this18:37
spatelok my network issue was my problem. when I ssh from LXC container it works 18:38
spatelwhat is openstack loadbalancer failover command for?18:39
spatelI did deploy this LB 5 time after destroying... 18:39
spatelall the time same issue 18:39
johnsomIt rebuilds the amphora instances to resolve ERROR provisioning status when something failed like neutron or nova18:39
spatelI am running octavia in single instance (without HA)18:39
spateldone - openstack loadbalancer failover 95e35a5b-109b-4bca-b70a-1d1f0ed9e07118:40
johnsomThat is ok, but it will cause an traffic outage in single topology18:40
spatelThis is LAB environment so trying to save resources :)18:41
johnsomOk, log into the new instance once the LB goes active, check the /var/lib/octavia/lvs directory18:41
johnsomAlso, when you are there, can you "cat /opt/amphora-agent.gitref ?18:41
spateljohnsom no luck still pool is offline 18:42
spatellet me try hold on18:42
spatelI got this output - 8ccc0d01764c234ce9d3dc0191b5a0952111e2ef18:43
johnsomThat is a bobcat image18:44
spateloh wait.. really?18:44
johnsomhttps://review.opendev.org/c/openstack/octavia/+/87604118:45
johnsomIt should still work, but it's not a tested combination18:45
spatelOh i have this image - test-only-amphora-x64-haproxy-ubuntu-focal.qcow218:45
spatelopenstack-ansible download and imported.. I thought its Xena 18:46
johnsomYeah, those are built regularly and are for gate testing only18:46
spateleven its bobcat it should work right?18:46
johnsomIt should....18:49
spatelotherwise I can download - https://minio.services.osism.tech/openstack-octavia-amphora-image/octavia-amphora-haproxy-xena.qcow218:49
spatelThat is what I thought that bobcat should work because it is latest code.. 18:50
johnsomWell, something odd is going on. We can try to debug by looking in the amphora-agent log, but that is a pretty big jump in versions.18:52
johnsomI need to step away for a bit. Let me know if you find something in the agent log. I would expect it to work, but we don't test that combination, so maybe there is something odd in a four version jump18:55
spatelhmm! 19:00
spatelI will poke around also try Xena image and see what works19:01
spatelThanks for stick around with me :)19:01
spatelHave a good weekend 19:02
spateljohnsom just to close the loop here, after download Xena haproxy amphora I can see ipvsadm showing some good stuff and LB pool is ONLINE 20:24
spatelhttps://paste.opendev.org/show/bmz3koPtM4IyfXInOBMw/20:24
johnsomYeah, that looks right.20:24
spatelSo its clear that image should be compatible with release 20:24
johnsomI wonder what changed in the bobcat image that is making that incompatible.20:24
spatelOr may be octavia xena doesn't like bobcat image 20:25
johnsomYeah, but it *should*. We should be maintaining compatible APIs.20:25
spatelThen time to open BUG :)20:26
johnsomYeah, go for it. It can't hurt to report it20:26
johnsomhttps://bugs.launchpad.net/octavia20:26
spatelSure I will open one20:26
spateldone - https://bugs.launchpad.net/octavia/+bug/203775920:32
johnsomThanks!20:32
spatelare there any logs of ipvsadm?20:35
johnsomipvsadm is just a configuration tool, it does not handle any traffic, etc. The traffic is all handled in the kernel. So, there is very little log information for UDP at the moment. You can get statistics and such from the ipvsadm tool or via the /proc/ filesystem. Octavia log offloading does not support UDP or SCTP at this time.20:38
johnsomAny errors from UDP traffic would go into the kernel log file.20:38
spatelgot it 20:39

Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!