Wednesday, 2020-07-22

corvusdmsimard: that's lovely :)00:03
*** holser has quit IRC00:03
*** holser has joined #zuul00:06
dmsimardthanks! I've found it much easier to write than web frontend stuff :)00:06
smcginniscorvus: I didn't read all scrollback yet, but that would be expected behavior.00:07
smcginniscorvus: That is partly why we have separate landing pages for stable branches in most openstack projects.00:07
smcginniscorvus: We only want stable releases to show up on the stable branch pages. Otherwise they would be mixed in with releases directly off of the master branch line, and that could get really confusing.00:08
smcginnisSo keeping it separate between branches allows that branch of releases to be shown in a contiguous view that makes sense from a stable branch perspective.00:09
smcginniscorvus: Looks like your proposed steps should work. The reason it does is even for something in an earlier tag on the branch, if it gets updated during the current cycle (or in this case between tags) it gets picked up as new for that group.00:11
*** hamalq has quit IRC00:27
tristanCcorvus: note that we will probably maintain a 3.x version of zuul for the software-factory 3.4 repository for at least 6 months. If the stable/3.x branch can stay in opendev, we could use it to backport fix there when needed.00:44
*** rlandy|ruck|bbl is now known as rlandy|ruck01:09
*** hamalq has joined #zuul01:30
*** hamalq_ has joined #zuul01:31
*** decimuscorvinus has quit IRC01:33
*** decimuscorvinus has joined #zuul01:33
*** decimuscorvinus has joined #zuul01:34
*** hamalq has quit IRC01:36
*** hamalq_ has quit IRC01:38
*** rlandy|ruck has quit IRC01:52
*** hamalq has joined #zuul02:04
*** hamalq has quit IRC02:10
*** holser has quit IRC02:15
dmsimardoops, did someone else see errors for ara-report role ? https://i.imgur.com/pY0EPDE.png02:31
dmsimardI remember seeing something about local execution recently :D02:31
dmsimardproblem is here: https://opendev.org/zuul/zuul-jobs/src/branch/master/roles/ara-report/tasks/main.yaml#L2-L502:33
dmsimard"Executing local code is prohibited" so can't generate the ara report :(02:34
dmsimardI'll take the role off for now, makes the ara integration jobs POST_FAILUREs02:36
dmsimardIt's late, can discuss the fix later :p02:36
dmsimardI guess it's https://review.opendev.org/#/c/742229/02:39
*** decimuscorvinus has quit IRC02:45
*** bhavikdbavishi has joined #zuul02:45
ianwdmsimard: we were just discussing the same thing for one of the kata roles in #opendev02:46
dmsimardoh, let me go there o/02:46
ianwoh, no conclusion, just same thing ... i'm guessing this is somehow related to switching to containers for the executor?02:46
dmsimardI am very out of the loop but the change I linked ^ seems to be it. I guess the prohibition comes because it's not a trusted job ?02:49
ianwyeah02:49
clarkbyes, it wasan inadverdent relaxation if tge rules02:50
clarkbonce found it got fixed02:50
dmsimardsecurity is hard :)02:50
*** bhavikdbavishi1 has joined #zuul02:53
*** bhavikdbavishi has quit IRC02:54
*** bhavikdbavishi1 is now known as bhavikdbavishi02:54
*** decimuscorvinus has joined #zuul02:56
*** rfolco has quit IRC03:00
*** decimuscorvinus has quit IRC03:24
*** decimuscorvinus has joined #zuul03:28
*** decimuscorvinus has quit IRC03:31
*** decimuscorvinus has joined #zuul03:39
*** bhavikdbavishi has quit IRC03:39
*** bhavikdbavishi has joined #zuul03:54
*** bhavikdbavishi1 has joined #zuul03:59
*** bhavikdbavishi has quit IRC04:00
*** bhavikdbavishi1 is now known as bhavikdbavishi04:00
*** bhavikdbavishi has quit IRC04:13
*** bhavikdbavishi has joined #zuul04:14
*** sugaar has quit IRC04:17
*** hamalq has joined #zuul04:43
*** hamalq_ has joined #zuul04:44
*** hamalq has quit IRC04:48
*** hamalq_ has quit IRC04:55
openstackgerritIan Wienand proposed zuul/zuul-jobs master: Revert "Enable tls-proxy in ensure-devstack"  https://review.opendev.org/74234405:23
*** marios has joined #zuul05:39
*** vishalmanchanda has joined #zuul05:55
*** bhavikdbavishi has quit IRC06:07
*** bhavikdbavishi has joined #zuul06:22
*** iurygregory has joined #zuul06:25
*** bhavikdbavishi1 has joined #zuul06:28
*** bhavikdbavishi has quit IRC06:29
*** bhavikdbavishi1 is now known as bhavikdbavishi06:29
*** holser has joined #zuul06:29
*** bhavikdbavishi has quit IRC06:51
openstackgerritTobias Henkel proposed zuul/zuul master: Temporarily remove pending release notes  https://review.opendev.org/74235306:52
openstackgerritTobias Henkel proposed zuul/zuul master: Re-add temporarily removed pending release notes  https://review.opendev.org/74235406:52
tobiashcorvus: preparation of steps 4 and 6 ^06:53
openstackgerritMerged zuul/zuul master: PF4: Update build result page layout  https://review.opendev.org/73997207:13
openstackgerritMerged zuul/zuul master: Fix fetching function on build result page  https://review.opendev.org/74110307:15
*** bhavikdbavishi has joined #zuul07:21
tobiashavass: do you already use https://review.opendev.org/741809 productive?07:24
tobiashwe're thinking about trying it out because we experience seldom stability issues with our swift api backed by ceph in our clouds (and we see with other services that the s3 api might be more stable)07:26
*** jcapitao has joined #zuul07:35
*** tosky has joined #zuul07:39
*** bhavikdbavishi has quit IRC07:44
*** marios has quit IRC07:48
openstackgerritMerged zuul/zuul-jobs master: Add upload-logs-s3  https://review.opendev.org/74180907:50
*** jpena|off is now known as jpena07:51
*** bhavikdbavishi has joined #zuul07:53
*** sugaar has joined #zuul07:56
*** bhavikdbavishi has quit IRC08:02
*** tosky has quit IRC08:04
*** tosky_ has joined #zuul08:04
*** bhavikdbavishi has joined #zuul08:08
zbr|rovertobiash: avass: can you please have a look at https://review.opendev.org/#/c/723603/ ?08:18
zbr|roverthis is how it looks https://sbarnea.com/ss/Screen-Shot-2020-07-22-09-18-16.69.png08:18
zbr|roverand the effect is instant on save, visible in any console log with longer lines.08:19
*** tosky_ is now known as tosky08:19
*** nils has joined #zuul08:20
*** marios has joined #zuul08:50
*** sgw1 has quit IRC08:54
*** sgw has joined #zuul09:17
*** bhavikdbavishi has quit IRC09:27
*** bhavikdbavishi has joined #zuul09:28
*** bhavikdbavishi has quit IRC10:27
*** bhavikdbavishi has joined #zuul10:43
*** jcapitao is now known as jcapitao_lunch11:08
*** sshnaidm is now known as sshnaidm|afk11:14
*** jpena is now known as jpena|lunch11:34
*** rfolco has joined #zuul11:51
*** rlandy has joined #zuul11:55
*** holser has quit IRC11:55
*** rlandy is now known as rlandy|ruck11:55
*** holser has joined #zuul11:56
*** bolg has joined #zuul12:02
*** jcapitao_lunch is now known as jcapitao12:23
*** Goneri has joined #zuul12:25
*** bhavikdbavishi has quit IRC12:28
*** jpena|lunch is now known as jpena12:37
*** webknjaz has quit IRC12:38
*** ChrisShort has quit IRC12:38
*** mordred has quit IRC12:40
*** masterpe has quit IRC12:40
*** webknjaz has joined #zuul12:42
*** ChrisShort has joined #zuul12:42
*** bhavikdbavishi has joined #zuul12:42
*** holser has quit IRC12:43
*** holser has joined #zuul12:44
*** masterpe has joined #zuul12:48
zbr|roverfungi: clarkb: when back, recheck ^ -- soon it will be a 3mo old attempt to fix the log wrapping in UI12:54
*** sgw1 has joined #zuul12:58
openstackgerritClark Boylan proposed zuul/nodepool master: DNM Use constraints file on arm64 build  https://review.opendev.org/74197313:07
tristanCgetting up to speed with 3.19.1, it is apparently breaking dco-license and promote-docker-image job. Are we supposed to move these roles to trusted context before doing the upgrade to 3.19.1?13:13
*** mordred has joined #zuul13:13
clarkbtristanC: dco-license doesn't need to run on the executor and could run on a node. promote-docker-image probably wants to run in a privileged context (I believe we run it that way)13:14
clarkbhowever, yes, generally anything that can't be rewritten to not use localhost commands will either need to be trusted or run on a remote node13:14
fungiusing a node for dco-license would be crazy overkill though13:14
fungiit's just parsing a commit message13:14
clarkbya its just not inherent to the design it run on the executor13:15
fungiprobably it needs to be rewritten to not use the command module if it can't be dafely run in a privileged context13:15
fungisome of these jobs have been in use for very a long time though... how long was that security hole present?13:16
tristanCclarkb: it seems like zuul image promotion is happening in untrusted context according to https://zuul.opendev.org/t/zuul/builds?job_name=zuul-promote-image ,13:16
fungii can't help but wonder if we regressed something in fixing it13:16
clarkbtristanC: ya probably because of the bug :)13:17
clarkblooking at the role its a python -c command to calculate a timerange13:17
*** bhavikdbavishi has quit IRC13:18
clarkbI imagine we can figure that out with jinja instead13:18
tristanCi worry that abuse of that bug is quite common and 3.19.1 fixing it is going to cause false positive failures.13:18
clarkbfungi: I don't think so13:18
clarkbtristanC: I mean yes probably, but should we just allow the security gap instead?13:19
clarkbI think we have to roll forward13:19
tristanCwe have to fix this for sure, i'm just looking for instructions how to avoid job failures13:20
clarkbfungi: the rule was pretty clear before. untrusted contexts can't run command/shell tasks on localhost. We broke that rule. Roles tooks advantage. Now we need to clean up13:20
clarkbtristanC: I don't think there is an easy answer to that. The jobs need to be assessed for their trustability and could be run in a trusted context or rewritten to avoid localhost commands or not be run13:20
fungithe validate-dco-license role hasn't been altered since it was added nearly two years ago... i wonder if we switched to not using a node for it more recently than that13:21
clarkbfungi: we laos started using it well after pabelanger added it iirc13:21
fungiwe, 1.5 years ago13:21
clarkbfungi: its also possible this was broken prior to the change tobiash identified13:22
tristanCclarkb: i guess we could look at all the zuul-jobs default job and provide upgrade instruction?13:22
tristanCe.g., dco-license needs a nodeset or to be added through a trusted project13:23
fungiyeah, we were running validate-dco-license in opendev as a third-party check against kata-containers repos in github with https://review.openstack.org/630998 in february 201913:23
clarkbfungi: via a trusted context13:24
fungii'm trying to find where we set that13:24
clarkbfungi: openstack/project-config is trusted13:24
clarkbit specifying that the doc-license job run against kata puts the execution of that job into a trusted context13:25
clarkbvia the zuul tenant config13:25
fungihttps://review.openstack.org/634941 moved it out of project-config that same month once the third-party runs worked13:26
clarkbfungi: kata-containers/zuul-config is apparently a config project13:27
clarkbwhich is itself possibly a bug13:27
fungiahh, then i wonder why it started breaking13:27
clarkbwe do limit it to job secret and nodeset though13:27
clarkbthe inheritance path of the jobs may help? its in the inventory file13:29
*** sshnaidm|afk is now known as sshnaidm13:29
fungioh, well it looks like teh dco-license job has used an empty nodeset since it was added to zuul-jobs in https://review.openstack.org/630302 1.5 years ago, so it's been working via kata-containers/zuul-config for nearly that long13:29
tristanCfungi: it does look overkill to use a nodeset for dco-license, but should we remove the empty-nodeset for now so that the job at least run sucecssfully?13:31
fungitristanC: probably? i'm still trying to figure out if this vulnerability is far older than we first thought13:31
tristanCand indicate that a more efficient usage needs to set it in trusted context and overriding the default nodeset with an ampty one?13:31
fungiit's possible we've just broken a common pattern jobs (including some in our standard library) have been relying on for 1.5 years or longer13:32
fungiin a point release, with no forewarning13:32
clarkbI don't think that release has been made yet fwiw13:33
clarkbfungi: the bug to command was introduced mid january 201913:36
clarkbpabelanger added the zuul job around that period of time13:36
fungiokay, so it has been roughly that long13:37
clarkbI think we may have simply gotten lucky it and just worked13:37
clarkb(once deployed to real world use cases)13:37
fungier, maybe i'm misparsing what you meant by "the bug to command was introduced mid january 2019"13:37
clarkbfungi: I5ce1385245c76818777aa34230786a9dbaf723e513:38
fungiyou're saying the vulnerability we just patched has existed in zuul since mid january 201913:38
clarkbyes13:38
clarkbwhat this doesn't explain is why it is broken now13:39
clarkbsince I think it would be trusted if I read the config right but maybe its related to the limited include on that repo?13:39
fungiokay, got it. i saw mentions this was introduced with work to be able to containerize executors, but this looks like it was part of the work toward multi-ansible13:39
clarkboh wait we didn't merge that change until march though13:40
clarkbso the timeline is still a bit off13:41
clarkbmarch 201913:41
clarkbso for ~5 weeks the kata deployment would have been running? I wonder if it didn't work at that point? definitely an interesting question related to why it doesn't work now13:41
openstackgerritTristan Cacqueray proposed zuul/zuul-jobs master: dco-license: remove the empty nodeset  https://review.opendev.org/74243013:41
clarkbthe change I identified may just be a reorg of existing code13:43
clarkbdigging in the history here is difficult but I'm trying to go back further and check it13:43
clarkbah yup its going back further If15b0a6166538debc52df41c06767978ef183b0513:44
fungiso the action-general to actiongeneral rename in https://review.openstack.org/57561713:45
clarkbhttps://review.opendev.org/#/c/575351/ is the origin I think (it shows a file add into a new dir)13:47
clarkbya I think it is very likely this has been a long standing bug on zuulv3 and as a result roles and jobs will face fallout from it. However, the bug is definitely at odds with the assumed security stance and therefore I think the fix remains valid, but we'll need to clean things up13:48
clarkbon that note I'll review tristanC's dco-license change13:48
clarkbfor docker image promotion if we can replace that time delta calculation we should be good to go13:49
fungiSubmitted-at: Thu, 14 Jun 2018 18:36:22 +000013:49
fungiso if this has been a bug in zuul basically since the inception of v3, we're probably looking at a *lot* of fallout from the fix13:50
tristanCclarkb: it seems like moving the ppc to a trusted context is not enough, perhaps we needs a new job to be defined in trusted-context to be able to use empty-nodeset13:50
clarkbtristanC: ppc?13:51
tristanCoops, this is for Project Pipeline Config13:51
clarkbya I think that is what we are seeing with kata too13:51
clarkbsince they define the pipeline and job in a trusted context13:52
clarkbtobiash and corvus may have additional thoughts on this as far as ways to address the problem13:52
tristanCi'm happy to clean things up, but it would be easier with clear instructions for how to fix what is expected to break13:52
clarkbI seem to recall that if you consume an untrusted role in a job in a trusted project you don't get speculative testing of that role. This is why we don't get speculative testing of our base roles in a simple manner and use the whole base-test system13:54
clarkbgiven that I would assume if you define the job in a trusted repo that would be sufficient, but defining a variant of an untrusted job seems to be insufficient based on evidence13:55
clarkbtristanC: I'm not sure if you are in a spot where you can test that with dco-license? basically redefine it as a new job in a trusted repo and then run it on projects13:57
clarkb(I'm trying to help with the opendev event so not in a good spot to do that sort of thing myself)13:57
tristanCclarkb: sure, let me do some commit in one of our tenants13:58
corvusit's all about where the playbook is invoked14:10
*** yolanda has quit IRC14:10
corvusif the playbook is listed in a job definition in a project-config repo, then the playbook itself and the roles repos are non-speculative and run in the trusted execution context14:11
corvusfungi: fwiw, zuulv3 was released in march 2018, so the bug has been present for about half the time14:12
*** yolanda has joined #zuul14:12
clarkbcorvus: I think the bug was introduced in https://review.opendev.org/#/c/575351/314:12
clarkbI'm not sure if there were other mitigating factors at that period of time though14:13
tristanCcorvus: for kata-containers, the dco-license job should be listed in a project-config repo here: https://opendev.org/kata-containers/zuul-config/src/branch/master/zuul.d/project-templates.yaml14:13
clarkb(its possible there were other checks for things that I'm missing in that code state)14:13
clarkbtristanC: ya but the job itself where it lists the playbook is from zuul-jobs which is untrusted14:13
corvustristanC: it's the job definition that mettars14:13
fungiyeah, my "basically since the inception of v3" comment was based on Submitted-at: Thu, 14 Jun 2018 18:36:22 +000014:13
fungiso ~3mos after 3.0.0 was tagged14:14
clarkbthere is a zuul/ansible/action/normal.py which I think handled the command case prior to that file being added, but once that file was added command was no longer passing through normal.py14:14
clarkbbut the ansible integration is not somethign I'm super familiar with so double check that14:15
corvusi believe that's the case; is it important to double check it?14:15
clarkbprobably not14:16
tristanCok i can see `RUN START: [untrusted : opendev.org/zuul/zuul-jobs/playbooks/dco-license/run.yaml@master]` even when dco-license is set from a trusted-project. thus the doc update in https://review.opendev.org/742430 is incorrect14:16
corvuswe're pretty sure this has been a bug for a Long Time.  :)14:16
clarkbI'm just bringing it up because tristanC and fungi are worried we regressed since this worked before14:16
clarkbbut I'm asserting it was a bug then and a bug until yesterday and now we need to roll forward and fix the fallout14:16
clarkbtristanC: the code change in 742430 is correct but not the doc string14:17
fungiyeah, i'm less concerned we've regressed something unrelated to the vulnerability now that it looks like we've had this vulnerability for >2 years14:17
funginow it's more about how we help manage whatever widespread breakage will result from fixing a bug which jobs (including some in our standard library) may have been inadvertently relying on all that time14:18
tristanCi agree we need to roll forward, but i'd like to know what can be done before the upgrade to 3.19.1 to avoid false positive failure14:18
corvusi don't think there are any false positives?14:19
tristanCcorvus: for example https://zuul.opendev.org/t/zuul/builds?job_name=zuul-promote-image14:19
corvusin order for dco-license to work as it does today, it will need to be *defined* in a config-project14:19
fungiexisting jobs starting to fail once the fix is applied, not exactly false positives14:19
corvusright, that's a true positive14:19
tristanCcorvus: oh right, i meant job failing after the upgrade14:20
fungii think the question is how do we/users find and correct those jobs without suddenly starting to fail them14:20
corvusi can't think of a way to do that14:21
corvusrun a second parallel system?14:22
tristanCfor example, we could ask our user to look for `START: [untrusted : opendev.org/zuul/zuul-jobs/playbooks/docker-image/promote.yaml` in job-output.txt and do X and Y before the upgrade14:22
fungiyeah, me neither, so instead we likely just need to be really clear in our messaging about the fix14:22
corvustristanC: why not just fix that? :)14:22
corvuswe could spend a month or so creating a static lexical analysis tool to identify forbidden combinations; meanwhile the vulnerability is still out there14:23
clarkbhttps://opendev.org/zuul/zuul-jobs/src/branch/master/roles/promote-docker-image/tasks/promote-cleanup.yaml#L6-L814:23
clarkbthat is the issue specific to docker image promotion14:23
clarkbI'm guessing we may be able to solve that in another way14:23
corvusyeah, i say we comment that section out immediately, then come back and fix it later14:24
corvusthat cleanup can be delayed for a few days14:24
clarkbhttps://opendev.org/zuul/zuul-jobs/src/branch/master/roles/promote-docker-image/tasks/main.yaml#L28-L32 is the block to comment out I think14:24
corvuswe could take the unusual step of moving dco-license to zuul/base-jobs14:25
fungiright, i feel like it's sufficient to just be *very* clear in the release note that admins should expect jobs which were previously working to suddenly start failing, and what the common solutions are to correct them14:25
corvusor make a new repo for zuul-trusted-jobs14:25
fungiat least in theory, people concerned about sudden breakage are deploying releases of zuul and reading release notes before each upgrade (even if it's just a point release)14:26
fungialso we'd presumably say the same things or more in the announcement on the zuul-announce ml14:27
openstackgerritJames E. Blair proposed zuul/zuul-jobs master: Temporarily disable tag cleanup in docker promote  https://review.opendev.org/74244714:28
corvusfungi: did we solve the mystery about validate-dco?  did it live its entire life inside of the expected open window for this bug?14:29
clarkbwe might be able to do ansible_date_time.iso8601 | to_datetime and zj_docker_tag.last_updated | to_datetime and do operations on them that way14:30
fungicorvus: that seems to be what happened, yes14:31
clarkbsomething like {{ ((ansible_date_time.iso8601 | to_datetime) - (zj_docker_tag.last_updated | to_datetime)).seconds > 86400 }} as the condition14:31
clarkbcorvus: ^ I need to find some food during my short opendev break but maybe that would work?14:31
corvusclarkb: i'd like to defer it14:31
clarkbok14:31
corvusclarkb: can you remove your +2 from https://review.opendev.org/74243014:32
fungicorvus: basically people have been using validate-dco in untrusted contexts running cmd tasks on executors for up to 1.5 years14:32
*** paladox has quit IRC14:32
corvustristanC: see comment on https://review.opendev.org/74243014:32
fungiand there are likely more, this is just the first one we've noticed14:32
clarkbcorvus: note that change removes the null nodeset so that change would work14:32
corvusclarkb: which of my two objections are you objecting to?14:32
clarkbcorvus: "This job, by virtue of being defined in an untrusted repo, can never execute local code on the executor.  The only way to fix that is to define the job itself in a trusted repo."14:33
clarkbcorvus: if we modified it and the playbook to accomodate non localhost that would work14:33
clarkbI'm just poitning out we could solve this by having zuul jobs define a job that ran on not localhost14:33
clarkband then also describe how you can define a trusted job that does run on localhost14:33
corvusclarkb: yes, if we rewrote the playbook to run on the remote node then yes.  the comment is still wrong, you could never make it trusted.14:34
clarkbcorrect I've removed the +214:34
tristanCcorvus: so what should we do with zuul-jobs that haves empty `nodes: []` nodeset?14:35
corvustristanC: are there others?14:35
tristanCcorvus: promote-docker-image14:36
corvustristanC: https://review.opendev.org/74244714:36
corvusi think those are the only 214:36
tristanCcorvus: and about dco-license, should i update the playbook then?14:38
corvusfor validate-dco, i think we have 4 options: 1) update it to run on a node 2) tell people to write their own job+playbook in a config-project and use the role if they want it to be nodeless.  3) move validate-dco to base-jobs.  4) create zuul/zuul-trusted-jobs and move it there.14:39
corvusit seems like 1+2 may be the lest complex options14:39
clarkbI think 1 is a good short term option as it should fix things for existing users with little to no input on their side14:42
clarkbthen we can work towards a different option longer term if there is demand14:42
corvus1 and 2 are not exclusive14:42
corvusi lean toward both, and think that, for example, opendev should implement #2 for kata14:43
clarkbhttps://review.opendev.org/#/c/741973/ resulting in a successful nodepool image job (that means if we can get cached wheels from somewhere we should have that working now)14:43
clarkbcorvus: yes, I like 1 and 2. re Kata apparently they are switching everything to github actions and so we may just be able to turn it off on our side14:44
corvusclarkb: oh that's easy then14:44
clarkbfungi: ^ can probably confirm that as he has been workign with them through the github events being missed bug14:45
corvustristanC: i wonder if we can examine the job-output.json files for jobs and see if we ran command or shell tasks on localhost?14:47
corvuswe might be able to write a quick tool to do that and detect this case14:47
openstackgerritTristan Cacqueray proposed zuul/zuul-jobs master: dco-license: remove the empty nodeset  https://review.opendev.org/74243014:47
corvus(in the untrusted context)14:47
corvustristanC: do you think that would be useful?14:48
tristanCcorvus: yeah, that doesn't seems overly complicated, walking through the job-output.json and filtering `command` module that happens on localhost in untrusted context14:49
tristanCi would run that before doing the upgrade14:49
corvusyou'd need to have a bunch of builds to feed it14:49
corvusor at least some suspect builds14:50
tristanCi guess the operator could use direct sql access to retrive a list of unique job over the last week or month?14:50
corvuswe have an api right? :)14:51
tristanCs/job/build/14:51
tristanCthe api is missing time range unfortunately14:51
tristanCi would write a first function that returns set of unique (job-name, tenant) tuple, and then another one that look for localhost unstrusted command in a build's job-output14:53
corvusthe api sorts though, and provides time info14:53
*** paladox has joined #zuul14:53
tristanCand report the affected job context14:53
corvusso just walk backwards14:53
corvustristanC: i'll write the second part; you want to write the first?14:54
tristanCi can work on that now14:54
fungiclarkb: corvus: sorry, groceries arrived in the middle of that... i don't know whether kata are the only opendev users who are running the dco-license job, though i would recommend anyone who's running it with gerrit to just switch to having gerrit enforce dco instead14:58
clarkbfungi: ya I've just approved the fix to the job (running on normal nodes)14:59
fungiand yeah, i'm not super concerned with fixing it for kata because they're switching to github actions for it anyway (so we can drop their tenant real soon hopefully)14:59
clarkband yes, I would suggest that anyone wanting to enforce dco do so via gerrit (and I dont' think we're doing any dco checks for our third party ci)15:03
openstackgerritJames E. Blair proposed zuul/zuul master: WIP: add a script to find untrusted execution tasks  https://review.opendev.org/74245815:05
corvustristanC: ^ there's the second half15:05
openstackgerritMerged zuul/zuul-jobs master: Temporarily disable tag cleanup in docker promote  https://review.opendev.org/74244715:07
*** bhavikdbavishi has joined #zuul15:10
corvusclarkb: i'll work on your timestamp idea now15:20
openstackgerritMerged zuul/zuul-jobs master: dco-license: remove the empty nodeset  https://review.opendev.org/74243015:23
corvusfungi: ^ new jobs should be working now15:23
tristanCcorvus: i'm adding first half to the script15:33
openstackgerritJames E. Blair proposed zuul/zuul-jobs master: Reinstate docker tag cleanup  https://review.opendev.org/74246115:40
corvusclarkb: ^15:41
clarkbcorvus: huh to_datetime can't handle the T and Z I guess? thats too bad15:42
corvusclarkb: yeah, it spit out an error about the format not matching with my local testing under 2.9.515:42
clarkblgtm15:44
clarkbI did double check and ansible_date_time doesn't seem to have a single value without the T and Z15:46
openstackgerritJames E. Blair proposed zuul/zuul master: Add reno configuration settings  https://review.opendev.org/74229615:46
clarkbwe could construct it out of the .date and .time values though15:46
corvusclarkb: yeah it's nuts15:46
clarkbbut I think the regex is clear enough to me so +215:47
corvusclarkb: i figured i'd do the same thing for both values15:47
clarkb++15:47
corvusanyone started on release notes for 3.19.1 yet?15:50
clarkbI haven ot15:50
corvusi'll do that15:50
*** zbr|rover is now known as zbr15:58
corvusbtw, i think in zuulv4, when we know we have secured zk, we can think about dumping this restriction entirely (and rely only on bwrap)15:59
corvusremote:   https://review.opendev.org/742473 Add 3.19.1 release notes16:06
corvuszuul-maint: ^ let me know if that covers everything16:06
clarkb+2 that seems to capture it16:09
openstackgerritTristan Cacqueray proposed zuul/zuul master: WIP: add a script to find untrusted execution tasks  https://review.opendev.org/74245816:10
corvustristanC: cool, i'm running that against opendev now16:12
*** marios is now known as marios|out16:12
corvusthat seems to be working -- it's found some docker promote jobs16:13
corvustristanC: but i think you have a debug line in there still16:13
*** marios|out has quit IRC16:13
corvustristanC: i left a comment pointing it out16:14
openstackgerritTristan Cacqueray proposed zuul/zuul master: Add a script to find untrusted execution tasks  https://review.opendev.org/74245816:17
corvustristanC: ah i just found the uuid thing too16:18
corvustristanC: i think we can just skip those, it looks like it's happening for 'skipped' jobs16:19
corvus(i don't think we have to add them to the failed_to_examine list)16:19
fungianyone else who followed the branched release notes discussion yesterday, reviews of https://review.opendev.org/742464 would be appreciated16:21
corvusi've started setting the topics for changes we need to merge before the release to "zuul-release"16:22
*** hamalq has joined #zuul16:22
clarkbfungi: done16:23
*** hamalq_ has joined #zuul16:23
corvustristanC: oh, and we might want to put the files in /tmp :)16:26
clarkbI think I've reivewed all of those changes identified for the release that are not WIP16:27
clarkbgoing to get a bike ride in now back in a bit16:27
*** hamalq has quit IRC16:27
corvuslooking back 2 days for opendev, i don't see any other jobs16:29
corvusi'm checking dashboard.zuul.ansible.com now16:31
*** bhavikdbavishi has quit IRC16:35
*** bhavikdbavishi has joined #zuul16:37
*** nils has quit IRC16:39
corvuslooks like ansible's zuul will be okay based on the last 2 days16:46
corvustobiash: i think you can unwip https://review.opendev.org/742353 now, seems like we're close enough to go ahead and put that in16:51
openstackgerritTristan Cacqueray proposed zuul/zuul master: Add a script to find untrusted execution tasks  https://review.opendev.org/74245816:53
corvustristanC: those changes all look good :)16:54
corvustristanC: except you left a tenant skip in there again :)16:55
tristanCnice, i'm also happy to report none of our tenants seems to be affected16:55
tristanCarg! :-)16:55
openstackgerritTristan Cacqueray proposed zuul/zuul master: Add a script to find untrusted execution tasks  https://review.opendev.org/74245816:56
corvustristanC: that's also great news, this may not end up being as bad as we feared :)16:57
*** jcapitao has quit IRC16:57
corvusclarkb, fungi:  https://review.opendev.org/742458 is ready for final review / merge i think16:58
tristanCcorvus: yes. In anycase it's worth the effort to have such functions to inspect job-output.json, that might comes handy in the future16:59
*** jpena is now known as jpena|off17:03
*** sshnaidm is now known as sshnaidm|afk17:09
*** sshnaidm|afk has quit IRC17:23
corvustristanC, clarkb, fungi: one of you want to +3 this? https://review.opendev.org/74235317:25
corvusi think that's the only thing missing a +w before we can tag17:25
*** sshnaidm has joined #zuul17:27
corvuscool, we're waiting on 4 changes to land; i'll work on the tag after they do17:27
*** sshnaidm is now known as sshnaidm|afk17:27
*** sugaar has quit IRC17:43
*** sanjayu_ has joined #zuul17:45
openstackgerritMerged zuul/zuul master: Add reno configuration settings  https://review.opendev.org/74229617:48
*** saneax has quit IRC17:48
*** rlandy|ruck is now known as rlandy17:56
*** _erlon_ has joined #zuul18:02
*** reiterative has quit IRC18:09
*** reiterative has joined #zuul18:10
*** reiterative has joined #zuul18:11
noonedeadpunkhi!18:14
*** bhavikdbavishi has quit IRC18:14
noonedeadpunkis there any way to get ansible requirements to be isntalled with zuul pre step?18:14
noonedeadpunkI mean like ansible-galaxy install -r {{ zuul.project.src_dir }}/requirements.yml ?18:15
noonedeadpunkas I need role to be executed which is not in required-projects (as it's third party github repo not owned by us)18:15
clarkbcorvus: looking now18:29
clarkbhttps://review.opendev.org/#/c/742458/ is failing on a linter check18:29
clarkband the other seems approved18:29
openstackgerritTristan Cacqueray proposed zuul/zuul master: Add a script to find untrusted execution tasks  https://review.opendev.org/74245818:30
corvusi re+3d that18:33
*** sanjayu_ has quit IRC18:33
corvusnoonedeadpunk: we have plans for incorporating that into zuul soon, but it isn't implemented yet.  if you need to do that, you'll need to run a nested ansible.18:33
corvusnoonedeadpunk: or help us implement it :)18:34
corvusnoonedeadpunk: (but i think our implementation in zuul will probably only support collections)18:34
noonedeadpunkok, then I'll use git module I guess18:37
noonedeadpunkbut thanks for the fast answer18:38
clarkbtristanC: do you have time for https://review.opendev.org/#/c/742461/ to address the docker image promote job?18:41
dmsimardvery interesting hack with the datetime :D18:43
openstackgerritMerged zuul/zuul master: Temporarily remove pending release notes  https://review.opendev.org/74235319:21
corvusone change remaining19:22
tristanCIt's a bit premature, but I wrote some Haskell libraries to interface with Zuul and Gerrit. Let me know if you are interested in such projects, here is what the Zuul documentation looks like: https://docs.softwarefactory-project.io/zuul-haskell/19:27
openstackgerritClark Boylan proposed zuul/zuul-jobs master: Collect partial subunit files  https://review.opendev.org/74252719:41
clarkb^^ is a change inspired by a job dansmith is trying to debug but it is timing out and we don't know why19:41
openstackgerritMerged zuul/zuul master: Add a script to find untrusted execution tasks  https://review.opendev.org/74245819:46
fungitristanC: not sure if you're aware, but the sf 3pci test-job-unittests-el7 seems to be failing on an ensure-pip task in pre, leading to retry_limit: https://softwarefactory-project.io/logs/27/742527/1/third-party-check/test-job-unittests-el7/2cb6d6e/job-output.txt.gz19:53
tristanCfungi: just saw that indeed, something about epel not found?19:53
fungii think so. yeah19:54
fungiclarkb: on 742527 it looks like partial_subunit_files.files is problematic19:55
fungimaybe it needs to no-op when partial_subunit_files is empty?19:56
clarkbI expected it to but I guess that isn't implied? also it seems that the existing testing for that runs localhost stuff?19:57
clarkbfungi: can you link to where you found the partial subunit file sissue? I've just found the localhost things so far19:57
tristanCfungi: it seems like we didn't ran the test on https://review.opendev.org/#/c/736070/ . iiuc that change made epel a requirement for ensure-pip19:57
fungii'm not sure i understand jinja's concept of "attribute" and whether that maps to a dict key in python19:57
fungias opposed to an actual python object attribute19:58
tristanCoh, because unittest use bindep, that ends-up running ensure-pip20:00
clarkbfungi: ya I think the issue is no files were found so .files doesn't get populated20:00
openstackgerritClark Boylan proposed zuul/zuul-jobs master: Collect partial subunit files  https://review.opendev.org/74252720:03
clarkbfungi: ^ I'm hopeful that will address that issue, though we seem to have separate testing problems20:03
*** yolanda has quit IRC20:05
*** yolanda has joined #zuul20:08
openstackgerritClark Boylan proposed zuul/zuul-jobs master: Collect partial subunit files  https://review.opendev.org/74252720:25
openstackgerritClark Boylan proposed zuul/zuul-jobs master: Disable workspace setup testing  https://review.opendev.org/74253720:25
corvuscommit 8ff7ff70c736a91db5f7672dbde04afb56ace400 (HEAD -> stable/3.x, tag: 3.19.1, origin/stable/3.x, refs/changes/73/742473/1)20:40
corvuszuul-maint: ^ does that look right for the 3.19.1 tag?20:40
openstackgerritClark Boylan proposed zuul/zuul-jobs master: Disable workspace setup testing and cleanup z-c testing  https://review.opendev.org/74253720:41
openstackgerritClark Boylan proposed zuul/zuul-jobs master: Collect partial subunit files  https://review.opendev.org/74252720:41
clarkbcorvus: looking20:42
fungicorvus: yep, that looks like the current stable/3.x branch tip commit and the history for that is what i would expect20:43
clarkbcorvus: looking at the git log for 3.x do we need the github fix?20:44
clarkbor did it branch before the bug was merged into master?20:44
*** nils has joined #zuul20:46
corvusclarkb: pretty sure it branched before; i think the github bug was very recent20:50
corvusclarkb: you mean the one we just fixed right?20:50
clarkbcorvus: yup. If thats the case then ya that sha looks good to me20:50
corvusclarkb: yeah, commit that introduced that was d94f3136873b7bcfcd967cbe8ffee7945d66018920:53
tristanC3.19.1 at 8ff7ff70c736a91db5f7672dbde04afb56ace400 lgtm20:54
corvusdoes not appear in 3.x history by my reckoning20:54
corvuspushing tag now20:54
*** nils has quit IRC20:54
corvusoh.  this is "funny".  we didn't backport the container build release job20:55
corvusso we won't end up with a 3.19.1 docker image20:56
corvusi think i should dequeue the release jobs20:56
openstackgerritClark Boylan proposed zuul/zuul-jobs master: Disable base role testing that runs code on localhost  https://review.opendev.org/74253720:56
openstackgerritClark Boylan proposed zuul/zuul-jobs master: Collect partial subunit files  https://review.opendev.org/74252720:56
corvusthen we can add the jobs and enqueue-ref it without having to disable the pypi jobs20:57
*** hamalq_ has quit IRC20:57
corvuszuul-maint: ^ anyone agree/disagree?20:57
*** hamalq has joined #zuul20:58
clarkbcorvus: that seems reasonable20:58
clarkbbe careful doing that with pypi though20:58
clarkb(if we only do a partial upload we can't replace the file)20:58
clarkbI guess we could tag a 3.19.2 if it came to that20:59
clarkb(on the same commti)20:59
corvusclarkb: i dequeued before the jobs even started20:59
clarkbperfect20:59
corvushrm21:00
corvusis it going to use the jobs in the tag?21:00
clarkboh in the past it wouldn't have21:00
clarkbbut now I think itwill?21:01
corvusyeah, but i think my change to "fix" that "erroneous behavior" has merged21:01
corvuslemme go see what it does21:01
corvus"Match tag items against containing branches"21:01
corvusi think we just need to merge the job into the stable/3.x branch then it should run even though it wasn't in the tag21:02
clarkbaha21:02
clarkbit matches to hte branch head not the tag state, that makes sense21:02
corvusi'll backport the job adds21:02
clarkbI need to pop out for a bit but here's an early +2 without seeing any code21:02
corvusremote:   https://review.opendev.org/742541 Update release jobs21:05
corvuszuul-maint: ^ we need that in order to actually publish docker images of the release21:05
ianwcorvus: not sure if you saw https://github.com/pyca/cryptography/issues/5339 re: adding zuul to pyca/cryptography; i think we're going to have a task convincing people but i could use your advice21:16
corvusianw: i think that's mostly an opendev policy question -- about whether we want to have un-gated github projects in a tenant21:22
openstackgerritClark Boylan proposed zuul/zuul-jobs master: Disable base role testing that runs code on localhost  https://review.opendev.org/74253721:23
openstackgerritClark Boylan proposed zuul/zuul-jobs master: Collect partial subunit files  https://review.opendev.org/74252721:23
ianwcorvus: i was trying to think through what the worst thing that can happen is ... would a broken file manage to stop all reloading?21:24
openstackgerritClark Boylan proposed zuul/zuul-jobs master: Disable base role testing that runs code on localhost  https://review.opendev.org/74253721:34
openstackgerritClark Boylan proposed zuul/zuul-jobs master: Collect partial subunit files  https://review.opendev.org/74252721:34
tristanCianw: not sure if that is expected, but after https://review.opendev.org/#/c/736070/ i had to switch our el7 node python-path to /usr/bin/python3 as well as pre-installed python-devel in the image to get ensure-pip to work again. Otherwise the job failed with an error because epel was not found21:40
tristanCand we missed ensure-pip path to trigger the test-job-unittests-el7 third-party test (which run on a centos-7 image without epel)21:41
clarkb./test-playbooks/base-roles/fetch-subunit-output.yaml:71:5: [warning] comment not indented like content (comments-indentation) anyone understand why https://review.opendev.org/#/c/742537/5/test-playbooks/base-roles/fetch-subunit-output.yaml trips that?21:47
clarkbI've dedented it too and am very confused21:47
*** vishalmanchanda has quit IRC22:01
*** rlandy is now known as rlandy|bbl22:26
openstackgerritClark Boylan proposed zuul/zuul-jobs master: Disable base role testing that runs code on localhost  https://review.opendev.org/74253722:32
openstackgerritClark Boylan proposed zuul/zuul-jobs master: Collect partial subunit files  https://review.opendev.org/74252722:32
clarkbfinally managed to figure out yamllint22:32
clarkbzuulians ^ I'm not sure that is the bet approach there. Its sort of a fix it fast with comments then allow us to come back and figure out a better solution later solution22:46
clarkbreviews appreciated I think they should both pass now. I'm going to find dinner and a long nap though22:47
*** tosky has quit IRC23:03
*** armstrongs has joined #zuul23:13
ianwtristanC: hrmm, yeah i guess; can you install the epel repo in the base image?  with it disabled by default?23:20
*** yolanda has quit IRC23:23
*** armstrongs has quit IRC23:23
*** yolanda has joined #zuul23:24
tristanCianw: i'd rather not to as epel is quite a big repository. and i'm not sure why would it be needed now, ensure-pip (needed for unittest) used to work fine without it.23:27
ianwtristanC: well i guess you'll need to set ensure_pip_from_upstream and install it with get-pip.py out of band.  packaged pip is on epel for centos7 so i don't see there's much else can be done?23:29
ianwthen you have to worry about other jobs installing the python-pip package over the top -- but perhaps in a unittest case where that won't happen it's a ok trade-off23:30
tristanCianw: i managed to fix our nodeset by setting the python-path to python3 in nodepool configuration.23:32
ianwtristanC: right, that would have made ansible_python.version.major not match23:33
ianwhttps://opendev.org/zuul/zuul-jobs/src/branch/master/roles/ensure-pip/tasks/RedHat.yaml#L21 to be specific23:34
ianwthat seems valid too, as long as your unit tests/tox whatever is all running under python323:35
ianwi dunno, i'm open to suggestions.  it seems if people are using ansible under python2 and requesting package installs of pip all we can do is install from epel which is what they are implicitly asking for23:37
tristanCianw: well i'm not sure, but i guess epel is now required by zuul-jobs to work on centos-7 with python223:40
ianwi don't really agree with that -- epel is required to install python-pip from packages on centos7 if that's what you ask for23:41
ianwwhich, i agree, is the default state we have chosen.  but you can choose to install pip from upstream source if you would like23:41
tristanCianw: well i didn't ask for it, it seems to happen by default when using the unittest job23:42
ianwright, but you sort of did by accepting the defaults, which we have chosen as installing from packages.  but you *can* turn it off, if you'd like23:42
tristanCianw: here is the how our centos-7 node is created: https://softwarefactory-project.io/cgit/config/tree/containers/centos-7/Dockerfile23:43
tristanCianw: and that recently stopped working because "Repository epel not found."23:44
ianwtristanC: well, the intent of ensure-pip has always been to install pip from packages in the default case, unless ensure_pip_from_upstream is set23:46
tristanCwe don't have the logs anymore, but the last successfull test-job-unittests-el7 without epel7 was with https://review.opendev.org/#/c/730668/23:56

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