Tuesday, 2025-10-28

*** mrunge_ is now known as mrunge06:39
fricklerlooks like canonical is having some issues, not sure if anything other than mirror updates will be affected https://status.canonical.com/12:54
Clark[m]The zuul launcher fix hasn't merged yet. I wonder if we need to dig into these failures in zuul too cc corvus. I didn't think any looked related to the change when I inspected the earlier failures 14:12
corvusgoogle api ModuleNotFoundError: No module named 'packaging'14:23
corvuslooks like swest is on it14:24
clarkbI see the changes and have added my +2 though you've already approved them. Thanks!14:45
oschwarthello o/ sorry if it had been discussed here before, but I see many of OSP projects (probably only stable/2024.X jobs) that fail on this method lib/keystone:create_keystone_accounts14:57
clarkboschwart: what is osp?14:58
oschwartsorry, openstack14:58
oschwarte.g. https://zuul.opendev.org/t/openstack/build/bf4a0904ee7e4caa80e9262615a13182 or 14:58
clarkboschwart: but I suspect https://lists.openstack.org/archives/list/openstack-discuss@lists.openstack.org/thread/2AVDUXBHX2TNDKNR4MRIHHO5MQJG4RVM/ is the answer you are looking for14:58
oschwartclarkb: right, thanks!! 14:59
opendevreviewBrian Rosmaita proposed opendev/irc-meetings master: Update cinder Festival of Reviews info  https://review.opendev.org/c/opendev/irc-meetings/+/96515016:23
opendevreviewMerged opendev/irc-meetings master: Update cinder Festival of Reviews info  https://review.opendev.org/c/opendev/irc-meetings/+/96515016:54
mnasiadkafungi: Regarding our ARA discussion on the summit - it seems if there’s an option running ara-server somewhere in OpenDev - we could try out using distributed sqlite approach (https://ara.readthedocs.io/en/latest/distributed-sqlite-backend.html) and just remove old dbs after a given period of time19:58
fungiyeah, that's probably worth discussing in an opendev meeting, sorry i didn't remember to get it onto this week's agenda19:59
mnasiadkaIt’s a busy week - if there’s a link I can add that to agenda - I can do that by myself20:00
fungiwe tried running a persistent ara server but the database quickly blew up, if memory serves. but that was also right after the functionality existed so odds are it's improved in the years since20:00
fungimnasiadka: https://meetings.opendev.org/#OpenDev_Meeting20:00
fungithough discussing here in the meantime is perfectly fine20:01
clarkbwe ran it with the embedded db as a regular ci log artifact20:01
clarkbthen ara dropped support for doing that20:01
mnasiadkaDistributed sqlite creates a file for each job/ansible-playbook run, so it might more suit OpenDev (not sure what backend you used in the past)20:01
mnasiadkaAh, embedded, right20:01
clarkbopendev system-config jobs actually upload ara reports using the file based backend iirc20:01
clarkbhttps://0b981208b2857e19931c-9f3d82aa4a1e99e8623570283c52345d.ssl.cf2.rackcdn.com/openstack/daaf3ca1de05433c9096289bbc9f663d/bridge99.opendev.org/ara-report/ for example20:02
mnasiadkaWe have support for uploading html files as part of job logs in Kolla-Ansible - but that’s a lot of html and takes too much time20:02
fungii think part of the problem we ran into with the idea of a central ara is that at least initially it was oriented toward persistent server environments so having a bunch of different ci jobs with ansible output claiming to be for the same servers (based on inventory names used in the jobs) confused it quickly20:03
fungiagain, it may be better in that sort of situation now20:04
clarkbthere are issues with compatibility too20:05
clarkba central ara server is not compatible with every ansible run aiui20:05
mnasiadkaIf there’s a separate db for each job id - then maybe that problem goes away20:05
clarkbansible and ara need some alignment across versions20:05
mnasiadkaYeah, they seem to support latest three Ansible versions20:06
fungiso we'd need to run more than one ara depending on what versions of ansible jobs used i guess?20:07
fungialso is this for nested ansible or job ansible?20:07
clarkbI'll say right now that we shouldn't run an ara for job ansible20:07
clarkbzuul provides a method for viewing the ansible output at the job level. We can improve that if necessary (I have a change up right now that does so)20:08
mnasiadkaKolla and OSA would use that for nested Ansible20:08
mnasiadkaAnd I’m not that sure we need ancient Ansible versions support20:09
clarkbmnasiadka: no but what happens when opendev, osa, and kolla are all using different versions without mutual ara support?20:09
clarkbjust talking out loud here: what if you tarball the file based ara report and publish that. Then you can fetch it locally and file:///path/to/ara/index.html?20:10
clarkbwould that mitigate the problem or is that too clunky for people to use?20:10
clarkbor similarly can we upload an ara + sqlite and reduce the total file count (I don't know how the fiel counts break down between service and data)20:11
mnasiadkaWell, that’s probably clunky, but if there’s no other option that’s still better than nothing20:12
mnasiadkaHmm, uploading sqlite and templating out a script that stands up ara for viewing it might be an option20:13
fungimaybe a prebuilt ara container you can just mount a known location into with your data?20:14
mnasiadkaI can experiment with that, maybe even we could point to sqlite via http url in ara’s config20:15
clarkbI don't see any new magic in https://codeberg.org/ansible-community/ara/src/branch/master/ara/ui/management/commands/generate.py that might cut down on the total file counts20:25
mnasiadkaAh right, because the databases are not the only files you have on the filesystem20:29
clarkbI was hoping there might be a combined method or some sort of virtual file setup. But no it seems to iterate over every resource and serialize them then render their corresponding page and write it to disk as a distinct file20:33
clarkband this mimics the website in dynamic mode so that the templates and requests can all be shared. You'd need some sort of proxy to rewrite requests otherwise20:33
clarkband at that point you're better of just running the dynamic service20:33
mnasiadkaTrue - it seems that downloading sqlite works, I wasn’t aware but we had that support earlier - need to compare how slower Kolla-Ansible is with ARA running and saving to sqlite file20:40
mnasiadkaThanks for the discussion ;)20:41
clarkbmnasiadka: you're downloading the sqlite file with a local running ara isntall right? And ya as you suggest maybe a simple script that does a docker run of the ara container with a sqlite path is a reasonable solution?20:42
mnasiadkaYeah, we can even template out some README so people can just copy paste a command20:42
clarkbthis is interesting swift bulk operations middleware can extract tarballs automatically for you20:50
clarkbmattoliver: ^ is there a way for swift users of public clouds to know if that middlewhere is present?20:51
clarkbmnasiadka: fungi ^ its possible that we could speed up the ara report uploads by uploading a single tarball then have swift extract it into separate files when read20:51
clarkbcorvus: ^ curious if you know if other object stores support similar and that could be part of the main zuul upload role(s) potenntially or do we have to make it swift specific20:52
clarkbthe actual data is not very large as far as I can tell. The issue is that we're uploading many files and each one is a separte round trip wit hswift so if can cut those round trips down we potentially speed the whole thing up20:53
clarkbits possible this is useful for more than ara too20:53
clarkblooks like rackspcae supports bulk operations20:57
corvusclarkb: i don't know the answer to that question.  i will note that the swift log upload role uploads 24 files in parallel.20:57
clarkbI can't find evidence that bulk operations is enabled in ovh (it may still be just undocumented)20:58
clarkbcorvus: ya I think the issue is that ara is thousands of files so it adds up quickly20:58
clarkbI do think in the general case uploads have been quick enough but when you start having lots of small files it is noticeable. We saw problems with tripleo and their practice of grabbing many many files (often redundantly)20:58
clarkblooks like log uploads for https://zuul.opendev.org/t/openstack/build/daaf3ca1de05433c9096289bbc9f663d/ took about 30 seconds which seems reasonable to me21:00
clarkbbut I'm guessing a kolla opesntack deployment has a lot more content in the ara export. Not sure what time to upload they were experiencing21:00
mattoliverDo a /info call on the endpoint, and you should get json with a bunch of info back. 21:00
corvusfungi: mnasiadka is there some place where i can catch up on the ara discussion at the summit?  i'd like some background.21:01
clarkbmattoliver: ack thanks21:01
fungicorvus: it was a 5-minute aside in the hallway, maybe when i was standing at the zuul pavilion? i don't remember exactly, i just agreed that it was worth bringing up here for an actual discussion21:02
corvuswhat's the user story?21:02
fungiopenstack-ansible's deployment test jobs generate vast volumes of nested ansible output, and generating static html from that and uploading it all takes a very long time, so they were hoping to find some way to make that less painful21:03
fungimnasiadka: ^ is that an accurate summary?21:04
corvuswhile also keeping it browseable?  (like, without downloading a tarball of the output?)21:04
fungii'm not sure what compromises would be acceptable21:05
fungii'm sure ideally it would come with your choice of free cupcake flavors, but obviously there have to be trade-offs21:05
fungiwhich is why clarkb was asking whether expecting the devs to download a bundle of data and then process it locally for inspection would be too onerous21:06
clarkbright I think the problem is ara specifically (but maybe other tools) generate many many small files. The total data is not large but when you upload each one distinctly the overhead of uploading all of the fiels can be noticeable21:09
clarkbtripleo had similar issues where half an hour of the job would be spent uploading logs21:09
clarkbthis means that tools like ara are less easily consumed by groups generating large ara exports21:11
corvusi don't know if this would be appropriate, but as long as we're brainstorming, i have had a nested ansible write output to the job-output.json file so that the zuul web-ui reads it just like zuul's ansible.  with that approach, all the output is in one (possibly large) file.21:14
corvusthere may be other ideas worth considering that stop short of that... like multiple files, or converting ara output into json...21:14
clarkbdoesn't look like openstackclient knows how to request swift's info endpoint so I need to figure out how to auth manually I guess21:15
corvusclarkb: one thing to keep in mind -- at least one of our clouds has suggested we use the s3 api for swift, so we'd want to know if we could still do that trick in that case.21:17
clarkbcorvus: yup that is partly why I wondered if you knew about support in s3 or other sytems21:18
clarkbI wonder if this is a general feature or something swift specific21:18
clarkblooks like openstacksdk cloud.get_object_capabilities() may give the info I need so trying that21:19
clarkbexcept now I get 'public endpoint for object-store service in BHS1 region not found' errors21:24
clarkbdoing a catalog list shows a public endpoint for swift object-store in that region fwiw21:24
clarkbconn.list_keypairs() works so auth is successful21:25
clarkbI'm guessing this code is just untested or incompatbile with the cloud21:25
mordrediirc, there was something different/weird with ovh and swift that isn't "normal" - and I'm guessing I never sorted it out and encoded it into SDK21:27
clarkbmordred: I think I may have figured it out. Looks like teh region is BHS not BHS1? I'm trying to test that now21:29
mordredthere's frequently an impedence mismatch between non-regional swift deployments and regional keystone catalogs21:29
mordredclarkb: ha. that sounds familiar at least21:29
clarkb`for x in conn.service_catalog: if x['type'] == 'object-store': for y in x['endpoints']: print(y)` confirms we have things but seem to be called BHS not BHS121:30
mordredsob21:30
clarkbbut if I try to use BHS it says this is not a valid region name (I think because our clouds.yaml lists specific regions21:30
clarkbpresumably if I add BHS to the list it would work21:30
mordredyeah. I feel like I added a way to override a region name on a per-service basis somewhere deep in the goo ... possibly for this use case. but I also might be hallucinating that21:31
clarkbI started looking for that maybe I won't give up just yet21:32
opendevreviewMerged openstack/diskimage-builder master: Fix RPM DB path for Centos 10 Stream  https://review.opendev.org/c/openstack/diskimage-builder/+/96393921:35
clarkbI ended up just creating a copy of the clouds.yaml file and modifying it to add the extra GRA and BHS regions21:40
clarkbthen I was able to connect to BHS instead of BHS1 and call get_object_capabilities. I see thinsg for tempurl and bulk deletions but not for bulk operations21:40
clarkbso I think it isn't supported?21:40
clarkbinfra-root do you think we should add these regions that only work for swift to our normal clouds.yaml or do we think it might be too confusing for what we're typically doing which requires the more specific region names?21:41
corvusclarkb: i lean toward "only if needed" due to confusion but maybe it's worth adding a comment so we retain the knowledge?21:42
clarkbcorvus: that seems reasonable. I'll work on that change now21:42
opendevreviewClark Boylan proposed opendev/system-config master: Add note about OVH swift regions to clouds.yaml  https://review.opendev.org/c/opendev/system-config/+/96518721:45
clarkbsomething like this21:45
clarkbre trixie debian mirror ended up in the pypi index list I'm guessing that somewhere the mirro_fqdn is overridden to point at the upstream deb repos not realizing that the same var value is used for pypi22:01
clarkbthat makse a lot more sense to me than not having a mirror set confuses the systems22:01
clarkband ya the role seems to assume if it is running then there is a mirror to configure22:07
clarkbrocky linux does not have mirrors either, but I think we just skip it as an unsupported distro type in configure-mirrors22:10
clarkbI expect alma is the same22:10
clarkbso ya seems like the easiest way to manage not mirroring content is to do so consistently for an entire distro at this moment. I should note that pypi mirror config is always applied as that is considered to not be platform specific22:11
clarkband then there is the mirror configuration improvement (which I can't currently find) that would allow specific control of each entity22:12
clarkbcorvus: did code for that land or maybe it is just a spec. I feel like I looked at it not that long ago too22:13
corvusthe "spec" landed as docs updates i think22:44
corvushttps://zuul-ci.org/docs/zuul-jobs/latest/mirror.html22:44
clarkbthank you22:44
corvusand i think tonyb was starting to continue that22:44
tonybI did but didn't actually make a whole lot of progress22:47

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