Tuesday, 2020-03-03

*** threestrands has joined #zuul00:03
armstrongsyeah lines up with https://opendev.org/zuul/zuul/commit/0684df0dd191427d000f0cee2e18ccdc07f5f3c800:03
*** mattw4 has quit IRC00:05
corvusarmstrongs, tristanC: the log copying is usually in a trusted post playbook (i assume that's the case in your installation as well).  we can/should probably avoid using the vars blacklist in the trusted context.00:06
armstrongsyeah its in post playbook00:07
armstrongsand its trusted as part of the config jobs00:08
*** zxiiro has joined #zuul00:14
*** Defolos has quit IRC00:19
openstackgerritTristan Cacqueray proposed zuul/zuul master: executor: do not blacklist host-vars for trusted context  https://review.opendev.org/71089000:24
tristanCcorvus: good idea, here is an implementation ^00:24
armstrongsthats awesome thank you00:33
*** erbarr has quit IRC01:09
*** yolanda has quit IRC01:15
armstrongsjust wanted to say the github checks integration looks brilliant in the new version of zuul01:30
openstackgerritMerged zuul/zuul master: executor: do not blacklist host-vars for trusted context  https://review.opendev.org/71089001:39
*** armstrongs has quit IRC01:42
*** jamesmcarthur has joined #zuul01:45
*** jamesmcarthur has quit IRC02:13
*** jamesmcarthur has joined #zuul02:21
*** Goneri has quit IRC02:41
*** jamesmcarthur has quit IRC02:50
*** jamesmcarthur has joined #zuul02:53
*** jamesmcarthur has quit IRC02:58
*** jamesmcarthur has joined #zuul03:04
*** rlandy has quit IRC03:15
*** jamesmcarthur has quit IRC03:50
*** raukadah is now known as chandankumar04:04
*** sgw has joined #zuul04:38
*** felixedel has joined #zuul04:51
*** evrardjp has quit IRC05:35
*** evrardjp has joined #zuul05:35
*** saneax has joined #zuul05:35
*** igordc has joined #zuul06:09
*** igordc has quit IRC06:13
*** toabctl has quit IRC06:18
*** toabctl has joined #zuul06:22
*** sanjayu_ has joined #zuul06:29
*** saneax has quit IRC06:31
*** felixedel has joined #zuul06:31
*** sanjayu__ has joined #zuul06:53
*** sanjayu_ has quit IRC06:55
*** yolanda has joined #zuul07:21
*** armstrongs has joined #zuul08:10
*** jcapitao has joined #zuul08:10
*** jcapitao has quit IRC08:11
*** jcapitao has joined #zuul08:11
*** armstrongs has quit IRC08:19
*** tosky has joined #zuul08:20
*** Defolos has joined #zuul08:28
*** sanjayu_ has joined #zuul08:30
*** sanjayu__ has quit IRC08:32
*** jpena|off is now known as jpena08:41
*** sshnaidm|pto has quit IRC08:45
*** avass has joined #zuul08:54
*** sshnaidm|pto has joined #zuul08:59
*** threestrands has quit IRC09:09
*** hashar has joined #zuul09:14
*** sshnaidm|pto is now known as sshnaidm09:17
*** sugaar has joined #zuul09:31
*** zxiiro has quit IRC09:43
webknjazIs there any way to get some Zuul resources for open source projects?10:24
*** masterpe has quit IRC10:56
*** openstackstatus has quit IRC10:59
*** sshnaidm has quit IRC11:07
*** armstrongs has joined #zuul11:10
*** sshnaidm has joined #zuul11:12
*** sshnaidm has quit IRC11:13
*** sshnaidm has joined #zuul11:13
*** felixedel has quit IRC11:19
*** masterpe has joined #zuul11:19
*** hashar has quit IRC11:21
*** hashar has joined #zuul11:22
*** felixedel has joined #zuul11:30
openstackgerritTobias Henkel proposed zuul/zuul master: Cache getUser in Github connection  https://review.opendev.org/71098511:56
*** hashar has quit IRC11:57
*** armstrongs has quit IRC11:57
*** jcapitao is now known as jcapitao_lunch12:14
*** rlandy has joined #zuul12:24
*** jpena is now known as jpena|lunch12:32
openstackgerritBenedikt Löffler proposed zuul/zuul master: Fix override variables in zuul_return  https://review.opendev.org/71100213:13
*** harrymichal has joined #zuul13:16
*** bschanzel has joined #zuul13:21
*** jpena|lunch is now known as jpena13:32
*** harrymichal has quit IRC13:32
bschanzelHi tristanC, for nodepool you implemented the kubernetes/openshift/openshiftpods drivers. I've got a few questions regarding them (the "pod that behaves like a machine" workflow). The kubernetes and openshift drivers create a new namespace for every node request (and a single pod therein). The openshiftpods provider, however, reuses a single13:33
bschanzelnamespace for all the node/pods it creates. Isn't this a behaviour we want to have in the kubernetes+openshift dirvers as well? This would eliminate the namespace creation overhead (don't know how big that is tho) and would allow for multi-node-builds (so pods can communicate with each other). Another question is regarding using OpenShift as a13:33
bschanzelbackend for nodepool. How do you cope with the "random uid" security feature of OpenShift? (Ansible does not like this, as it can not infer it's ansible_user var).13:33
*** harrymichal has joined #zuul13:35
*** harrymichal_ has joined #zuul13:36
tristanCbschanzel: the namespace creation overhead shouldn't matter. though adding support for multiple pods in a nodeset could be useful for kubernetes+openshift yes13:38
tristanCbschanzel: and for the random uid, i don't know how to satisfy ansible, (beside not using the ansible_user var)13:40
*** armstrongs has joined #zuul13:40
tristanCbschanzel: i think the premise is that multi-pod jobs would request a namespace, and that the pod provisioning would be performed by the job directly13:41
tristanCbschanzel: this is more flexible as you can setup custom resources, for example to configure service and replicaset13:42
armstrongsI was looking at passing custom k8s labels down to zuul nodepool when we provision zuul containers so the containers are spun up on specific hardware. Has anyone looked into this yet or had a similar use case? In theory nodepool would just need the k8s labels passed13:44
tristanCarmstrongs: i think that is also covered by requesting a namespace and do the provisioning as part of the job13:46
tristanCin other word, i'm not sure we should add more feature to the `pod that behaves like a machine` workflow, and if you need custom labels, or multi-pod setup, then you should use the namespace node type and do the configuration as part of the job playbook13:48
tristanCthough it may be too complex to manage such things in the job with ansible, then i wouldn't mind adding such feature to the existing `pod that behaves like a machine` workflow13:51
tristanCcorvus: Shrews: what do you think about above feedback?13:51
bschanzeltristanC regarding namespace creation: currently, using pod type labels (`pod that behaves like a machine`) do not support multi-node-builds because of different namespaces. You can spin up multiple pods, but Ansible then only plays against the first one. Not sure if this is an Ansible problem, tho. Anyway, since multi-node-builds are a feature of14:04
bschanzelZuul, we maybe want to look into how we can make this work with pod type labels. Maybe by using a single namespace instead of spawning separate namespaces for each pod/node.14:04
tristanCbschanzel: perhaps there is an issue when using the same label name... could you share the nodeset you are using?14:06
bschanzeltristanC for the random uid, one could also set the correct values into `/etc/passwd` in a pre-task and then gather facts again for Ansible to correctly set its vars. Much like the official solution to the problem (https://docs.openshift.com/container-platform/3.11/creating_images/guidelines.html#openshift-specific-guidelines). There it is14:09
bschanzelsuggested to have a custom entrypoint in place which sets the `/etc/passwd` entry. The entrypoint for the kubernetes/openshift pods in the corresponding drivers are hard-coded to `/bin/bash` so this approach wont work. While it makes sense to set an appropriate entrypoint in the driver, we might want to consider setting it to `sh` instead of14:09
bschanzel`bash`, since `bash` might not be available in a container?14:09
fungijust need to make sure they don't contain any bashisms (or ideally any non-posix bourne code)14:11
bschanzeltristanC for the multi-node-build problems: Could be you're right. I'll reevaluate that and provide you with the details.14:11
corvusbschanzel, tristanC: note that the recommendations have changed in openshift 4; crio doesn't require a custom entrypoint to modify /etc/passwd: https://docs.openshift.com/container-platform/4.3/openshift_images/create-images.html#images-create-guide-openshift_create-images14:21
*** Goneri has joined #zuul14:21
openstackgerritFelix Edel proposed zuul/zuul master: Report aborted changes via Github checks API  https://review.opendev.org/71102314:21
bschanzelfungi not really at this place. The entrypoint is hard coded to `/bin/bash -c 'while true; sleep ...'` so the pod won't die immediately but lives until killed by nodepool. `/bin/bash` can easily be replaced by `sh` here so don't require a container image to provide bash.14:22
fungiahh, so it's not appearing in a shebang14:23
corvusyeah, that does seem safer14:23
mnaserwebknjaz: we (at vexxhost) offer a hosted zuul service and we do make it available for open source projects, feel free to reach out over IRC or mnaser@vexxhost.com and I can try and see what to do for you :)14:23
fungii concur, should just be able to switch that over easilt14:23
fungieasily14:23
fungiwebknjaz: also if you host your open source project in opendev, it has a zuul deployment integrated with its gerrit code review system14:24
bschanzelcorvus: regarding newer OKD versions: very valuable input! Thank you!14:24
webknjazfungi: mnaser: Thanks for the info! I was thinking that it may make sense to explore this for CherryPy. And maybe suggest better CI coverage for pip.14:25
mnaserwebknjaz: there's many options :) but on my side we're totally ok with you using whatever code hosting platform you want to use14:26
mnaserbut, happy to support cherrypy and getting zuul coverage for it14:27
fungiyeah, that would be really cool if cherrypy started using zuul14:27
webknjazyeah, I figured14:27
fungi(regardless of which zuul deployment it uses)14:27
webknjazI thought it'd be cool to have multiple CIs if possible14:28
mnaseri think it's interesting to keep in mind that the power of zuul comes from the gating it does too14:28
mnaserso it's one thing to have it report to changes and do CI, it's another (with a whole slew of benefits) for it to do the gating of the project14:29
webknjazWell, gating sounds nice but probably won't work well atm because of the limited maintainer resources14:29
mnaserwebknjaz: if anything gating helps with limited maintainer resources imho :p14:30
webknjazit does but it also blocks processes14:30
webknjazit'd be much more useful to have human beings helping to debug issues and figuring out complicated fixes14:31
mnaserright, but all that is totally still possible.  it's just the merging of the code ends up being done by zuul, not a human :)14:31
webknjazcurrently, we don't do that because it's just two maintainers having limited amount of time and not doing many concurrent merges14:33
corvuswebknjaz: the zuul project itself has limited maintainer resources, and having gating very much helps with that :)14:33
fungiit sometimes takes a bit of a leap of faith before you come to realize that humans are usually a poor judge of when a change is broken14:33
fungiand that the assessment of whether a change is broken is inherently racy14:34
fungi(just because tests passed when the change was written doesn't mean it's still passing them when it's approved/merged)14:34
webknjazI'm not arguing with that, I like the ideas of bors-ng too14:35
fungibut yeah, sometimes it takes unpleasant experiences to come around to the idea of enforcing retesting at time of change approval14:37
webknjazI think for me it's mostly "somebody needs to integrate this" which requires time, plus limited CI resources are the main blockers14:39
fungii'd personally rather troubleshoot a problem with a ci job which is preventing me from landing a good change than troubleshoot a bug i've merged which could have been caught by my ci jobs if they'd been rerun14:39
mnaserwebknjaz: once you integrate and have zuul runs jobs, you can have it gate14:39
mnaserit can be the same exact ci jobs that you'd gate on14:39
mordredwebknjaz: the limited CI resources issue is an unfortunate problem for many open source projects :(14:39
fungithe former situation inconveniences me, the latter inconveniences my users14:39
*** sgw has quit IRC14:45
mnaserwebknjaz: anyhow, i'd be happy to get you up and running on zuul so if you're up for it :)14:46
corvustristanC: should we release the blacklist fix?  as 3.17.1 or 3.18.0?  (the "-d" deprecation landed, but at this point it's just a warning message, so maybe .1 is okay?)14:46
webknjaz@mnaser sure, I'll text you privately to avoid spamming this channel14:46
tristanCcorvus: 3.17.1 sounds good14:46
corvuswebknjaz: once you have things set up with mnaser, if you have questions about jobs, etc, that make sense in an upstream context, feel free to chat here :)  we like user feedback and improving zuul-jobs.14:48
mnaseryeah, given my simplistic view of things, it looks like it'll just be mostly inheriting base tox jobs14:49
webknjazsure, thanks!14:49
webknjazyeah, we use tox as a glue for multiple CIs :)14:49
mnaserwe have a bunch of super-well-tested tox base jobs so it is likely extremely straight forward :)14:50
*** michael-beaver has joined #zuul14:53
openstackgerritJames E. Blair proposed zuul/zuul master: DNM: test depends-on cherrypy  https://review.opendev.org/71103414:54
corvuswebknjaz: ^ i'm not sure if we've exercised this before; i thought i'd see if a cross-source dependency test between zuul and cherrypy worked :)14:55
webknjazI'd first start with cherrypy/cheroot repo, it's cleaner/smaller14:58
corvuswell, for this, even a failure is a success :)14:59
*** jcapitao_lunch is now known as jcapitao15:00
*** sgw has joined #zuul15:07
corvuszuul-maint: does this look good for a release? commit 3acc00a30eb967556e7e6484f17e1b9019d51c85 (HEAD -> master, tag: 3.17.1, origin/master, origin/HEAD, gerrit/master, refs/changes/90/710890/1)15:08
corvusoh...15:09
corvusthe kubectl socat thing landed too15:09
corvushttps://zuul-ci.org/docs/zuul/reference/releasenotes.html#in-development15:09
tobiashyes, was just about to ask about that one15:09
corvusthat's starting to look more like a 3.18.0 isn't it?15:09
tobiashand file comments for github checks also landed15:09
fungigiven that, 3.18.0 at 3acc00a sounds reasonable15:10
tobiashcorvus: I think that makes sense15:10
Shrewscorvus: does this one contain the change that requires a nodepool release?15:10
corvusand i think this may warrant a full opendev restart15:10
corvusShrews: yep15:10
corvusShrews: so maybe that should exist first too, eh?15:10
Shrews:)15:11
armstrongsthe required tag version wasn't on nodepool yet btw15:11
tobiashoh, the kubectl requires a nodepool release15:11
corvusarmstrongs: yeah, we need to release that first15:11
armstrongs:)15:11
armstrongshave been waiting on this one excited to test the streaming15:11
tobiashand we'd need an upgrade notice that kubectl users need to upgrade nodepool first15:12
armstrongsi need to get out more15:12
corvustobiash: yes, that's in the release notes.  but we also did tone it down a bit -- it will not hard-fail if it's wrong; it will only emit a warning to the console + log15:12
Shrewstobiash: i don't think they *need* to, only if they want streaming. should still work as-is, i think, but corvus can confirm15:12
Shrewsyeah, that15:12
tobiashah ok15:13
corvuswe don't exercise this code path in opendev.  i have tested it manually, but does anyone else want to confirm nodepool HEAD before we release it?15:13
*** sanjayu_ has quit IRC15:14
corvusotherwise, i'll plan to restart opendev zuul (but not nodepool), then tag nodepool and then zuul15:14
tobiashwe're behind a few changes for nodepool15:15
Shrewsyeah, i think clarkb restarted nodepool the other day for that bug you found and I fixed15:15
corvustobiash: you want to try it out locally, or should i just go for it?15:17
tobiashcorvus: I don't mind, as we're following master anyway, so if you'd like my feedback I can update it and give feedback tomorrow probably15:18
*** chandankumar is now known as raukadah15:18
tobiashI think the only real life risk would be https://review.opendev.org/71034315:19
tobiashbut that doesn't look suspicious15:19
tobiashso I'd be good with just releasing it15:19
corvusi think opendev is running that one15:20
Shrewsyes, that's the bug i was refering to15:20
Shrewspretty tame change, IMO15:20
tobiash++ for release15:20
corvus 2020-02-28 00:36:17 UTC Restarted nodepool launcers on nodepool==3.11.1.dev35 # git sha aba9b4e to pick up proper fix for missing node issue that was previously worked around with a restart.15:20
corvusyep15:20
corvusthat's been in prod for a few days15:20
corvusokay, i'll get started on the zuul restart, then start tagging15:21
*** jamesmcarthur has joined #zuul15:23
*** harrymichal_ has quit IRC15:23
*** harrymichal has quit IRC15:23
clarkbShrews: I did15:35
*** Goneri has quit IRC15:36
*** felixedel has quit IRC15:41
corvuspushed nodepool 3.12.015:44
*** jcapitao is now known as jcapitao_afk15:49
*** bschanzel has quit IRC15:51
*** harrymichal has joined #zuul16:03
*** mattw4 has joined #zuul16:11
*** jcapitao_afk is now known as jcapitao16:21
*** jamesmcarthur has quit IRC16:23
*** jamesmcarthur has joined #zuul16:23
*** jamesmcarthur has quit IRC16:30
*** jpena is now known as jpena|brb16:46
corvusnodepool 3.12.0 is up, and opendev's zuul seems to be functioning and merging changes and stuff, so i'll go ahead and tag zuul16:46
corvuscommit 3acc00a30eb967556e7e6484f17e1b9019d51c85 (HEAD -> master, tag: 3.18.0, origin/master, origin/HEAD, gerrit/master, refs/changes/90/710890/1)16:46
mnaserok cool16:46
mnaserso i have simple mostly passing jobs for basic linting stuff for cheroot :)16:47
corvusmnaser: nice!16:47
mnaserhttps://github.com/cherrypy/cheroot/pull/267/checks?check_run_id=48279454716:47
mnasernow i've got a tricky issue with ensure-tox installing inside py2.7 <16:47
mnaser:<16:47
mnasergoing back to that fun thing16:47
clarkbcorvus: this picks up the ansible args modification for trusted playbooks?16:48
corvusclarkb: yes -- that is to say that we do not blacklist the ssh args for trusted playbooks16:48
mnaserso as of now, ensure-tox defaults to installing via py2.7 instead of py3.x16:48
mnaserhttps://opendev.org/zuul/zuul-jobs/src/branch/master/roles/ensure-tox/tasks/main.yaml16:48
clarkbcorvus: I confirm that commit hash matches HEAD for me and 3.18.0 looks like a good number16:49
mnaserso i wonder if both py2 and py3 are installed on the system, we should maybe default to py3 first instead of py2?16:49
clarkbmnaser: at this point it is probably safe to flip the order of those if checks.16:50
clarkb(since people should in general be moving to python3) The concern will be that any tox targets that don't specify a python version will default to the version tox is installed under16:50
mnaseryeah that's what i'm thinking too16:50
clarkbwe may want to announce that change then merge it in a week or two as a result16:50
corvusmaybe we should add a backwards compat var?16:50
clarkbcorvus: ya that may be a good middle ground too "prefer_python2" default to false16:51
corvusmaybe add the var, that can merge immediately, then change the default in 2 weeks?16:51
clarkb++16:51
mnasercorvus: i like that more, so it can get cherrypy moving for example16:51
corvusyeah, and it's an escape valve for people who (for some reason i can't imagine but i'm sure exists and we would discover if we did this) can't switch right now16:52
corvus(and knowing opendev, that reason is probably lurking in there somewhere :)16:52
corvusapparently ensure-tox is broken on 3 platforms: https://review.opendev.org/70723816:53
clarkbwell we currently preinstall tox in opendev and the spec I wrote to potentially stop doing that should be ok with mnaser's planned behavior16:53
*** jamesmcarthur has joined #zuul16:54
*** felixedel has joined #zuul16:55
*** felixedel has quit IRC16:55
*** harrymichal has quit IRC16:55
clarkbcorvus: I think it is failing beacuse tox_executable is only set when installed there?16:56
*** harrymichal has joined #zuul16:56
openstackgerritMohammed Naser proposed zuul/zuul-jobs master: ensure-tox: add prefer_python2  https://review.opendev.org/71105616:56
clarkboh hrm its a defaults set var too16:56
corvusclarkb, mnaser: i think we should straighten out that change and https://review.opendev.org/707439 first16:56
mnasercorvus, clarkb: i'm struggling to come up with a good commit message because people talking loudly around me :)16:56
corvusi know it's a mess, and i don't understand what's going on, but all those errors are related to python2/python3 errors, so it seems like getting the testing worked out first would be really good16:57
clarkbcorvus: ++16:57
mnaseryeah16:57
corvusit looks like the second change fixes centos+debian but breaks suse?16:57
mnaserso it reports that tox is installed at /usr/bin/tox16:57
clarkbit would be helpful if zbr|pto mentioned why `tox` doesn't work on centos/debian16:57
clarkbmnaser: ya then it tries to run `tox` and fails16:58
corvusyeah, i'm curious why we're not just running "tox"16:58
corvusthe "tox" role runs "tox" by default16:58
mnaseryeah but it runs python -m tox16:58
mnaserand i wonder if it should run python3 -m tox ?16:59
corvusunless tox_executable is set16:59
mnaseryes but in the failure case it is not set16:59
mnaseropensuse-15 | skipping: Conditional result was False16:59
mnaserand also the erro rmessage - /usr/bin/python: No module named tox16:59
mnaserso i think under opensuse maybe ansible is actually using py2 instead of py3, but tox is installed under py3.. maybe?17:00
fungii don't think it's ansible-specific17:00
fungi`python` always means python 2.x17:00
fungiso regardless of whether ansible is run via python or python3, when it calls a `python` interpreter that's still going to be python 2.x17:01
mnaserok so i guess maybe tox is installed inside python317:02
mnaserand ansible uses 'python' for opensuse17:03
*** jamesmcarthur has quit IRC17:03
*** harrymichal has quit IRC17:04
*** harrymichal has joined #zuul17:05
mnaserhttps://github.com/ansible/ansible/blob/308723c3ca1122363e419070f1fa1d76ff5611a9/lib/ansible/executor/interpreter_discovery.py17:05
fungithe role is invoking the (unversioned) `python` interpreter right?17:05
corvusokay, going back to basics on 707238 this is the line that's failing: https://opendev.org/zuul/zuul-jobs/src/branch/master/test-playbooks/ensure-tox.yaml#L2117:05
mnaserhttps://github.com/ansible/ansible/blob/ec967bce7629758ba8cd8f1d7bd3b63af0e630ba/lib/ansible/config/base.yml#L1463-L147717:05
corvusand that's failing on centos7, 8, and debian stretch because, i guess, those systems default to python217:06
fungilooks from corvus's link like it's invoking `python3` instead17:06
corvuswe're talking about different "it's" here17:06
fungitox installation vs tox invocation, right17:07
corvusi'm not sure there's anything wrong with the roles right now, the issue is the test we have for ensure-tox is too naive for all the platforms17:07
mnasercorvus: i agree with that statement, it assumes python317:07
corvusso, very specifically, we need to figure this out: inside the test called "Test ensure-tox when tox_executable is already set and tox is installed" what's the right way to invoke tox to verify it's installed?17:07
clarkbcorvus: well the current role fails on centos because `tox` isn't found as an executable17:07
clarkbcorvus: ++17:08
corvusclarkb: centos7 is failing on the "python3 -m tox" line https://zuul.opendev.org/t/zuul/build/b377fb84295b4f8fa99df40d79f954b817:08
mnasercorvus: wouldn't we just need to test that we should be able to successfully execute tox_executable in that scenario?17:08
fungiand ensure-tox installs tox for python2 if it's available, or via python3 if not, unless overridden17:08
clarkbcorvus: not in https://review.opendev.org/#/c/707238/2 I don't think17:09
corvusmnaser: yeah, i think what that test is trying to do is say "lets assume the operator said the way to run tox in my system is with this command"17:09
corvusmnaser: so when i wrote that test, i picked a command that worked for bionic, but not everything else17:09
clarkboh you are right, where does that come from when the change doesn't set the default tox_executable value and the jobs themselves don't override it?17:09
corvusmnaser: maybe we just need to make that conditional on platform?17:10
corvusit's a *test* failure, not a role failure, so we can make the test adaptive to the platform17:10
*** zxiiro has joined #zuul17:10
corvusclarkb: it's supposed to test the case where, say, you've installed tox on your images in /path/to/venv/tox and you want to specify that's the way to run tox17:11
corvuswe could maybe go and make a venv and just do that i guess?17:11
mnasercorvus: that seems reasonable to me17:12
clarkbya that might be a reasonable appraoch. Ignore what is there. Install tox on the "system" then check we can run it from there with the var overridden17:12
openstackgerritJames E. Blair proposed zuul/zuul-jobs master: WIP tox  https://review.opendev.org/71105817:12
corvusmnaser, clarkb: pseudocode for that ^17:12
corvusclarkb: i just noticed that centos8 has a different failure there https://zuul.opendev.org/t/zuul/build/f64c9d6c80474536b08dd417c0974a12/console17:13
mnasercorvus: yes, that makes sense17:13
mnasercorvus: i can pick that up and expand it?17:14
corvusmnaser: sure, i'll try to figure out what's up with centos817:14
corvusmnaser, clarkb: oh wait17:15
corvusmnaser, clarkb: nm17:16
corvusok i see the fix for centos8, i'll do that in a separate change17:17
*** harrymichal has quit IRC17:18
*** harrymichal has joined #zuul17:18
openstackgerritJames E. Blair proposed zuul/zuul-jobs master: test-ensure-tox: Ignore errors uninstalling tox the second time  https://review.opendev.org/71106817:20
corvusit kinda looks like pip3 behaves differently on centos8 than elsewhere.  that seems strange to me but oh well17:21
fungidifferent how?17:21
*** harrymichal has quit IRC17:21
corvuslike maybe "pip uninstall -y tox" returns non-zero when tox is not installed, whereas it returns 0 in the same conditions on other platforms17:22
corvusbut i'm not sure about that, i don't have all the info needed to confirm that17:22
openstackgerritMohammed Naser proposed zuul/zuul-jobs master: ensure-tox: use provided tox_executable for tests  https://review.opendev.org/71105817:22
openstackgerritClark Boylan proposed zuul/zuul-jobs master: DO NOT MERGE test base-test with no virtualenv perms modifications  https://review.opendev.org/68017817:22
mnasercorvus: ^ if that passes i guess i can squash17:23
corvusmnaser: yeah, ditto on 71106817:24
mnasercorvus: time to look into making zuul gate commit squashes so we don't mess each others work =P17:24
*** jpena|brb is now known as jpena17:25
corvus:)17:25
mnaserwelp17:26
mnaserdidnt run the jobs17:26
mnaseri need to update files in the parent patch17:27
mnaserto include the test playbook17:27
mnasercorvus: i'll just squash my change while i'm at it17:27
openstackgerritMohammed Naser proposed zuul/zuul-jobs master: Run ensure-tox on all platforms  https://review.opendev.org/70723817:29
corvusill do that too then17:29
mnaser^ squashed my change and added the test playbooks to files17:29
*** armstrongs has quit IRC17:29
mnasercool, lunch time here17:29
openstackgerritJames E. Blair proposed zuul/zuul-jobs master: Run ensure-tox on all platforms  https://review.opendev.org/70723817:30
openstackgerritJames E. Blair proposed zuul/zuul-jobs master: ensure-tox: add prefer_python2  https://review.opendev.org/71105617:31
corvusmnaser: ^ i stacked that on top17:31
mnasercorvus: ah cool, that change worked in the cheroot PR too so i know it works to that extent :)17:32
mnaserit'd be nice if someone can take ownership of driving the "send an email to ML about this change and flip that bit to false by default"17:34
mnaseri cant promise i can keep up with it :p17:34
*** evrardjp has quit IRC17:35
*** evrardjp has joined #zuul17:35
*** armstrongs has joined #zuul17:35
armstrongsFor log streaming on containers in zuul 3.18.0 and nodepool 3.12.0 it's pausing on each command for 30 seconds after they execute with | [Zuul] Log Stream did not terminate and it isn't streaming the logs from the container. Is there a specific version of socat that is needed for it to work?17:44
armstrongsim on socat-1.7.3.2-6.fc28.x86_6417:46
corvusarmstrongs: i can't imagine a specific version would be required17:46
clarkblog stream did not terminate is on the remote side stopping the daemon isn't it?17:46
clarkbI think the ansible plugin thing tries to stop it and wait for it before giving up when the play is over17:47
armstrongsi see it happen on every task on the play17:47
corvusyeah, but if there is also no initial output the problem could be earlier17:47
armstrongsso ls and pwd test commands are taking 30 seconds each before moving on17:48
clarkbcorvus: meaning maybe it doesn't start so cannot stop?17:52
corvusclarkb: yeah17:52
corvusarmstrongs: oh17:52
corvusarmstrongs: did you add zuul-console to your base job?17:52
armstrongsno is that a requirement?17:53
corvusarmstrongs: yes, i think it is, and i should have included that in the release note, sorry17:53
corvusarmstrongs: add the "start-zuul-console" to your base job pre playbook17:53
corvusarmstrongs: add the "start-zuul-console" role to your base job pre playbook17:53
armstrongshehe ok17:53
corvusclarkb: thanks for phrasing it like that :)17:54
corvuswe should probably add that to https://opendev.org/zuul/zuul-base-jobs/src/branch/master/playbooks/base/pre.yaml17:54
*** jcapitao has quit IRC17:58
*** igordc has joined #zuul17:59
armstrongsworks great now thank you17:59
armstrongs:)17:59
*** Defolos has quit IRC18:06
corvusarmstrongs: thanks, and sorry; i'll send a followup note to the announce list18:10
mnaserhmm18:12
mnaserfedora-29 failing18:12
mnaserchmod: cannot access '/root/.local': No such file or directory18:12
mnaseri think we need to rerun update-test-platforms.py too18:13
corvusmnaser: i think that's a red herring18:17
corvusCannot download 'http://mirror.ord.rax.opendev.org/fedora/updates/29/Everything/x86_64/': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried.18:17
mnaseroh, i missed that18:17
corvusi think that's the actual error18:17
corvusyeah, the zuul "this is probably the error" thing picked the wrong task :/18:17
mnaseri guess f29 is gone18:17
mnaserso maybe we can replace that job with centos 818:17
mnaseror we already have centos-8 there18:18
mnaserso maybe just drop that platform, i guess18:18
corvusyeah, i'll do that18:18
clarkb++ to dropping platform. I think the infra team needs to schedule the removal globally18:18
corvusi'll look at the linter error too18:18
clarkbbut usually I defer to ianw on that as he tends to manage the fedora images18:19
mnasercorvus: i think the linter error is because i changed the bsae job definition to include the test playbook in 'files' and didnt update that file18:19
corvusoh it's the update-test-platforms18:20
mnaseryep18:20
corvusand yeah, 29 has already been dropped from the script, we just need to drop it from the patch18:21
corvusokay, so both errors are the same problem :)18:21
*** jamesmcarthur has joined #zuul18:22
openstackgerritJames E. Blair proposed zuul/zuul-jobs master: Run ensure-tox on all platforms  https://review.opendev.org/70723818:28
openstackgerritJames E. Blair proposed zuul/zuul-jobs master: ensure-tox: add prefer_python2  https://review.opendev.org/71105618:28
openstackgerritMerged zuul/zuul master: Add destructor for SshAgent  https://review.opendev.org/70960918:29
*** jpena is now known as jpena|off18:41
openstackgerritMohammed Naser proposed zuul/zuul-jobs master: ensure-tox: add prefer_python2  https://review.opendev.org/71105619:03
mnaserAJaeger: addressed your comments, thanks :p19:03
*** michael-beaver has quit IRC19:13
*** mattw4 has quit IRC19:25
*** hashar has joined #zuul19:42
*** felixedel has joined #zuul19:59
*** felixedel has quit IRC19:59
openstackgerritMohammed Naser proposed zuul/zuul-jobs master: ensure-tox: add prefer_python2  https://review.opendev.org/71105620:01
mnaser^ is ready for some prime time :>20:16
openstackgerritMerged zuul/zuul-jobs master: Run ensure-tox on all platforms  https://review.opendev.org/70723820:21
*** armstrongs has quit IRC20:21
*** tosky has quit IRC20:22
webknjazsome feedback20:28
webknjazre:cheroot is it possible to report zuul results only via Checks API w/o legacy Status API? Also, it'd be nice to have separate checks mapped to separate check runs under check suite, not dumped as a list on one page.20:28
webknjazalso: it's easy to get lost in zuul UI, it'd be great to put the results/logs @ checks pages (per check run)20:29
webknjazplus it seems like re-run button doesn't work...20:30
mnaserwebknjaz: so the re-run was a thing i missed at my side which was not making the check requested a thing to trigger for your pipeline, which has since been fixed now20:33
mnaserwebknjaz: i also can remove legacy status api (you can have whichever one you want, we report on both)20:33
mnaserthe checks being mapped to different check runs is a good suggestion.  tobiash has been doing a bunch of work around that so i'm wondering if he has thoughts on that20:34
*** jamesmcarthur has quit IRC20:36
*** jamesmcarthur has joined #zuul20:37
webknjazcool20:37
*** jamesmcarthur has quit IRC20:38
tobiashit's absolutely possible to just use checks api and no status api, we switched one of our tenants already to do that20:39
tobiashregarding multiple jobs as different checks, it's on purpose that we do a check run per pipeline due to zuul's working model regarding gating20:40
tobiashwe require gate runs20:40
tobiashalso having a check run per job will complicate branch protection as it won't be possible to use file filters on jobs in a useful manner20:41
tobiashso we decided on a check run per pipeline (builldset)20:41
mordredtobiash: is that because of the dynamic nature of which jobs are going to be run for a given change?20:41
tobiashmordred: yes, each buildset can have its distinct of jobs that are run20:43
tobiashand required checks are static20:43
mordrednod20:43
tobiashso for gating a check per pipeline is the only thing that makes sense in a generic way20:44
mordredyah20:44
mnaseris this a limitation of the github api that doesnt allow us to d othis?20:44
mordredyeah20:44
tobiashmnaser: it's a difference in the working models20:45
mnaserok i think i'm following now, the issue is that required checks is something you put into branch protection right?20:45
mordredthe gerrit checks api currently has the same limitation - pre-defined "checks" ... the subchecks work corvus has been working on will be the type of thing we'd need20:45
mnaserso if you wanted to enforce "dont merge unless gate passes" -- you cant do that if you define checks as whole collection of jobs?20:46
mordredit's been interesting to watch the development of the use case to explain to people who don't already exist in a speculative zuul world why it's important20:46
tobiashnot only the checks api, consider gating. Zuul verifies before enqueue if a change will be mergeable if the gate jobs succeed. But at that time it cannot know which jobs this will be20:46
mnaserbecause you constantly have to pretty much keep that in sync with your gating jobs?20:46
*** Goneri has joined #zuul20:47
mnaseri wonder if there's any reasonable way we can work around that :\20:47
tobiashtechnically we could make jobs reporting an optional feature, but that will prevent gating at all so I'd be opposed to that20:47
mnasertobiash: could you not technically use regex to workaround this in your pipeline config for example?20:48
mnaserenqueue if checks API "tenant/pipeline/.*" are all ran?20:49
mnaseresp if we model the job names to include the pipeline in the prefix for example20:49
tobiashmnaser: before zuul enqueues a change into the gate it asks github for required checks and ignores those it will set on a successful gate run. However zuul knows about the jobs only after enqueue into the gate so it basically cannot determine if merge requirements will be met before enqueing into the gate.20:51
tobiashfurther the static nature of requiring checks in github doesn't meet the dynamic job graph in zuul20:52
mordredthat's the main key20:54
mordredreally checks in the github api, because of their static nature, are much more appropriately mapped to the zuul pipeline - while the individual jobs zuul runs don't have a corresponding structure20:55
tobiashyeah20:55
mordredfrom a reporting perspective, it woudl be neat if github had a way for something running a check to report a list of "I'm going to do and report on these X things for this instance of this check"20:56
tobiashwe initially thought that check suite and check runs would match pipelines and jobs, but actually check suites don't have any meaning regarding workflows20:56
mordredbecause that way the zuul jobs could be exposed directly20:56
mordredtobiash: yeah - sounds like there is a missing construct20:56
tobiashafaik a check run can report intermediate results so we might be able to improve on that in the future20:57
tobiashor maybe not, have to ask Felix about that ;)20:58
tobiashat least we can link to the running buildset in zuul when it's in progress20:59
tobiashand link to the overall buildset result in zuul-web21:00
tobiashwhen finished21:00
*** jamesmcarthur has joined #zuul21:01
mordred++21:01
webknjaz@tobiash: I think it's easy to workaround on the Zuul side21:06
webknjazJust report a special check run that becomes green only if gating on Zuul side is green. And make users use just that check run for branch protection.21:07
*** igordc has quit IRC21:08
*** igordc has joined #zuul21:08
*** igordc has quit IRC21:10
tobiashwebknjaz: technically that might be possible but I think it will confuse most users21:10
mnaseras webknjaz mentions this, i wonder if maybe we had job-specific checks *and* pipeline speciic checks in github21:11
*** igordc has joined #zuul21:12
mnaserbut i'm not super intimiately familiar with the github api21:12
*** igordc has quit IRC21:12
mnaseri dont think it might be _that_ confusing to have both the pipeline and individual jobs even tho imho yes it is a little annoing to an extent21:13
mordredmnaser: the bigger problem is that you have to pre-define in github what your checks are beforehand - but with zuul the list is dynamic. so you'd completely lose dynamic jobs in zuul if you went and pre-defined a check in github for each job21:14
mnasermordred: please forgive my ignorance here but what do you mean exactly by pre-define .. is it an API call we make to github to create this thing?21:15
webknjazmnaser: only previously reported checks show up in branch protection21:15
webknjazbut it seems okay to have some special prefixed checks and it's important only during setup21:16
mordredwebknjaz: what do you mean "only during setup"21:16
webknjazwhen zuul is first added/configured21:18
mordredlooking at https://developer.github.com/v3/repos/statuses/ - github status is also missing the concept of non-voting21:20
mnasermordred: right but in this case we can ignore statuses, because it seems like checks is "the way to go" moving forwards21:20
webknjazbut there could be some special job name like `__gate__` that would be required in the branch protection, others wouldn't matter as long as zuul tracks that right21:20
webknjaz@mordred that's outdated, checks api is the new way to go21:21
tobiashtechnically the reporting could report both, but if zuul would do that it must be optional (per pipeline or even per project) because we have projects with 30+ jobs running on each change which will end up in a huge checks summary at the end which makes the important information (did the pipeline succeed?) hard to spot21:21
corvustobiash: where is that summary?21:22
mordredwebknjaz: yeah - I was reading the checks docs and it linked me to that - so *shurg*21:22
tobiashcorvus: I mean that box with the red and green checkmarks at the bottom of a pr21:22
webknjazred checks are displayed on top21:22
corvusok lemme sign in because that doesn't show up for anonymous21:22
mnaseri think it may not show up for merged stuff21:23
corvusyeah i don't see it at https://github.com/cherrypy/cheroot/pull/26721:23
mnasercorvus: https://github.com/cherrypy/cheroot/pull/262 has it21:23
mnaserscroll to end of page and you'll see that long list21:24
corvusi see that now, thx21:24
mnaserand you can kinda see how it pretty much explodes the output of https://github.com/cherrypy/cheroot/pull/262/checks21:24
corvusyeah, "test suite" is a good example here21:24
fungiand as long as you're logged in, yep21:25
fungiit did not show up for me without authenticating the webui21:26
tobiashyes, weird21:26
mnasertobiash: i wonder if even tho there are failing checks, the checks list would still report like "everything is passing" there21:26
mnaseri mean, failing "non-voting" checks21:27
fungigithub, like most social networking platforms these days, seems to assume everyone keeps their browsers logged into services all the time21:27
tobiashmnaser:it probably will say some checks are not successful, but not block the merge21:28
mnasertobiash: ah yes gotcha.  i think it could be feasible then with the ability to disable it21:28
mnaserassuming that the zuul team feels like its an ok workaround (and i'll call it a workaronud because it doesnt seem right -- but it seems like a good UX thing)21:28
tobiashthe main reason why I'd keep individul jobs reporting options is user support effort, because as soon as a user checks zuul/gate/tpx-py37 as required check it will inhibit all changed from entering the gate21:29
tobiashand I know I'll get a lot of those questions21:30
tobiashbecause from workflow perspective pipeline only is the correct match21:30
mnasertobiash: yeah i almost wish there was a field in the checks api that was like "you cannot use this as a required check"21:30
tobiashmnaser: what I'd wish would be 'require a check suite success' and 'allowing non-voting check run'21:31
corvusthe approach of reporting both pipeline and job checks seems like it might work, but i'm hesitant to endorse it; it seems like the pitfalls may not exceed the benefits (which is mostly: avoid an extra click to get to this page: https://github.com/cherrypy/cheroot/pull/262/checks?check_run_id=483204693 )21:32
mordredI don't see any reason _not_ to add the ability to do that as an option - because it is how github is structured - but I agree with tobiash, I think it should be optional - and I kind of lean towards thinking there should need to be an option named "I really know what I'm doing here" to enable it21:32
mnaseryeah whats the point of a check suite if we're not going to allow check runs in ther eboo21:32
corvusmnaser: i can't decode the last part of that sentence21:33
mnaserit's been a long day, let me try again21:33
mnaserwhat's the point of check suites if they don't really mean anything inside github other than "a group of checks"21:33
mordredand I'd think we'd need to be able to detect the error condition tobiash mentions reliably so that we could return an error like "you marked a job as a required check run which is unpossible please uncheck it to continue"21:33
* tobiash likes the "I really know what I'm doing here" option21:33
mnaserideally i'd love to imagine mapping check suites => pipeline21:34
corvusmnaser: yeah, that was what we thought we were going to do, and that would work great, but then "branch protection" hit.21:34
corvusif there were some other way to disable merges from anyone other than zuul other than adding the check as a required branch protection, i think it would be feasible21:35
corvusmordred: i'm just not sure all the extra complexity to handle that is worth it21:35
mnaserso for conclusion: "The final conclusion of the check. Can be one of success, failure, neutral, cancelled, timed_out, or action_required. "21:35
mnaserso non-voting things can probably return a value of "neutral" but it sucks that it won't really give much more info21:36
mnaser(this is for the checks api) -- so i mean i guess you can consider a non voting job is "neutral" in zuuls world21:36
corvusmnaser: yeah, that feels like it could be misleading, but plausible; it means we wouldn't be able to use neutral for anything else in the future though.21:37
mnaseryeah21:37
corvusmordred: unlike in gerrit's current checks system, where you actually have to leave the system to find the result of the jobs, at least in github the're on this page: https://github.com/cherrypy/cheroot/pull/262/checks?check_run_id=48320469321:38
pabelangeryou can block merges in github with branch projections (includes admins) and drop write permissions on write (use triage for labels). I've done a POC for that, only issue to solve is git tags and approved pull review21:38
pabelangerbut we've been using checks api since friday on zuul.a.c, so far nobody has really complained (or even noticed)21:40
corvuspabelanger: did you drop status too?21:40
pabelangerno21:40
pabelangerwe still need that to trigger for gate21:40
tobiashpabelanger: you can trigger with checks as well21:40
pabelangertobiash: I haven't figured out how yet21:40
tobiashlet me dig it up21:41
pabelangerawesome!21:41
tobiashpabelanger: check out https://zuul-ci.org/docs/zuul/reference/drivers/github.html#value-pipeline.trigger.%3Cgithub%20source%3E.event.check_run21:42
*** mattw4 has joined #zuul21:42
pabelangertobiash: I'm looking for required, like we do with : https://github.com/ansible/project-config/blob/master/zuul.d/pipelines.yaml#L4921:44
pabelangerI can't seem to figure out how to ensure 'check' jobs finished21:44
tobiashpabelanger: http://paste.openstack.org/show/790277/21:45
pabelangerwhich status gives us21:45
tobiashthose are the check run triggers we use in our gate21:46
tobiashit reacts on any successful check run as well as on clicking the rerun button in github21:46
tobiashand the requirements should be handled as usual by branch protection21:47
corvus(you could also consider dropping the clean check requirement)21:47
pabelangeris event cached some how? for example, I don't want the job to enqueue into gate, without first applying gate label21:47
tobiashyes, we do that on a few projects as well (only gate is a required status in branch protection)21:48
corvus(almost everyone is happier without clean check unless you are a giant project with 1k repos)21:48
tobiashcorvus: it depends, as soon as a project has a constant gate queue of maybe 5-10 clean check is essential for gate performance21:49
*** Defolos has joined #zuul21:49
corvustobiash: you have a giant project :)21:49
tobiashwell that number assumes job runtimes of around an hour which makes gate resets time and resource costly ;)21:50
mnaseras much as I agree on the whole thing about jobs in github, it bothers me a little bit21:50
corvusmain thing is, i was suggesting that pabelanger might want to consider not requiring it for zac21:50
tobiashwith smaller projects and faster jobs clean-check is indeed not as important21:50
* mnaser doesn't want to stray away from the default zuul architecture but wants to keep a nice contributor experience21:51
pabelangercorvus: I think we want to get there, but we are just starting to gate things for collections. I'd like to try and avoid a much gate resets to start, then maybe move to clean check21:51
mnaserby contributor, i mean project contributor aka zuul user21:51
pabelangerbut right now, I think we want to require checks api first, along with label21:51
corvuspabelanger: fair :)21:51
pabelangerand I can't see how to do that without status21:51
tobiashpabelanger: it works exactly like with status actually, just different event types21:52
tobiashpabelanger: what was your non-checks pipeline config?21:52
corvusmnaser: yeah, i'm just saying i'm not convinced that it's a bad experience.  yes, if github operated the way we would like it to, it would be better, but we have 100% failure rate in asking github to change how they work to better accomodate us.  i worry that the suggested solution of reporting both pipeline and job status as check runs will be more confusing and therefore a worse user experience than "click21:53
corvuson the check to see the jobs"21:53
pabelangertobiash: https://github.com/ansible/project-config/blob/7af5b7c49170bd7942fa32f2bcbd6baff52bfb0f/zuul.d/pipelines.yaml#L19 was when we only used checks API, but it broken gate due to https://github.com/ansible/project-config/blob/7af5b7c49170bd7942fa32f2bcbd6baff52bfb0f/zuul.d/pipelines.yaml#L50 as value was empty21:54
pabelangerso now, we have both checks api and status for 'check' pipeline right now21:55
mnasercorvus: i wonder if there is a way for zuul to actually report invalid github configurations21:55
tobiashcorvus: that 100% failure rate might drop a little bit in the future: https://developer.github.com/enterprise/2.20/v4/object/pullrequest/#reviewdecision :)21:56
mnaserwhich seems like would allow us to do things the way we want to, while warning/alerting/refusing to work if things aren't setup properly21:56
corvustobiash: fingers crossed :)21:56
tobiashcorvus: that's not public available yet (it made it accidentally into the docs) but it's at least in the works21:56
corvusmnaser: i'm not sure that there is a way to configure github to work the way we want it to21:57
mnasercorvus: oh you're right.  unless you can add a check suite to a github repo as a requirement?21:58
*** hashar has quit IRC21:58
tobiashpabelanger: why do you require the status in the pipeline and not in the branch protection? Btw, status requirements work with checks as well (maybe you need to remove the [bot])21:58
corvusmnaser: yeah; it sounds like pabelanger has been looking at other ways of doing that other than a branch protection requiring a check; if that works out, it may be a possibility21:58
mnaseri mean finding a way to address the user support concerns that tobiash had without him having to talk to his users (and instead by zuul saying "your repo config is bad)21:58
corvusmnaser: we will all have those concerns if pipelines and jobs are intermingled -- we'll have to explain the difference to everyone21:59
mnaser:(21:59
pabelangertobiash: we do add it into branch protection (check and gate) but we don't want to enqueue jobs into gate, until check is green.21:59
pabelangerthat is why we require check status22:00
*** dpawlik has quit IRC22:00
tobiashpabelanger: but zuul automatically verifies that, you don't need to list it in the pipeline config22:00
pabelangerreally?22:00
pabelangerwhen did that happen22:00
tobiashpabelanger: since ages ;)22:00
pabelangeroh22:00
pabelangerokay then, let me try22:00
tobiashthat was one of my first changes in the github api almost two years ago ;)22:01
corvuspabelanger: so if you add zuul's check run as a branch protection, then it won't enqueue into a dependent pipeline22:01
pabelangerk, that should be easy enough to test22:01
pabelangerall projects have that setup already22:01
corvuspabelanger, tobiash: iiuc, for a clean-check gating config, you would probably add both things as branch protection?22:01
tobiashpabelanger: and the checks api support also added includes check runs into that consideration22:01
corvusboth things = both the check pipeline check, and the gate pipeline check22:01
tobiashcorvus: yes22:02
pabelangeryah, we are doing both ATM22:02
tobiashand without clean check requirement, just require gate22:02
pabelangerI'll test that for tomorrow22:02
tobiashand the great thing is this also works with every other app (we use the WIP bot a lot)22:02
corvusso when an item is enqueued into gate, the check pipeline check branch protection will perform the 'clean check' verification, and the gate pipeline check branch protection will automatically be waived by zuul because it knows it will set it, but github will still enforce it.22:02
tobiashrequiring WIP in the branch protection also keeps wip PRs from entering the gate22:03
corvustobiash, pabelanger: we might want to add these to require/reject too, so that people can encode this into zuul22:03
corvus(ie, so someone could have a check pipeline that ignored WIP prs)22:03
pabelanger++22:04
tobiashcorvus: isn't that already a thing?22:06
tobiashpabelanger: ftr, that implemented the required status checking for gate pipelines: https://review.opendev.org/53568022:07
corvustobiash: no, that's the thing pabelanger was originally asking for -- we have https://zuul-ci.org/docs/zuul/reference/drivers/github.html#attr-pipeline.require.%3Cgithub%20source%3E.status  but nothing equivalent for check runs22:07
tobiashcorvus: we do, github branch protection doesn't differenciate between status and check runs and so does zuul for requirements22:08
corvustobiash: but only for something that leaves a status22:08
corvustobiash: you can't say: pipeline.require.github.check_run: wip22:09
tobiashcorvus: zuul asks github for status and check runs and puts them into a list (if not we might be missing a corner case)22:09
tobiashcorvus: you can say 'pipeline.require.github.status: wip' and it shouldn't make a difference if wip has been reported as check run or status22:10
corvustobiash: then why didn't https://github.com/ansible/project-config/blob/7af5b7c49170bd7942fa32f2bcbd6baff52bfb0f/zuul.d/pipelines.yaml#L50 work for pabelanger ?22:10
tobiashit could be that the check_run doesn't contain ' [bot]' as the user field22:11
tobiashso the regex might just need a little tweaking22:11
corvustobiash: is it wise to combine them like that?  why not keep them separate in zuul?22:12
corvusgiven that they are separate in triggers and reporters, i would expect them to be separate in requirements as well22:13
tobiashcorvus: we wanted to handle it the same as the branch protection which doesn't know that difference either22:13
corvustobiash: gotcha22:13
corvustobiash, pabelanger: this is probably worth a doc update to https://zuul-ci.org/docs/zuul/reference/drivers/github.html#attr-pipeline.require.%3Cgithub%20source%3E.status22:13
tobiashwe could change that however, but we thought the way of least surprise is doing the same as branch protection22:14
corvustobiash, pabelanger: at least to describe the combined status/checks behavior, and if we can get to the bottom of the regex thing too, that would be good22:14
tobiashoh, sure the docs should be fixed22:14
pabelangerI should have more info tomorrow, but sadly I have to run now. Agree, if I can help will share more info22:16
corvuspabelanger: thanks!22:17
tobiashcorvus: just double checed, github api returns the app slug as creator of the check run while the old status checks always pretended a user and adding [bot] after the username22:20
tobiashso that's something github cleaned up with check runs22:21
tobiashso removing '[bot]' from that regex or make that optional should do the trick22:21
webknjaz@mnaser: GH shows the merge button if branch protection checks pass but overall status still may occur as red22:21
tobiashlike status: "ansible-zuul.*:ansible/check:success"22:21
corvustobiash: cool, so that might be worth a little note in the doc update22:22
tobiashk, so doc update needs to add check_run and the [bot] oddity22:22
corvus++22:22
webknjaz@corvus: that's two extra clicks because you'd still need to look at logs. so reporting both makes a lot of sense on my side22:22
tobiashI'll ask Felix if he is able to do this this week22:23
webknjaz@mnaser: the point of checks suites is to group by GitHub App mostly, which makes sense b/c you can restart groups and also different apps have different privileges22:24
*** jamesmcarthur has quit IRC22:24
*** jamesmcarthur has joined #zuul22:27
corvuswebknjaz: hey check this out: https://zuul.opendev.org/t/zuul/build/5beb4033821d410abe09ea9a00305c90/log/job-output.txt#1372  and  https://zuul.opendev.org/t/zuul/build/5beb4033821d410abe09ea9a00305c90/log/tox/py35-siblings.txt#147  (see the last line)  confirm that we installed that PR22:32
corvuswebknjaz: so if we ever need to test a cherrypy PR with zuul, we can do so with something like https://review.opendev.org/711034 :)22:33
*** mattw4 has quit IRC22:41
webknjazI see22:43
corvus(er, to be clear, i mean with zuul as a consuming project, ie, run zuul's unit test suite with a cherrypy pr to see if it fixes a bug or something)22:46
webknjazyea, I figured22:46
* webknjaz goes to bed22:47
*** mattw4 has joined #zuul22:47
openstackgerritJames E. Blair proposed zuul/nodepool master: Use explicit provides/requires for container jobs  https://review.opendev.org/71011522:48
openstackgerritJames E. Blair proposed zuul/zuul master: Use explicit provides/requires for container jobs  https://review.opendev.org/71011622:48
*** avass has quit IRC22:49
*** mattw4 has quit IRC22:53
*** mattw4 has joined #zuul23:00
*** mattw4 has quit IRC23:03
*** jamesmcarthur has quit IRC23:06
openstackgerritJames E. Blair proposed zuul/zuul master: Update k8s log streaming release note  https://review.opendev.org/71112423:09
corvuszuul-maint: could we speedy-approve that ^ ?23:10
clarkblooking23:11
fungidone23:12
fungihopefully nobody else needs to discover that dependency23:13
corvusi managed to not get around to approving the release email yet, so i'm resending it now with that spliced in23:14
*** jamesmcarthur has joined #zuul23:16
fungiconvenient23:20
*** jamesmcarthur has quit IRC23:20
fungilooks good!23:21
mnaserAppreciate thoughts on https://review.opendev.org/#/c/711056/ — I can try helping with eventually flipping the switch I’d prefer python 2 to false too eventually23:32
*** jamesmcarthur has joined #zuul23:32
clarkbmnaser: left one documentation comment to make ^ easier23:33
mnaserah yes23:41
*** sgw has quit IRC23:42
openstackgerritMohammed Naser proposed zuul/zuul-jobs master: ensure-tox: add prefer_python2  https://review.opendev.org/71105623:44
*** jamesmcarthur has quit IRC23:53
corvusmnaser: +2 ; i think maybe leave it for AJaeger to +3 tomorrow since he weighed in earlier?23:54
*** sgw has joined #zuul23:56

Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!