Monday, 2024-09-23

clarkbas a heads up I'm going to try and run an errand before our meeting tomorrow. Place opens at 11am local and meeting is at noon local. I should have plenty of time if I get there when they open but if not then I may be a little late14:56
clarkbinfra-root https://review.opendev.org/c/opendev/base-jobs/+/929962 fixes CI on opendev/base-jobs. Then the child change may be of interest too (since the whole OVN DNS mitm thing irks me)14:57
opendevreviewMerged opendev/base-jobs master: Fixup CI jobs  https://review.opendev.org/c/opendev/base-jobs/+/92996215:13
clarkbkeep an eye out for unexpected behavors from ^ they should all be equivalent though15:14
fungiwill do15:26
fungigonna disappear briefly to grab lunch and then maybe start poking at the mm3 upgrade15:26
clarkbI really wish systems didn't try to phone home and check if the latest version is available15:33
opendevreviewClark Boylan proposed opendev/system-config master: Update Etherpad to v2.2.5  https://review.opendev.org/c/opendev/system-config/+/93021515:38
opendevreviewClark Boylan proposed opendev/system-config master: DNM force etherpad failure to hold node  https://review.opendev.org/c/opendev/system-config/+/84097215:39
clarkbautohold is in place for ^15:40
opendevreviewClark Boylan proposed opendev/system-config master: Update Gitea to v1.22.2  https://review.opendev.org/c/opendev/system-config/+/93021715:45
fungiclarkb: which system is phoning home now?16:58
clarkbfungi: etherpad (it has been but they made the location configurable now so its more noticeable that it does so)16:59
clarkbI wrote a note about it in 93021516:59
fungioh fun, i didn't even realize it was doing that!16:59
clarkbit checks what the latest version of etherpad is in order to log whether or not you need to upgrade17:00
clarkbhttps://etherpad.org/ep_infos/info.json is what it fetches17:02
clarkb217.182.142.68 is the held etherpad 2.2.5 node. I'm testing it now in the clarkb-test pad17:18
clarkbIt seems to be working17:20
clarkbI've just realized that the new api-docs swagger path will need a proxy override as long as we don't already have a pad called api-docs17:20
clarkbdo we want to proxy that or not? I could go either way on it myself17:21
clarkbI'm going to quickly update the held node by hand just to make sure that that functionality works17:21
fungipredictably, https://etherpad.opendev.org/p/api-docs is already a thing in our production instance17:21
fungitimeslider indicates it was last edited in 2013, 11 years ago17:22
fungilooks like it was for an "informal unconference" session at the... portland? summit17:23
fungi'Where: At the tables above the Pendulum on the "A" side of the convention center'17:23
fungii think that space had an "a" and "b" side17:24
fungior maybe not, that one had an upstairs where we did the design summit sessions and a downstairs for the main sessions17:24
fungimaybe this was san diego17:25
fungiit was portland17:25
fungijust correlated the dates17:25
clarkblooks like we need to do /api-docs/.* and /api-docs.json at a minimum17:26
clarkbfungi: the old pad would still be reachable using /p/17:26
fungiyeah, i think that's fine then17:26
clarkbI confirmed on the test node that adding those two exclusions make the swagger stuff work17:26
clarkbok I'll respin and recycle the hold. Then we can retest17:27
fungii'll hold off testing in that case17:27
opendevreviewClark Boylan proposed opendev/system-config master: Update Etherpad to v2.2.5  https://review.opendev.org/c/opendev/system-config/+/93021517:29
opendevreviewClark Boylan proposed opendev/system-config master: DNM force etherpad failure to hold node  https://review.opendev.org/c/opendev/system-config/+/84097217:29
clarkbthe /p/ redirect for pads is a permanent redirect which made testing that after caching the wrong thing interesting17:31
clarkbanyway I've recycled things17:31
fungiyeah, so any links to https://etherpad.opendev.org/api-docs have had a decade and then some to be fixed17:34
clarkbfungi: well in this case we're only special casing /api-docs/ so it should work out I hope17:36
clarkba bit annoying if you're looking for the swagger docs and forget the trailing / but a reasonable compromise given the situation17:36
fungiSURE17:42
fungigah, capslock strikes again!17:42
clarkbthe gitea upgrade change passed testing. I didn't hold a node for that as historically we haven't done so for the minor bugfix updates17:55
clarkblet me know if you think we should though (probably one reason to do so is if we want to be extra careful around the openstack release)17:56
fungiamusingly, the latest mailman dockerfiles use `pip install --break-system-packages ...`18:05
clarkbfungi: any thoughts on https://review.opendev.org/c/opendev/base-jobs/+/929960 and whether or not we should pursue that furhter? In particular I'm hoping for a sanity check that we want this before I set up a base-test update with a test role just to test that18:25
clarkb213.32.76.112 is the newly held etherpad fwiw18:25
clarkboh the swagger api is for api version 2 not 118:29
clarkbso I guess there is a new api but we're not using it (and testing should confirm old api keeps working)18:29
clarkbI think that is all fine18:29
clarkb/api-docs/ and /clarkb-test both seem happy to me from here18:30
fungisort of annoying that both of these files have comments that indicate they're settings for the same thing, but their contents differ: https://github.com/maxking/docker-mailman/blob/main/postorius/mailman-web/settings.py https://github.com/maxking/docker-mailman/blob/main/web/mailman-web/settings.py18:37
Clark[m]Is that because web and postorius run as separate Django apps with separate settings in the same Django installation?18:40
fungithey do, but the docstring at the start of each of those files says "Django Settings for Mailman Suite (hyperkitty + postorius)"18:41
opendevreviewJeremy Stanley proposed opendev/system-config master: Update Mailman containers to latest versions  https://review.opendev.org/c/opendev/system-config/+/93023619:11
fungiwe'll see how that ^ fares in testing19:11
fungiclarkb: yep, held etherpad test node lgtm too19:23
clarkbcool. I've got to do the school run this afternoon but otherwise I am around. Shoudl we go ahead and approve it or wait for a better time?19:40
fungii can't imagine a better time, i'll go ahead and approve it now19:40
clarkbthe etherpad change should merge momentarily and the hourly jobs are already done20:28
opendevreviewMerged opendev/system-config master: Update Etherpad to v2.2.5  https://review.opendev.org/c/opendev/system-config/+/93021520:31
clarkbimage has updated and it reports the container is healthy.20:35
fungideploy jobs succeeded too20:35
clarkbetherpads I have open reload and look ok. I'll load up the meetpad isitbroken pad next20:36
clarkbseems to load there too20:36
fungipulling up existing pads, they look fine and formatting is good20:36
fungiunrelated, the mailman upgrade change passed its rudimentary tests20:38
clarkbthe swagger stuff loads too. Though I'm noticing it thinks it should talk to localhost:9000 so it probably needs to learn more about the proxy to be useful as an interactive api client20:40
clarkbnot a big deal though as it works for api docs20:40
opendevreviewMerged zuul/zuul-jobs master: Install doc bindep profile in zuul-jobs-test-tox  https://review.opendev.org/c/zuul/zuul-jobs/+/92985321:22
opendevreviewMerged zuul/zuul-jobs master: Cleanup remaining Ansible lint warnings  https://review.opendev.org/c/zuul/zuul-jobs/+/92982821:29
clarkbfungi: in 921934 why do we need another site with another domain which means more certs etc when we already publish api specs to docs.openstack.org/api-ref? Could just do docs.openstack.org/openapi or similar?22:10
clarkbI've long been against the domain proliferation that openstack really loves to do22:10
clarkbit creates confusion over where to find things and disconnects related content22:10
clarkbanyway its on the meeting agenda so we can discuss there but I'm a soft -1 against a special domain for this. IMO it shoudl live next to the existing api ref content so that people can find it more easily22:11
clarkb(and we don't have to manage another set of resources that are difficult to cleanup in the future)22:11
fungiyeah, i wonder if there's a way to do that into a consistent parallel path, but part of the challenge is that the api specs are generated outside the projects themselves by another project22:12
clarkbya I think you probably want to use /openapi/compute or whatever alongside /api-ref/compute22:12
clarkbthen they won't publish over each other22:12
fungiand i think the idea is to be able to consume them in things like an ide or build them into language-specific sdks22:13
clarkbsure but I'm pretty sure those just need a url22:13
clarkbsimilar to how etherpad's swagger url is different than giteas22:13
fungiso having them all in a common tree rather than separated out to live alongside each project's docs would probably be simpler for those cases22:14
clarkbright I think I'm trying to say that is orthogonal22:14
clarkbwhether or not you do that doesn't have any impact on whether or not we set up a new domain with new afs volume and new ssl certs22:14
clarkb(etherpad swagger is at /api-docs/ and giteas is at /api/swagger/ you just have to point tools as the appropriate endpoint)22:15
fungiwell, sure, i mean also we could just have a dedicated apache vhost serve content from a subtree of the openstack docs tree too if the primary goal was just to have it at a portable base url22:15
clarkbI don't think you even need a separate vhost?22:16
clarkbI think you could just publish to openapi/ today right now without changing anything but zuul jobs?22:16
fungiif you want a dedicated subdomain you do22:16
clarkbright and I'm saying -1 to a subdomain22:16
fungiif you want to reuse the docs.openstack.org domain you don't22:16
clarkbbecause its mroe setup but more importantly its more teardown because removing things 10 years from now when openapi is no longer tool dejour is way more painful22:17
fungii'm just saying whether the domain used is separate and whether the afs volume is separate are also each orthogonal to the other22:17
clarkbthats true, though there isn't a ton of reason to set up another volume if publishing to docs unless we expect the disk dmeands to diverage (and so will want to manage quotas separately)22:18
fungiin this case the use seemed more akin to the service-types.openstack.org content, which was set up with a dedicated domain for a reason, but maybe the reason isn't as compelling now as it was then22:19
clarkbfungi: I think the reason for that was it needed to be a well known single location?22:20
clarkbfor public consumption22:20
fungiright, which would also be the case for public consumption of the api specs data22:20
clarkbI disagree bceause every cloud has a different api22:20
clarkbultimately you're going to want to fetch the openapi data for the cloud you're talking to?22:21
fungioh, well in this case i guess your disagreement is with the general idea of there being an official set of api specs for openstack22:21
clarkbsimilar again to how gitea ships swagger stuff for each deployment. YOu can still refer to the central document (I know I do because it pops up in google searches) but the one you really should care about is the one in the install you are speaking to22:21
clarkbya I mean I think that ship sailed a long time ago unfortunately22:22
fungithe sdk team was proposing a central location for the openstack project to supply api specs for consumption by per-language sdk build processes and ide plugins22:22
clarkbright and that should be fine to live at docs.openstack.org?22:22
fungiand didn't consider this to be "documentation" but rather machine-consumed data22:22
clarkbthe difference with the service types is that every time you start up a client you're referring to that data I (or at least checking if your cache needs refreshing)22:23
clarkbbut that wouldn't be the case here. Instead whoever builds your sdk would simply need to know what the url is?22:23
fungii think the idea was that an ide plugin would do that too. or an sdk build in ci22:23
fungiif memory serves, that's the design for the rust-based sdk: it consumes openapi specs to autogenerate the sdk source code22:24
clarkbok I guess if others want to deal with the setup (and again more importantly imo the teardown when openapi is inevitably not cool aynmore) I won't stop anyone. I've just always been a proponent of pushing that type of thing into more central doc organized content bceause it makes it easier to find22:24
clarkbhaving things hosted under different domains gives indexers an implicit indicator that the content isn't directly related to content across domains22:25
fungii had originally asked in the ptg session why just adding it to the api docs was insufficient, but there was resistance to expecting tooling to try dig the structured data out of the project docs22:25
clarkbthe content doesn't have to live directly in structured docs though22:26
clarkbjust hosted alongside it to make navigation easier and indexing associations22:26
clarkbI have made updates to the meeting agenda. Including moving the server upgrades item to the end22:43
clarkbbut also added bits on dns over tls, the rocky package mirror, gitea upgrade22:44
clarkbdoes anything seem to be missing?22:44
fungilgtm22:50
clarkbso I think a good chunk of my concerns would be alleviated if we made the domain less openapi specific. That way if openapi gets replaced we're not on the hook for doing a seamless migration and suddenly maintaining multiple domains for the same prupose22:52
clarkbthat doesn't solve the problem of making things more difficult to find, but its definitely not the first time where people have disagreed with me on that and I can live with that22:52
clarkbhttps://github.com/terrastruct/d2 is a neat looking diagramming tool23:08
clarkbfor the sequence diagrams in base-jobs docs (and I think in zuul too cc corvus) what do we think about maybe stashing the input file in docs/source/ but then manually generating the images when they change?23:09
clarkbthe tool is MPLv2 licensed and is actively maintained.23:09
clarkbgraphviz really doesn't do the sequence diagrams well unfortunately otherwise I'd just convert everything to that with the built in sphinx integration23:10
corvusyes, i believe i made those sequence diagrams23:10
corvusdid the "get an ugly looking graphviz blob from blockdiag" approach not work out?23:11
clarkbcorvus: we're currently generating them with blockdiag's sibling seqdiag. The problem is both blockdiag and seqdiag and their sphinx extensions are no longer maintained23:11
corvusyeah i know23:12
clarkbthe alternative I was exploring was to use hacks like https://stackoverflow.com/questions/32436856/using-graphviz-to-create-tcp-flow-diagrams to have graphviz draw them. I haven't explored that further than reading that post23:12
corvusi mean you said that it looked like blockdiag used graphvis under the hood or something23:12
clarkbcorvus: blockdiag uses the dot language under the hood but then I think is using Pillow to render things so graphviz isn't the backend they just share a markup language23:13
clarkbbut also graphviz didn't accept the dot seqdiag was using so its some dialect that isn't directly compatible23:13
corvusoh got it.  was hoping that running blockdiag to get a dotfile would give us a jumpstart on the stackoverflow approach23:14
clarkbI guess I can try the graphviz approach just to see how ugly it is23:15
corvusoh i think the graphviz output will probably be fine :)23:16
corvusclarkb: i have a moderate preference for translating this to graphviz; i am willing to help with that, but i can't work on it now.  if this can wait a week or so i can probably help more.23:17
corvushonestly, if we can't graphviz, we should probably just consider ascii art23:18
clarkback I do think the stackoverflow example is a good starting point as it shows how to get the desired structure23:19
clarkbI'll fiddle with it and see if I can get something useable23:19
corvus(i feel like brining in a new toolchain that we never run because these images never change is probably more trouble than it's worth)23:19
corvusyeah, and i think the graphical output on the SO is fine23:19
corvusclarkb: thanks for digging into this :)23:21
clarkbI've got the tcp example building in the docs. Now to hack it up into something that resembles the container registry workflow and credit the SO example (does rst have comments?)23:22
fungirst does have comments, yes23:54
fungi.. whatever23:54

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