Friday, 2025-02-28

kevkoaaah, okay , now I see discussion above :) ..sorry that I am firstly asking than reading :/00:00
clarkbthe tl;dr is that normal openstack release demand (which is higher than typical) has shown up and has also triggered a bug in nodepool effectively reducing our total available quota00:03
clarkbwe have a fix for the nodepool bug but it has been stuck behind all the other demand from the day as well00:03
clarkbwe currently appear to have about an hours worth of noderequest backlog maybe less. Which is good as it means we should be relatively idle before periodic jobs start (also good job picking the time for periodic jobs)00:07
clarkbhrm the unittests failed this time. I wonder if there is some other persistent issue00:18
clarkblooks like image errors in ibmvpc driver00:19
clarkblooking at tracebacks it looks like we might actually be trying to make requests against ibm?00:20
clarkbI wonder if a mock or fake is broken now with an ibmvpc update00:21
clarkbthere is a new ibm-vpc from january 600:22
clarkbI feel like we've landed changes since january 6 though00:22
clarkbyes we last merged nodepool code on February 1300:26
opendevreviewMerged opendev/system-config master: Add networks and routers in new flex tenants  https://review.opendev.org/c/opendev/system-config/+/94293601:05
corvusclarkb: i recreated my venv and ran tests again and no ibmvpc failures01:07
Clark[m]Ack must be some flaky test then01:22
opendevreviewOpenStack Proposal Bot proposed openstack/project-config master: Normalize projects.yaml  https://review.opendev.org/c/openstack/project-config/+/94296902:25
opendevreviewMerged openstack/project-config master: Normalize projects.yaml  https://review.opendev.org/c/openstack/project-config/+/94296903:03
opendevreviewKarolina Kula proposed opendev/glean master: WIP: Add support for CentOS 10 keyfiles  https://review.opendev.org/c/opendev/glean/+/94167215:41
clarkblooks like the nodepool fix landed and graphs are much better this morning. Zuul queues are not small either so it is likely we're actually exercising things. In a few I'll load ssh keys and double check the launchers all restarted their containers (but I expect they have)15:48
fungidid the nodepool launchers restart onto the fix?15:51
clarkbthey should as part of the opendev hourly pipeline jobs. but that is what I want to double check after I load ssh keys15:51
fungiah, okay, i didn't realize we automatically restarted nodepool services, thought we handled them more like the zuul services15:52
clarkbya zuul and nodepool both run their deployment jobs in the hourly pipeline but zuul doesn't do continuous rollouts due to the cost (we save that for the weekly playbook). Nodepool restarts are cheap and largely non impactful so we just go ahead and do them15:53
fungigot it15:54
clarkbwith zuul we do update the tenant config though so it does have a purpose15:55
clarkblooks like xorg updates have finally arrived. I'm going to install those, reboot for good measure, then load ssh keys15:55
clarkbI've rechecked https://review.opendev.org/c/opendev/system-config/+/942650 as it hit docker hub rate limits yesterday and I think cloud launcher should've run against the new raxflex tenants. We can probaly check them and look at launching mirrors there now as well15:56
clarkbthe container on nl04 is 10 hours old and the image matches the latest on quay. This lgtm16:04
fungilooks like we've been topped out on usable quota for the past 2.5 hours, and yeah there's not a bunch of available nodes just sitting like we saw yesterday16:53
fungithe running builds/running jobs graphs are a good 25% higher than when we were maxxed out on quota yesterday16:55
clarkbyup things look much happier in grafana and just in general zuul status16:55
clarkba cool grafana feature would be to select a section of a graph and have it do an integration over that period17:02
clarkbjust to make it easy to compare totals between different period of time without generating a new graphite query17:02
fungimmm, could even just have it compute and display the integral of the graphed lines over the displayed time window17:05
fungiso integral of concurrent jobs from the executor queues graph over the past 6 hours when you're on the 6-hour view, but if you shorten it to 3 hours then automatically recalculate it over that17:06
clarkbya that would work too17:07
fungithat wouldn't really require ui interaction changes17:07
fungijust some additional data it could display17:08
clarkbI'm thinking Friday is not a great day to land the infra-prod refactor change in part because it is ianw's saturday but also because if anything goes wrong I'd like to not have it run into the weekend. I was hoping to do it yesterday then zuul got cranky. I guess aim for Monday then? I do have an appointment Monday afternoon.17:11
clarkbthere is never going to be a good time and Monday is probably better than Firday all things considered though17:12
fungii'm on board with that suggestion, sure17:12
clarkbthe gitea memcached change is rechecking now. That might be ok for a Friday (worst case we revert back to in process memory caching). We can also work on spinning up raxflex mirrors17:14
clarkbfungi: both sjc3 and dfw3's new tenant have a number of error'd mirror servers. I suspect those are from before we caved on networking?17:15
clarkbnetwork list looks good in both regions implying cloud launcher successfully created the resources we need17:15
clarkbanyway probably want to try and delete those error'd servers first if we can to avoid confusion later (maybe even increment the mirror number digit by one when booting new servers if the old ERROR servers can't be deleted)17:16
fungiah, yeah i didn't even expect that it had left those behind. i'll try to delete them first17:19
fungierror server instances are cleaned up in both regions now17:23
clarkbI don't see any associated volumes either (so no additional cleanups)17:25
clarkbwe do need a volume before deploying the servers though iirc as these falvors don't have enough disk by default for the afs and apache caches17:25
fungiyeah, i didn't use the volume option to launch-node because it doesn't do lvm that i could see17:26
fungifigured i'd just create and attach them manually17:26
clarkbya I think launch-node expects the entire volume mounted at a single location17:26
clarkbin the launch dir there is a mirror_volume.sh script that tonyb added iirc to simplify things but you have to copy it over and run it manually after launch node is done and you've attached a volume17:27
fungiit's just a few commands to cut-n-paste anyway17:27
clarkbinstance, volume, and floating ip are the things I try to check when launch node cleanup doesn't work as expected. In this case no floating ips (since that was what was tested) and no volumes because they weren't requested. 17:29
fungiyeah, i have the two new mirrors bootstrapping now17:29
fungiwill attach the volumes and carve them up as soon as these complete17:31
clarkbjitsi meet made a release and new images a few hours ago. We should expect meetpad to automatically update during daily periodic runs 0200 UTC tomorrow17:36
clarkbI don't expect problems but I subscribed to their release notifications on github so figured I'd pass it along17:36
clarkb(I do that for gitea, etherpad, jitsi meet, and maybe some others I can't recall now)17:36
opendevreviewJeremy Stanley proposed opendev/system-config master: Add new Rackspace Flex tenant mirrors to inventory  https://review.opendev.org/c/opendev/system-config/+/94303717:42
opendevreviewJeremy Stanley proposed opendev/zone-opendev.org master: Add new Rackspace Flex tenant mirrors  https://review.opendev.org/c/opendev/zone-opendev.org/+/94303817:42
fungipushed those up to get them in progress while i work on storage setup17:42
clarkbfungi: one important note on the system-config change17:46
clarkbalso system-config needs to depends on the zon update if you want to add that in the new patchset17:46
fungihuh, identically booted server instances, identically created and attached volumes, kernel for the instance in dfw3 didn't register the hotadd, while in sjc3 it did17:53
fungiokay, it finally showed up, but took about 5 minutes17:53
fungiweird17:53
clarkbI wonder if they have different underlying io systems17:53
fungior maybe just "eventually consistent" ;)17:54
fungihotplug events recorded by dmesg look identical17:54
fungivirtio-pci/virtio_blk for both17:54
clarkbI guess that sort of thing would hit the nova api, then nova would put it on the rabbitmq bus for the compute node to pick up then it would tell libvirt to do the attachment through qemu? eventually consistent is a likely explanation18:01
fungiokay, volumes are mounted and cross-checked comparing to the existing mirror in the old sjc3 tenant18:06
fungiinterestingly, mtu on the ens3 interface on the new servers is 394218:07
fungivs 1442 on the old server18:07
fungihopefully pmtud works well ;)18:07
fungibut i don't feel like tcpdumping my connections to check for fragmentation right this moment, it's probably working fine18:08
fungiand this might mean we get 3942 through between test nodes and the mirrors as a result, which could improve network performance quite a bit for things like package downloads18:09
corvuswow18:13
opendevreviewJeremy Stanley proposed opendev/system-config master: Add new Rackspace Flex tenant mirrors to inventory  https://review.opendev.org/c/opendev/system-config/+/94303718:14
clarkbshould we consider setting them to 1500?18:16
clarkbfor test nodes we would need to update glean or have something else do that, but the mirrors would just be a netplan update? I think we have examples of netplan edits for other servers (review maybe?)18:16
fungiwe could, i'm sure18:18
clarkbmaybe its best to see if it creates a problem first18:18
fungican also be done later, right18:18
clarkbthe system-config update lgtm now too. Just need to land the dns update first (for the acme records)18:20
clarkbshould we go ahead and do that now?18:20
clarkbI'm happy to approve it if you're otherwise happy with the new nodes18:20
fungiyeah, go for it18:25
fungineither of those changes should impact anything, and the inventory change is going to take time to run the myriad of jobs it triggers18:26
clarkbdns chaneg is approved. Once the new names resolve for me I'll approve the other change18:27
fungithanks18:30
opendevreviewMerged opendev/zone-opendev.org master: Add new Rackspace Flex tenant mirrors  https://review.opendev.org/c/opendev/zone-opendev.org/+/94303818:34
clarkbdns resovles now. I'm approving the system-config change18:39
fungiagreed, bridge can resolve them all now18:42
fungi942650 timed out running system-config-run-gitea this time18:45
clarkbhrm we had that timeout in rax-dfw installing pdf dependencies yesterday. This timeout ran in ovh-gra118:46
clarkbI know we were close to the tmieout before. It is possible that memcached usage makes things slower over (but hopefully more consistent over time)18:47
clarkbI'll update with a bumped up timeout because so that we can get more data18:47
fungiara didn't identify any failures18:47
clarkbya it timed out during testinfra test case runs. So right at the end18:47
clarkbprobably would've been fine with 5 minutes or even less of extra time18:48
fungiaha, i didn't see a testinfra report but i guess that's why18:48
fungiand yeah, the change is adding something, so conceivably it's just tipped over the timeout18:48
frickler3942 is 1500+1442, that sounds like a weird bug by raxflex18:48
fungifrickler: mmm, great observation18:49
fricklerand IMHO we should override to 1500 ourselves, neutron does allow that iirc18:49
fricklerhaving larger MTU in my experience just leads to weird issues unless it is being used purely internally18:50
opendevreviewClark Boylan proposed opendev/system-config master: Run gitea with memcached cache adapter  https://review.opendev.org/c/opendev/system-config/+/94265018:50
fungii wonder if the encapsulation is reducing the available mtu by 8 and instead of increasing the mtu at the outer layer by that amount they just doubled it and said "that should be big enough"?18:50
clarkbfrickler: you mean we can configure out network or subnet in neutron to have dhcp set a 1500 mtu?18:51
fungiso now instead of 1x1500-8 it's 2x1500-818:51
clarkbI think that would be a great solution if possible18:51
frickleroh, wait, 1500+1442=2942, so add another 1000 in for weirdness18:51
fungiaha, yep18:52
fungiit's friday. i don't math on fridays18:52
fricklerclarkb: yes, "openstack network set mtu 1500" should do that18:52
fricklerehm "--mtu"18:52
fricklerguess I should eod soonish ;)18:53
fungii wonder if we already have support for that via cloud-launcher or would need to incorporate it18:54
Clark[m]https://opendev.org/opendev/ansible-role-cloud-launcher/src/branch/master/tasks/create_network.yml looks like no19:03
Clark[m]Maybe do it manually then add a comment to our cloud launcher stuff saying we've done so19:04
clarkbya I think the simplest thing to do for now is likely ^19:13
clarkbbecause if we add support to cloud launcher I'm not sure we want to run that again all clouds with network config either so we might need different setups?19:13
fungino, we'd probably have to make it configurable where we do our network definitions19:14
clarkbanother option would be to not use the central definition and do it like the router (where we basically define it bespoke per cloud region and do that for the ones that need overrides)19:14
clarkbbut since this is a one time deal (typically) I think manually setting it and making a note we've done so is sufficient and low effort/cost19:15
fungianyway, i've manually updated the networks in both tenants of both regions now19:15
clarkbbut not the old sjc3 deployment right? (we need that one to use the sub 1500 mtu)19:15
fungicorrect19:15
fungijust the new control plane and zuul projects in both dfw3 and sjc319:16
clarkbcool. And in theory we just wait for leases to renew and we'll get the new configuration19:16
fungii rebooted mirror01.dfw3.raxflex to see if that kick-starts it19:16
fungii'll leave mirror02.sjc3.raxflex if we want to see it take effect naturally19:17
fungistill 3942 after a reboot, so probably would have to force expiration on the local copy of the lease19:18
fungiif we want to see it happen sooner19:18
clarkbhow long is the lease for? 24 hours?19:18
funginot sure where noble is storing that19:19
fungithere's a /var/lib/dhcpcd but it's empty19:20
clarkbya no dhcpcd process either.19:21
clarkbthe /etc/netplan/50-cloud-init.yaml file says dhcp4 is true but it also sets an mtu in that file19:22
clarkbnot sure if that value came from dhcp or metadata (I dont' think these are config drived looking at lsblk)19:23
fungii wonder if it's coming from configdrive19:23
fungiindeed19:23
clarkbcould be metadata service19:23
clarkbanyway I guess there are now two qusetions. Will dhcp override the netplan mtu value or not and where is the dhcp lease details stored19:24
fungii did specify --config-drive when i launched these19:24
fungisr0 is the configdrive i think19:24
clarkboh yup blkid confirms. My mistake was expecting config drive to be mounted for us but that is a glean behavior and we aren't using glean19:25
fungialso the images had cloud-init installed looks like, and then our ansible uninstalled it19:25
clarkbso we could mount the config drive and check if the mtu is set there. In theory that mtu value comes from the network settings in neutron though so if we unset it in the netplan file manually we'd be fine. Still need to figure out if dhcp is setting it19:26
fungiso my guess is cloud-init built the netplan config from data in configdrive, then we uninstalled cloud-init19:26
clarkbfungi: yup that is expected. Basically we want an initial bootstrap config then we don't want cloud init making new changes later (something it did in the past with hpcloud iirc)19:26
clarkbthe config drive value for mtu won't ever update (bceause it is created on instance creation and never edited) but with cloud-init removed we're free to make edits like remove the mtu line and rely on dhcp etc19:27
clarkbbut need to find where dhcp is doing its thing19:27
fungiconfigdrive still has "mtu": 394219:27
fungiso i guess that doesn't get rewritten after the server is created19:27
fungii've removed the hard-coded mtu line from /etc/netplan/50-cloud-init.yaml and rebooted19:28
fungi2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 100019:28
fungithat did it19:29
fungii can do it on the other server as well if we want, but need to take a break to assemble/bake/eat pizzas19:29
clarkbfungi: correct config drive is never updated after the initial creation. It is the main drawback to using it.19:29
clarkbI've been looking at mirror02.sjc3 and I think systemd-networkd is responsible19:29
fungi(or irresponsible)19:30
clarkbsystemd-networkd[695]: /run/systemd/network/10-netplan-ens3.network: MTUBytes= in [Link] section and UseMTU= in [DHCP] section are set. Disabling UseMTU=.19:30
clarkbthe journalctl -u systemd-networkd shows this. I think that is a warning saying "I have two different mtu values one from netplan and one from dhcp. I'm using the netplan value"19:31
clarkbah nope the link value is a hardcoded mtu and the dhcp value is just a flag for whether or not it should use dhcp provided mtus19:32
clarkbso ya removing the value from the netplan file and rebooting is probably simplest. I suspect that new servers that get booted will just work with 1500 mtus because dhcp will provide that19:32
clarkband config drive for new instances should also have 1500 mtus because we set that on the network19:32
clarkbI think that all means the intervention you took is fine and appropriate. New servers should just work and the intervention means we can keep using these servers as is19:33
opendevreviewMerged opendev/system-config master: Add new Rackspace Flex tenant mirrors to inventory  https://review.opendev.org/c/opendev/system-config/+/94303719:40
clarkbfungi: be careful restarting mirror02.sjc3 to not berak ^19:42
clarkbI'm going to grab lunch now. The gitea memcached change has been approved but is still at least 1.5 hours away. so not too worried about missing that go out. It should auto deploy because it checks the image ids before and after pull  and memcached will be a new id causing it to restart things19:47
clarkbjitsi has made a couple more releases since I mentioned the early one. I guess there were problems with those images20:46
clarkbI think the mirrors are deploying right now too20:50
clarkband no known_host complaints \o/20:50
clarkbat first glance https://mirror02.sjc3.raxflex.opendev.org/ and https://mirror.dfw3.raxflex.opendev.org/ lgtm20:53
clarkbwe can probably fix sjc3's mtu then update dns to switch the mirror over to it then start figuring out how to migrate load between the old tenant and the new tenant then turn on dfw320:54
fungiyeah, that was my plan as well20:57
clarkband I Think we decided to use the more straightforward method of shutting things down in sjc3, dleeting resources, then swapping the config over so that the raxflex name doesn't change.20:59
clarkbso the next step there is likely to set max-servers to 0, then empty the image list for that region21:00
clarkblet nodepool delete everything it can, then anything it can't delete we'll have to follow up with manually later21:00
fungilatest system-config-run-gitea failure on 942650 looks like a dockerhub rate limit hit again21:01
fungii'll recheck21:01
clarkboh did it just fail ugh21:01
fungi20:58:0121:01
fungiyup21:01
clarkbjust keep in mind that it will do a deployment update to the production service when it lands21:01
fungiyeah, i'm around21:02
clarkbI have to do a school run this afternoon then will try to do a bike ride before the cold wet weather returns but I can keep an eye on things around that21:02
clarkbif you want to speed things up direct enquing to the gate might be a good idea (otherwise you have to wait for clean check)21:02
fungiyep, can do21:03
fungiit's back in the gate again21:06
clarkbI think the docker hub rate limits restrict starting tomorrow too21:06
clarkbcurrently its like 100 image pulls per 6 hours and tomorrow it becomes 10 per 1 hour21:07
clarkbso a 40% redunction? to be determined if this creates utter chaos or if our efforts to rely less on them has helped enough21:07
fungitomorrow utc is less than 3 hours away21:07
clarkbit is possible the change may even help us because the time range is shorter and we lots of long running jobs21:08
clarkbbasically it would be easy to accumulate over 6 hours and then be stuck for a while but resetting regularly may be advantageous21:09
fungideploy of 943037 is on the 5th-from-last job, but well past anything that will touch the mirror servers so i'm going to remediate the mtu on mirror02.sjc3.raxflex now21:09
clarkbThis is what I tell myself to not worry too much until we have real world conditions to check21:09
clarkbfungi: ++ that should be safe now21:09
fungi2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 100021:12
fungiall good21:12
clarkbI can still reach https://mirror02.sjc3.raxflex.opendev.org/21:13
fungiso, next a dns change to move the mirror.sjc3.raxflex cname>?21:13
clarkbI think so21:14
clarkbmaybe concurrently start shutting down raxflex usage21:14
fungiyeah, i'll throw in a change for that as well21:14
clarkbI think we may need to coordinate with zuul launcher as well21:14
clarkbits usage is minimal I'm less worried about breaking someone/something and more thinking about cleanup being incomplete if we forget zuul-launcher21:15
opendevreviewJeremy Stanley proposed opendev/zone-opendev.org master: Move Rackspace Flex SJC3 mirror to new server  https://review.opendev.org/c/opendev/zone-opendev.org/+/94306421:15
fungiset max-servers to 0 and comment out all the labels entries?21:17
fungior is it diskimages that needs to be an empty list?21:18
clarkbfungi: note the labels, but the image list needs to be []21:18
fungigot it21:18
clarkbnot having an image in the image list means don't upload this image21:19
clarkbthere should be git history showing the process. I think I've usually split those two changes up21:19
clarkbso that instances go away then images go awway21:19
clarkbits probably fine to do it all at once though and let nodepool complain if it must21:19
fungicool21:19
fungiworth a try, again this is only 32 servers so could be an interesting experiment21:19
opendevreviewMerged opendev/zone-opendev.org master: Move Rackspace Flex SJC3 mirror to new server  https://review.opendev.org/c/opendev/zone-opendev.org/+/94306421:21
opendevreviewJeremy Stanley proposed openstack/project-config master: Wind down/clean up Rackspace Flex SJC3 resources  https://review.opendev.org/c/openstack/project-config/+/94306521:23
fungithat's it, i think?21:23
fungiwhere's the zuul-launcher config?21:28
fungiopendev/system-config?21:29
fungioh, right, opendev/zuul-providers21:31
clarkbya sorry got distracted for a minute21:32
clarkbist the new config in zuul so we probably don't have any examples of winding that down yet21:32
fungidoesn't look like provider sections have a max-servers set21:32
fungiand there's no configuration reference for launcher yet, that i can see21:35
fungiuse the source, luke21:35
clarkbI suspect if you removed the labels from here that it would be equiavlent https://opendev.org/opendev/zuul-providers/src/branch/master/zuul.d/providers.yaml#L38-L5021:36
clarkbrather than setting a limit we remove the tie from those labels to the provider so nothing should get booted?21:36
fungiwfm21:36
clarkband then also empty the image list here: https://opendev.org/opendev/zuul-providers/src/branch/master/zuul.d/providers.yaml#L23-L26 ?21:37
opendevreviewJeremy Stanley proposed opendev/zuul-providers master: Wind down/clean up Rackspace Flex SJC3 resources  https://review.opendev.org/c/opendev/zuul-providers/+/94306721:39
fungisomething like that ^21:39
clarkbyes I've +2'd that one but that would be a good one to get corvus' input on21:39
opendevreviewMerged opendev/system-config master: Run gitea with memcached cache adapter  https://review.opendev.org/c/opendev/system-config/+/94265021:54
clarkbI have to pop out now but ^ seems to be deploying and at least gitea09 is up running memcached22:02
clarkbthe bytes count is nonzero running `echo 'stats' | nc -N 127.0.0.1 11211` there as well indicating that caching is working22:03
clarkbnevermind I don't have to do the school run timing worked out22:04
clarkbthe deployment was a success. I'll check each of the backends have the new setup now22:10
clarkbyup all looks well to me22:11
clarkbgit clone works as well22:12
clarkbmnaser: so tl;dr is we've bypassed what I suspect is the problematic caching system for memcached. If you see problems again please let us know as it is possible that this isn't the fix or isn't a complete fix22:13
fungiyeah, gitea servers lgtm as well22:47
clarkbanecdotally loading the system-config base page on gitea isn'y any slower or faster for me than before (a good thing)23:05

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