Tuesday, 2021-08-24

*** yoctozepto8 is now known as yoctozepto00:33
*** yoctozepto6 is now known as yoctozepto01:21
*** yoctozepto3 is now known as yoctozepto02:12
*** yoctozepto8 is now known as yoctozepto03:43
*** yoctozepto8 is now known as yoctozepto03:57
*** yoctozepto0 is now known as yoctozepto04:12
*** yoctozepto1 is now known as yoctozepto04:40
*** yoctozepto7 is now known as yoctozepto05:43
*** yoctozepto0 is now known as yoctozepto06:24
*** yoctozepto9 is now known as yoctozepto07:00
*** yoctozepto1 is now known as yoctozepto07:52
clarkbanyone else here for the meeting?19:00
fungiahoy, ye scoundrels19:00
clarkb#startmeeting infra19:01
opendevmeetMeeting started Tue Aug 24 19:01:16 2021 UTC and is due to finish in 60 minutes.  The chair is clarkb. Information about MeetBot at http://wiki.debian.org/MeetBot.19:01
opendevmeetUseful Commands: #action #agreed #help #info #idea #link #topic #startvote.19:01
opendevmeetThe meeting name has been set to 'infra'19:01
clarkb#link http://lists.opendev.org/pipermail/service-discuss/2021-August/000278.html Our Agenda19:01
clarkb#topic Announcements19:01
ianwo/19:01
clarkbZuul is now on our matrix homeserver at #zuul:opendev.org19:01
clarkbthis means you should wander over there if you have zuul issues/questions/concerns or just want to say hi :)19:01
clarkbalso the matrix hosting info is in the normal location for that stuff if hosting things come up19:02
clarkbOpenStack's feature freeze begins next week19:02
yoctozeptoo/19:02
clarkbI expect there will be a big rush of changes as a result next week which may make zuul restarts annoying.19:03
clarkbBut otherwise try to be aware of that as we make changes so we don't impact that too much19:03
clarkbAlso I'll be taking monday off to see if I can find any salmon19:04
fungialso we have a new (minor) gerrit version since last meeting, yeah?19:04
clarkboh yup. Upgraded as gerrit made some minor updates for security concerns (neither seemed to directly affect us) and wanted to keep up to speed with that19:04
fungig'luck with the salmon hunt19:05
clarkb#topic Actions from last meeting19:06
clarkb#link http://eavesdrop.openstack.org/meetings/infra/2021/infra.2021-08-17-19.01.txt minutes from last meeting19:06
clarkbThere weren't any actions recorded19:06
clarkb#topic Specs19:06
clarkb#link https://review.opendev.org/c/opendev/infra-specs/+/804122 Prometheus Cacti replacement19:06
clarkbI'm still looking for feedback on this change if you have some time over tea :)19:06
fungiand we can close out the matrix spec now, or do we still have remaining tasks there?19:06
clarkbDid the spec say we should implement a meetbot or not? if not I think we can close it19:07
fungiwe have users relying on it at this point anyway, so it's in production (but not with complete bot feature parity)19:07
clarkbyup, I think as long as we didn't promise that extra bot functioanlity as part of the initial spec then we are good to mark it completed19:07
fungiwas anyone able to confirm if my status notice went through to the zuul channel? i wasn't watching at the time19:08
clarkbfungi: I don't think it did. I think there isn't a status bot either19:08
fungiso anyway, yeah, i guess if those bits are called out in the spec then we need to keep it open for now19:08
clarkbI'll check the spec after the meeting and lunch and can push a completion change if we didn't otherwise we can talk about that next week in our meeting I guess19:09
clarkbin order to plan finishing that effort up19:09
corvusStatus bot is in scope19:09
corvusMeetbot not in scope19:10
fungithanks for confirming19:10
clarkbok, lets move on and we can talk about statusbot once we get through everything else19:10
clarkb#topic Mailman server upgrades19:11
corvusSo we're a little off script there but not too important.19:11
clarkbfungi and I have scheduled a time for the lists.kc.io upgrade with the kata folks. This will be happening Thursday at 16:00UTC19:11
clarkbbased on testing we expect things to function post upgrade and the upgrade itself to take about 2 hours19:11
fungikudos to debian/ubuntu packaging here, the in-place upgrade from xenial to focal was quite smooth19:11
fungi(with a stop off in bionic)19:12
clarkbwe'll turn off services on the instance, snapshot it, make sure it is up to date and rebooted. Then run through the in place upgrades to bionic and then to focal19:12
fungiworth noting, exim service disablement gets undone when the package switches from sysv-compat to systemd service unit19:13
clarkbI've also checked that our zuul jobs are happy running our ansible against focal and they are so once we've finished the upgrade the config management should continue happily19:13
fungiwe could probably preemptively add a disable symlink for the service unit now that we know that?19:13
clarkb#topic Improving OpenDev's CD throughput19:13
clarkb#undo19:14
opendevmeetRemoving item from minutes: #topic Improving OpenDev's CD throughput19:14
fungioh, sorry, didn't mean to derail the agenda19:14
clarkbfungi: that is a neat idea, I'm happy not doing that given it worked out ok on the test system but if you want to try that I'm not opposed19:14
fungii'm up for trying it on lists.k.i since it's sort of a trial run for lists.o.o anyway19:14
fungithe risk of it breaking anything seems negligible19:15
clarkbyup19:15
clarkbI'll try to remember to put that in my planning doc when I write that up tomorrow19:15
clarkb#topic Improving OpenDev's CD throughput19:15
clarkbNot much new to say here as I don't think anyone has started doing the mapping (currently I have that scribbled on my todo list for friday)19:16
clarkbBut there is one change on the simple things we might be able to do upfront list:19:16
clarkb#link https://review.opendev.org/c/opendev/system-config/+/805487 Be more specific about when inventory changes force jobs to run.19:16
clarkbI suspect that this is safe, but I'm worried we might have situations where we do want to run jobs if the inventory/service/ paths update. But so far the only examples of that I have been able to come up with are letsencrypt and I think that is unchanged by mordred's change19:17
clarkbwhcih means as long as we match on inventory/service/thisservice and inventory/base that change should be ok19:18
fungii've approved it. we can always add specific files to those19:18
fungias we spot holes19:18
clarkbya we can do that was well19:18
clarkb*as well19:19
clarkbAnd like I said I'm hoping to start mapping out the jobs on Friday based on my current todo list19:19
ianwyeah that feels safe19:19
clarkbAnything else to add on this subject?19:20
fungii intend to help with the mapping exercise19:20
fungiremind me when you get going on it19:20
clarkbwill do and tahnks19:20
clarkb#topic Gerrit Account Cleanups19:21
clarkbIt has been 3 weeks since I disabled the last batch of users. I intend on deleting the conflicting external ids from those retired user accounts tomorrow19:21
clarkbThat will leave us with ~30 accounts where reaching out to the users is a good idea. Hopefully that will make for a good activity during openstack feature freeze slush. My goal there is to push a single change to the external ids ref that addresses all of those and gets verified by our running gerrit server too19:22
clarkbI'll probably create a working checkout of the ref on review02 and start committing to it. It isn't clear to me if I can make 30 separate commits or if I need to have one. I will probably try doing 30 separate ones first and then squash them all if pushing the stack is rejected by gerrit19:23
fungithey'll probably need to be squashed, i expect gerrit to validate each change individually19:23
fungier, i guess they're just commits not changes, so maybe not19:23
clarkbyup I'm not sure how it will handle that19:24
fungieither way, i agree with the plan19:24
clarkb#topic Gitea 1.15.0 upgrade19:24
clarkbGitea 1.15.0 exists now.19:25
clarkbthere are a number of bugs they are looking at addressing that people have reported against 1.15.019:25
clarkb#link https://github.com/go-gitea/gitea/milestone/9719:25
clarkb#link https://github.com/go-gitea/gitea/issues/16802 Primary Keys for mysql tables19:25
clarkbissue 16802 in particular seems important for us since we run with mariadb19:26
clarkbSince we're entering openstack feature freeze anyway and don't have a current pressing need to upgrade I think it would be best to see if we can wait for a 1.15.119:26
clarkb#link https://review.opendev.org/c/opendev/system-config/+/803231 WIP'd until we are happy with the gitea situation.19:26
clarkbThat all said one of the changes we will have to deal with is the hosting path for the logo files changes. Our Gerrit theme consumes the opendev logo from gitea and that path needs to update. The change above does update that path, but we may need to restart gerrit after the gitea upgrade too19:27
clarkbianw: you had talked about looking into hosting those files in a better way. Have you had a chance to look at that yet?19:27
ianwoh yeah, i was thinking about that19:27
ianwthe expedient approach seems to be to dump the files in an afs directory19:27
clarkbIf we don't address that before the gitea upgrade I think that is fine as a gerritrestart is quick, but do want to bring up the relationship between the tasks here19:28
clarkbianw: oh interseting and then serve them off of static?19:28
ianwthe "correct" approach seems to be to create a repo to hold logos/favicons/images and get that to publish to afs19:28
ianwi think it's probably worth doing the latter, as logos tend to morph and it's probably worth version tracking them19:28
clarkbMost of them are svgs anyway so sticking them in git shouldn't be too bad19:28
ianwthen we can create a static stie with a long cache, or just via static.opendev.org19:29
ianwif we think the repo and publishing is the way to go, i can do that19:29
fungiwe could put those files in system-config though and just include them from there in the images, right? don't need a separate repo?19:30
clarkbThat plan seems reasonable to me. We'd still be hosting the files away from the services but via a webserver we have far more control over.19:30
fungii guess i'm lost on why it needs its own repo19:30
ianwfungi: we could ... as in via https://opendev.org/opendev/system-config/...  ?19:30
clarkbya the files are already largely in system-config19:31
ianwjust to keep it separate really, and to make it simpler to reuse the existing afs publish jobs19:31
fungiyeah, make a new top-level directory... "assets" or whatever19:31
fungii guess if the idea is to use it in publication jobs rather than putting it in the service images (so the files are hosted from the servers embedding them in their services) then having a repo using standard docs publishing jobs makes some sense19:32
fungimy main concern with putting them on static.o.o is that if that site is down it could cause problems for the services pointing at it for inlined files19:33
fungi(or if afs is offline, suddenly that's an impact to all our services)19:33
fungiif the images get written into the images we build, the services are more self-contained19:33
clarkbyup and for some services like gitea I think we'd continue to embed because they expect to be themed that way and not with external resources19:34
fungier, graphical images get written into the container images we build (too many meanings for image)19:34
clarkbfor that reason having the assets in system-config probably makes the most sense so we don't have multiple copies of files? though we could clone and copy in the image builds from the new repo19:34
ianwi don't think that failing <img> tags will bring down services, so i don't think that's a blocker as such19:34
clarkbianw: probably not. might make things render funny for a bit but not fatal19:35
fungiright, i don't mind having multiple places the same image is served, the desire was to have only one version-controlled source for the images themselves19:35
fungiso we don't have to manually copy the same favicon to multiple directories/repositories or whatever19:35
fungiand worry about those different copies getting out of sync when we update one repo but not another19:36
clarkbianw: do you think it is possible to keep them in system-config under an assets/ dir?19:36
ianwright, so the canonical favicon could be logos.opendev.org/favicons.ico or https://opendev.org/opendev/system-config/master/assets/favicon.ico you mean?19:36
fungiyeah19:37
corvusnote that the fallback location for favicon.ico is implicitly on the same server.  only affects older browsers.19:38
fungithe other reason i'm waffling on the serving one copy and having services link browsers out to it is that it looks a little more like webbug/tracker behavior, may set off some privacy extensions, may need cors fiddling...19:38
ianwdo we want logos.opendev.org?  what needs it?19:38
clarkbhttps://opendev.org/opendev/system-config/raw/branch/master/docker/gitea/custom/public/img/opendev-sm.png that actually does seem to work19:39
clarkbin that case I think we don't need logos.opendev.org just a bit better organization? THis may be much simpler than I had anticipated19:39
fungithe counterargument i hear from webdev people is that having one location a particular file is served is that it speeds up user interaction due to browser-side caching (this is the argument pushed for using google's font service, for example). i'm not really sure i buy it for this case though19:40
clarkbthat may load a bit more slowly than hitting https://opendev.org/img/opendev-sm.png when caches are cold though19:40
clarkbwhen we address things in the repo gitea does repo lookups and that will be slower on a cold cache, but once gitea's cache warms it should be about equivalent19:40
clarkbmaybe start with that since it doesn't require as many changes?19:41
clarkband if we find things aren't served quickly enough we can make a logos.opendev.org with better lookup times?19:41
fungias for logos.opendev.org, maintaining yet another site does seem like unnecessary administrative overhead to me, if the real goal is just to deduplicate the graphics in our git repo(s)19:42
ianwlodgeit is the only one i can think of https://opendev.org/opendev/system-config/src/branch/master/playbooks/roles/lodgeit/templates/docker-compose.yaml.j2#L3619:42
clarkbgerrit does similar as well19:42
clarkbbut they could both use https://opendev.org/opendev/system-config/raw/branch/master/docker/gitea/custom/public/img/opendev-sm.png type urls?19:43
ianwi guess one goes via gitea's static rendering (/img) and the other via actually hitting the git tree19:44
corvusif the plan is to serve them out of the repo, it would be prudent to put them in a dedicated directory with a README telling folks of the dangers of moving any files19:44
clarkbcorvus: yes I don't think we should use the actual url above if we use that method. We should put them in an assets/ type dir19:45
ianwbut, if we simply ln -s ./assets/opendev-sm.png docker/gitea/custom/public/img/opendev-sm.png then the image builds and the png is statically served?19:45
ianwoh ... that will not be in the build context and probably won't work19:45
clarkbya I think that might be the difficult thing to sort out is how to keep copying the files into the docker images for services that expect that method of theming19:46
clarkbI'm sure there is some way to do it that makes docker happy but I don't know what it is19:46
ianwi feel like bazel had this issue too with symlinks to ~/.cache or something19:47
fungioh, so the problem is that we don't have any pre-build step to copy other files into the tree19:48
clarkbya docker doesn't like thngs that escape the path level it is started at19:48
fungiand for people trying to build those locally they'd need to perform an extra step to get the files which aren't present in that subdirectory where the rest of the files for the image reside?19:48
fungiand docker builds can't fetch files from some network location19:49
clarkbdocker builds can fetch the files from a network location. I think that is the common workaround here19:49
fungior otherwise install things which involve getting them over a network?19:49
clarkbbut our speculative builds make that more complicated19:49
fungiyeah, agreed19:49
fungithe network location would be a file:/// path within the same repo or another repo checked out in the workspace as pushed by zuul, i guess19:50
clarkbWe definitely don't need to solve that right here in the meeting (which only has a few more minutes allocated) but I suspect solving the "how do the graphical images get into the docker image builds" question is the main one to solve for now?19:51
clarkbthere might be an escape hatch override in docker we can use too. I'm not familiar enough to know for sure19:51
ianwmaybe give me an action to come up with something19:51
clarkba separate repo could solve that by us basically punting on the idea that we care about speculative exuections of those19:52
clarkbthen image builds just clone the repo and use the current state19:52
clarkb#action ianw Figure out how to centrally store graphical images for logos while still making them consumable by docker image builds for services that want a copy of the data at build time.19:52
clarkbsomething like that?19:52
fungibut if all our builds are driven from system-config then there's no need to put the files in another repo than system-config to get speculative support19:53
clarkbfungi: except you have to get those files into the docker image19:53
fungiand having them in another repo makes that easier than having them in the same repo?19:53
clarkbfile:/// doesn't work and neither does cp ../../assets19:53
fungikinda bizarre if so19:53
clarkbfungi: ya because you can git clone that and the repo is as small as necessary to do that19:53
clarkbfungi: rather than git cloning yourself fomr somewhere that isn't the actual state you expect19:54
fungior not using git at all, just a relative filesystem path19:54
clarkbbut you can't do that within an image build as it is a security concern (if my undersatnding is correct)19:54
clarkbdocker limits you to things at and below the Dockerfile in the fs tree19:54
fungioh, i see we could clone system-config and use files from it19:54
clarkbyes19:54
fungiso still don't need a separate repo19:55
clarkbright, but you might end up confused in a speculative state situation19:55
fungijust a second system-config clone from local path during the build19:55
fungicloning from the same repo we're already using19:55
clarkbfungi: can you do that within a git repo?19:55
corvustechnically it's the build context, not the dockerfile, but yeah19:56
clarkb(I don't actually know I've never tried cloning a git repo to a subtree of the git repo)19:56
clarkbcorvus: ah ok maybe we shift the context to the root of the repo then rather than the dockerfile location19:56
fungiyou can clone your current repo within a subdirectory of your repo, yep, just tested it19:56
clarkbthen we would have access to everything in the git repo and not need to sort out cloning a repo into itself19:56
clarkbfungi: neat19:57
fungigit clone ./ foo19:57
clarkbAlright we are just about time. Lets open it up to anything else really quickly19:57
clarkb#topic Open Discussion19:57
clarkbAny last minute items to call out before we go find lunch/dinner/breakfast?19:57
ianw#link https://review.opendev.org/c/opendev/system-config/+/80491619:58
ianwwas from last week19:58
ianwto fix the time randomisation on backups19:58
clarkboh thank you for that. I missed the change19:58
clarkbI guess it went up during the meeting last week :)19:58
ianwi'll get back to debian-stable removal19:58
ianwin trying to figure out nodes/jobs etc i got quite side-tracked into updating how zuul shows that info :)19:59
clarkbthose improvements do make the info zuul presents more readable. Thank you for that19:59
fungithanks clarkb!19:59
ianwoh and i don't think we got a response on the openeuler mirror?20:00
clarkbianw: I haven't seen one. But not sure I was cc'd on the original send?20:00
* fungi has to skeedaddle20:00
clarkbaha infra-root was cc'd I see that now and no response20:00
clarkbthanks everyone we are at time20:00
clarkb#endmeeting20:00
opendevmeetMeeting ended Tue Aug 24 20:00:43 2021 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)20:00
opendevmeetMinutes:        https://meetings.opendev.org/meetings/infra/2021/infra.2021-08-24-19.01.html20:00
opendevmeetMinutes (text): https://meetings.opendev.org/meetings/infra/2021/infra.2021-08-24-19.01.txt20:00
opendevmeetLog:            https://meetings.opendev.org/meetings/infra/2021/infra.2021-08-24-19.01.log.html20:00
clarkbFeel free to continue discussion in #opendev or on the mailing list20:00

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