Monday, 2024-03-11

opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible-os_skyline master: Add EL distro support  https://review.opendev.org/c/openstack/openstack-ansible-os_skyline/+/91237009:31
f0oany way to specify the MTU in neutron through ansible? I checked https://docs.openstack.org/openstack-ansible-os_neutron/latest/ but no hits :/10:12
jrosserf0o: is there something specific you want to set in a neutron config file?10:12
f0oI noticed all my VMs have an mtu of 1442 which would be fine for vxlan over 1500 links but all links are 9000 so it seems like a bit of a waste10:12
f0oI also noticed, perhaps coincidentally, that network performance from vm<>vm is about 5Gbit/s while host<>host is 10Gbit/s10:13
f0oin linuxbridge you'd just set global_physnet_mtu and path_mtu to 9000 in neutron and it would be "done"10:14
f0obut on OVN I've honestly not the slightest idea10:14
jrosserf0o: did you come across the `config_template` ansible module we use yet?10:16
f0onope10:16
jrosserok, so, there are a ton of openstack services, each of which have a ton of options10:17
jrosserso it's completely impractical to have a defaults/main.yml variable for each of them, and expose a variable directly10:17
jrosserthere is some documentation here for how we allow this to happen in a manageable way https://docs.openstack.org/openstack-ansible/latest/reference/configuration/using-overrides.html10:18
f0oso before I go into this rabbithole - does it even make sense to bother about the vif/ovn MTU here?10:18
noonedeadpunkI'm pretty sure we should have an example somewhere in docs10:18
noonedeadpunkor a bug report realted to this :D10:19
noonedeadpunksec10:19
f0o:D10:19
jrosserfor the vars you mentioned already it would be this https://paste.opendev.org/show/bo6MGQbuL5cBuJTUNJ8W/10:19
f0omagic10:19
f0owell gonna plug it in and cross my fingers10:20
jrosserbut it's totally worth understanding the what/how of config_template and how you're able to make any config you like for any service, even when there does not appear to be a var for it10:20
f0oyeah will read into it10:20
f0othanks for the pointer!10:20
jrosserthose structures i gave you are key/value to include into specific sections of the various config files for neutron10:21
jrosserbut if this works for OVN, i have actually no idea10:21
f0oI got a feeling I will have quite many of those hah10:21
jrosserright - this is the primary mechanism in OSA for customising the services beyond the most commonly used things we put in defaults/main.yml of the ansible roles10:22
noonedeadpunkf0o: https://bugs.launchpad.net/openstack-ansible/+bug/182501210:22
noonedeadpunkok, yes, same :)10:23
f0ohah glad to see I'm not the only one asking for those things10:23
jrosserwell, remember we start with "sensible defaults"10:24
jrossertheres a bunch of people who can't/won't change from those so it's tricky10:24
f0omakes sense10:24
f0oI dont think I would've bothered looking into it if I had somewhere near 8Gbit/s on the vm<>vm traffic. I would just call it "good enough" - the 4-5G range was just what upset me. So I'm just going through the low-hanging fruits like MTU10:25
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible-os_skyline master: Add EL distro support  https://review.opendev.org/c/openstack/openstack-ansible-os_skyline/+/91237010:26
f0oI hope that fixes it because if I end up digging into OVS/OVN I will likely just get lost10:26
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible-os_skyline master: Do not define a random password for each run  https://review.opendev.org/c/openstack/openstack-ansible-os_skyline/+/91233210:26
f0oOVS is a deeeep rabbit hole10:26
jrosserso is getting the datapath accellerated10:26
f0ono havent yet touched DPDK10:27
noonedeadpunkregarding skyline - I guess we'd need to land https://review.opendev.org/c/openstack/openstack-ansible-os_skyline/+/912333/5 regardless which doesn't have any testing at all, as it's a circular dependency with https://review.opendev.org/c/openstack/openstack-ansible/+/859446 anyway10:27
jrosserwhich way is the stack of patches there?10:28
jrossergerrit UI confuses me with the order10:28
jrosseri guess i mean we can break the circularness by making the patch that brings the testing back being the last one we merge10:29
jrosseras if the order is right we will see the results be good on that one10:30
noonedeadpunkwell, we can't merge anything without any jobs as they are today10:31
noonedeadpunkSo I guess first is https://review.opendev.org/c/openstack/openstack-ansible-os_skyline/+/912333 and then some more work potentially needed on 859446 10:31
noonedeadpunk(like dropping nginx)10:31
noonedeadpunkand couple of nits potentially10:32
noonedeadpunklike https://review.opendev.org/c/openstack/openstack-ansible-os_skyline/+/912370 afterwards10:32
jrosseri was thinking that the nginx thing might turn into a haproxy map10:33
noonedeadpunkyeah10:33
noonedeadpunktotally10:33
jrosserbut it really was not completely clear what the nginx setup was actually doing10:33
jrosserit seemed almost redundant10:33
jrosserso i felt i was missing something important10:33
noonedeadpunknah10:34
noonedeadpunkit's really just passing url by regexp towards corresponsive apis10:34
noonedeadpunkincluding skyline api10:34
jrosserright - so the one thing that haproxy cant do is any kind or rewrite iirc10:35
jrosser*kind of10:35
noonedeadpunkthe only nasty  part is that there's no way fastcgi will work with uwsgi,10:35
noonedeadpunkor well... what nginx is actually doing - serving static content10:35
noonedeadpunkthere're jsut proxy-passes all along...10:36
noonedeadpunkthat;s the full resulting config: https://paste.openstack.org/show/bi4wWquWDNGfvMkeBHGX/10:36
noonedeadpunkso the "only" important thing, is "root /openstack/venvs/skyline-28.1.0.dev29/lib/python3.10/site-packages/skyline_console/static" I guess10:37
noonedeadpunkbut maybe we wanna move that to apache just for consistency....10:37
noonedeadpunkas haproxy won't be able to handle that10:37
jrosseroh i see it's mapping the ports to backend urls right that makes sense10:38
jrosseroh no it doesnt 10:39
jrosseryes i don't understand this10:40
gokhan__did victori/wallaby/xena/yoga upgrade  affected by unmaintained branch creation ? 10:49
jrossergokhan__: https://bugs.launchpad.net/openstack-ansible/+bug/205541710:50
noonedeadpunkgokhan__: in a way, yes10:52
noonedeadpunkbut for now - mostly the Yoga is10:53
noonedeadpunkthough, it's fixed already10:53
gokhan__ok now the only for yoga untamaintainted branch is created. 10:54
gokhan__before creation of unmaintained branchs of vwx ı need to complete my envs upgrade10:55
gokhan__noonedeadpunk, it seems there is no fwaas integration in osa :( 10:57
noonedeadpunkI think there was11:00
noonedeadpunkhttps://opendev.org/openstack/openstack-ansible-os_neutron/src/branch/master/defaults/main.yml#L478-L483 ?11:01
noonedeadpunkgokhan__: https://docs.openstack.org/openstack-ansible-os_neutron/latest/configure-network-services.html#firewall-service-optional11:01
noonedeadpunknever tested it11:01
jrosserthere was deprecation / undeprecation around fwaas i think?11:03
jrosserby neutron11:03
noonedeadpunkyeah11:06
noonedeadpunkthere was11:06
noonedeadpunkI don't think we were fast enough to drop it... Or jsut reverted it once it was undeprecated11:06
noonedeadpunkso it can be absent indeed for some release11:06
noonedeadpunkgokhan__: can you please explain me the point/reason of fwaas? As I really not getting it...11:07
noonedeadpunkAnd how it's different from security groups, except that it works on net nodes rather then computes11:07
gokhan__noonedeadpunk, I tested it but it didn't work. ı 11:13
gokhan__for me it is customer requirement. I am trying to understand how it works fistly 11:13
gokhan__neutron-fwaas is revived again  11:14
gokhan__also someone s working for ovn driver https://review.opendev.org/c/openstack/neutron-fwaas/+/84575611:16
noonedeadpunkI guess it depends what the requirement actually is11:16
noonedeadpunkwhat is also meant under it not working? As it was quite abandoned at some point, and broken on it's own to the point of deprecation...11:17
noonedeadpunkBut indeed there's might be smth off with the config as well11:18
noonedeadpunkAs basically, default port security does cover all usecases for our customers at least...11:18
noonedeadpunkbut indeed, might be easier to have a thing in front of the router... But then I'd really wonder how this is gonna work with ovn and distributed fips for instance... As trafic reaches computes regardless in this case11:20
gokhan__I am trying how differs it from security groups. 11:20
noonedeadpunkI guess it's mainly about where traffic gets filtered11:21
noonedeadpunksecurity groups are per VM, and this I guess on a router level11:22
gokhan__noonedeadpunk, with fwaas you can block, drop and accept traffic with on router port, with security groups you can  have allow rules 11:26
gokhan__ı will try if fwaas is working as expected 11:27
noonedeadpunksecurity groups drop what is not allowed11:29
noonedeadpunkso I just see them as firewall with default drop rule, which is fair enough, I guess11:30
noonedeadpunkmain benefit of fwaas probably - not to let traffic reach computes, and drop it earlier. But it makes sense to me only without DVR on a standalone net nodes11:30
f0ojrosser: FWIW setting the MTUs to 9k has indeed solved the network performance. It's now 10G VM<>VM cross hosts which is what the VIF QoS is set to. Thanks again!11:31
noonedeadpunkf0o: I guess you have multiqueue enabled as well?11:31
f0oyou ring a bell but unless that's automagic no - I'm right now on a very "stock" setup what OSA produces. Just now getting my toes wet with full-blown overrides and config adjustments11:32
f0onoonedeadpunk: shouldnt hw:vif_multiqueue_enabled be in the "libvirt Driver Options" metadata collection?11:40
jrosserf0o: so on top of that config overrides concept, you should also be able to use `--tags neutron-config` to only run the ansible tasks which write out the config files / restart the services11:45
jrosserthat should make adjusting config quicker to deploy, though if something doesnt work please ask as we have had bugs with this before11:45
noonedeadpunkum, well, it should be assigned to flavors or images. But it's surprising then you can get 10g on single core basically11:45
noonedeadpunkUnless today this is sorted out by different means with ovn...11:45
jrossernoonedeadpunk: i think andrewbonney tried multiqueue for us on linuxbridge and it somehow made things slower rather than faster11:46
noonedeadpunkheh11:46
noonedeadpunkit depends on amount of vm cores at least...11:46
noonedeadpunknot beneficial for 1 vcpu for sure11:47
f0onoonedeadpunk: hrm I see no difference in the perf between having it enabled or not on a 4vcpu instance - both hit 10G11:49
jrosseralso dpdk is pretty misunderstood11:50
jrosserwe had someone try really very hard to make it all work, with all the downsides that come with it11:50
jrosseronly to finally understand that without a dpdk enabled workload in the guest it's kind of not worth it11:51
opendevreviewMerged openstack/openstack-ansible-os_horizon master: Address Django Deprecations for 4.1  https://review.opendev.org/c/openstack/openstack-ansible-os_horizon/+/91210712:52
opendevreviewJonathan Rosser proposed openstack/openstack-ansible stable/2023.2: Determine if upgrade source branch is stable/ or unmaintained/  https://review.opendev.org/c/openstack/openstack-ansible/+/91243412:55
opendevreviewJonathan Rosser proposed openstack/openstack-ansible stable/2023.1: Determine if upgrade source branch is stable/ or unmaintained/  https://review.opendev.org/c/openstack/openstack-ansible/+/91243513:02
opendevreviewMerged openstack/ansible-role-uwsgi stable/zed: Remove undefined bionic linters job  https://review.opendev.org/c/openstack/ansible-role-uwsgi/+/91018813:41
nixbuilderGot a question... evidently I need to set 'glance_rootwrap_conf_overrides' but not sure how to set it.  In my 27.4.0 installation, I need to add '/openstack/venvs/glance-27.4.0/bin' to the exec_dirs in rootwrap.conf.  But I am not sure how to do that in the user_variables.yml file.13:50
nixbuilderI guess what I am asking is how do I set it in user_variables.yml so that if I install this again it picks up the correct path (i.e. glance-27.4.0)13:51
jrossernixbuilder: what specific problem do you have?13:56
jrosseri ask because there is this fix which seems to be related https://review.opendev.org/q/I4ee3fc33fdbeb50fc7b102bf62d6134f83c5925f13:57
jrosserthat patch does exactly what you describe, add the venv/bin to exec_dirs automatically13:58
nixbuilderjrosser:  After installing the patch did not seem to work... https://paste.openstack.org/show/bPpXOQOcr2zi4H1Y7HUT/14:01
nixbuilderjrosser: So I had to manually add in the extra search directory.14:02
jrossernixbuilder: when i look at one of our CI jobs, the path looks correct https://zuul.opendev.org/t/openstack/build/07f21b685d9c4de3839a786ab01c8562/log/logs/etc/openstack/aio1_glance_container-5e87a20e/glance/rootwrap.conf.txt14:04
nixbuilderjrosser: Don't know why mine turned out wrong... that's why I asked what to put in the 'glance_rootwrap_conf_overrides'  in user_variables.yml.14:07
jrosserwell, thats a bit catch-ww14:07
jrossercatch-22 even14:07
jrosserbecause the variable `glance_rootwrap_conf_overrides` was added by the patch that is not working for you14:08
jrosserbut you can see from the patch what the default would be https://review.opendev.org/c/openstack/openstack-ansible-os_glance/+/901562/1/vars/main.yml14:08
jrosserhere is the same CI result from a 27.x release https://zuul.opendev.org/t/openstack/build/b66378a8eb184380af0db820eff72b23/log/logs/etc/openstack/aio1_glance_container-3ba3f915/glance/rootwrap.conf.txt14:11
nixbuilderjrosser: I can see what you are saying... I see it in my '/etc/ansible/roles/os_glance/vars/main.yml'.  But it still didn't work.  I'll just have to check it after installation if I install it again.  Weird.14:14
jrosseryou should be able to see from the ansible output if it is templating the rootwrap file14:15
opendevreviewJonathan Rosser proposed openstack/openstack-ansible-os_cloudkitty master: Add variable to configure storage options  https://review.opendev.org/c/openstack/openstack-ansible-os_cloudkitty/+/91229216:38
f0oneutron-ovn-metadata-agent is very fragile wow16:50
f0oit feels like it doesnt do reconnect well (or at all?)16:51
f0oonce the connection drops it will just spam TLS errors over and over again, after you restart the service it's all fine16:51
f0onon-zero flags not allowed in calls to send() on <class 'eventlet.green.ssl.GreenSSLSocket'>: ValueError: non-zero flags not allowed in calls to send() on <class 'eventlet.green.ssl.GreenSSLSocket'>16:53
f0othis actually reads like a code-issue even16:53
f0oanyone else seen this before?16:53
f0omy guess, when I rebooted one of the network nodes (which hosts northd and gateway) neutron-ovn-metadata-agent went haywire and didnt fallback to the backup northd. Probably because those arent going through HAProxy.. So it's a bit unclear how it selects which northd instance it wants to connect to16:56
f0owhat baffles me is that even when the orginial northd came back online the neutron-ovn-metadata-agent was still complaining and error-looping until it was manually restarted16:58
f0ohttps://bugzilla.redhat.com/show_bug.cgi?id=2115035 oh hey look at that16:59
f0oalright I'll stop buggering openstack-ansible and take a look at neutron and see if they can include https://github.com/ovsrobot/ovs/commit/f09a55946cc83583c2e93be632e50f51ea83032217:04
f0oor I'm a bit confused who's actually responsible... It might be openstack-ansible since OSA decides which version of what is installed right?17:05
jrosserf0o: version of what?17:06
jrosser(sorry lots of moving parts and i'm not sure which you mean)17:07
f0ono worries17:09
f0oversion the python package "ovs"17:10
jrosserand which release are you using?17:10
f0otag stable/2023.217:10
f0oit installs /openstack/venvs/neutron-28.0.2.dev6/lib/python3.10/site-packages/ovs/ - so I'm guessing 28.0.2dev6 for OpenStack17:11
f0oand ovs is...ovs-2.17.1.post117:11
jrosserthat is the openstack-ansible release/version17:11
f0oovs-2.17.2 seems to contain the fix17:11
f0ojrosser: stable/2023.217:11
jrosserand what ends up in that venv is controlled prettyty much totally by https://github.com/openstack/requirements/blob/stable/2023.2/upper-constraints.txt#L18917:12
jrosserso for those python package versions, that is something that OSA installes, but under the constrains defined in the openstack global upper-constraints17:12
f0oso 2024.1 (guessing that's the next version) will contain the ovs fix?17:13
jrosseryou can see that here https://github.com/openstack/requirements/blob/master/upper-constraints.txt#L19217:13
f0oI think we can bump ovs to ovs-2.17.2 as a backport fix for the bug (https://bugzilla.redhat.com/show_bug.cgi?id=2115035 / https://bugs.launchpad.net/openvswitch/+bug/1985062)17:13
jrosserif the openstack requriements team agree that is acceptable, yes17:14
jrosserthe best thing to do is to propose a change to the requirements repo, citing those bugs and see what feedback you get17:14
f0oalrighty let's see if gerrit still remembers me and hates me17:15
jrosserhowever, as this is openstack-ansible, there is usually a way to override these things too17:15
jrosserlet me check17:15
jrosserf0o: if you look in your deploy node you should find /etc/openstack_deploy/upper-constraints/....17:16
jrosserduring the neutron install, it needs to get the constraints to use from somewhere, https://github.com/openstack/openstack-ansible-os_neutron/blob/master/defaults/main.yml#L84C6-L84C2617:18
jrosserand the default is this https://opendev.org/openstack/openstack-ansible/src/branch/master/playbooks/defaults/source_install.yml#L3817:18
f0ooh so I can just edit the file in /etc/openstack_deploy/upper-constraint/... ?17:18
jrosseror even you can copy the file and hack it up a bit17:19
jrosserwith a new name, and point neutron_upper_constraints_url to your modified file17:19
jrosserthis does then become a bit of tech-debt that you are carrying and would need to be removed when you upgrade or that constraint gets fix for real17:20
f0otrue17:20
jrosserso yes its totally possible to edit it in place17:20
f0ofirst things first - proposing the fix so it can be done the right way17:20
f0othen do a hackup to get my test-env working17:20
jrosseror there are enough hooks in the vars to allow you to have a completely customised constraints file for the whole deployment, or per service, as you need17:21
jrosserjust beware that a new copy of the constraints file will be downloaded, possibly overwriting your adjustments if you edit in-place the existing file and re-run bootstrap-ansible17:23
jrosserso a copy would be safer in that respect17:23
f0ohttps://review.opendev.org/c/openstack/requirements/+/892892/1/upper-constraints.txt17:23
f0owhy didnt this make it into my requirements tho?17:23
f0oshows as merged into 2023.217:23
jrosserhuh17:23
f0obecause it turns out they had it already fixed in January with https://review.opendev.org/c/openstack/requirements/+/89289217:24
f0oand that was merged into 2023.117:24
f0owas it merged into the wrong branch? shouldnt it be 2023.2?17:25
f0omy gerrit-fu is really not that good, I just do random buttons and found this17:25
jrosserurgh thats not great17:25
f0o(:17:26
jrossernoonedeadpunk: did this really want to be on 2023.2 as well? https://review.opendev.org/c/openstack/requirements/+/89289217:27
opendevreviewJimmy McCrory proposed openstack/openstack-ansible-os_neutron master: Use ansible_facts['processor_vcpus'] instead of fact variable  https://review.opendev.org/c/openstack/openstack-ansible-os_neutron/+/91248117:35
nixbuilderjrosser: What openstack process starts the dnsmasq?17:35
jrossernixbuilder: possibly the neutron dhcp agent?17:36
nixbuilderjrosser: OK... thanks!17:37
opendevreviewJimmy McCrory proposed openstack/openstack-ansible-galera_server master: Additional TLS configuration options  https://review.opendev.org/c/openstack/openstack-ansible-galera_server/+/91100918:03
opendevreviewJimmy McCrory proposed openstack/openstack-ansible master: Add check_hostname option to db healthcheck tasks  https://review.opendev.org/c/openstack/openstack-ansible/+/91115018:08
opendevreviewJimmy McCrory proposed openstack/openstack-ansible master: Remove obsolete nova_force_config_drive variable from docs  https://review.opendev.org/c/openstack/openstack-ansible/+/91248618:24
*** jamesdenton__ is now known as jamesdenton20:05
opendevreviewJimmy McCrory proposed openstack/openstack-ansible-os_neutron master: Use ansible_facts['processor_vcpus'] instead of fact variable  https://review.opendev.org/c/openstack/openstack-ansible-os_neutron/+/91248120:40

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