Friday, 2022-12-23

opendevreviewJames Denton proposed openstack/openstack-ansible master: [WIP] Track ML2 plugin for octavia-ovn-provider driver  https://review.opendev.org/c/openstack/openstack-ansible/+/86846103:57
opendevreviewJames Denton proposed openstack/openstack-ansible-os_octavia master: [WIP] Implement support for octavia-ovn-provider driver  https://review.opendev.org/c/openstack/openstack-ansible-os_octavia/+/86846204:13
opendevreviewJames Denton proposed openstack/openstack-ansible-os_octavia master: [WIP] Implement support for octavia-ovn-provider driver  https://review.opendev.org/c/openstack/openstack-ansible-os_octavia/+/86846204:18
*** akahat|ruck is now known as akahat07:05
moha7I got tired of getting locked in the deployment stage: https://p.teknik.io/41RQK10:21
moha7Now, I'm switching to an AIO env, but would you please share  your config files: user_variables.yml and openstack_user_config.yml by hiding sensitive data for a working multinode environment10:23
*** dviroel|out is now known as dviroel11:02
jrossermoha7: there are examples in the openstack-ansible repo https://github.com/openstack/openstack-ansible/tree/master/etc/openstack_deploy11:07
jrosseryuo do not need really anything more for a deployment that follows the 'reference architecture' for openstack-ansible11:08
jrossermoha7: your paste does not render correctly here https://p.teknik.io/41RQK11:12
moha7Oh, the correct link: http://ix.io/4jli11:15
moha7Are those examples out of the box? Actually I'm using the multibone.example for my env: https://github.com/openstack/openstack-ansible/blob/master/etc/openstack_deploy/openstack_user_config.yml.multibond.example11:17
moha7Here is mine: http://ix.io/4jlj <-- just replacing ovs with the default linuxbridge network backend11:18
moha7And here the user_variables file: https://pastebin.com/raw/LEejpWsq11:21
moha7Also, the netplan config: http://ix.io/4jlm11:22
moha7Oops, the above link is the netplan conf file for the deployment server! This one is the settings on the controller/compute nodes: http://ix.io/4jln11:24
jrosseryou should do really basic tests11:24
jrossercan you ping the infra node bridges from the deploy host and each other11:25
jrossercan you ping the containers similarly11:25
jrosserdo you have connectivity from inside one container to the others11:25
jrossermost “getting started” troubles are network related, especially when multinode labs are built in VM environments11:26
* noonedeadpunk trying to setup lxc networking with OVS at the same time :D11:27
jrosserand which branch do you use? master is the development branch for the *next* release, you should be using a stable branch11:27
noonedeadpunkthe more I go the more I feel I shouldn't do that....11:31
jrosserinfra node lxc + bridges seems so simple / obvious11:32
jrossersomehow i miss the attraction of ovs for this11:32
kleininoonedeadpunk: thanks for that insight. I already felt, I need to migrate my infra hosts to OVS. Now you're saying this and I will stick to compute/network nodes with OVS and infra with LB.11:32
noonedeadpunkkleini: well, I don't have any good reasons now. Just some feeling....11:33
noonedeadpunkEventually my main reason behind that to ease life with octavia network a bit11:34
kleiniI trust your gut feeling! I am trusting mine very often and I mostly it proves me right.11:34
noonedeadpunk(behind trying out ovs)11:34
noonedeadpunkAnd also I'm not sure how/if that will help indeed if/when we will decide to move to OVN11:35
noonedeadpunkas imagine I will set octavia net as vxlan on controller, which is nice, with moving to OVN that will quickly can become a nightmare11:37
noonedeadpunknot saying that ovs or glibc upgrade causing interruptions for the controller overall...11:38
jrosserwe did octavia net as vlan even though project networks are vxlan11:40
jrosserthen it is easier on the controller11:40
noonedeadpunkbut if controller is ovs... then vxlan on controller should be super easy, as they're in the same mesh?11:40
jrosserbut was then necessary to use real vxlan on the switches to span it as L2 to all the computes11:41
noonedeadpunkkleini: what were your reasons for ovs on controllers?11:41
noonedeadpunkI thought it would be enough to pass L2 with vxlan networks to controller, not only net nodes?11:42
noonedeadpunkah, yes, maybe you're right11:43
moha7Yup, all of them are pingable from the other sides11:43
kleiniI have LB on controllers/infra hosts and OVS on compute and network hosts.11:44
noonedeadpunkso just to align worloads?11:44
moha7> and which branch do you use? ---> I'm testing on both the master and also v25.2.2011:45
noonedeadpunkjrosser: well, we have that as vlan as well today... I was just trying to check if there's easier or neater way of doing that11:46
jrossernoonedeadpunk: from another angle we have been doing switch firmware upgrades and it has been really quite the nightmare11:47
kleiniI think OVS ML2 integrates better with OVS bridges for the host and it requires less context switches and packet transfers. So it provides better throughput and less packet loss, is easier to debug as everything is in OVS. With OVS firewall driver it is even less networking mess on computes.11:48
jrossereven though it is all mlag/bonds we have had bad bugs in both nic firmware and switch firmware which are pretty catastrophic failures11:48
jrosserwe are thinking that it would be really nice to have L3-to-the host with bgp or something and remove all the fragile L2 stuff completely11:49
noonedeadpunkyeah, I was also thinking why I would need l2. and given keepalived in unicast it should work in l311:51
jrosserwe lost the whole bond/mlag setup in the whole control plane due to cascading bugs in nic and switch11:51
jrosserand even with it all fixed now the run book for how to upgrade switch firmware is really tricky11:52
noonedeadpunkkleini: the thing is I'm not sure how neat it would be with migration to ovn/ despite it's still ovs underneath, but not sure how that will work together11:53
noonedeadpunkbut I'm quite bad in OVN now11:53
noonedeadpunkjrosser: so you think ovs on control worth a shot?11:55
kleiniI have no idea yet about OVN, just read about it and was scared, that it should be the new default.11:55
noonedeadpunkas I'm not sure how ovs/lxb changing fact of having l2...11:55
noonedeadpunkkleini: upgrade script should take care of overrides. But the thing is that both cannoncical and redhat migrated most of their clients to ovn already. And I've heard that ovs is deprecated in redhat platform already11:56
kleiniThis information does not make me less scared :-D11:58
noonedeadpunkBut I'm quite tired of net nodes and namespaces and how painful it always is to reboot a net node11:58
noonedeadpunkor even upgrade ovs there or restart l3 agent...11:58
jrossernoonedeadpunk: I am kind of happy with lxb on controllers11:58
jrosserbut then I have separate network nodes anyway11:58
noonedeadpunkyeah, me to11:59
jrosserfor controllers I would rather move to L311:59
noonedeadpunknet nodes are not co-located on controllers11:59
jrosserfrr or something with hack to advertise the LXC ip11:59
jrosserstill there is ugly mess with things like octavia and ironic networks12:00
noonedeadpunkin our case we have multiple AZs, so each controller is in independent datacenter and they're still routed (as have own network spaces)12:01
kleiniI have no issues with network nodes. Due to crappy SuperMicro hardware it happens already too often, that network nodes die completely and end users don't even notice this.12:01
jrosserall of this seems to be about choosing the least worst place to put some complexity12:01
kleininoonedeadpunk: What is you problem in detail with network namespaces on network nodes?12:01
noonedeadpunkI'm not completely sure, but it seems that failover happens too slowly when too many namespaces needs to be failedovered12:02
noonedeadpunkAnd I think rabbit is involved there12:02
jrosserthat’s keepalived again isn’t it?12:02
jrosserI don’t think we have much trouble failover with a node failing, just very long time to rebuild all the namespaces when a node comes back12:03
noonedeadpunkwell, yes. but also neutron tries to spawn or verify namespaces or smth. So out of like 1000 l3 namespaces we usually get around 5 that don't go properly on their own12:04
jrosserhmm we are in low 100s rather than 100012:04
noonedeadpunkbut to have that said - we have also vpnaas in env12:05
noonedeadpunknot sure it has smth to do directly with l3 namspaces, but maybe slowing down neutron even more12:05
noonedeadpunkAh, yes, with small amount of namespaces it's perfectly fine12:05
kleiniouch, that is too much failure, if 5 per mille fail in provisioning12:05
noonedeadpunkbut when it goes like >400...12:05
jrosserI would hope that this sort of scalability  trouble is addressed with OVN12:05
noonedeadpunkIn ovn there's anouther trouble which is ovsdb12:06
jrosserbut I think there are also other gotchas like not being able to spread the active routers between nodes12:06
noonedeadpunkas all records going to one db and at some scale it becomes quite problematic as well12:06
noonedeadpunkor, let's say, too resource consuming12:07
noonedeadpunkbut it's far beyond our scale at least...12:10
noonedeadpunkok, thanks all, that was quite good chat. Call me lazy, but I think I will leave lxb on controllers...12:13
kleinime too!12:18
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible-lxc_hosts master: Allow to customize networking configuration  https://review.opendev.org/c/openstack/openstack-ansible-lxc_hosts/+/86849014:43
noonedeadpunkjrosser: I'd love to get your opinion on ^14:43
*** dviroel is now known as dviroel|lunch15:28
jamesdentonnoonedeadpunk is there a good way to leverage vars from os_neutron in os_octavia playbooks? i am not sure the group_vars approach is the right one16:12
noonedeadpunkjamesdenton: no, not really. group_vars also won't help unless it's all16:13
noonedeadpunkSo basically only way is to define them somewhere in user_* and then they will be available everywhere16:13
jamesdentonhmm, which i don't think we want to do here since a lot of this is dynamic. There's an octavia-driver-agent for the octavia-ovn-provider implementation, and in octavia.conf there's expected to be an [ovn] section with the nb/db connection info. Maybe for the service i'll just bring in ml2_conf.ini as a config file and forgo the octavia.conf duplication16:15
jamesdentonseems like a PITA to try and make that go16:15
jamesdentonour role separation makes that a little difficult, i think16:15
jamesdentonbut bringing in ml2_conf might present its own challenges/conflict16:16
noonedeadpunkI guess octavia will also need certificates being copied there?16:18
jamesdentonTBD16:19
jamesdentonTBH it's a bit more involved than i expected. Should've devstack'd it first16:19
noonedeadpunkSo, what we did with ceilometer, for example, is we pasted other roles defaults and used vars from these roles16:19
noonedeadpunkSo in case anything will be overriden - it will reflect ceilometer as well16:20
jamesdentonoh, interesting. But i guess you have to maintain parity between those defaults, but prob not too bad16:20
noonedeadpunklike that https://opendev.org/openstack/openstack-ansible-os_ceilometer/src/branch/master/defaults/main.yml#L11816:20
noonedeadpunkwell, we're not changing defaults too often...16:20
jamesdentonok, smart. right16:21
noonedeadpunkI'm not sure what defaults we do have for ovn though. As I don't think we have things configurable16:21
noonedeadpunkit mostly overrides I guess16:22
jamesdentonyeah16:22
noonedeadpunkbut you can create smth like ovn here https://opendev.org/openstack/openstack-ansible/src/branch/master/inventory/group_vars/all16:22
noonedeadpunkand that will be affecting both neutron and octavia (and everything actually)16:23
opendevreviewDmitriy Rabotyagov proposed openstack/ansible-role-systemd_networkd master: Allow to provide multiple VLANs  https://review.opendev.org/c/openstack/ansible-role-systemd_networkd/+/86850016:27
jamesdentonok, i'll play around and come up with something you can pick apart :)16:33
jamesdentonthanks for the tips16:39
*** dviroel|lunch is now known as dviroel16:41
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible master: [doc] Update repositiories for mirroring  https://review.opendev.org/c/openstack/openstack-ansible/+/86850618:00
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible master: [doc] Add example on how to provision LXC bridges with OSA  https://review.opendev.org/c/openstack/openstack-ansible/+/86850718:19
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible master: [doc] Add example on how to provision LXC bridges with OSA  https://review.opendev.org/c/openstack/openstack-ansible/+/86850718:23
*** rgunasekaran_ is now known as rgunasekaran18:50
*** dviroel is now known as dviroel|out19:28

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