Tuesday, 2020-11-10

*** Goneri has quit IRC00:53
*** rlandy has quit IRC02:15
openstackgerritPierre-Louis Bonicoli proposed zuul/zuul master: Allow to reuse the code handling the branch cache  https://review.opendev.org/75672502:26
openstackgerritPierre-Louis Bonicoli proposed zuul/zuul master: gitlab: handle protected branches  https://review.opendev.org/75690002:31
openstackgerritPierre-Louis Bonicoli proposed zuul/zuul master: Gerrit & Pagure: reuse CachedBranchConnection  https://review.opendev.org/75838602:34
openstackgerritPierre-Louis Bonicoli proposed zuul/zuul master: gitlab: handle protected branches  https://review.opendev.org/75690002:36
*** hamalq has quit IRC02:44
*** bhavikdbavishi has joined #zuul03:10
*** bhavikdbavishi1 has joined #zuul03:13
*** bhavikdbavishi has quit IRC03:15
*** bhavikdbavishi1 is now known as bhavikdbavishi03:15
*** tflink_ has joined #zuul03:18
*** tflink has quit IRC03:18
*** vorotech has joined #zuul04:16
*** bhavikdbavishi has quit IRC04:24
*** bhavikdbavishi has joined #zuul04:24
*** vishalmanchanda has joined #zuul04:58
*** evrardjp has quit IRC05:33
*** evrardjp has joined #zuul05:33
*** vorotech has quit IRC06:07
*** bhavikdbavishi has quit IRC06:11
*** bhavikdbavishi has joined #zuul06:12
*** vorotech has joined #zuul06:12
*** vorotech has quit IRC06:18
openstackgerritsean mooney proposed zuul/zuul-jobs master: make revoke sudo work if the zuul user is not used  https://review.opendev.org/76208206:54
*** wuchunyang has joined #zuul07:02
*** bhavikdbavishi has quit IRC07:05
*** vorotech has joined #zuul07:08
*** bhavikdbavishi has joined #zuul07:23
*** tosky has joined #zuul07:32
*** jcapitao has joined #zuul07:40
*** bhavikdbavishi has quit IRC07:44
*** hashar has joined #zuul07:50
*** vorotech has quit IRC07:52
*** vorotech has joined #zuul07:54
*** vorotech has quit IRC07:57
*** vorotech has joined #zuul07:59
*** bhavikdbavishi has joined #zuul08:05
*** rpittau|afk is now known as rpittau08:08
*** vorotech has quit IRC08:14
*** vorotech has joined #zuul08:16
*** tosky has quit IRC08:23
*** jfoufas1 has joined #zuul08:29
*** jpena|off is now known as jpena08:56
*** SotK has quit IRC09:00
*** SotK has joined #zuul09:01
*** vorotech has quit IRC09:13
*** vorotech has joined #zuul09:22
*** hashar has quit IRC09:22
*** vorotech has quit IRC09:25
*** hashar has joined #zuul09:28
*** tosky has joined #zuul09:31
*** nils has joined #zuul09:39
*** zenkuro has joined #zuul09:40
*** wuchunyang has quit IRC10:10
*** hashar is now known as hasharLunch10:18
*** rpittau has quit IRC10:26
*** johnsom has quit IRC10:26
openstackgerritAshley Bullock proposed zuul/zuul master: Add initial bitbucket cloud driver using webhooks  https://review.opendev.org/75900310:26
*** rpittau has joined #zuul10:27
*** johnsom has joined #zuul10:28
*** wuchunyang has joined #zuul10:33
*** sshnaidm|rover is now known as sshnaidm|afk10:34
*** holser has joined #zuul10:36
*** wuchunyang has quit IRC10:37
*** paladox has quit IRC10:42
*** paladox has joined #zuul10:46
*** zenkuro has quit IRC11:08
*** bhavikdbavishi has quit IRC11:08
*** zenkuro has joined #zuul11:09
*** wuchunyang has joined #zuul11:40
*** bhavikdbavishi has joined #zuul11:48
*** bhavikdbavishi1 has joined #zuul11:57
*** bhavikdbavishi has quit IRC11:59
*** bhavikdbavishi1 is now known as bhavikdbavishi11:59
*** jcapitao has quit IRC12:02
*** jcapitao has joined #zuul12:03
*** jcapitao has quit IRC12:03
*** rfolco has joined #zuul12:08
*** rfolco has quit IRC12:21
*** zenkuro has quit IRC12:24
*** zenkuro has joined #zuul12:24
*** zenkuro has quit IRC12:26
*** zenkuro has joined #zuul12:26
*** holser has quit IRC12:27
*** jpena is now known as jpena|lunch12:35
*** wuchunyang has quit IRC12:39
*** hasharLunch is now known as hashar12:44
*** rlandy has joined #zuul12:50
openstackgerritTobias Henkel proposed zuul/zuul master: Add optional support for circular dependencies  https://review.opendev.org/68535412:52
openstackgerritTobias Henkel proposed zuul/zuul master: Add optional support for circular dependencies  https://review.opendev.org/68535412:54
openstackgerritTobias Henkel proposed zuul/zuul master: Check cycle items are mergeable before reporting  https://review.opendev.org/74345012:59
openstackgerritTobias Henkel proposed zuul/zuul master: Make reporting asynchronous  https://review.opendev.org/69125312:59
*** sshnaidm|afk is now known as sshnaidm|rover13:00
*** jcapitao has joined #zuul13:12
*** zenkuro has quit IRC13:17
*** rfolco has joined #zuul13:32
*** bhavikdbavishi has quit IRC13:32
*** jpena|lunch is now known as jpena13:37
*** holser has joined #zuul13:37
*** Goneri has joined #zuul14:16
*** jcapitao has quit IRC14:24
*** jcapitao has joined #zuul14:25
*** jcapitao has quit IRC14:34
*** jcapitao has joined #zuul14:34
zbrdoes zuul have anything similar to gerrit even stream? i am looking for a way to capture when builds start and end.15:06
mhuzbr, the mqtt reporter maybe? not sure if starting events are emitted though15:07
zbrthe database reported clearly does not record starts, and also not doing any streaming.15:08
zbri guess that even a http based poller could work if the client can specify event timestamp15:09
fungithe db records build start times after the fact, since it's a reporter (reporters act on completion of a buildset)15:11
*** rpittau is now known as rpittau|bbl15:14
fungithe mqtt reporter has the same behavior, so probably also not suitable for what you're wanting15:14
fungi"It is used to send MQTT message when items report." https://zuul-ci.org/docs/zuul/reference/drivers/mqtt.html15:15
zbrthat page say: "The reporter action name, e.g.: 'start', 'success', 'failure', 'merge-failure', …"15:16
zbri see a start there....15:16
fungithat's for the buildset, so it fires on item enqueue15:17
funginot on start of each build15:17
fungie.g., the "starting gate jobs" message opendev's zuul comments on gerrit changes15:17
fungithat's done with a gerrit reporter start condition15:18
fungii think there was previously talk about adding a more generic internal event stream interface similar to how statsd is handled now, but to potentially support other protocols15:19
zbrusing gerrit comments is not quite the best approach, what if zuul does build from other systems like github/gitlab?15:19
zbrnot to mention that the comments appear only when the entire buildset finishes, which can be hours later.15:19
fungizbr: i'm not understanding your question. i was just explaining what a start condition for a reporter is by using an existing example you might have witnessed personally15:20
fungibecause you asked about using the start condition15:20
zbrso basically the start event from mqtt means "buildset enqueue", which is very different that one would expect.15:21
fungiit provides feedback letting you know zuul has seen the event and acted on it by enqueuing the item15:21
zbri would say that most people would count as "start" time the moment the race begun, not the time taken to walk towards the start line from the moment the race was approved.15:22
zbrwhich is also a very useful event15:22
fungiyeah, i'm not saying what you're asking about isn't useful, just saying that i don't think it exists yet and someone would need to work out how to add it. in previous discussions the closest thing we have to outwardly representing internal events is statsd integration, so extending that to something which could support other communication channels could provide a more detailed event stream than simple counters15:25
fungido15:25
zbrfungi: so basically the only events supported by MQTT reporter are related to buildsets lifecycle, right?15:26
fungicorrect15:26
fungizuul's original feedback mechanism was reporting on changes, so as it's grown most of the transactional feedback which has been added has been built up around the reporter model15:26
avassI think some people using github wanted jobs reported individually as well15:27
avassand we've also got some interest for that internally at Volvo15:27
fungiit would be good to talk through what that data model would look like on the code review side with regards to signalling/conditions/acls15:28
fungifor the github example, i gather github requires you to predefine the ci results which allow or block merging, which wouldn't be possible with a dynamic set of builds15:29
avassyou could still let the pipeline report and block on that15:30
fungior do you imagine multiple tiers of reporting, separately for the individual builds and also for the buildset as a whole?15:30
avassbut display results for individual jobs15:30
avasssomething like that15:30
* zbr is trying to update the MQTT docs to make it clear.15:30
fungiso the individual build result reporting would be entirely advisory, while the buildset result is what would register the gating signals to github?15:31
avassyeah15:31
avasswe're not using github but that's what I understood other systems do and what webknjaz wanted15:31
avassand that would probably work for other usecases as well15:32
*** zenkuro has joined #zuul15:33
avasswe just want to be able to report that data to a separate internally service for visualization15:35
corvusactually the 'start' reporter reports when the first build of the buildset requests nodes; it's a little different than it being enqueued.15:36
webknjaz@fungi: yep, something like that15:36
corvusavass: i think improvements to the sql db might be the best way to accomplish that.  remember that in v4 it won't be a reporter any more, it'll be integral.  so we can store more fine-grained data about more builds.15:37
openstackgerritzbr proposed zuul/zuul master: docs: clarify MQTT messages  https://review.opendev.org/76215915:37
avassthere was also an idea to just do that with an ansible callback somehow15:37
fungicorvus: thanks for the clarification, i forget that zuul has to analyze the item and its deps before it can decide on a node request15:38
fungiand that can indeed have its own delays15:38
webknjazAnother idea that crossed my mind is that on Zuul side, it'd be cool to have some view with jobs/logs similar to what all other CIs provide. Just this morning I was reading a feedback of how frustrating it is that boils down to the UI being a universal view into the database details rather than high-level concepts everybody is familiar with15:38
fungiwebknjaz: examples would be great. zuul is the only ci system i've used for so many years i personally have no idea what sorts of interfaces other ci systems provide these days15:39
avasscorvus: now I haven't worked with sql a lot, but what we want to do is report any events (job start,success,failure,abort) to a message queue that handles the rest15:40
corvuswebknjaz: is this feedback accessible to other folks?15:41
webknjaz@fungi: @corvus: https://github.com/pypa/pip/pull/9107#issuecomment-72453673215:41
zbrnot sure if webknjaz was thinking about the same thing as me, but I kinda find the ab(use) of GUIDS in zuul far from user friendly. It produces a lot of extra content which is mostly noise. Which human would observe that one letter changed in an endless hash?15:42
zbri know the technical reasons for hashes, but I doubt they deserve primetime in the UI (including urls)15:42
webknjazBasically, I'd like to explore a separate/additional UI that would hide all the implementation details15:43
corvuswebknjaz: i don't read that comment in that way.15:43
corvuswebknjaz: it sounds like that person landed on a text log file instead of being directed to a buld or artifact page15:43
webknjazI have a metafor for this: using Zuul feels like if a typical website, instead of asking for a user/password pair on log in required everyone to write a SQL query15:44
corvusit seems like once ianw pointed them at the build page they were a lot happier15:44
zbrwebknjaz: considering my lack of success in improving the current ui even with minor changes, I would recommend you to start with very small improvements15:45
corvuswebknjaz: i appreciate your intent to help, but that's not productive criticism.15:45
corvuswebknjaz: that's a lot like your earlier statement that the ui was "terrible" :(15:45
corvuswebknjaz: let's try to find out what's actually not working for people and improve it.  concrete issues and solutions.15:46
zbrdoes anyone remember why mypy is pinned down? i run into some problems running locally and I supposed it may be related to me using py3915:46
corvusfor example, how did pfmoore end up on a text log?  did something report that to the wrong place?  or did they just end up looking at a non-representative example.15:47
clarkbzbr: I think there are notes in the change or commit log. I remember bumping it up as high as I could with minor edits to the code15:47
webknjaz@corvus: yes but still there's a huge disconnect between the typical Zuul users bubble and the outside world. Good UX usually means that the user wouldn't get lost there when seeing the new UI, having to explain every bit to new folks each time is by itself a good signal that something should be improved radically. I myself get lost 50% of time I end up in that UI.15:48
corvuswebknjaz: i'm not convinced that pfmoore actually saw the ui15:48
zbrclarkb: thanks, i am looking now if another bump with minor tuning would fix it. maybe we can also add a py39 job?15:48
avasscorvus: I think one way to start is to report invidual jobs to github somehow15:48
corvuswebknjaz: "There's only one link to an example of output that I could find." that's what pfmoore said.  that doesn't say "i saw zuul used for real on my repo and followed the link it reported and had a problem"15:49
corvusavass: i would welcome a concrete proposal for how to accomplish that with all the caveats that are in the existing doc from tobiash.15:50
corvusi said as much the last time we talked about this, but i haven't seen anything show up on the mailing list yet.15:50
avassI was waiting for webknjaz to send something :)15:50
corvusavass: and again, i'm pretty sure that three people have joined this conversation and are bringing their own pet peeves to it15:50
corvusthat's fine15:50
corvusbut let's be up front about it15:50
corvusif avass wants individual github job reports, that's great, but let's not think that's going to solve pfmoore's problem that they found an example text log somewhere15:51
avassI'm not sure how that would happend either. Unless he caught an unfinished buildset and clicked on a finished build15:52
corvusi mean, the comment came before the project was even set up15:53
fungior found a project which had a misconfigured zuul reporting on it or something15:53
corvusso i have no idea what they found15:53
corvuscould have just googled or something15:54
*** rpittau|bbl is now known as rpittau15:54
webknjaz@corvus you're right, I must be projecting my own impression on what Paul wrote there. But there was a similar sentiment in 2 issues that led to the PR: we had to fight for the change to even give it a try. And yes, job matrix reporting is separate from this.  I haven't had a chance to write down all my thoughts on this yet.15:55
avasscorvus: it did? (ianw ran some rechecks before that)15:56
avassmaybe pfmoore looked at the links ianw posted: https://github.com/pypa/pip/pull/9107#issuecomment-72289072815:58
corvusavass: maybe.  anyway, for me the comment reads much more like the latter than a build page.15:58
avassyeah15:58
*** zenkuro has quit IRC16:00
openstackgerritAshley Bullock proposed zuul/zuul master: Add initial bitbucket cloud driver using webhooks  https://review.opendev.org/75900316:04
*** jfoufas1 has quit IRC16:06
*** vishalmanchanda has quit IRC16:06
corvusavass, webknjaz: on this page, i see the individual job(s) listed: https://github.com/pypa/pip/pull/9107/checks?check_run_id=137870817416:10
corvusbasically, if we reported jobs as individual checks, they would show up on the left16:10
corvusbecause of the compromise we made, you have to click "pypa/check" and then the jobs show up in the middle of the page16:11
zbrianw: corvus: please check again https://review.opendev.org/#/c/734833/ and tell me if last version is ok.16:11
corvusi'll grant it's a little deficient compared to other systems (but only because zuul is doing more)16:11
corvusand if we could improve it for that use case, it's worth considering16:11
corvusbut the direct job links are there; we're not asking folks to go searching through buildset indexes or anything to find their jobs16:12
avassyes and that could stay which is what would allow maintainers to select which check should block merging a PR16:12
corvusavass: yeah the "do both" option?16:12
avassyep, which is what other CI services do afaik16:13
avassthat way the individual jobs are more visible which would probably cause less confusion16:13
corvusright, my point is that the status quo isn't *terrible* -- they are there, the ui just isn't as slick as it could be16:14
fungihow does that play out with the need for github "checks" to all be predefined? just don't register the individual jobs as checks, or are those other ci systems relying on job lists being static?16:14
corvusanyway, i think it's a good idea, and look forward to webknjaz's write up so we can analyze/agree on it and move forward16:14
avassfungi: I don't think all jobs has to be predefined16:15
corvusfungi: they only need to be predefined in order to require them as branch protection16:15
avassat least that's not my experience16:15
fungiahh, okay16:15
* zbr thinks analogy around half-full or half-empty glass is needed.16:15
corvusfungi: so in order to tell github "require gate before allowing a change to merge" there has to be a check called "gate" that has run -- so you need a stable name16:15
avasscorvus: though what we want isn't github support. we just have some users that want data reported when the builds finish instead of when the buildset finishes. but it's not a high priority in any way :)16:17
corvusfungi: iiuc webknjaz suggestion is/will-be that we report the pipeline as a check, and also the individual jobs as a check.  a user configuring the github branch protection would tell github to require "gate" and ignore all the other checks it knows about.16:17
zbrimho, what I find confusing is that I cannot easily get to the main-build-output when I click the build. instead i get a full dashboard which can be overwhelming16:17
fungizbr: which output is the main build output? an artifact?16:17
avassI think the idea was also that the invidual checks for the jobs would be namespaces with the pipeline name so they didn't override eachother16:17
corvusavass: right, there's a fundamental disconnect with that request and we should dig into what you really need and why to figure it out.  the fundamental issue is that in zuul, it's not over till it's over (speculative execution makes that necessary).16:18
zbrlets think about very basic example: tox jobs. regardless if the job is success or failure, if you clicked on it you are likely to want to see tox output right away, without extra digging.16:18
zbrif it was a failure is bit better as we do display the abridge failed task.16:18
corvuszbr: when i click "pypa-pip-py38" on that check output page, i get to the summary page for that build16:18
avasscorvus: right since that would technically only work in an independent pipeline unless you're okay with a 'finished' job starting again.16:18
corvusthis page: https://github.com/pypa/pip/pull/9107/checks?check_run_id=1378708174  leads here:  https://zuul.opendev.org/t/pypa/build/3a977302d0264abbb9326102eedb32a416:18
zbrbut if it passed, the new user will struggle to find the tox output in the output.16:19
zbrwhen analyzing UX, try to put the hat of someone what has no knowledge of zuul. (can be hard) but try.16:19
corvuszbr: can i summarize your feedback as suggesting that the 'console' tab is not apparent/discoverable?16:19
zbrwhile console tab is visible, what user will see is not a "terminal console with tox output" when it clicks it.16:20
zbrit will see lot of ansible tasks, which they have no clue about. finding the right task is ticky, most of the time I use "search in page"16:21
avassimo the ansible tasks are close enough to github workflow tasks so it shouldn't be too hard to figure out16:22
zbrafter clicking on console, you get a huge table, where you need to scroll to a particular task, which is not highligted in any way, it is just called "Run tox".16:22
clarkbavass: zuul isn't parsing the stdout though :P16:23
zbri never seen 30-ish tasks on github actions, usually there are 3-4 of them.16:23
corvuszbr: well, that's on us as job authors16:24
corvuswe told ansible to do 30 things16:24
zbri know it would be quite tricky to determine which tasks are meaningful when you have a success. for failures is easier.16:24
corvusif we want it simpler, we could just write 4 ansible tasks16:24
zbri think we need to think about some kind of nesting/collapsing, in order to reduce apparent complexity.16:24
fungiwhat i don't understand is why would the user have any more understanding of a giant heap of text output than they would for the tasks which make up the job they ran16:25
corvuszbr: you know the playbooks are expand/collapseable?  and there are 4 of them on the job i linked?16:25
zbrfungi: because user likely already run tox locally, he knows what he would get from tox.16:25
avasszbr: isn't that because github VMs already have a lot of software already installed and zuul jobs install it during the job and display it in the console instead?16:25
corvushere's the problem:16:25
zbrthe expectation of the user is that CI would somehow provide a similar experience with local command line run.16:26
corvuswe're running ensure-pip in the run playbook16:26
corvusit should be in pre16:26
corvusif we did that, then only the tasks that are relevant would be displayed16:26
tobiashalso ensure-tox could be moved to the pre-run16:26
corvustobiash: ++16:26
fungizbr: so the idea is that job authors should be able to flag specific tasks as "expand by default" in the console view or included in the summary view regardless of outcome?16:26
zbrit is true that the idea of all-in-once images from github does simplify the pipeline definition.16:27
zbrfungi: yep, i think something like this.16:27
tobiashcan this be done with tags?16:27
fungii don't know what all-in-once images github provides. can you explain?16:27
zbras job author you are likely to know what task is likely to be the "core" of your job.16:27
avassfungi: anything you could wish for :)16:28
zbrfungi: for example github pre-installs stuff like docker, podman, and lots of other stuff on its images, they are just there.16:28
corvuszbr, tobiash: if we re-arranged those playbooks as they should be, that job would look like this: https://imgur.com/a/YmzzyMh16:28
fungigot it. well in theory zuul deployments can have that too16:28
tobiashcorvus: looks much better16:29
fungino reason you can't make a "docker" nodeset and a "podman" nodeset and whatever16:29
tobiashand as side effect the job is more stable :)16:29
avasscorvus: ++16:29
corvusi think if a zuul deployment were to target github users, they absolutely should have those thing pre-installed on images.16:29
fungibut if you want to test different versions of "docker" than that image provides, suddenly installing docker in a pre playbook becomes more flexible16:29
corvusnote that opendev is not targeting github users16:29
zbrfat-images are ticky for mentioned resons and also because to do them right you need a huge amount of testings, something we kinda lacked so far.16:30
fungiyeah, opendev in particular is trying to maintain a minimal number of per-distro-release node types to keep maintenance burden low16:30
corvusopendev's users value reproducibility from scratch on vanilla images very highly, so we're moving to bare images more and more16:30
zbralso github has only one distro to support, much easier for them16:31
zbri would focus our attention on improving the display of tasks as a first step16:31
* avass putting some comments on the PR so this leads to something16:31
fungiopendev's largest user, openstack, has job frameworks which want to test that they can correctly install those things, so having them preinstalled works against that goal16:31
corvusavass: on the pr?16:32
fungialso different frameworks which disagree on how and from where those same tools should be installed16:32
avasscorvus: https://github.com/pypa/pip/pull/9107 but I guess it's just the ensure-tox16:32
zbrI bet 99% of users do not need/want to see all the noisy 11 tasks before "tox: Run tox" one.16:32
corvusavass: i'm not sure that putting a comment on a PR in the pip project is going to lead to opendev restructuring its jobs?16:32
corvuszbr: of course not, that's why we have pre-playbooks and why they are hidden by default16:33
corvuszbr: the solution is to move those tasks to pre-playbooks16:33
fungizbr: at least not until they propose changes to their project which could influence how those tasks run16:33
avasscorvus: that job was in the repo16:33
avasscorvus: normally ensure-tox would have been in a pre-run16:33
corvusavass: ack, then i agree, pr comment makes sense :)16:34
corvuszbr: it doesn't require any new ui work.  it requires using the tools we already have correctly16:34
corvuszbr: let me put it another way: what you want already exists.  wish granted!16:34
zbrand maybe we can combine it with a change that allows us to define a task that is included in summary even for succesful runs?16:35
zbrso user will get to output without clicking anything.16:36
corvuszbr: that's a good idea worth exploring16:36
corvuszbr: though, as an alternative, what about just dropping the summary page and having the user land on the 'console' tab?16:36
corvuss/summary page/summary tab/16:37
zbrcorvus: tbh, what is the value of the summary page? those two stats lines?16:37
avasszbr: or output for any failing task16:38
zbrbut at the same time, I find the header part as taking far too much screen real-estate16:38
clarkbalso artifact links16:39
clarkbI use the artifact links a lot16:39
corvusclarkb: those are in a tab now16:39
clarkboh heh shows how much I've done since the pf updates16:39
fungithe summary page used to have some additional details which have now moved up into a more persistent area of the build result ui16:39
fungiso i agree it's serving less of a distinct purpose now16:40
webknjazWhat @zbr wrote is something that I've been failing to communicate clearly. Basically, GitHub users expect that if they add a shell command, they'll see that command executed in the log just if it was a local run. They don't need to know about the implementation details (Ansible etc). Other CI providers hide or collapse their infrastructure scripts (you usually need to enable some debug mode to see them). But then, it puts what the project16:40
webknjazmaintainers wrote in the CI config on the spotlight: this is what is important to them *most of the time*. All the extra Ansible-specific details are just noise in this case. They may be necessary occasionally if everything goes wrong heavily but not very often. If I tell the CI to run tox, I expect to see exactly that: tox command with args logged + it's output + maybe a flag if it failed...16:40
corvusyeah, i think the value is to signal "everything's ok!"  or "here's what probably went wrong".  that predates the console tab though, and the console tab also tries to guess what went wrong (but it shows you the full output), so it's worth considering whether both are still necessary.16:40
zbri do not think that header should take ~40$ of screen width (4K full screen). The effective list of tasks starts on the second half of the scren.16:40
corvuswebknjaz: i agree.  i believe that the zuul software and job authors also agree, and that we have the tools to do that but are not using them correctly now.16:41
*** iurygregory has quit IRC16:42
corvuswebknjaz: i think the most zuul-ish way to achieve that would be to move "boring" actions out of the run playbook into pre-run playbooks so that the console tab shows only the interesting actions.  then i think we should think about making the console tab the default.16:43
fungisounds like the other desire is possibly auto-expanding one or more tasks even if they succeed16:43
corvusfungi: ++ (zbr)16:44
webknjazYeah, the console tab seems important16:44
fungiso for example if clicking on a job result took you to something like https://zuul.opendev.org/t/zuul/build/be42d72ce6e046aca46787ab485dbcff/console but with the "tox: Run tox" task expanded by default?16:44
* zbr feel happy as it seems to be some kind of agreement regarding what to change the UI.16:45
avassmaybe install-siblings should be part of the pre-run. that's not really running any tests and is something you'd expect to succeed16:45
zbrmaybe we can add an ansible tag "expanded" to declare its status in UI.16:45
corvusalso, we might look at roles like "tox" and try to simplify them.  maybe we shouldn't do "record file location" and "create a tempfile" and "remove tempfile" all as individual ansible tasks; maybe we should make some shell snippets to do some of that to keep the noise down.16:46
webknjaz@fungi other CIs dynamically expand each task during its execution and collapse them back on success. If all the tasks succeed, they all are collapsed (which is okay if they have meaningful names). If a task fails, it usually stays expanded16:46
fungiwebknjaz: got it. so that's what the build result has for zuul's console tab as well. failed tasks are left expanded by default16:46
zbrwebknjaz: this report is generated after the run. for live output we only have a standard streamed console.16:46
corvusfun fact: we actually could do this live if we wanted :)16:47
webknjazI'm just sharing how other things work :)16:47
corvusit would be some fancy js programming, but all the pieces are there16:47
corvus(the system was designed to support that eventually)16:47
avasscorvus: do you mean the console tab? because I'm not sure how that would work16:49
webknjazI feel like we need to get some of Zuulers watch a few builds in various CIs so that everyone could be on the same page, because retelling in own words loses may be imprecise16:49
fungithe other challenge i see is that our per-task view lacks the timestamping and line numbers/clickable reference anchors we get from the log viewer. i don't know whether we have sufficient metadata to be able to add those features to the console stdout/stderr lines but it would be nice to have consistency there if possible16:49
corvusfungi, zbr: maybe we should keep the "expand this task even on success" idea in reserve for now -- ie, let's try out the other ideas first; because i think there's an argument to be made that if we get the rest of the ui right, then users won't need/want successful items expanded (it would be obvious which thing to expand if they really want to see it)16:49
corvuswebknjaz: i think most of us have seen other systems :)16:49
* avass does not miss the jenkins days16:50
webknjazOh, I just got an impression that some of the assumptions about the other systems are a bit off or maybe just outdated16:51
fungii have seen the results of other systems from time to time, but i don't generally "watch" ci systems in action, i have work of my own to be doing while the ci systems do theirs. also it doesn't help that github doesn't show ci details to anyone who isn't logged in16:51
webknjazYeah, that's weird. But other systems are public16:52
fungiusually i'm working on (at least) ten different things so if i push a change for something i'll switch gears to a different activity and check back later to find out what results the ci system gave. i can't imagine having time to sit and watch jobs as they unfold unless i'm debugging the jobs themselves16:52
webknjazFair enough16:53
fungii think a lot of zuul users work similarly, so it hasn't been developed as a source of live entertainment ;)16:53
corvuswe also don't seek to explicitly copy any other system16:54
corvushappy to borrow as things see fit16:54
corvusbut our goal is not to out-travis travis :)16:54
avasswebknjaz: it also seems to me that other systems are focusing on different things. zuul is trying to scale up CI while other systems only seem to manage a single repo at a time and run changes independently and let users run regression tests after they're merged.16:54
corvusthe fact that we can do what avass said *and* it turns out we also have a console log data structure that lets us display data similarly to other ci systems (if only we tweak it a bit to improve the signal/noise ratio) is pretty cool.  :)16:55
corvusbut we have that data because it was driven by the underlying use case (multi-system coordination), not because we wanted to mimic travis16:56
webknjazThere's cases when something is only reproducible in CI and you have to push updates to Git to trigger it and then you watch it reach the failing step to see if your change fixed it which is not uncommon16:56
avassour answer when someone asks us how we handle regression is almost always "we don't have regression"16:57
corvusavass: we should put that one the hompage16:57
avass:)16:57
avasswebknjaz: yes and those errors should be investigated and fixed :)17:00
*** sshnaidm|rover is now known as sshnaidm|off17:01
fungiwebknjaz: even then, i trust that the build result will probably contain the data i need to discover what's broken there. and if it doesn't i can push up another change to add more detail/gather more log files and configs... but i don't usually watch it live i just iterate on it in between juggling other activities17:01
webknjazre: expand all —there's one case where it's useful: sometimes some env/transitive dep changes and breaks the build w/o changes to the project itself. In this case, I often open two builds an need to compare the logs. But it's not happening too often so instead of the autoexpand I'd suggest a UI button for that17:01
clarkbwebknjaz: that case and ones like it are why I'm the oddity that lives in the text logs. I rarely use the rendered versions17:02
clarkbI find that I can manipulate text far more effectively. Grep/diff/etc. I'm always lost when dealing with travis type results17:03
fungii do certainly perform side-by-side comparison of job logs, but that doesn't rely on live streaming17:03
clarkbbut I also liekly debug "why did this job fail in a weird way" more than most17:04
webknjaz@fungi: when the failure happens pretty fast after the build starts, the context switching to other tasks contribute to loosing focus so it may be easier to keep rechecking the build17:04
fungiwebknjaz: that's fair. i'm also accustomed to a ci environment which is often backlogged and so don't expect my builds to start immediately17:05
zbrclarkb: fungi: any chance to make the Makefile a reality? https://review.opendev.org/#/c/723837/17:08
*** hamalq has joined #zuul17:10
avasscorvus: btw are updates to zuul-helm appreciated or is the focus more on the operator. I've almost finished up our helm chart for deploying zuul/nodepool/zookeeper and might be able to push to opendev from that17:10
*** hamalq has quit IRC17:10
clarkbzbr: I'm not sure we should merge that unless we intend to use it since it may regress otherwise. That is basically why my makefile from 2014 never merged17:10
*** hamalq has joined #zuul17:11
corvusavass: i think helm updates would be welcome; i stopped using it though, and am unsure about mnaser.  but i'd be happy to take a look if you push something up17:11
clarkbzbr: also I'd prefer that if we used make we didn't continue to depend on tox17:12
clarkbat least my original motivation was to remove the tox dep17:12
clarkb(and there were many erason for thati ncluding it was impossible toget bug fixes in tox, tox chagned a lot and broke things, and so on)17:12
*** rlandy is now known as rlandy|brb17:12
corvus[i have to afk for a few hours]17:13
avasscorvus: sure, some parts might be a bit rough. but I'll see if I can get something up :)17:13
zbrclarkb: i think that ditching tox is a totally different aspect and i am personally against it.17:14
clarkbzbr: in that case lets not add a makefile17:14
clarkbits just noise to do that17:14
clarkbtox and make fill the same niche for python projects17:14
zbrnot really, now I cannot lint all. there is a huge divide between the python part and the js part.17:14
avassI guess the biggest part would be a zookeeper subchart with tls certificate generated by a job pod unless it already exists17:14
clarkbzbr: tox runs a script that builds the js stuff. Is that broken? can we fix that if so?17:15
clarkbzbr: its the install_command in tox.ini and the script is tools/pip.s17:16
clarkb*tools/pip.sh17:16
zbrtox linters does not run yarn. if you agree to run it, i can stick it there and I am ok.17:17
zbrat this moment this was the only bit i wanted, the next one was to run start yarn commands like local UI. but somehow i missed to add it to this PR.17:17
clarkbdoes it need to run yarn to run the linters properly?17:18
clarkbI feel like I'm missing something17:18
zbr"yarn lint" is not included in "tox -e linters"17:18
clarkbok thats a completely separate conversation to adding a makefile17:18
zbrif this was by design or accident, i do not know.17:18
clarkbwhy not add yarn lint to linters and start a conversation about it?17:18
zbrit would ok for me, but take a look at https://opendev.org/zuul/zuul/src/branch/master/web/package.json#L48-L5517:20
zbrwe have several other development commands that are not easily accesible.17:20
zbrwe could add them to the Makefile and have a single cli launcher.17:20
clarkbyou can also add them to tox17:20
clarkbwhcih is the current "cli launcher"17:20
clarkb(personally I don't think all of the commands need to be exposed a layer above, if you need something specific running yarn direclty should be doable)17:21
zbrbased on the docs, we have two now: tox and yarn from inside web/ folder.17:21
zbri would not mind using tox, but i am not sure how to name the fake environments for calling yarn tasks.17:22
zbrtox was never designed to be a generic build tool.17:22
clarkbwell in this case you aren't relying on make build features either, just phony targets to run commands which tox does just fine17:22
*** nils has quit IRC17:23
zbrare you ok if I add: "start" and "build" fake tox envs, and also yarn lint to existing linters?17:23
zbri can also populate the "description" fields.17:24
clarkbno as mentioned above I would leave out the more specific ones from tox and make17:24
corvusweb devs use yarn.  we don't need tox for that.17:24
clarkbI think adding the linter to linters is fine17:24
corvus(if you can't handle running 'yarn start' you shouldn't be doing js dev)17:24
zbryou need to run it from inside web/ folder, it does not work from root of project.17:25
corvusyep17:26
zbri never listed js on my resume, but somehow I ended up making few PRs on js area for zuul.17:26
corvuszbr: and you learned to use yarn :)17:26
zbryep17:26
corvusnow you are js dev17:26
corvusif you used tox you wouldn't have that important js dev skill :)17:26
corvusdon't deny anyone else the opportunity to learn from which you already benefitted :)17:27
corvusin all seriousness: yarn is the right tool for 'yarn start' 'yarn add' etc.  we shouldn't mask it with tox.17:27
zbrcorvus: yep, but I lose the opportunity to force-fed Makefile experience to others17:27
tristanCit sounds better to tell contributor when to use tox or yarn instead of hiding that fact in makefile or toxfile17:28
corvuszbr: you make a compelling argument ;)17:28
corvusanyway, sorry, really have to run now17:28
*** jcapitao has quit IRC17:28
*** iurygregory has joined #zuul17:33
*** rlandy|brb is now known as rlandy17:47
*** hashar has quit IRC17:59
openstackgerritzbr proposed zuul/zuul master: Bump mypy  https://review.opendev.org/76218718:14
*** rpittau is now known as rpittau|afk18:20
openstackgerritzbr proposed zuul/zuul master: Bump mypy  https://review.opendev.org/76218718:27
zbrany reason why we do not have a base tox-py39 job? i see an openstack-tox-py39 one.18:31
openstackgerritzbr proposed zuul/zuul-jobs master: Add tox-py39 job  https://review.opendev.org/76219218:34
avasszbr: I don't think there's any specific reason not to18:36
openstackgerritzbr proposed zuul/zuul-jobs master: Add tox-py39 job  https://review.opendev.org/76219218:50
*** jpena is now known as jpena|off18:52
avasszbr: was there any more 208 changes?19:02
openstackgerritAlbin Vass proposed zuul/zuul-jobs master: revoke-sudo: delete cloud-config sudoers file  https://review.opendev.org/76219819:05
avassi remember there being a change about that ^ but I don't remember why that wasn't merged19:06
avasssupporting cloud-config labels in nodepool would be nice :)19:06
*** rf0lc0 has joined #zuul19:26
*** hashar has joined #zuul19:27
*** rfolco has quit IRC19:27
openstackgerritzbr proposed zuul/zuul-jobs master: Add tox-py39 job  https://review.opendev.org/76219219:29
*** gmann is now known as gmann_lunch19:29
openstackgerritzbr proposed zuul/zuul-jobs master: More E208 (final)  https://review.opendev.org/76129719:35
openstackgerritAlbin Vass proposed zuul/nodepool master: WIP: Digitalocean driver  https://review.opendev.org/75955919:37
openstackgerritAlbin Vass proposed zuul/nodepool master: WIP: Digitalocean driver  https://review.opendev.org/75955919:38
ianwcorvus: speaking of UI, there's a small stack of things @ https://review.opendev.org/#/c/758534/, https://review.opendev.org/#/c/758530/4 https://review.opendev.org/#/c/751140/15 that have been sitting for a while20:08
ianwi haven't got back to re-testing the api mocking felixedel proposed, will try to do20:09
corvusianw: thanks, i'll take a look at those soon20:10
*** iurygregory has quit IRC20:25
*** tosky has quit IRC20:42
*** tosky has joined #zuul20:42
*** zenkuro has joined #zuul20:44
openstackgerritAlbin Vass proposed zuul/nodepool master: Reorganize drivers into separate documents  https://review.opendev.org/76220820:52
avasscorvus: wanna take a look at that ^ if you got time over?20:53
*** hashar has quit IRC20:55
*** tflink_ is now known as tflink20:56
openstackgerritAlbin Vass proposed zuul/nodepool master: WIP: Digitalocean driver  https://review.opendev.org/75955921:02
openstackgerritAlbin Vass proposed zuul/nodepool master: Fix urllib3 dependency  https://review.opendev.org/76221021:29
avasslooks like a new urllib3 version broke ci21:33
*** iurygregory has joined #zuul21:51
corvusavass: ^ q from ianw22:08
ianwyeah, i'm looking but it's not clear to me what the dep chain is22:09
corvusianw: you're wondering why requests shows up at all?  at least via openstacksdk22:10
corvus(and probably 6 other cloud client apis too)22:10
ianwok, so that's what pins it to 2.24.0?22:11
corvusi don't know about a pin22:11
corvusianw: it looks like 2.24.0 is latest22:11
corvusso just a dep on requests would pull that in22:12
ianwoh, right, so urllib3 have made a release that is incompatible with the latest requests22:12
corvusianw: that's my understanding22:13
corvus(latest requests is 2.24.0 and is several months old; urllib3 1.26.0 is 2 hours old)22:13
corvusthis is, to my recollection, not the first time urllib3 has broken requests22:13
ianwif only there was some sort of system where you could run cross-project ci to avoid this sort of thing22:13
corvusif only...22:14
ianwok, i would probably appreciate a comment in there so we can unwind it when required, let me see if someone has a issue already22:15
corvusianw: me too, i just left a review to that effect.  also, maybe it should be a !=1.26.0 exclusion?22:15
corvus(under the assumption that the world is about to blow up for everyone and be fixed in a few hours)22:16
ianwdoesn't seem there's an issue @ https://github.com/psf/requests/issues22:16
corvusavass: i like your doc change in principal and will look more closely at it after the preview job returns22:17
corvusprinciple even22:17
ianwhttps://github.com/psf/requests/pull/565122:21
ianwlooks like they know about it22:21
ianwi guess this will just be a PITA for everyone for a bit :/22:23
openstackgerritIan Wienand proposed zuul/nodepool master: Fix urllib3 dependency  https://review.opendev.org/76221022:25
openstackgerritIan Wienand proposed zuul/nodepool master: Fix urllib3 dependency  https://review.opendev.org/76221022:27
*** gmann_lunch is now known as gmann22:27
corvusianw: i treated your contribution as an implied +2 and +3d it22:30
ianwcool ; i fear the problem will get wider quickly though22:33
*** iurygregory has quit IRC22:47
*** iurygregory has joined #zuul22:49
*** ianychoi has quit IRC22:52
*** ianychoi has joined #zuul22:52
*** tosky has quit IRC22:55
openstackgerritMerged zuul/zuul-sphinx master: Switch to zuul-release-python  https://review.opendev.org/68236623:01
openstackgerritMerged zuul/zuul-sphinx master: Ignore __pycache__ directory when looking at roles  https://review.opendev.org/71576423:01
*** rlandy has quit IRC23:03
openstackgerritMerged zuul/nodepool master: Fix urllib3 dependency  https://review.opendev.org/76221023:57

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