Thursday, 2021-11-25

*** arxcruz is now known as arxcruz|rover08:52
noonedeadpunkcan I get another review on https://review.opendev.org/c/openstack/openstack-ansible-os_keystone/+/817390 ?09:25
noonedeadpunkI guess that's the last sufficient change we want to bring to X09:25
opendevreviewAndrew Bonney proposed openstack/openstack-ansible-os_cinder master: WIP: test fix for zun volume tempest failures  https://review.opendev.org/c/openstack/openstack-ansible-os_cinder/+/81914109:44
jrossernoonedeadpunk: i think that this breaks things https://review.opendev.org/c/openstack/ansible-role-systemd_service/+/816739/1/tasks/main.yml#b5809:57
jrosseroh, the whole change actually not that specific line09:58
jrosserlike with /var/lock/cinder vs. /var/lock/cinder-volume getting mixed up09:58
jrosser-EMEETINGS for a while - interested to know what you think09:59
noonedeadpunkjrosser: oh, well, it does. but I'm not sure what stands behind sharing lock/run dir for services? I mean - shouldn't it be cleaner when each service has it's own lock dir and not interferring? As before that cinder-api, cinder-scheduler, cinder-backup and cinder-volume used same lock/run directories10:30
noonedeadpunkSo I guess I aimed to add more isolation and simplify logic a bit, but I'm not sure how it actually broke things?10:31
noonedeadpunkAlso I didn't want to patch all roles to update directory path back then...10:32
noonedeadpunkBut we can revert this as might be my assumptions why we did the way we did were wrong10:33
noonedeadpunkI don't see smth obvious, right?10:41
opendevreviewMerged openstack/openstack-ansible-os_ironic master: Add [nova] section to ironic.conf  https://review.opendev.org/c/openstack/openstack-ansible-os_ironic/+/81811510:42
noonedeadpunkoh, we need to set this up for slices....10:44
noonedeadpunkor?10:56
noonedeadpunkhm....11:07
noonedeadpunkok, so it depends on setting of oslo_concurrency in each service11:08
noonedeadpunkwhich yeah, breaks things currently :(11:09
noonedeadpunkso we have for example `cinder_lock_path` but it's not used for `systemd_lock_path` https://opendev.org/openstack/openstack-ansible-os_cinder/src/branch/master/tasks/cinder_install.yml#L5111:12
noonedeadpunkso yeah, I missed oslo part in the patch (11:15
noonedeadpunkdamn...11:21
noonedeadpunkif we just revert, this assumption is just wrong https://opendev.org/openstack/ansible-role-systemd_service/src/branch/stable/wallaby/templates/systemd-tmpfiles.j2#L511:23
noonedeadpunkas currently lock path should be /run/lock/ and with that replace it would be /run/run ?11:24
noonedeadpunkI'd say we need somehow to setup lock/run based on service slice name. The problem is that we need to have lock path defined inside the roles while not making weird assumptions in systemd-service role...11:33
noonedeadpunkWe for sure need to revert patch you mentioned. The question is though if we should also revert https://review.opendev.org/c/openstack/ansible-role-systemd_service/+/816735/211:33
noonedeadpunkas it does not make much sense11:33
opendevreviewDmitriy Rabotyagov proposed openstack/ansible-role-systemd_service master: Use slice name for lock/run by default  https://review.opendev.org/c/openstack/ansible-role-systemd_service/+/81929811:55
opendevreviewMerged openstack/openstack-ansible master: Deprecate OVN-related haproxy configuration  https://review.opendev.org/c/openstack/openstack-ansible/+/81385811:59
opendevreviewMerged openstack/openstack-ansible stable/victoria: Update functional test requirements url  https://review.opendev.org/c/openstack/openstack-ansible/+/81901511:59
opendevreviewMerged openstack/openstack-ansible stable/victoria: Set default for octavia_barbican_enabled  https://review.opendev.org/c/openstack/openstack-ansible/+/76917911:59
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible master: Globally define systemd_lock_dir  https://review.opendev.org/c/openstack/openstack-ansible/+/81930011:59
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible-os_cinder master: Refactor definition of lock path  https://review.opendev.org/c/openstack/openstack-ansible-os_cinder/+/81930412:09
noonedeadpunkjrosser: does this make any sense https://review.opendev.org/q/topic:%22systemd_run_dir%22+(status:open%20OR%20status:merged) ?12:10
noonedeadpunkas I tbh not sure how to act better here...12:10
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible master: Globally define systemd_lock_dir  https://review.opendev.org/c/openstack/openstack-ansible/+/81930012:13
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible-os_cinder master: Refactor definition of lock path  https://review.opendev.org/c/openstack/openstack-ansible-os_cinder/+/81930412:13
opendevreviewMerged openstack/openstack-ansible-lxc_hosts stable/ussuri: Revert "Add CentOS 8.4 support"  https://review.opendev.org/c/openstack/openstack-ansible-lxc_hosts/+/81848513:05
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible-os_neutron master: Drop designate notifications topic  https://review.opendev.org/c/openstack/openstack-ansible-os_neutron/+/81931413:50
damiandabrowski[m]hi guys, today I'm working on SQLAlchemy/oslo.db pooling and I started to wonder for how long we should keep inactive mysql connections(a.k.a wait_timeout/connection_recycle_time).... (full message at https://matrix.org/_matrix/media/r0/download/matrix.org/TVlhlMHfTrObOzynMQruMQab)14:08
noonedeadpunkHm, is there any reason for 1m sleeping connection at all then?14:12
damiandabrowski[m]with pooling, we are able to re-use these connections. It's about performance14:19
damiandabrowski[m]but if connection wasn't re-used within 1 minute, it shouldn't be a problem to drop it and create a new one when needed IMO14:19
noonedeadpunkwell connections that are alive for 1m are unlikely to have a chance to be reused?14:21
noonedeadpunkSo in most cases new ones will be spawned anyway?14:21
noonedeadpunkjrosser: mgariepy wdyt ^14:21
noonedeadpunkI'd say it's worth to reduce to smth like 10m14:22
jrosserfeels like we are always going to need 100% headroom in max_connections for when an haproxy failover happens?14:25
damiandabrowski[m]i think they will be re-used at some point, but keeping the connection open for let's say 30min only because it may be re-used probably doesn't make any sense and it's better to close it and create a new one when needed14:25
noonedeadpunkwell, re-using opened connection is the way faster14:26
noonedeadpunkit's the reason why they exist at the first place14:26
noonedeadpunkre-creating them too fast I think creates other overhead14:27
noonedeadpunkbut I'm not huge expert tbh14:27
noonedeadpunkjrosser: I tend to agree here14:27
noonedeadpunkBut I believe damiandabrowski[m] was considering other changes to pooling as well :p14:28
jrosseryeah14:28
jrosserdoes anything actively make new connections? like threads starting/stopping dynamically?14:28
noonedeadpunkBut it's probably more if you do haproxy restart 3 times in an hour you would need 300% or smth like that?14:29
jrosseri think a restart would drop the haproxy<>galera connections14:29
damiandabrowski[m]jrosser: it's about how many keepalived failovers may occur within wait_timeout. But keeping a 100% headroom for max_connections with a relatively small wait_timeout should be fine14:30
damiandabrowski[m]graceful restart will drop these connections, but for ex. powercut won't14:30
jrosserright14:30
damiandabrowski[m]regarding to Your question about making new connections: oslo.db is responsible for that, these 3 variables are the most important:... (full message at https://matrix.org/_matrix/media/r0/download/matrix.org/ABOyPztlSvmsBDQeYBEKypFk)14:32
noonedeadpunkSo imo we shouldn't set this lower then 10 mins14:33
noonedeadpunkbut would be great to hear other opinions:)14:41
jrosserfeel like i'm not really understanding much of this, isnt wait_timeout a setting on the db rather than on the client14:45
jrosserand ultimately we need a consistent / sensible set of things on mariadb/haproxy/oslo.db together14:46
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible master: Globally define systemd_lock_dir  https://review.opendev.org/c/openstack/openstack-ansible/+/81930014:51
damiandabrowski[m]i just realized that re-using connections is not only about saving time for establishing a new connection - it's also about persisting buffers(like read_buffer_size)14:55
damiandabrowski[m]so yeah, 10 minutes looks reasonable14:55
damiandabrowski[m]i already spent some time on galera/oslo.db connection pooling & limits and i have some idea in my mind, I'll write a change draft soon14:57
noonedeadpunkawesome!15:01
jrosserandrew wrote an etherpad about this too, which it could be quite useful to turn into documentation, given just how many moving parts there are here15:09
damiandabrowski[m]that's right, i have it https://etherpad.opendev.org/p/db_pool_calculations15:34
opendevreviewDamian DÄ…browski proposed openstack/openstack-ansible-os_rally master: Install PyMySQL as rally commands may not work without it  https://review.opendev.org/c/openstack/openstack-ansible-os_rally/+/81934815:51
opendevreviewMerged openstack/openstack-ansible-lxc_hosts stable/victoria: Revert "Add CentOS 8.4 support"  https://review.opendev.org/c/openstack/openstack-ansible-lxc_hosts/+/81848616:16

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