Friday, 2021-02-19

clarkbcorvus: looks like zuul is on its way to +1'ing the nodepool change00:01
corvusclarkb: now's probably a good time for https://review.opendev.org/776290 then00:03
clarkbapproved00:06
*** jamesmcarthur has joined #zuul00:07
openstackgerritJames E. Blair proposed zuul/zuul-jobs master: Update upload-logs-swift and upload-logs-gcs  https://review.opendev.org/c/zuul/zuul-jobs/+/77465000:09
openstackgerritJames E. Blair proposed zuul/zuul-jobs master: Update upload-logs roles to support endpoint override  https://review.opendev.org/c/zuul/zuul-jobs/+/77465000:10
corvusOpen10K8S: I made a 1 character change on PS 15, and updated the commit message in PS16.  also, in the future, if you can avoid rebasing your change when making new patchsets, i'd appreciate it.  it makes it hard to tell what you changed from one version to the next.  To review that, I had to download PS13 and rebase it on the parent of PS12 to figure out what you did.00:11
corvusOpen10K8S: anyway, with those changes it lgtm.  +200:12
corvusmnaser, tobiash: ^00:12
*** sduthil has quit IRC00:15
openstackgerritMerged zuul/zuul-jobs master: ensure-openshift: remove unused role var  https://review.opendev.org/c/zuul/zuul-jobs/+/77588800:22
openstackgerritMerged zuul/zuul-jobs master: ensure-zookeeper: add use_tls role var  https://review.opendev.org/c/zuul/zuul-jobs/+/77629000:22
*** jamesmcarthur has quit IRC00:35
*** jamesmcarthur has joined #zuul00:40
openstackgerritJames E. Blair proposed zuul/zuul-storage-proxy master: Add zuul user to container  https://review.opendev.org/c/zuul/zuul-storage-proxy/+/77656600:42
*** sduthil has joined #zuul01:09
*** jamesmcarthur has quit IRC02:22
*** jamesmcarthur has joined #zuul02:27
*** jamesmcarthur has quit IRC02:33
*** jamesmcarthur has joined #zuul02:34
*** jamesmcarthur has quit IRC02:35
openstackgerritJames E. Blair proposed zuul/nodepool master: Require TLS  https://review.opendev.org/c/zuul/nodepool/+/77628602:46
*** jamesmcarthur has joined #zuul02:54
*** jamesmcarthur has quit IRC03:07
*** jamesmcarthur has joined #zuul03:08
*** rlandy has quit IRC03:38
*** maxamillion has quit IRC04:01
*** maxamillion has joined #zuul04:03
*** ikhan has quit IRC04:21
*** ykarel has joined #zuul04:53
*** jamesmcarthur has quit IRC04:59
*** jamesmcarthur has joined #zuul05:01
*** evrardjp has quit IRC05:33
*** evrardjp has joined #zuul05:33
*** jfoufas1 has joined #zuul06:02
*** iurygregory_ has joined #zuul06:26
*** iurygregory has quit IRC06:27
*** zbr has quit IRC06:44
*** zbr has joined #zuul06:51
*** jamesmcarthur has quit IRC07:18
*** jamesmcarthur has joined #zuul07:19
*** jamesmcarthur has quit IRC07:25
*** piotrowskim has joined #zuul07:33
*** jamesmcarthur has joined #zuul07:49
*** jcapitao has joined #zuul08:01
*** rpittau|afk is now known as rpittau08:06
*** harrymichal has joined #zuul08:09
*** hashar has joined #zuul08:11
*** jpena|off is now known as jpena08:24
*** mordred has quit IRC08:25
*** Eighth_Doctor has quit IRC08:25
*** jamesmcarthur has quit IRC08:30
*** tosky has joined #zuul08:40
*** jamesmcarthur has joined #zuul08:44
*** zbr8 has joined #zuul08:48
*** mgoddard has quit IRC08:48
*** zbr has quit IRC08:49
*** zbr8 is now known as zbr08:49
*** jamesmcarthur has quit IRC08:52
*** hashar has quit IRC09:01
*** nils has joined #zuul09:02
*** hashar has joined #zuul09:03
*** jfoufas1 has quit IRC09:04
*** hashar has quit IRC09:06
*** jamesmcarthur has joined #zuul09:07
*** zbr has quit IRC09:10
*** zbr has joined #zuul09:11
*** jamesmcarthur has quit IRC09:12
*** Eighth_Doctor has joined #zuul09:22
*** jamesmcarthur has joined #zuul09:25
*** jamesmcarthur has quit IRC09:30
*** masterpe has joined #zuul09:40
*** mordred has joined #zuul09:40
*** jamesmcarthur has joined #zuul09:44
*** zbr has quit IRC09:46
*** jamesmcarthur has quit IRC09:50
*** ssbarnea_ has joined #zuul09:52
*** zbr has joined #zuul09:53
*** ssbarnea_ has quit IRC09:54
*** jamesmcarthur has joined #zuul10:02
*** jamesmcarthur has quit IRC10:07
*** jamesmcarthur has joined #zuul10:21
*** msuszko has joined #zuul10:25
*** jamesmcarthur has quit IRC10:27
*** hashar has joined #zuul10:30
*** harrymichal has quit IRC10:35
*** harrymichal has joined #zuul10:35
*** jamesmcarthur has joined #zuul10:40
*** jamesmcarthur has quit IRC10:46
*** jamesmcarthur has joined #zuul10:59
*** jcapitao has quit IRC10:59
*** bhavikdbavishi has joined #zuul11:01
*** jamesmcarthur has quit IRC11:04
*** jamesmcarthur has joined #zuul11:17
*** jamesmcarthur has quit IRC11:23
zbrsomething is happening: https://gerrit-review.googlesource.com/c/gerrit/+/296851 :D11:26
*** bhavikdbavishi has quit IRC11:34
avasszbr: what's that?11:36
zbri think they will finally improve the wrapping of comments in the UI, switching from 80 to 120ch.11:37
*** jamesmcarthur has joined #zuul11:38
zbrwe also have a change to disable wrapping for ourselves, but is good to see the default gerrit improved.11:38
*** harrymichal has quit IRC11:38
*** harrymichal has joined #zuul11:38
*** jamesmcarthur has quit IRC11:44
*** zbr0 has joined #zuul11:49
avasstristanC: I think nix could work really nice in zuul with cross repo dependencies. they could use a fetchGit with branch/revision as input and push the result to a nix cache so not everything has to be rebuilt for every change.11:50
avassespeccially where there aren't already well established package managers11:50
*** zbr has quit IRC11:52
*** zbr0 is now known as zbr11:52
*** jamesmcarthur has joined #zuul11:58
*** jamesmcarthur has quit IRC12:03
*** maxamillion has quit IRC12:08
*** rpittau has quit IRC12:08
*** johnsom has quit IRC12:08
*** ericsysmin has quit IRC12:08
*** piotrowskim has quit IRC12:08
*** jamesmcarthur has joined #zuul12:16
*** maxamillion has joined #zuul12:20
*** ikhan has joined #zuul12:20
*** ericsysmin has joined #zuul12:20
*** rpittau has joined #zuul12:21
*** johnsom has joined #zuul12:23
*** jamesmcarthur has quit IRC12:24
*** piotrowskim has joined #zuul12:25
*** rlandy has joined #zuul12:28
*** mgoddard has joined #zuul12:30
*** jpena is now known as jpena|lunch12:31
*** sshnaidm is now known as sshnaidm|off12:36
*** harrymichal has quit IRC12:36
*** harrymichal has joined #zuul12:37
*** jamesmcarthur has joined #zuul12:37
*** harrymichal has quit IRC12:38
*** jamesmcarthur has quit IRC12:44
*** iurygregory_ is now known as iurygregory12:49
*** jamesmcarthur has joined #zuul12:58
*** jamesmcarthur has quit IRC13:04
tristanCavass: that would nicely solve the caching challenge, it should be safe to share the derivations built in job, so that subsequent job could re-use any intermediate results13:15
avasstristanC: exactly13:17
*** jamesmcarthur has joined #zuul13:17
*** ssbarnea_ has joined #zuul13:20
avassit would be perfect if the default revision could be bumped on every change as well13:20
*** zbr7 has joined #zuul13:21
avassI guess it could just be left out for local development since anything merged should be stable13:22
*** zbr has quit IRC13:22
*** zbr7 is now known as zbr13:22
*** jamesmcarthur has quit IRC13:24
tristanCavass: here is an example ci powered by hydra: https://hydra.dhall-lang.org/build/81817#tabs-summary13:24
avasstristanC: oooh interesting13:25
tristanCi'm not familiar with this setup, but perhaps we can use zuul to trigger hydra build?13:25
avasswhat's hydra?13:26
avassoh nix ci13:27
avasswhat would be the benefit of triggering a hydra job vs running nix natively in zuul somehow?13:28
*** zbr1 has joined #zuul13:31
tristanCbecause it will act as a cache and it can serve individual build log13:32
*** zbr has quit IRC13:33
*** zbr1 is now known as zbr13:33
*** jpena|lunch is now known as jpena13:34
*** ssbarnea_ has quit IRC13:34
*** jamesmcarthur has joined #zuul13:35
openstackgerritFelix Edel proposed zuul/zuul master: Simplify ZooKeeper client initialization  https://review.opendev.org/c/zuul/zuul/+/75436013:37
openstackgerritFelix Edel proposed zuul/zuul master: Improve typings in context of builds via ZooKeeper  https://review.opendev.org/c/zuul/zuul/+/75357813:37
openstackgerritFelix Edel proposed zuul/zuul master: Make ZooKeeper mandatory for Scheduler  https://review.opendev.org/c/zuul/zuul/+/75671613:38
openstackgerritFelix Edel proposed zuul/zuul master: Make ConnectionRegistry mandatory for Scheduler  https://review.opendev.org/c/zuul/zuul/+/75709513:38
openstackgerritFelix Edel proposed zuul/zuul master: Improve typings in context of 756716 and 757095  https://review.opendev.org/c/zuul/zuul/+/75714813:38
openstackgerritFelix Edel proposed zuul/zuul master: Instantiate executor client, merger, nodepool and app within Scheduler  https://review.opendev.org/c/zuul/zuul/+/75714913:38
openstackgerritFelix Edel proposed zuul/zuul master: Improve typings in context of lock nodes on executor  https://review.opendev.org/c/zuul/zuul/+/75709713:38
openstackgerritFelix Edel proposed zuul/zuul master: DNM: Reduce number of jobs for SOS development  https://review.opendev.org/c/zuul/zuul/+/77508113:38
openstackgerritFelix Edel proposed zuul/zuul master: Component Registry in ZooKeeper  https://review.opendev.org/c/zuul/zuul/+/75918713:38
tristanCavass: for example, the zuul jobs would prepare and submit the hydra job, and once completed, it can pull the now cached derivation and run test on the nodepool node.13:38
openstackgerritFelix Edel proposed zuul/zuul master: Move management and result events to model  https://review.opendev.org/c/zuul/zuul/+/76116313:39
openstackgerritFelix Edel proposed zuul/zuul master: Allow (de-)serialization of management events  https://review.opendev.org/c/zuul/zuul/+/76116413:39
openstackgerritFelix Edel proposed zuul/zuul master: Allow (de-)serialization of result events  https://review.opendev.org/c/zuul/zuul/+/76116513:39
openstackgerritFelix Edel proposed zuul/zuul master: Add and fix fields in driver trigger event models  https://review.opendev.org/c/zuul/zuul/+/76116613:39
avasstristanC: what I don't like about that is that it requires a static build service. Imo it would be better if the cache was separate from the build system13:41
avassso you could still build on a dynamic node with a static cache13:42
*** jamesmcarthur has quit IRC13:42
tristanCavass: i think there is service for that, but it's not free: https://cachix.org/13:43
tristanCavass: or it should be possible to setup your own cache, check the `Populating a binary cache` section of https://nixos.wiki/wiki/Binary_Cache13:45
avasstristanC: I thought this was it: https://nixos.wiki/wiki/Binary_Cache13:45
avasstristanC: yeah that's what I was thinking about13:45
tristanCavass: i guess the benefit of hydra is that similar job may build faster as the cache is local13:46
avassI think at least if I can get something set up at volvo it would probably require a cache.13:46
avassyeah13:47
avassyou could also have image builds with nix caches heh :)13:47
tristanCi think we need an `ensure-nix` job to setup the toolchain and configure custom substitute13:47
tristanCrole*13:47
felixedelcorvus: I've move the initialization of the ZK connection to the server classes https://review.opendev.org/c/zuul/zuul/+/776640 and rebased our stack to the latest master. I did the change not directly on top of the connection refactoring but after https://review.opendev.org/c/zuul/zuul/+/756716/24.13:49
felixedel*moved13:49
avassoh and now that I'm thinking about it, bumping revisions would be better than following master since then it would be possible to build from every commit13:49
avassI guess it depends on what the requirements are13:50
*** zbr9 has joined #zuul13:53
*** jfoufas1 has joined #zuul13:54
*** jamesmcarthur has joined #zuul13:55
*** zbr has quit IRC13:56
*** zbr9 is now known as zbr13:56
*** jamesmcarthur has quit IRC14:02
*** ykarel_ has joined #zuul14:15
*** jamesmcarthur has joined #zuul14:15
*** ykarel has quit IRC14:17
mordredavass: I agree - having a separate hydra farm/service is gross when you have nodepool already. I'd think that some setup similar to how docker registries work in zuul would be really neat. that way you could also make use of speculative cache elements in dependency chains. obviously would take some engineering - but the end result would likely be really neat for zuul+nix14:18
mordred(we've speculated a bit about a similar need for a setup to interact with bazel cache for the folks using bazel)14:19
*** jamesmcarthur has quit IRC14:22
*** zbr7 has joined #zuul14:22
*** zbr has quit IRC14:25
*** zbr7 is now known as zbr14:25
*** hashar has quit IRC14:29
*** jamesmcarthur has joined #zuul14:34
*** jamesmcarthur has quit IRC14:40
*** zbr3 has joined #zuul14:47
*** zbr has quit IRC14:49
*** zbr3 is now known as zbr14:49
*** ykarel_ is now known as ykarel14:53
openstackgerritAlbin Vass proposed zuul/zuul-jobs master: multi-node debian: Update package lists before installing  https://review.opendev.org/c/zuul/zuul-jobs/+/77586614:53
*** jamesmcarthur has joined #zuul14:55
openstackgerritJames E. Blair proposed zuul/nodepool master: Require TLS  https://review.opendev.org/c/zuul/nodepool/+/77628614:58
mordredavass: ooh - so two things - a) the nix cache and the bazel cache seem to be at least _structurally_ quite similar - running your own both cases is "run an nginx"15:06
tristanCmordred: the folks at tweag wrote some rules to integrate nix in bazel: https://www.tweag.io/blog/2018-03-15-bazel-nix/15:07
*** rpittau is now known as rpittau|afk15:07
mordredthis: https://nixos.wiki/wiki/Binary_Cache#Populating_a_binary_cache - potentially provides a nice pattern - which is to have check jobs use a binary cache but not push new content in to it - and to have gate jobs actually push new cache entries when they are successful15:09
corvusmordred: ++ i think that integrates well with the check/gate concepts15:10
mordredI think it would be a really neat system15:10
mordredand a nice improvement to the zuul ecosystem15:10
*** hashar has joined #zuul15:10
avassyep something like that was what I was thinking :)15:11
avassit would work the same as the s3 cache but more specific to nix15:11
mordredyah15:11
corvusthe gerrit folks would like to use more zuul for gerrit; maybe we can try out the idea with bazel there15:12
mordred++15:12
corvusavass: by s3 cache you mean the work you've been doing in zuul jobs?15:12
corvushttps://review.opendev.org/764808 ?15:12
avasscorvus: yep15:12
mordredand if you wanted to get fancy, you could have a buildset nix-cache/bazel-cache to allow sharing of built nix packages between multiple jobs in a buildset even in check15:12
mordredbecause spinning up a node with an nginx is ... easy15:13
tristanCmordred: it should be safe to share derivation built in check, the hash should be unique15:13
corvustristanC: i think the worry in check is intentional poisoning15:13
mordredwell - and also just cache size saturation15:14
mordredif you cache all of the derivations in check, you're potentially caching many thigns that are not useful over a given period15:14
corvus[if a check job has enough access to the buildset cache that it could write poisoned data to a hash that would be known to be used later, then it's a vector for producing compromised binaries]15:15
fungii assume the way you'd address cache poisoning risks would be the same as for the zuul cache we'd been discussing previously15:15
corvusfungi: i think isolation is mostly what we discussed15:16
fungiyeah, not entrusting the cache write key to untrusted playbooks, only writing to the cache in post-review pipelines, et cetera15:17
fungiand making it per-project15:17
fungiwere some of the options15:17
corvus++15:17
fungibut more generally, i think if we add or promote some cache solution, we need to make sure security concerns are first and foremost in mind15:18
mordred"As nix-serve is capable of serving only on IPv4, redirecting is also useful to make the binary cache available on IPv6." ... *sigh*15:18
mordredI swear - people writing "modern" softare that only speaks ipv4 is one of the lamest things out there15:19
corvusipv6 is 25 years old15:19
fungiipv6 is only for people who haven't yet embraced the ipv4-only world of containers15:19
mordredyeah15:19
mordredfungi: even containers have caught up with the 25-year-old future finally15:19
fungiwoah! dockerhub added aaaa records?15:19
mordredoh - that I don't know15:20
corvusi feel like the container world is moving on from dockerhub15:20
mordredI just mean containers themselves finally learned how to get an ipv6 address15:20
mordredcorvus: ++15:20
fungiyeah15:20
fungiamusingly, quay.io also only publishes ipv4 addresses15:20
mordredwell - both of them run in AWS15:21
fungioh, has aws not figured out ipv6 yet?15:21
mordredwhich is not exactly a bastino of ipv6 glory15:21
mordredI think you can do ipv6 there - but you have to want it15:21
fungihaving never tried aws, i did't realize it was a problem there15:21
mordredand it's not real ipv6 like you'd get from vexxhost - it's more like ipv6 from comcast from 6 years ago15:22
avassaws owns so many ipv4 cidrs that they're not really in a position to promote ipv6 either15:22
*** icey has quit IRC15:32
*** icey has joined #zuul15:33
corvushrm, looks like gerrit's zuul is hitting a bunch of post_failures; i'm watching a console log now to try to catch it15:40
*** zbr9 has joined #zuul15:41
corvusi pushed up a change to see if the gerrit master job has bitrotted -- https://gerrit-review.googlesource.com/c/zuul/jobs/+/297362/  we could try iterating on a bazel cache with that change15:42
*** zbr has quit IRC15:43
*** zbr9 is now known as zbr15:43
corvusit looks like the checks 'reboot' work is happening in the checks plugin; i see ongoing work there15:44
*** zbr6 has joined #zuul16:01
*** jamesmcarthur has quit IRC16:02
*** zbr6 has quit IRC16:02
*** zbr9 has joined #zuul16:03
*** zbr has quit IRC16:04
*** zbr9 is now known as zbr16:04
*** mordred has quit IRC16:12
openstackgerritMerged zuul/zuul-jobs master: Update upload-logs roles to support endpoint override  https://review.opendev.org/c/zuul/zuul-jobs/+/77465016:12
*** mordred has joined #zuul16:13
*** jfoufas1 has quit IRC16:15
*** harrymichal has joined #zuul16:24
*** hashar has quit IRC16:41
*** ikhan has quit IRC16:41
*** ikhan has joined #zuul16:43
openstackgerritJames E. Blair proposed zuul/zuul-jobs master: Update GCS log upload to new google auth api  https://review.opendev.org/c/zuul/zuul-jobs/+/77667116:44
fungii guess that was the post_failure cause?16:44
corvusyeah16:45
corvushttp://paste.openstack.org/show/802837/16:46
funginon-backward-compatible changes in the api?16:46
corvuswe override the method :(16:46
corvusi'd love to figure out a better way to do that, but i'm not seeing it right now16:46
clarkbthey added the new param with a default so if you were calling it directly you'd be fine, but I assume something in the lib is calling it expecting to set a scope and that breaks the override16:46
clarkbya the traceback seems to say ^16:47
fungiyep, okay makes sense16:47
corvusoh, i think i may see another way of doing this16:49
corvusi'm going to +w that change to stop the bleeding16:49
corvusbut then i'll see if i can do a better fix16:49
mnaserfiou16:49
* mnaser though we broke opendev with upload-logs change for endpoint overrides16:49
toskyyes, please16:49
*** harrymichal has quit IRC16:50
*** harrymichal has joined #zuul16:50
corvusnope, just google is broken; unrelated16:50
fungimnaser: are you seeing a separate log upload issue in opendev?16:53
mnaserfungi: oh no, i just saw you mention post_failure after that merged and yeah :p16:53
fungioh, sorry, the post_failure in gerrit's zuul we were discussing earlier16:53
fungiaround 15:40 utc16:54
fungiso nothing related to opendev16:54
*** jamesmcarthur has joined #zuul17:00
openstackgerritJames E. Blair proposed zuul/zuul-jobs master: GCS logs: more robust Credential class  https://review.opendev.org/c/zuul/zuul-jobs/+/77667517:02
corvusfungi, clarkb: ^ i think that's slightly better pythoning.17:02
toskyis it expected for https://review.opendev.org/c/zuul/zuul-jobs/+/776671 to be failing in the gate queue with post_failure?17:03
clarkbthere are a bunch of post failures17:06
clarkbits possible that mnaser's fear is valid but for different reasons17:06
clarkbhttps://review.opendev.org/c/zuul/zuul-jobs/+/774650 was the change in question /me looks at it17:06
corvusi have an error17:06
*** jamesmcarthur has quit IRC17:06
corvushttp://paste.openstack.org/show/802839/17:06
corvusthe test i did was on a system that was not using the "quick-download" role17:06
corvuswe should revert 77465017:07
openstackgerritJames E. Blair proposed zuul/zuul-jobs master: Revert "Update upload-logs roles to support endpoint override"  https://review.opendev.org/c/zuul/zuul-jobs/+/77667617:08
fungidocs promotion, maybe we have an afs issue17:08
fungilooking17:08
clarkbfungi: if you look at zuul status its all the things17:08
clarkbI bet it is 77465017:08
fungi'dict object' has no attribute 'url'17:11
clarkbfungi: does it give  a location for that url attribute?17:11
clarkb774650 switched from using foo.url to foo.endpoint and foo.path17:11
fungitrying to find an actual traceback17:11
clarkbI'm guessing a foo.url was left behind somewhere17:11
openstackgerritMerged zuul/zuul-jobs master: Revert "Update upload-logs roles to support endpoint override"  https://review.opendev.org/c/zuul/zuul-jobs/+/77667617:12
*** jonass_ has joined #zuul17:13
corvusthere's no traceback, it's an ansible jinja error17:13
fungiThe error appears to be in '/var/lib/zuul/builds/ca6d75bd1f90426aa3b28803cacd7cb5/trusted/project_0/opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml': line 30, column 717:13
fungiso maybe our base jobs are incompatible with that change?17:13
clarkbI see17:13
clarkbya17:13
clarkbhttps://opendev.org/opendev/base-jobs/src/branch/master/playbooks/base/post-logs.yaml#L38 is the problem17:13
*** ykarel has quit IRC17:14
fungihttps://opendev.org/opendev/base-jobs/src/branch/master/playbooks/base/post-logs.yaml#L3817:15
fungibeat me to the punch17:15
clarkbmnaser: corvus ^ do we need to rewrite that using the large ansibel jinja filter at https://review.opendev.org/c/zuul/zuul-jobs/+/774650/16/roles/upload-logs-swift/tasks/main.yaml ?17:15
fungiwe'll also have to bypas gating to fix it17:15
openstackgerritJames E. Blair proposed zuul/zuul-jobs master: Revert "Revert "Update upload-logs roles to support endpoint override""  https://review.opendev.org/c/zuul/zuul-jobs/+/77667717:16
*** aluria_ has joined #zuul17:16
corvusfungi: the revert change to fix it merged at 17:1217:17
fungicorvus: yep17:17
fungii didn't see any of that in here until 17:1617:18
fungii have a feeling there's some massive lag between irc servers17:18
corvusi think there's big irc lag17:18
clarkboh ok so multiple issues17:18
clarkband ya I didn't see it either17:18
corvusclarkb, fungi, mnaser, Open10K8S: see my comment on https://review.opendev.org/77667717:18
*** aluria has quit IRC17:18
*** jonass has quit IRC17:18
*** mmedvede has quit IRC17:18
clarkblooking17:18
-openstackstatus- NOTICE: All jobs are failing with POST_FAILURE due to a backward incompatible change made in the swift log upload libarary role. Working on a fix now.17:19
*** mmedvede has joined #zuul17:19
clarkbcorvus: ++ to keeping the api17:19
fungiyes, not changing the api avoids breaking weird people like opendev who might have been relying on the old api ;)17:19
corvusplus, it's a good api :)17:20
corvuslike, "emit the url the logs are at" is pretty boss.17:20
*** aluria has joined #zuul17:21
*** jonass has joined #zuul17:21
*** 07IAANVQ9 has joined #zuul17:21
clarkbit would simplify the ansible in the change too if it can avoid that large amount of jinja217:21
clarkband keep referring to the url17:21
corvusit might be a bit tricky to override a deep var in a dict like that, but should be worth doing.17:22
clarkbcorvus: can't the python just define it when it defines the endpoint and the path?17:22
*** aluria has quit IRC17:22
*** jonass has quit IRC17:22
*** 07IAANVQ9 has quit IRC17:22
clarkbset it at line 146 in https://review.opendev.org/c/zuul/zuul-jobs/+/774650/16/roles/upload-logs-base/library/zuul_swift_upload.py17:22
avassfungi: you guys don't upgrade to the latest version as soon as it's out? pff ;)17:23
corvusclarkb: yes.  i suggested we *don't* do that though on ps4 of the original change.17:23
clarkbavass: we did thats why it broke :P17:23
corvusclarkb: i don't think the python code should care about endpoint overrides17:23
clarkbcorvus: oh17:23
corvusit's job should be to upload logs and tell ansible where it put them17:24
corvusthen if people want to go mucking with the url it gave them, fine, do that in ansible17:24
corvusi think the thing we missed really is that apparently this role has a return value api17:25
*** mordred has quit IRC17:26
*** Eighth_Doctor has quit IRC17:26
clarkbya I think being able to set artifacts like that is generally useful and not entirely crazy.17:27
clarkbBasically jobs can provide hints to devs/users17:27
corvusclarkb: back to the question of whether to do it in python or ansible -- part of my motivation for asking for ansible is that there's a lot of plumbing needed to do it in python -- you have to add an extra input param to all the python modules, and it's a param they ultimately don't use except for a string replacement)17:27
*** jpena is now known as jpena|off17:27
clarkbcorvus: isn't the info already known via the if cdn_url: do on thing else: do another ?17:28
clarkbbut even then can't you just say url = join(endpoint, path) ?17:29
corvusclarkb: no, this is for the user to supply a replacement endpoint that isn't actually used except it's shown in the final url17:29
clarkboh I see that is why the ansible uses some_var | default(other_var, true)17:29
clarkbits the some_var that isn't know to the python17:29
clarkbcdn there is the whole rax cdn thing17:29
corvusclarkb: yeah.  essentially, it's to allow the site admin to tell the upload log role to lie about where the logs are stored so users download them through a proxy instead of the actual endpoint17:30
clarkb(I had conflated the cdn_url with the proxy_url and they are distinct)17:30
avasscorvus: if you're using that as an output I think it should be set as a fact and documented. I'd argue that it isn't a 'true' output currently since it wouldn't persist across playbooks17:31
avass+cacheable in set_fact17:31
corvusavass: i agree; it is not documented as an output parameter in the readme17:32
clarkbBut the utility is useful17:32
clarkbit allows jobs to provide helpful hints to people for finding useful log paths17:32
corvusas a referree, i would have to give opendev the yellow card here for using an undocumented output :)17:32
corvusan alternative would be for opendev to read the log url from the zuul json return file17:33
fungithe "download logs script" we have was admittedly a bit of a bolt-on17:34
fungimaybe an actual proxy which knows how to bundle logs on demand would be an improvement17:34
clarkbcorvus: the zuul json return file is written when the playbook ends though?17:34
fungi(like, not proxy our logs normally, but have a special proxy for people who want to download a log bundle, since swift doesn't do that automagically)17:35
clarkbfungi: well in general I think the use case of "job points users directly at log urls that are useful" is something to figure out. And maybe a proxy can help with that too, but the job saying "where are my logs so I can do things with them" seems useful too17:35
clarkbI think tripleo may actually do this somewhere too17:35
clarkbbut maybe it was just all relative links in an index file (which would also work)17:36
corvusclarkb: it's written when zuul_return is called17:36
fungii still miss the old ftpd implementation where you could ask for a directory but tack on .tar.gz and get a compressed recursive archive of the tree from that point17:36
corvusfungi: we did a lot of work so that opendev doesn't have to run a log proxy that does magic things.17:37
corvusfungi: you may be itching for the good old days of logs.openstack.org+osla; i do not miss them.17:37
fungicorvus: yep, like i said, not proxy normal log urls, just add a url to artifacts which points at a bundling proxy for people who want bundles17:37
corvusi think the download script is great and it should be trivial to support17:38
fungirather than continue endorsing people to wget|bash17:38
clarkbcorvus: that would look like run the upload role (whcih calls zuul_return?), load the vars off disk with a json file loader taks, run a subsequent zuul_return which uses the var loaded from disk?17:39
clarkbhaving the role define it as an output and set as a fact seems more natural but ^ is probably workable too17:39
fungibut yes, ultimately adding a proxy service off to the side just to support the rare downloads of tree archives seems like a lot of maintenance for minimal benefit17:39
*** mordred has joined #zuul17:40
*** zbr1 has joined #zuul17:40
corvusclarkb: yes.  it's an option.  i agree a documented return value would be good.17:40
corvusif we're going to support it as an api, we should probably rename it to something other than "upload_results"17:41
corvusthat actually would make the overwrite easier17:41
corvuskeep upload_results as the temporary registered fact, then do the rewrite to "upload_logs_results_17:42
corvusgrr17:42
*** zbr has quit IRC17:42
*** zbr1 is now known as zbr17:42
corvuskeep upload_results as the temporary registered fact, then do the rewrite to "zuul_upload_logs_results.url" and return that as a cacheable fact17:42
corvusadd the new api now, switch opendev to use it, assounce the change to zuul-announce, then do the log proxy change17:43
fungisgtm17:43
corvus(or if we want to do it immediately, do a little extra work to support .url as an attribute of "upload_results" temporarily, then remove it in a couple weeks)17:44
clarkbya that sounds like a good way to consume the data in playbooks17:44
*** Eighth_Doctor has joined #zuul17:44
corvusclarkb, fungi, avass, mnaser, Open10K8S: next steps outlined in https://review.opendev.org/77667717:47
openstackgerritJames E. Blair proposed zuul/zuul-jobs master: GCS logs: more robust Credential class  https://review.opendev.org/c/zuul/zuul-jobs/+/77667517:50
mnasercorvus: thanks for that plan — well try and work on it, it’s always scary to work on these roles :(17:51
avasscorvus: ++ lgtm17:51
fungimnaser: beware the overheating spacebar!17:51
fungihttps://xkcd.com/1172/17:52
openstackgerritJames E. Blair proposed zuul/zuul-jobs master: GCS logs: more robust Credential class  https://review.opendev.org/c/zuul/zuul-jobs/+/77667517:53
corvusclarkb, fungi: ^ can you review that real quick pls?  we still need a solution for gerrit's zuul17:53
fungiyeop17:53
corvussince the first fix didn't merge, i figure let's just jump straight to the second one17:54
clarkbyup I guess we should do that instead of https://review.opendev.org/c/zuul/zuul-jobs/+/776671 ?17:54
clarkbcorvus: your change creates an intereting python typing question in my head. When you call super(Credentials,.....).etc() are you getting back a Credentials or gce_cred.Credentials object? becuse _set_path is only valid on Credentials and not gce_cred.Credentials17:58
clarkbit depends on what self.__class__'s value is inside that call I think17:58
clarkbI think your code is right just puzzling through it in my head fwiw17:59
-openstackstatus- NOTICE: The change to the upload role has been reverted. Jobs started since the revert appear to be functioning normally. You can recheck changes that failed for builds started between 16:12 and 17:13UTC reporting POST_FAILURE safely now.17:59
corvusclarkb: it's the subclass17:59
clarkbbecause the self object doesn't change we're just calling the parent method on it17:59
clarkbif the gce code didn't use self.__class__ then it could be a problem18:00
corvusclarkb: yeah if it did google.auth.Credential()18:00
clarkbok approved18:00
fungiinteresting, yeah i didn't even think about needing self.__class__ indirection in the original class18:01
*** jamesmcarthur has joined #zuul18:03
*** zbr7 has joined #zuul18:05
*** zbr has quit IRC18:07
*** zbr7 is now known as zbr18:07
*** wuchunyang has joined #zuul18:10
*** hashar has joined #zuul18:11
openstackgerritMerged zuul/zuul-jobs master: GCS logs: more robust Credential class  https://review.opendev.org/c/zuul/zuul-jobs/+/77667518:12
*** wuchunyang has quit IRC18:15
*** jamesmcarthur has quit IRC18:16
corvusokay this is really weird.  the 2 nodepool-functional-container-openstack-* jobs timed out because the nodepool procesesses periodically lose their zk connection18:20
corvusi'm not sure why that's happening18:20
corvusi held a node for one of them, and it's still happenning, even though the node is under light load18:20
clarkbcorvus: do the containers use host networking? (just to rule out any weirdness with container networking)18:20
corvuslets see18:21
clarkbI think the zk processes are on the host network and not container networks18:21
corvusclarkb: yes host networking18:21
corvusand to be clear, they do connect to zk, they just lose their connections fairly frequently18:21
corvushttps://storage.gra.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_82d/776286/14/check/nodepool-functional-container-openstack-release/82d81e0/docker/nodepool_nodepool-builder_1.txt18:22
fungicould the zk process be crashing and restarting? or split-brain/fighting over who's primary?18:22
corvusonly one server there, and it's up continually18:23
fungibizarre18:23
clarkbcorvus: does this happen in the openstackfunctional job without containers18:23
clarkb(just trying to think about ways to isolate the behavior)18:23
corvusclarkb: nope, that passed this round18:24
corvusthe zoo.cfg file is different than it was before since we're using ensure-zookeeper instead of test-setup.sh (which would have installed zk from ubuntu)18:25
clarkbcould it be a python version issue? the other jobs just run on base distro python iirc.18:26
clarkbcorvus: oh maybe a tick rate connection reset from the server side if the config is using lower values?18:27
corvusclarkb: something like "the python in the container images interacts poorly with kazoo and tls" ?18:27
clarkbya, though that is just an idea based on difference between those two jobs18:27
clarkbcorvus: looks like the container is running python3.718:27
clarkbbut the other jobs would all be 3.6 or 3.8?18:27
corvusclarkb: we are running these containers in prod with tls though....18:28
clarkbgood point and it should be the same container with python3.718:29
clarkb(I guess we updated zuul to 3.8 but not nodepool)18:29
corvusi'm trying to dig up a stock ubuntu bionic zoo.cfg18:29
corvushttp://paste.openstack.org/show/802846/18:30
corvusoh18:30
corvusi was about to say: the only difference between that stock config and what this job was running before was that we mounted the datadir on a tmpfs.18:31
corvusthen i realized the implications of that.  :)18:31
corvusso, yes, there are some other differences, but that's probably the one to address first18:31
clarkbcorvus: meaning when it worked it was on a tmpfs?18:31
corvusmind you, that's not a difference between this job and the non-container jobs, but maybe we're right on the edge of what these nodes can support18:32
corvusyeah18:32
fungiyeah, i suppose tmpfs writes will be a lot faster or less i/o intensive as long as there's free memory18:33
fungireads will likely be about the same due to the fs cache18:33
fungiunless we end up under mild memory pressure and the cache is getting evacuated18:34
*** rlandy is now known as rlandy|biab18:37
openstackgerritJames E. Blair proposed zuul/zuul-jobs master: ensure-zookeeper: use a tmpfs  https://review.opendev.org/c/zuul/zuul-jobs/+/77669618:40
*** nils has quit IRC18:42
openstackgerritJames E. Blair proposed zuul/nodepool master: Require TLS  https://review.opendev.org/c/zuul/nodepool/+/77628618:42
corvusokay lets give that a shot18:42
*** zbr2 has joined #zuul18:43
corvusmeanwhile, i'm rechecking a change in gerrit to see if the log situation is resolved18:44
*** zbr has quit IRC18:46
*** zbr2 is now known as zbr18:46
openstackgerritJames E. Blair proposed zuul/zuul-jobs master: ensure-zookeeper: use a tmpfs  https://review.opendev.org/c/zuul/zuul-jobs/+/77669618:52
clarkbcorvus: should we make the use of tmpfs optional?18:56
*** ikhan has quit IRC19:04
*** ikhan has joined #zuul19:06
*** jamesmcarthur has joined #zuul19:15
*** gmann is now known as gmann_afk19:19
*** jamesmcarthur has quit IRC19:20
corvusclarkb: i can't think of a reason to do so in the zuul context19:25
corvusno objection to that, it just didn't seem worth all the typing right now :)19:25
*** Eighth_Doctor has quit IRC19:36
*** aluria_ has quit IRC19:36
*** mordred has quit IRC19:36
*** ttx has quit IRC19:36
*** asettle has quit IRC19:36
*** johanssone has quit IRC19:36
*** tobberydberg has quit IRC19:36
*** jhesketh has quit IRC19:36
*** yoctozepto has quit IRC19:36
*** reiterative has quit IRC19:36
*** dmsimard has quit IRC19:36
*** cloudnull has quit IRC19:36
*** saneax has quit IRC19:36
*** arxcruz has quit IRC19:36
*** holser has quit IRC19:36
*** avass has quit IRC19:36
*** EmilienM has quit IRC19:36
*** irclogbot_0 has quit IRC19:36
*** sduthil has quit IRC19:36
*** gouthamr has quit IRC19:36
*** sshnaidm|off has quit IRC19:36
*** openstackgerrit has quit IRC19:36
*** gmann_afk has quit IRC19:36
*** samccann has quit IRC19:36
*** Open10K8S has quit IRC19:36
*** mgoddard has quit IRC19:36
*** rlandy|biab has quit IRC19:36
*** parallax has quit IRC19:36
*** stevthedev has quit IRC19:36
*** aprice has quit IRC19:36
*** corvus has quit IRC19:36
*** fdegir has quit IRC19:36
*** mnasiadka has quit IRC19:36
*** Tahvok has quit IRC19:36
*** mvadkert has quit IRC19:36
*** guillaumec has quit IRC19:36
*** ikhan has quit IRC19:36
*** mmedvede has quit IRC19:36
*** jkt has quit IRC19:36
*** smyers has quit IRC19:36
*** mhu has quit IRC19:36
*** noonedeadpunk has quit IRC19:36
*** ianychoi_ has quit IRC19:36
*** freefood_ has quit IRC19:36
*** dpawlik has quit IRC19:36
*** fbo has quit IRC19:36
*** SotK has quit IRC19:36
*** ericsysmin has quit IRC19:36
*** maxamillion has quit IRC19:36
*** mnaser has quit IRC19:36
*** mugsie has quit IRC19:36
*** paladox has quit IRC19:36
*** PrinzElvis has quit IRC19:36
*** erbarr has quit IRC19:36
*** persia has quit IRC19:36
*** melwitt has quit IRC19:36
*** kgz has quit IRC19:36
*** johnsom has quit IRC19:36
*** ofosos has quit IRC19:36
*** iamweswilson has quit IRC19:36
*** leoluk has quit IRC19:36
*** harrymichal has quit IRC19:36
*** masterpe has quit IRC19:36
*** logan- has quit IRC19:36
*** ChanServ has quit IRC19:36
*** jonass_ has quit IRC19:36
*** icey has quit IRC19:36
*** msuszko has quit IRC19:36
*** hashar has quit IRC19:36
*** piotrowskim has quit IRC19:36
*** rpittau|afk has quit IRC19:36
*** iurygregory has quit IRC19:36
*** tflink has quit IRC19:36
*** clarkb has quit IRC19:36
*** jpena|off has quit IRC19:36
*** ironfoot has quit IRC19:36
*** swest has quit IRC19:36
*** fungi has quit IRC19:36
*** zbr has quit IRC19:36
*** ianw has quit IRC19:36
*** SpamapS has quit IRC19:36
*** Pilou has quit IRC19:36
*** lyr has quit IRC19:36
*** guilhermesp has quit IRC19:36
*** bodgix has quit IRC19:36
*** tristanC has quit IRC19:36
*** amotoki has quit IRC19:36
*** pabelanger has quit IRC19:36
*** odyssey4me has quit IRC19:36
*** bschanzel has quit IRC19:36
*** etp has quit IRC19:36
*** evrardjp has quit IRC19:36
*** pots has quit IRC19:36
*** dcastellani has quit IRC19:36
*** mwhahaha has quit IRC19:36
*** webknjaz has quit IRC19:36
*** ChrisShort has quit IRC19:36
*** donnyd has quit IRC19:36
*** frickler has quit IRC19:36
*** felixedel has quit IRC19:36
*** systemd has quit IRC19:36
*** tosky has quit IRC19:36
*** gundalow has quit IRC19:36
*** jbryce has quit IRC19:36
*** Shrews has quit IRC19:36
*** decimuscorvinus has quit IRC19:36
*** jamesmcarthur has joined #zuul19:40
*** ikhan has joined #zuul19:40
*** zbr has joined #zuul19:40
*** hashar has joined #zuul19:40
*** Eighth_Doctor has joined #zuul19:40
*** mordred has joined #zuul19:40
*** mmedvede has joined #zuul19:40
*** aluria_ has joined #zuul19:40
*** jonass_ has joined #zuul19:40
*** harrymichal has joined #zuul19:40
*** icey has joined #zuul19:40
*** rlandy|biab has joined #zuul19:40
*** piotrowskim has joined #zuul19:40
*** johnsom has joined #zuul19:40
*** rpittau|afk has joined #zuul19:40
*** ericsysmin has joined #zuul19:40
*** maxamillion has joined #zuul19:40
*** msuszko has joined #zuul19:40
*** masterpe has joined #zuul19:40
*** tosky has joined #zuul19:40
*** iurygregory has joined #zuul19:40
*** evrardjp has joined #zuul19:40
*** sduthil has joined #zuul19:40
*** mvadkert has joined #zuul19:40
*** reiterative has joined #zuul19:40
*** gouthamr has joined #zuul19:40
*** ianw has joined #zuul19:40
*** SpamapS has joined #zuul19:40
*** tflink has joined #zuul19:40
*** dmsimard has joined #zuul19:40
*** jkt has joined #zuul19:40
*** jhesketh has joined #zuul19:40
*** cloudnull has joined #zuul19:40
*** saneax has joined #zuul19:40
*** sshnaidm|off has joined #zuul19:40
*** mnaser has joined #zuul19:40
*** arxcruz has joined #zuul19:40
*** smyers has joined #zuul19:40
*** mugsie has joined #zuul19:40
*** mhu has joined #zuul19:40
*** noonedeadpunk has joined #zuul19:40
*** clarkb has joined #zuul19:40
*** openstackgerrit has joined #zuul19:40
*** holser has joined #zuul19:40
*** ianychoi_ has joined #zuul19:40
*** ofosos has joined #zuul19:40
*** avass has joined #zuul19:40
*** pots has joined #zuul19:40
*** ttx has joined #zuul19:40
*** asettle has joined #zuul19:40
*** logan- has joined #zuul19:40
*** gundalow has joined #zuul19:40
*** tobberydberg has joined #zuul19:40
*** johanssone has joined #zuul19:40
*** irclogbot_0 has joined #zuul19:40
*** EmilienM has joined #zuul19:40
*** Open10K8S has joined #zuul19:40
*** samccann has joined #zuul19:40
*** gmann_afk has joined #zuul19:40
*** paladox has joined #zuul19:40
*** Pilou has joined #zuul19:40
*** PrinzElvis has joined #zuul19:40
*** iamweswilson has joined #zuul19:40
*** lyr has joined #zuul19:40
*** bodgix has joined #zuul19:40
*** guilhermesp has joined #zuul19:40
*** parallax has joined #zuul19:40
*** dcastellani has joined #zuul19:40
*** mwhahaha has joined #zuul19:40
*** webknjaz has joined #zuul19:40
*** stevthedev has joined #zuul19:40
*** aprice has joined #zuul19:40
*** corvus has joined #zuul19:40
*** jpena|off has joined #zuul19:40
*** freefood_ has joined #zuul19:40
*** dpawlik has joined #zuul19:40
*** fdegir has joined #zuul19:40
*** ironfoot has joined #zuul19:40
*** yoctozepto has joined #zuul19:40
*** mnasiadka has joined #zuul19:40
*** ChrisShort has joined #zuul19:40
*** donnyd has joined #zuul19:40
*** erbarr has joined #zuul19:40
*** jbryce has joined #zuul19:40
*** Shrews has joined #zuul19:40
*** Tahvok has joined #zuul19:40
*** fbo has joined #zuul19:40
*** tristanC has joined #zuul19:40
*** guillaumec has joined #zuul19:40
*** pabelanger has joined #zuul19:40
*** decimuscorvinus has joined #zuul19:40
*** systemd has joined #zuul19:40
*** bschanzel has joined #zuul19:40
*** etp has joined #zuul19:40
*** fungi has joined #zuul19:40
*** felixedel has joined #zuul19:40
*** ChanServ has joined #zuul19:40
*** odyssey4me has joined #zuul19:40
*** frickler has joined #zuul19:40
*** leoluk has joined #zuul19:40
*** swest has joined #zuul19:40
*** kgz has joined #zuul19:40
*** amotoki has joined #zuul19:40
*** melwitt has joined #zuul19:40
*** persia has joined #zuul19:40
*** SotK has joined #zuul19:40
*** tepper.freenode.net sets mode: +o ChanServ19:40
*** rlandy|biab is now known as rlandy19:41
*** mgoddard has joined #zuul19:41
*** zbr7 has joined #zuul19:44
*** zbr has quit IRC19:46
*** zbr7 is now known as zbr19:46
*** jamesmcarthur has quit IRC19:48
*** jamesmcarthur has joined #zuul19:48
*** jamesmcarthur has quit IRC19:54
*** hamalq has joined #zuul19:58
*** zbr0 has joined #zuul20:08
*** zbr has quit IRC20:09
*** zbr0 is now known as zbr20:09
clarkbcorvus: looks like one of the containers jobs just passed20:12
corvusbe still my heart20:15
*** jamesmcarthur has joined #zuul20:19
*** ikhan has quit IRC20:22
*** ikhan has joined #zuul20:22
*** zbr7 has joined #zuul20:28
*** jamesmcarthur has quit IRC20:28
*** jamesmcarthur has joined #zuul20:28
*** zbr has quit IRC20:30
*** zbr7 is now known as zbr20:30
*** zbr9 has joined #zuul20:41
*** zbr has quit IRC20:43
*** zbr9 is now known as zbr20:43
*** jamesmcarthur has quit IRC20:50
*** jamesmcarthur has joined #zuul20:50
clarkbcorvus: zuul has +1'd the require tls change in nodepool20:53
*** jamesmcarthur has quit IRC20:55
clarkbI've +2d the change with a note about a file that can be removed20:57
*** jamesmcarthur has joined #zuul21:03
corvusclarkb: thanks; i think we should keep that file (responded inline).21:04
corvuszuul-maint: anyone want to +3 https://review.opendev.org/776286 ?21:04
corvuswhen that merges, we can restart opendev again, then i think tag 4.0 on monday21:05
mordredcorvus: what happens to tox runs without those new ZK vars?21:06
corvusmordred: they loop until timeout trying to connect to zk21:07
mordrednod21:09
openstackgerritClark Boylan proposed zuul/zuul master: Noop change to Dockerfile to trigger image builds  https://review.opendev.org/c/zuul/zuul/+/77671021:09
clarkbcorvus: ^ fyi21:09
corvus+321:10
*** jamesmcarthur has quit IRC21:11
clarkbthanks21:11
*** jamesmcarthur has joined #zuul21:12
openstackgerritMerged zuul/zuul-jobs master: ensure-zookeeper: use a tmpfs  https://review.opendev.org/c/zuul/zuul-jobs/+/77669621:15
*** jamesmcarthur has quit IRC21:17
clarkbI'm going to pop out for a bike ride while we wait on image builds and such21:22
*** zbr3 has joined #zuul21:27
*** zbr has quit IRC21:29
*** zbr3 is now known as zbr21:29
fungii approved the require tls change for nodepool21:32
fungidinner time, but will be around in a while for an opendev service restart21:32
*** zbr6 has joined #zuul21:35
*** zbr has quit IRC21:38
*** zbr6 is now known as zbr21:38
*** jamesmcarthur has joined #zuul21:41
*** jamesmcarthur has quit IRC21:54
*** hashar has quit IRC22:05
*** jamesmcarthur has joined #zuul22:09
*** zbr7 has joined #zuul22:10
*** zbr has quit IRC22:13
*** zbr7 is now known as zbr22:13
*** rlandy has quit IRC22:13
*** jamesmcarthur has quit IRC22:15
corvusmordred: i ran a gerrit build and told it to use a local (empty) bazel cache, then ran a find on that and here's what it produced: https://ci.gerritcodereview.com/t/gerrit/build/bf79fb37cb784824ab93d3e72415e537/log/job-output.txt#329222:17
corvuswe can do that for "good" builds, then upload that to gcs and use gcs as a read-only cache for untrusted builds22:19
mordredyeah22:20
corvuswhat would be really cool is if we could then use a read-only gcs cache for the good builds too, then only get a smaller delta we'd need to upload22:20
corvus(why not just use gcs as a read-write cache for good builds?  because the google folks don't want to issue service account tokens, so we have to do weird stuff to write to gcs -- that log upload stuff from earlier being an example)22:21
mordredcorvus: there's a part of me that thinks that the zuul-registry architecture of having upstream cache sources is *almost* applicable22:21
mordredbut that might just be the "large pile of content addressible storage blobs" talking to me22:22
openstackgerritMerged zuul/zuul master: Noop change to Dockerfile to trigger image builds  https://review.opendev.org/c/zuul/zuul/+/77671022:22
corvusmordred: yeah, well if bazel happens to allow both a read-only and read-write cache, that'd be great.  i think we need a tiered cache.  so read from remote if present, write to local if not.  that can *probably* be implemented with apache/nginx if necessary.22:23
mordredyeah22:24
*** zbr1 has joined #zuul22:24
*** zbr has quit IRC22:27
*** zbr1 is now known as zbr22:27
*** jamesmcarthur has joined #zuul22:27
fungioverlayfs?22:29
fungino idea if the "cache" is expected to be a posix fs or not22:29
fungioh, the apache/nginx mention makes me think it has some sort of network cache protocol22:30
fungiso nevermind22:30
corvusfungi: yeah, the network protocol is http get/put, so overlayfs on a webdav mount might actually work :)22:31
fungid'oh22:31
* fungi had somehow repressed all memories of webdav22:31
*** jamesmcarthur has quit IRC22:34
openstackgerritMerged zuul/nodepool master: Require TLS  https://review.opendev.org/c/zuul/nodepool/+/77628622:35
corvus\o/ ^22:37
openstackgerritJames E. Blair proposed zuul/zuul master: Support credentials supplied by nodepool  https://review.opendev.org/c/zuul/zuul/+/77436222:45
*** jamesmcarthur has joined #zuul22:47
*** zbr7 has joined #zuul22:49
*** zbr has quit IRC22:51
*** zbr7 is now known as zbr22:51
*** zbr1 has joined #zuul22:54
corvusmordred: i think several (~4) minutes of the gerrit job may be the git repo prep (*after* zuul is done with it).  i think we might be able to improve that by making that role just a single giant shell script.22:55
corvusi suspect the ansible task overhead is getting us there22:55
mordred++22:55
*** zbr has quit IRC22:55
*** zbr1 is now known as zbr22:55
mordredI've become disillusioned with the concept of a lot of the ansible modules vs just using it to run shell scripts22:56
mordredthe ansible task overhead is horrible - and honestly a lot of the time it's easier to read the shell. NOW - there are times, like your ansible REST stuff - where the ansible is super clear and that's awesome22:56
corvusyeah, i'm thinking we should aim for a smarter use of ansible.  where we write *highly tuned* ansible that has as few tasks as possible for boilerplate pre/post playbooks that run all the time22:57
mordredcorvus: by git repo prep, you mean the  all the submodule stuff in this case right?22:58
corvusmordred: yep22:58
mordredcorvus: ++22:58
corvusmordred: in this case there's about 10 tasks for each repo22:58
mordredyeah. that's too many22:58
mordredit's not generalizable into "zuul supports submodules in the following manner..." yet is it?22:59
corvus(and that's *after* the standard zuul git repo prep, which could use the same kind of haircut)22:59
corvusmordred: i think it's pretty close....23:00
mordredI wish the debug cycle on python modules was nicer - I'd say "we should encode these important pieces of functionality into some nice python" - but I'd still vote for shell in this case23:00
corvusmordred: the entire job takes 14m, the gerrit build with no bazel cache takes 6m23:02
corvushonestly, it's like 50/50 as far is which one is a better win to optimize23:02
*** ikhan has quit IRC23:03
mordredhow long is the gerrit build with cache?23:04
fungiyeah, i looked at the timing profile of the git prep role recently and there seems to be a ton of overhead, particularly from the looping23:04
fungiit's not super noticeable for one or a handful of repos, but we've got some jobs which have >100 required-projects entries and it does stack up23:04
corvusmordred: i don't have a cache yet23:04
mordredif we make the git prep role more efficient, that's a win for opendev and gerrit and bmw and softwarefactory23:04
mordredcorvus: good point23:04
fungieven if we compressed it all into a single loop it would probably be a significant improvement. right now it re-loops over the required-projects list multiple times for different activities23:05
corvusfungi, mordred: on my list is taking a look at https://review.opendev.org/740005 and maybe taking that opportunity to expand the use of shell scripts  (it's already starting to head in that direction)23:06
corvusthen we'd have the grand-unified-shell-script-for-git-prep-on-all-platforms23:06
fungii'll just call that gussfgpoap23:07
*** jamesmcarthur has quit IRC23:07
*** jamesmcarthur has joined #zuul23:07
mordredobviously23:07
mordredlooking at roles/prepare-gerrit-repos real quick ...23:09
mordreddo we have any thoughts on how to sanely deal with stuff like loop: "{{ zuul.projects.values() | list }}" in shell?23:10
corvusmordred: i bet we could do some jq fanciness.  but also, i think a good start might be to keep that loop but then replace everything in the file it includes with a shell23:11
fungistuff zuul.projects into a structure in an envvar and parse in shell? good question though23:11
fungii agree serialization will be key for some of this23:11
fungiand yeah, jq is pretty awesome23:11
clarkbcorvus: that sounds like something out of hitchikers guide23:12
mordredyeah. that would be a good first start - but it also might be the case with some of these that, even with the bad debug cycle, python module would be a better choice.23:12
clarkbI know the overhead to run ansibel tasks has come up before. Is this something we should maybe talk to upstream ansible about too?23:12
mordred(mostly just scanning the inner file and there's a bunch of processing of the zuul dict23:12
fungipassing a structure to a python module which is invoked once is probably still reasonable23:12
fungire-invoking python over and over in a tight loop, less so23:12
mordredclarkb: we have - they have not been as receptive as one might otherwise hope23:13
clarkbas a "hey this is noticeably painful in our CI environments is this fixable in ansible itself" type of engagement23:13
corvusmordred: point.  the debug cycle isn't terrible if you set it up like i did the log upload stuff -- make it invokable from the cli.  you can get 99% code coverage that way.23:13
clarkb:(23:13
clarkbcorvus: ++ invocable from command line makes a huge difference23:13
fungiwhat we really need is "compiled ansible"23:13
mordredclarkb: the biggest issue was the move from threading to multiprocessing23:13
* fungi calls "not it" for writing a jit ansible compiler23:14
*** zbr5 has joined #zuul23:19
*** gmann_afk is now known as gmann23:21
*** zbr has quit IRC23:21
*** zbr5 is now known as zbr23:21
clarkbis the plan to try and restart zuul and nodepool today or monday?23:22
* clarkb is around to help both days but didn't want to weekend early if that was still on the cards for today23:22
*** zbr2 has joined #zuul23:23
*** zbr has quit IRC23:25
*** zbr2 is now known as zbr23:25
corvusi'd like to restart today then release on monday23:29
clarkbwfm, I'll be around to help out too then23:29
corvuslooks like it's a good time; lemme make sure all the images are updated23:29
corvusthe promote jobs work for both the zuul and nodepool changes, so i assume we're good there23:30
corvus-> #opendev23:30
*** zbr1 has joined #zuul23:43
mordredcorvus: remote:   https://gerrit-review.googlesource.com/c/zuul/jobs/+/297442 WIP Replace ansible loops and tasks with a python module [NEW]23:44
mordredVERY WIP - just starting taking a stab at setting something up23:44
*** zbr has quit IRC23:45
*** zbr1 is now known as zbr23:45
corvusmordred: okay whew! i'm guessing "implement process_repo()" is the next task?  :)23:47
mordredcorvus: yeah ... # TODO: implement23:48
*** hamalq has quit IRC23:50
*** zbr8 has joined #zuul23:52
corvusmordred: you have performed a DOS on gerrit's zuul with that change... we only have 4 nodes available...  maybe wait till it's working to push up the next rev? :)23:52
*** zbr has quit IRC23:54
*** zbr8 is now known as zbr23:54

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