Wednesday, 2020-03-25

*** jamesmcarthur has joined #zuul00:01
*** jamesmcarthur has quit IRC00:04
*** jamesmcarthur has joined #zuul00:04
*** zxiiro has quit IRC00:06
*** y2kenny has joined #zuul00:26
*** y2kenny has joined #zuul00:27
*** jamesmcarthur has quit IRC00:29
*** jamesmcarthur has joined #zuul00:32
*** tosky has quit IRC00:32
*** Goneri has quit IRC00:53
*** jamesmcarthur has quit IRC01:02
*** jamesmcarthur has joined #zuul01:06
*** jamesmcarthur has quit IRC02:01
*** ianw has quit IRC02:30
*** ianw has joined #zuul02:36
*** jamesmcarthur has joined #zuul02:39
*** ianw has joined #zuul02:40
*** jamesmcarthur has quit IRC02:46
*** swest has quit IRC02:56
*** jamesmcarthur has joined #zuul03:02
*** jamesmcarthur has quit IRC03:06
*** jamesmcarthur has joined #zuul03:08
*** swest has joined #zuul03:12
*** jamesmcarthur has quit IRC03:14
*** saneax has joined #zuul03:19
*** bhavikdbavishi has joined #zuul03:28
*** bhavikdbavishi1 has joined #zuul03:31
*** bhavikdbavishi has quit IRC03:32
*** bhavikdbavishi1 is now known as bhavikdbavishi03:32
*** jamesmcarthur has joined #zuul03:38
*** jamesmcarthur has quit IRC03:47
*** dmsimard|off has joined #zuul04:18
*** bhavikdbavishi has quit IRC04:27
*** jamesmcarthur has joined #zuul04:41
*** bhavikdbavishi has joined #zuul04:43
*** jamesmcarthur has quit IRC04:54
*** sgw has quit IRC04:59
*** y2kenny has quit IRC04:59
*** jamesmcarthur has joined #zuul05:05
*** jamesmcarthur has quit IRC05:07
*** jamesmcarthur has joined #zuul05:11
*** jamesmcarthur has quit IRC05:33
*** evrardjp has quit IRC05:36
*** evrardjp has joined #zuul05:36
*** bhavikdbavishi has quit IRC05:56
*** bhavikdbavishi has joined #zuul06:07
*** saneax has quit IRC06:46
*** saneax has joined #zuul07:06
*** bhavikdbavishi has quit IRC07:15
*** smyers has quit IRC07:42
*** smyers has joined #zuul07:43
*** dpawlik has joined #zuul07:47
openstackgerritTobias Henkel proposed zuul/zuul master: Don't accept nodes for unknown requests  https://review.opendev.org/71485207:56
*** bhavikdbavishi has joined #zuul07:59
*** jcapitao has joined #zuul08:05
*** tosky has joined #zuul08:24
*** bhavikdbavishi has quit IRC08:39
*** jpena|off is now known as jpena08:54
*** sshnaidm|afk is now known as sshnaidm09:15
openstackgerritTobias Henkel proposed zuul/zuul master: Don't accept nodes for unknown requests  https://review.opendev.org/71485209:37
*** sshnaidm has quit IRC10:18
*** bhavikdbavishi has joined #zuul10:18
*** sshnaidm has joined #zuul10:19
openstackgerritSorin Sbarnea proposed zuul/zuul-jobs master: WIP: test fetch-sphinx-tarball role  https://review.opendev.org/71491210:32
openstackgerritSorin Sbarnea proposed zuul/zuul-jobs master: WIP: test fetch-sphinx-tarball role  https://review.opendev.org/71491210:39
openstackgerritSorin Sbarnea proposed zuul/zuul-jobs master: WIP: test fetch-sphinx-tarball role  https://review.opendev.org/71491210:50
zbrhere is a new challenge, how to validate executors? today I found that fetch-sphinx-tarball was failing to run because unzip was missing, on the executor.11:00
zbrmy attempt to test above is not going to help in this case, so how can we assure that zuul-roles are working with various executors?11:01
*** ysandeep has joined #zuul11:05
openstackgerritTobias Henkel proposed zuul/zuul master: Don't accept nodes for unknown requests  https://review.opendev.org/71485211:15
*** jcapitao is now known as jcapitao_lunch11:18
tobiashzbr: which task fails? It downloads a tar.bz2 so it's surprising that it fails with a missing unzip: https://opendev.org/zuul/zuul-jobs/src/branch/master/roles/fetch-sphinx-tarball/tasks/html.yaml#L2711:21
zbrtobiash: here is what fixed it https://softwarefactory-project.io/r/#/c/17901/1/ansible/roles/sf-zuul/defaults/main.yml11:22
zbrnow the question is if we can find a way to avoid it11:22
zbransible modules are full of weak-deps, so it does not surprise me that they can fail when run on different platforms.11:23
*** tosky is now known as tosky_11:24
openstackgerritTobias Henkel proposed zuul/zuul master: Install unzip on all platforms  https://review.opendev.org/71491911:26
tobiashzbr: that's a hard problem, however this should fix this specific issue ^11:27
tobiashit wasn't listed as binary dependency for dpkg based distibutions11:27
*** yolanda has quit IRC11:27
zbrtobiash: failure was on centos-8, so is not going to fix it.11:28
tobiashzbr: then you're probably not using bindep when installing the executor?11:28
tobiashbecause unzip as well as bzip2 are listed in bindep.txt for rpm based distros11:29
zbrtobiash: i have no idea about that, i am not involved with it. i only discovered the issue today when a college reported tox-docs failing on rdo inside the featch-... role.11:29
tobiashI guess tristanC should know ^11:30
zbryeah, for sure.11:30
zbris not urgent but it would be a good idea to not forget about the subject, i am more worried that other similar things may slip11:30
zbrif we have a way to validate executors we could prevent it in the future11:31
*** yolanda has joined #zuul11:32
*** sshnaidm has quit IRC11:34
*** sshnaidm has joined #zuul11:34
*** tosky_ is now known as tosky11:40
tristanCtobiash: zbr: indeed, we missed unzip as an executor requirements11:58
*** decimuscorvinus has quit IRC12:03
tristanCzbr: hmm, unzip and bzip2 are installed on our executor, what was the issue?12:05
tristanCactually that's a bit odd for zuul executor to require custom zuul-jobs requirements like tox-docs, at least from the bindep scope.12:08
*** sshnaidm is now known as sshnaidm|afk12:08
openstackgerritTobias Henkel proposed zuul/zuul master: Don't accept nodes for unknown requests  https://review.opendev.org/71485212:08
*** sshnaidm|afk is now known as sshnaidm12:24
*** rlandy has joined #zuul12:24
*** jcapitao_lunch is now known as jcapitao12:29
*** jpena is now known as jpena|lunch12:29
*** rfolco has joined #zuul12:30
avassthis is strange... added a new tenant yesterday and trying to make sure everything works before I let the people start using it. but the executor is checking out master instead of the change I'm testing with so it errors because it can't find the playbook12:34
avassnot sure why it doesn that12:34
avassthe exact same change works in another tenant with the same 'check' pipeline configuration12:36
avassOh nevermind I think I found the problem12:39
*** bhavikdbavishi has quit IRC12:54
*** Goneri has joined #zuul12:55
avassanyway, I think I've found a problem with the structure of the executor-git directory13:01
*** hashar has joined #zuul13:01
zbrtobiash: tributarian: apparently my attempt to test the docs fetching proved useful, have a look at https://review.opendev.org/#/c/714912/13:01
avassit doesn't differentiate between host abc.com port A and host abc.com port B if two different gerrit instances are running on the same server13:01
avassso what happens if there are two project with the same name on two differnt gerrit instances running on the same server?13:03
*** sgw has joined #zuul13:09
openstackgerritSorin Sbarnea proposed zuul/zuul-jobs master: Add testing of fetch-sphinx-tarball role  https://review.opendev.org/71491213:11
openstackgerritMerged zuul/nodepool master: nodepool-zuul-functional: switch to editable install  https://review.opendev.org/71478813:14
*** decimuscorvinus has joined #zuul13:18
openstackgerritSorin Sbarnea proposed zuul/zuul-jobs master: Add testing of fetch-sphinx-tarball role  https://review.opendev.org/71491213:25
*** ysandeep is now known as ysandeep|away13:31
*** jpena|lunch is now known as jpena13:32
openstackgerritSorin Sbarnea proposed zuul/zuul-jobs master: Add testing of fetch-sphinx-tarball role  https://review.opendev.org/71491213:40
*** hashar has quit IRC13:40
*** hashar has joined #zuul13:41
*** smcginnis has left #zuul14:00
openstackgerritSorin Sbarnea proposed zuul/zuul-jobs master: Add testing of fetch-sphinx-tarball role  https://review.opendev.org/71491214:00
*** sgw has quit IRC14:02
corvusavass: do you mean the src_root (work/src/....) where the git repos are checked out inside the job?14:09
avasscorvus: I mean var/lib/zuul/executor-git/14:18
avasswhere the git repos are stored for the executors and mergers too i guess14:18
*** sgw has joined #zuul14:19
corvusavass: hrm, i thought that was stored by connection name14:21
avassdoesn't look like it unless that has changed recently14:22
corvusavass: looks like you're right, and that's by canonical name.14:22
corvuswhich would be the same as the src_root14:22
avassyeah14:22
corvusavass: so i guess your users clone repos from "https://review.example.com:1234/projectname" and "https://review.example.com:5678/projectname" ?14:23
avasscorvus: yep something like that, I'm not sure how gerrit is set up but I have a feeling something is not as it should be14:24
mordredyeah - that's ...14:25
avass:)14:25
avassI'm not even sure why we have so many different gerrit instances14:26
corvusavass: that all uses the "canonical" hostname -- i've never tried setting a port in there, but there is a possibility it might work (or perhaps it might only require a few changes)14:33
corvusavass: https://zuul-ci.org/docs/zuul/reference/drivers/gerrit.html#attr-%3Cgerrit%20connection%3E.canonical_hostname14:34
corvusavass: or, if it doesn't matter to you, you might be able to use an entirely synthetic hostname (like 1234-review.example.com)14:35
avasscorvus: I'll check that out later, it's not a problem at the moment.14:35
mordredit sounds like review.example.com:1234 and review.example.com:5678 are the actual canonical hostnames in this case14:35
corvusmordred: yes; avass: so i'd start by trying that ^ (i just am not completely sure there's no port parsing involved, but i don't think there is)14:36
avassyeah that looks like it could work. since the url to gerrits web dashboard is different from what's used when cloning repo for some reason14:39
*** zxiiro has joined #zuul15:06
zbrcorvus: mordred: what do you think about https://review.opendev.org/#/c/714912/ ?15:06
corvuszbr: left a comment15:13
tristanCzbr: that change results in ensure-tox to requires sudo, which break our zuul-jobs usage (Software Factory CI is failing)15:13
corvus(that was more or less my comment :)15:13
tobiashcorvus: woot, we soon can replace the giant codeowners patch by this: https://developer.github.com/v4/enum/pullrequestreviewdecision/15:14
tobiashwe just have to wait until it landed in github enterprise15:15
zbrdo we recognize that the way tox-docs jobs is defined it breaks on systems without bzip2 and we do not catch this issue. enabling all-platform jobs uncovered 5 broken platforms.15:15
zbri am more interested in finding a way to detect and prevent it, hacking your node images is always an option.15:16
zbrany ideas?15:16
zbrwith the lack of sudo this is quite an interesting challenge.15:17
mnaserzbr: maybe we need to do more work of adding more jobs similar to how we did with ensure-tox, ensure-python?15:18
corvuszbr: yes, i think we should solve the problem.  how about using gzip?  is that more universally pre-installed?15:19
corvuszbr: if not, then at least the installation should happen in the tox-docs job, not for all tox jobs15:20
tristanCzbr: bindep works great without sudo, we just have to install the package in advance, and then bindep skip install and works without root privilege15:21
zbrbindep is in repo, we cannot ask each user that wants to use tox-docs to add bzip2 to his bindep.txt (if he even has one)15:21
zbrfor openstack repo is not a big deal, but i am concerned about scalability, i would like to make it easy for others to use it.15:23
zbrif we add this to tox-docs, how do we test the fetch-sphinx-tarball role? do we assume the testing of this role requires a run of tox-docs? ok for me.15:24
corvuszbr: that is how you wrote the test job15:24
zbrbtw, this bzip2 (or unzip) requirement is more generic than you think, is a requirement for using unarchive module in ansible, quite generic I would sau.15:25
zbrmy personal preference is to make each role as contained as possible, so each one would install its own requirements, when they are needed, but this does not play well with zuul roles.15:26
zbrwe should use role dependencies with ansible because ansible is quite smart about them, knowing not to run them twice.15:26
corvuszbr: we want installation to happen in pre-playbooks15:27
tristanCcorvus: gzip is more common than bzip2. We had an issue because of a missing bzip2 after a re-installation of our executor, and it seems like tox-docs requires bzip2 on the executor. We fixed that by adding 'Requires: bzip2' to the zuul executor package spec15:28
zbrcorvus: ok-ish as it breaks reusability of the roles, once you assume that a role would work only when a specific playbook was run, you endup having a role that is not really self-contained.15:28
mordredit seems like in the vm-only world having jobs be completely self-contained is easy ... but we run afoul of running some of these in rootless containers - largely because we don't then have a good way to express "this job needs to run in a container that has $stuff"15:30
*** arxcruz|rover is now known as arxcruz15:30
zbrmaybe we need to make some king of validation-test-suite for nodes (vms or containers), where we can try running all our tests with them and state what is broken or not.15:31
corvuszbr: i don't think that will ever be possible15:31
corvussome roles are just going to have to require things be installed out-of-band and should document that.  for example, a role that does something with afs.15:31
corvusthe more common roles, however, i agree we should try to make work more easily in most circumstances15:32
zbri am more concerned about "common" roles too15:32
corvusso i think switching to gzip may help that.  but i still think that we should not add a sudo requirement to the ensure-tox role since not all tox usage requires it.  if we want to add something like that, then we should add a new "ensure" role and run it in the pre-playbook for tox-docs.15:33
corvuspresumably that will not break anyone since if they are running tox-docs they should have bzip2/gzip15:33
mordredcorvus: yeah- like "ensure-sphinx-deps"15:34
mordredor something15:34
zbrit is going to be fun, as I see a huge number of "ensure-*" stuff appearing soon15:34
mordredand then - even for the container case - if it has something like "package: bzip2 state: present" - if it's there it's a no-op and if it can't install it because no sudo -it can at least give an error about that so that it's clear the job is running on an unsuitable node15:35
corvusyep15:36
tristanCdoesn't `become: true` evaluated before the task action?15:36
zbri wonder if it would not be easier to have a meta-ensure, that receives a lit of stuff the node needs to have.15:36
mordredcorvus: makes me want the ability for a pre-playbook to assert a fatal condition to avoid re-runs ... so a pre-playbook ensure role could say "I don't have bzip2 or sudo - I can't continue"15:36
*** jamesmcarthur has joined #zuul15:37
mordredtristanC: it might - so we might have to do those tasks a little more verbosely15:37
corvusmordred, tristanC: maybe we should make a package install role to address both problems?15:37
mordredyeah15:37
mordred"if I have the package, do nothing, if I don't have the package and I also don't have sudo, assert a fatal error, otherwise install the package"15:37
corvuszbr: ^ is that like your meta-ensure idea?15:38
zbri would not use the term package, more of "tool", as the way of installing it may be different based on the tool. usually it would a system package.15:38
mordredI agree - I think the "this is how you install it" can be abstract - but the main chunks / algorithm should be about the same15:39
mordred"how do I find out if I have it" "how do I install it" "can I install it"15:39
zbrcan zuul merge dictionaries on inheritance? i wonder if we can declare tool requirements, so users would be able to declare what is needed by their jobs.15:39
tristanCwell, the restricted node use-case, e.g. where sudo doesn't work, is a poor user experience, and we are actually replacing them by kubernetes pods15:43
mordredtristanC: good! that does seem like a better use case15:43
zbrit would be cool if user could declare a list of tags/labels that define requirements for running it and zuul would auto-pick a node that matches it, or install missing ones to an exiting node.15:44
zbrbut that is far-far away15:44
*** bhavikdbavishi has joined #zuul15:45
tristanCmordred: though, in kubernetes, sudo doesn't work either because we don't allow new privilege, so the jobs are running as root, which needs another hack to mitigate the `revoke-sudo` role... this is documented in this container file: https://softwarefactory-project.io/cgit/config/tree/containers/centos-7/Dockerfile#n2615:45
tristanCwell it's not much better, but at least vanilla zuul-jobs now works in container15:49
tristanCnow, that's a bit inefficient to use any ensure-* or bindep role with container, i'd rather let project provides container image with their bindep, and make the job run the command directly15:50
zbrtristanC: i have to confess that i loved these few jobs i seen using containers, starting instantly.15:51
clarkbrather than hack revoke-sudo why not update the role to check if it can sudo and if it can't its a noop beacuse there is nothing to revoke?15:51
clarkbthat seems like a really simple fix15:52
tristanCclarkb: but then you can't use task that have `become: true`15:52
clarkbthats true regardless, you don't have sudo15:53
mordredright - but jobs expect become: true to fail after they've run revoke-sudo15:53
mordredseems like updating revoke-sudo to be able to be used like an assert if sudo is already not there would be a nice improvement15:54
tristanCclarkb: mordred: probably, i just ran out of time to fix that in zuul-jobs :)15:54
mnasermaybe some sort of classification of roles is something we should start looking into15:58
mnasera basic on would be like: "requires-root-access" and then zuul autodoc stuff can traverse and mark jobs that run/use that role in the docs that they require root access15:58
mnaserbecause it's inevitable that we'll have things that will require root access no matter what15:59
*** bhavikdbavishi1 has joined #zuul15:59
tristanCmy point is, when running in container, the bindep, ensure-* and sudo managements are not necessary and these tasks can really slow down fast job16:00
*** bhavikdbavishi has quit IRC16:00
*** bhavikdbavishi1 is now known as bhavikdbavishi16:00
clarkbtristanC: making them noop should be pretty fast too...16:01
tristanCfor example, most of our tox-linters currently takes 150 seconds to compelte, and they could probably run under a minutes without them16:01
tristanChere is an example: https://softwarefactory-project.io/logs/10/17910/1/check/tox-pep8/1eb5811/ara-report/   `revoke-sudo : Check if zuul is sudoer` takes 11 seconds,   `tox : .*` takes 58 seconds16:05
clarkbtristanC: why does `sudo -n true` take 11 seconds?16:07
clarkbis that an asnible connection startup cost? this is the first task in a new play I Think16:07
tristanCclarkb: that's a good question :)16:07
clarkbbecause sudo -n true does not take that long here16:08
clarkbreal0m0.011s16:08
tristanCthat doesn't seems like a startup cost, the previous play performs the `ensure-tox : Ensure tox is installed` under a second16:11
clarkbtristanC: each playbook is new startup though16:12
clarkb(that is why I wondered if this is startup cost)16:12
tristanCwell, i meant, user providing ready to use container, which is quite common, could avoid all the cost associated with running ensure-* tasks/play16:14
*** jcapitao is now known as jcapitao_afk16:14
fungibut if the whole playbook doesn't go away, that startup cost (if that's what the bulk of the time is representing) doesn't disappear16:15
clarkbright thats why I'm curious to debug this further16:15
clarkbbecause that 11 seconds may not go away after removing the checks16:15
fungialso 11 seconds seems like a very long time to authenticate over ssh and start a python process16:17
fungithere's got to be other problems at work there16:17
clarkbfungi: it also has to parse all the yaml, generate internal task lists for each host, and start processing them16:17
clarkbstill 11 seconds is a long tiem for that, but identify where things cost more than we expect and properly debugging them is likely to be beneficial16:18
fungi"all the yaml" for the playbook?16:18
clarkbfungi: ya16:18
fungi(and included roles i guess)16:18
clarkbfungi: also that includes jinja templating16:18
clarkband we know jinja templating is slow16:18
clarkbas we discovered with our experiments in dynamic inventory16:18
fungii thought its slowness was linear with the size of the document though16:18
clarkbfungi: the yaml is but not the jinja necessarily16:19
clarkbsince a one liner jinja line could be expensive16:19
fungiwell, i mean, jinja templating on the whole is not expensive if the number of substitutions is small and the operations requested are trivial16:19
fungii've seen jinja templating in, e.g., sphinx extensions work more or less instantaneously16:20
tristanClet's see, i've submitted an identical change without the revoke-sudo role16:22
tristanCand the run play first task completed almost instantly, so it's probably related to using the revoke-sudo role without sudo: https://softwarefactory-project.io/logs/18/17918/1/check/tox-pep8/50cc3a4/ara-report/16:25
clarkbif I run just that task in a playbook against localhost it takes ~3 seconds wall time. If I disable fact gathering it takes ~1 second16:26
clarkbI expect that fact gathering might be the major cost here and that is setup cost16:26
clarkband in that case simply removing the role won't dramatically speed things up16:27
zbrfungi: clarkb: the time is wasted doing the implicit gather_facts, unless user disables them. not sure how fact caching is configured on zuul.16:27
tristanCback to initial problem, it seems like there is already strong assumption about how a role can be used (e.g. ensure-tox > tox > fetch-tox), and that's fine because that enable custom usage, e.g. use `tox` directly.16:27
clarkbzbr: yup I think that is what I've just discovered lcoally, thanks for the confirmation16:27
zbrclarkb: that is one of the reasons I usually start any new playbook by disabing gather, and using gather only on facts that I need on each role.16:28
zbrwith conditions: if xxx is not defined, gather xxx, very fast.16:28
clarkbtristanC: Run tox without tests may be capturing that time cost for you in the new run16:29
zbrusually facts are cached between runs, so it will take a long time only first time.16:29
clarkbsince fail, stat, and set_fact may not imply fact gathering16:29
zbrif i remember well networking information is prone to take most time16:29
tristanCclarkb: tox without tests went from 51 to 4916:29
clarkbtristanC: http://paste.openstack.org/show/791151/ that is what I'm observing16:31
clarkband that isn't doing anything special16:31
clarkbif I let it gather facts the runtime is sigifnicantly longer (and zbr supports that theory too)16:31
clarkbif I run the task twice the runtime of the play increases about 150ms16:32
clarkb(implying the task itself is never the major cost)16:32
tristanCclarkb: i observe the same thing locally. but within zuul executor context, on that special node which doesn't have sudo, the revoke-sudo adds 11 seconds to a 58 second play: https://softwarefactory-project.io/logs/10/17910/1/check/tox-pep8/1eb5811/ara-report/  vs  https://softwarefactory-project.io/logs/18/17918/1/check/tox-pep8/50cc3a4/ara-report/16:33
tristanCperhaps it's dns, or how jinja gets evaluated, or something else. but in anycase, shouldn't an user who doesn't have sudo, or simply doesn't care, could skip the revoke-sudo role entirely?16:35
tristanCif it's not for runtime cost, at least for report visibility where we don't need to see those task being ok or skipped16:35
clarkbtristanC: maybe, but thats orthogonal to your goal of "make things fast" if the cost is independent of sudo16:35
clarkbwhich is what I'm trying to get you to consider16:36
clarkbthe goal I heard was make things faster16:36
clarkbnot "stop checking sudo"16:36
clarkbexperimentation is showing that startup costs are a big cost, but simple tasks to check presense of tools/permissions are not16:37
tristanCoh well, i mentioned that need for speed as we were talking about adding an ensure-tool role to setup bzip216:37
clarkbthat tells me we need to reconsider how to make ansible quicker in general and not optimize specific roles16:37
clarkbas for optimizing specific roles I think the jobs in zuul-jobs should accomdate a range of use cases. I think that the best way to do that is to not rip functionality out, but to noop when appropriate16:39
tristanCclarkb: yeah i understood, and appreciate the consideration for unnecessary cost :) though in that case, it doesn't seems to be caused by startup or fact16:39
clarkbtristanC: is it possible that sudo is slow on your platform due to pam nsswitch or whatever other things sudo has to lookup?16:40
tristanCeven more weird, the `Check if zuul is sudoer` is actually failing with "[Errno 2] No such file or directory" as sudo is not installed16:40
clarkb(you mentioned dns which sudo does resolve too)16:40
clarkbhrm that should fail very fast :)16:41
clarkbbut let me update my local test to see if ansible is being weird when command does not exist16:41
clarkbnope still about 1 second16:42
tristanCusing a `sudo2` typo didn't made a difference locally either16:42
clarkbzbr: do you know if there are any ansible instrumenters?16:48
clarkbif so that could provide itneresting data and maybe help tristanc figure out the difference between zuul and local runs of this task16:48
zbrclarkb: no idea, but you can safely skip playing with mitogen (to save you some time)16:49
zbrthe facts gathering is a documented major source of delays, no1 in fact but ameliorated by two things: facts caching and ssh connection caching.16:50
clarkbI believe zuul does fact caching16:50
*** jcapitao_afk is now known as jcapitao16:50
clarkband it uses the ssh control persistent master processes to keep tcp connection open for ssh16:50
zbrwe could speed-up considerably by disabling default gather and replace it with a custom one that reads the. minimal: python version and os version.16:52
zbrgathering costs a lot because it does a lot of things16:52
mnaseri think if we do that we make the user experience a lot harder16:55
mnaserand gathering facts only happens once and probably takes up like a few seconds in the grand scheme of things in the whole job16:56
*** rfolco is now known as rfolco|bbl16:58
clarkbmnaser: for jobs that extensively use ansible its definitely worthwhile16:58
clarkbbut as tristanC mentions there is a subset of job that has minimal requirements and should run quickly that in some cases aren't16:59
clarkbwe probably can improve the runtime of those jobs with changes to how we use ansible (though I don't think we've fully identified the costs yet)16:59
tristanCclarkb: i haven't noticed a big cost to use the default fact gathering. what matter most imo is the amount of tasks and plays, for performance and also usability of the report17:00
corvusfact gathering should happen right at the start of the build, before the first playbook.17:00
tristanCwhat i meant is that adding `ensure-tool` role shouldn't bother with missing sudo, as container environment (who likely do not have sudo) shouldn't have to run ensure tasks in the first place17:02
corvus(during zuul's built-in setup phase)17:02
corvustristanC: i think mordred suggested that we may need to determine whether we can run sudo because of the problem you pointed out with "become:true" being evaluated early17:02
tristanCmea culpa, i guess we are the main user of zuul-jobs without sudo, and it is actually causing bad user experience when jobs suddenly uses "become:true", thus we are actively moving away from such sudoless nodes17:04
*** jamesmcarthur has quit IRC17:12
*** jamesmcarthur has joined #zuul17:13
*** jamesmcarthur has quit IRC17:24
*** bhavikdbavishi has quit IRC17:24
*** jamesmcarthur has joined #zuul17:24
openstackgerritMerged zuul/nodepool master: Enable setting label and instance name separately  https://review.opendev.org/71266617:34
*** evrardjp has quit IRC17:36
*** evrardjp has joined #zuul17:36
*** leathekd has joined #zuul17:48
leathekdIs it possible to have a tenant or jobs that are only visible to authenticated users?  I feel like it's possible depending on how web servers are deployed but don't want to make assumptions.17:57
corvusleathekd: yes, if you use the 'tenant whitelabel' setup for the web ui, that should be possible.17:59
*** jpena is now known as jpena|off18:00
*** jamesmcarthur has quit IRC18:01
*** jamesmcarthur has joined #zuul18:03
leathekdcorvus: excellent, thanks18:06
fungithough that assumes your git repositories containing the job definitions and configuration are also only visible to authenticated users18:06
*** jamesmcarthur has quit IRC18:08
leathekdfungi: that's probably true in this case, but, out of curiosity, why is that a requirement?18:12
fungileathekd: because your job definitions won't be secret if they're hosted in a public service. zuul can't solve that part for you18:12
fungiit's not technically a requirement from zuul's perspective, just a logistical requirement of the use case18:13
leathekdGotcha, thanks.18:14
fungizuul needs you to host git repositories somewhere it can reach, that's zuul's requirement. providing a hosting location which meets your privacy needs is up to you though18:14
*** jamesmcarthur has joined #zuul18:15
*** jamesmcarthur has quit IRC18:22
*** jamesmcarthur has joined #zuul18:23
*** jamesmcarthur has quit IRC18:25
*** jamesmcarthur has joined #zuul18:25
*** irclogbot_2 has quit IRC18:37
*** rfolco|bbl is now known as rfolco18:39
*** jcapitao has quit IRC18:44
mnaserlet me submit a patch18:44
mnasercorvus, zbr: did we reach some sort of quorum on deciding what to do with fetch-sphinx-tarball ?18:46
mnaserit's currently blocking some stuff here so i'd like to drive a way forward18:46
mnasergzip seems reasonable18:46
mnasermy local testing shows that gzip is a good idea https://www.irccloud.com/pastebin/92p90sFD/18:49
clarkbthe issue is that we use bzip2 in ensure-python?18:55
mnaserclarkb: nope the issue is that in fetch-sphinx-output, we rely on bzip218:55
mnaserwhich means that it needs to exist in the executor node as well18:55
clarkbmnaser: can you link to that I'm completely failing at grepping and grep says bzip2 is in ensure-python and nowhere else18:56
openstackgerritMohammed Naser proposed zuul/zuul-jobs master: Add testing of fetch-sphinx-tarball role  https://review.opendev.org/71502818:56
mnaserclarkb: i proposed an alternative built off of zbr work which shows off the issue (and a fix)18:56
openstackgerritMohammed Naser proposed zuul/zuul-jobs master: Add testing of fetch-sphinx-tarball role  https://review.opendev.org/71502818:57
clarkboh is it purely the suffix?18:58
*** jamesmcarthur has quit IRC18:58
clarkbthat chagne isn't changing the tool used18:58
clarkbunless I guess tar is inferring it18:58
mnaseri think tar does infer it (and so does the 'unarchive' module too)18:59
clarkbya its not its explicitly using -j18:59
clarkbyou need to update the tar command to use -z18:59
openstackgerritMohammed Naser proposed zuul/zuul-jobs master: Add testing of fetch-sphinx-tarball role  https://review.opendev.org/71502819:00
mnaserclarkb: ^ that?19:00
clarkbmnaser: no you have to remove the j19:00
clarkb-j means use bzip19:00
clarkb-z means use gzip19:00
mnaseroh.19:00
mnaserthat totally makes sense19:00
mnaseri wonder why j => bzip19:00
clarkb(and now I understand why my grepping failed, its beacuse tar is invoking it based on the flag)19:00
openstackgerritMohammed Naser proposed zuul/zuul-jobs master: Add testing of fetch-sphinx-tarball role  https://review.opendev.org/71502819:01
clarkbyes that should do what you want now19:01
mnaserclarkb: do you want to prepare opendev for https://review.opendev.org/#/c/712804/ or it should be pretty much noop given it's using system tox?19:02
*** irclogbot_3 has joined #zuul19:03
clarkbmnaser: it should be a noop for us19:03
*** jamesmcarthur has joined #zuul19:06
clarkbmnaser: on the -x side to inflate you had to provide the matching -z -j -J etc to match the file type in the past. But now that is inferred base on the file itself. I thought that -c might do that same, but in this case we were explicit either way19:08
clarkb-c may not do the inference because it is perfectly valid to tar and not compress19:08
mnaseri see19:08
*** y2kenny has joined #zuul19:09
mnaserclarkb: cool, i jus ttested and for what it's worth it worked fine here -- https://object-storage-ca-ymq-1.vexxhost.net/v1/bfd521072e894ebb99e66f72619daa8a/vexxhost-ci_c48/488037/6/check/tox-docs-oopt-gnpy/c486a4e/19:13
AJaegermnaser: https://opendev.org/openstack/project-config/src/branch/master/playbooks/api-jobs/promote.yaml#L25 needs updating, doesn't it?19:16
mnaserAJaeger: ah yes, that does impact that behaviour19:16
AJaegermnaser: http://codesearch.openstack.org/?q=docs-html.tar.bz2&i=nope&files=&repos=19:16
mnaserhmm19:17
mnaseri wonder if we would consider this behaviour change.19:17
mnaseraka we should do a 14 day timeout on this19:17
mnaser(maybe add a setting in the meantime to unblock people)19:17
corvus(i think the bzip problem is that it needs to be on the work node; it also needs to be on the executor, but that's an easier problem to solve)19:18
mnaseryeah, the executor is the tricky bit.  for example, our current zuul images dont have bzip2 in them19:18
corvusthat's easy to solve, we can just add it:)19:19
corvusthat won't break anyone19:19
AJaegermnaser: for opendev/openstack it's for sure a behavior change. Could we rewrite the promote job to handle both bzip2 and gzip?19:19
corvusmnaser: i think if we just add it to bindep, it'll end up in the image19:20
mnaserAJaeger: yeah, we either support both for a while -- or at least we solve the bzip2 issue first inside the executor image19:20
AJaegermnaser: I added a WIP to the change19:20
mnaseroh look at that, we already have bzip2 in there19:21
mnaserbut just for platform:rpm19:21
mordreduseful19:21
corvusso 1) add it to image to handle executor-side.  2) for the worker side, we either: 2a) add a flag and 14 day notice or 2b) make promote handle both, then switch fetch to gzip.  that *probably* won't break anyone (though technically it could).19:22
corvus(i'm thinking that 2b could be done with minimal notice, but i could be talked out of that and into giving more notice for 2b too if people think that's risky)19:22
corvus(i'm basically just assuming any platform that has bzip2 installed probably also has gzip)19:22
AJaegercorvus: before we do 2b, I would do a short poll to our users here...19:23
openstackgerritMohammed Naser proposed zuul/zuul master: bindep: add bzip2 to all platforms  https://review.opendev.org/71504119:23
mnaserthats #1 and should be relatively non-impactful ^19:23
mnaseri wonder if we can refactor the promotion stuff to be a little more flexible and not using hard coded file names19:27
openstackgerritAlex Schultz proposed zuul/zuul-jobs master: Add a role to install and configure dstat to run in the background  https://review.opendev.org/51837419:27
mnaserbecause we're downloading "docs_archive" but then later referencing "docs-html.tar.bz2"19:27
mnaseri guess if we can return a dictionary with "key to file" so that you can reference zuul_artifacts['docs_archive'] and we would get rid of that hard-coded bit19:28
openstackgerritMonty Taylor proposed zuul/nodepool master: Pin docker images to 3.7 explicitly  https://review.opendev.org/71504319:28
AJaegermnaser: would be cool if we can do that.19:28
mnaserseems possible19:29
y2kennyFor kubernetes node pool driver, how does the user define the kind of pod to be launch for the labels type namespace?19:32
y2kennyfor the labels.type: pod  I can see the field for defining an image19:33
y2kennysince nodepool receive instructions from the scheduler, I assume the scheduler, may be there's a way to define it in the job?  but I am not sure.19:35
openstackgerritAlex Schultz proposed zuul/zuul-jobs master: Add a role to install and configure dstat to run in the background  https://review.opendev.org/51837419:35
*** hashar is now known as hasharDinner19:35
*** irclogbot_3 has quit IRC19:37
openstackgerritMohammed Naser proposed zuul/zuul-jobs master: download-artifacts: provide a dictionary  https://review.opendev.org/71504519:39
clarkby2kenny: I think the pod type is pretty simple/generic. If you need fine grained control you can request a namespace instead then construct what you nee19:39
mnaserAJaeger: ^ i wonder how we can test that...19:39
clarkby2kenny: looking at docs the pod's only configurable attribute is the image to run in it19:39
y2kennyclarkb: for the namespace type, then do I construct what I need via nodepool or do it independently of zuul19:40
y2kennyor can I specify some ansible roles and nodepool would understand it some how?19:40
fungii think the intent is that the job declares it needs a namespace and then creates whatever is desired within it as part of the job definition/playbooks19:41
clarkby2kenny: nodepool will return a set of connection and namespace details to zuul, then using that you write ansible to create pods and things19:41
*** Openk10s has quit IRC19:41
clarkbwhat nodepool provisions in that case is the namespace itself (and permissions on the namespace iirc)19:41
*** irclogbot_0 has joined #zuul19:41
y2kennyum... interesting...19:42
y2kennyI will give both a try19:42
*** irclogbot_0 has quit IRC19:42
clarkbtristanC probably has some example that can be shared (of both cases)19:43
tristanCy2kenny: this is how software-factory setups base job for node both kubernetes node types: https://softwarefactory-project.io/cgit/config/tree/zuul.d/_jobs-openshift.yaml19:45
tristanCiirc this was also proposed in zuul-base-jobs there: https://review.opendev.org/#/c/570669/19:46
tristanCwell we are relying on openshift BuildConfig to build speculative image19:46
*** irclogbot_3 has joined #zuul19:46
y2kennytristanC: thanks, I was just about to ask that.  So looks like you pass the image via a variable "base_image"19:47
tristanCy2kenny: that's what is used for the BuildConfig input19:47
AJaegermnaser: sorry, too tired now to think this through ... I'll sign off now. Thanks for tackling this!19:48
mnaserAJaeger: no worries, have a good night19:48
AJaegerthansk19:48
y2kennytristanC: um... openshift seems to have a lot more fields for control than k8s in the nodepool19:50
corvusy2kenny: other than image, what do you want to specify?19:50
y2kennyHow does BuildConfig fit in with job and nodepool?  is BC something the nodepool driver will call?19:50
tristanCy2kenny: iiuc, there is no way to build an image is vanilla k8s19:50
y2kennyoh, I think just a pod image would be a good start.  But in the Openshift driver, you can specify CPU and memory limits as well19:51
tristanCy2kenny: that's because openshift would terminate the pod without the limit19:52
y2kennyso I am wondering how flexible things are.  Like, how much of k8s API objects are exposed and configurable19:52
corvusi think the k8s driver could be extended to support things like that fairly easily; it would all be in nodepool, so you'd still specify it by label from zuul, and that label would have those extra attributes.19:52
corvussort of like how we specify vm flavors19:52
y2kennycorvus: I see.  Yea, I was wondering about that because you do have a nodepool-builder.  So some of these seems to fall under the function of the builder19:53
y2kennylike, perhaps the builder can take some kind of k8s yaml files.19:54
y2kennyalthough it's sightly different than building an artifact19:55
corvusy2kenny: well the builder is for building vm images (it could be used for building container images, but honestly, it might be better to do that all in zuul; the tools are pretty good there).  but things like cpu limits are pod runtime options, so i think they make more sense as launcher options.19:55
y2kennyanother question I have is whether nodepool builder will eventually build container images19:55
y2kennycorvus: ah ok, you just answered my question.19:56
*** hasharDinner is now known as hashar19:57
corvusyeah, i think in our original ideas for k8s support in nodepool we were thinking we'd use the builder for that, but it's so easy to build and publish images in zuul jobs, and even stress test them before publishing them, that i think it's probably a better experience19:57
corvuswe don't really have an example of that though, just all the pieces are there i think.19:57
y2kennycorvus: so when you say build and publish container images in a zuul jobs, is that done with k8s node or just a regular node  that can launch docker?19:59
corvusthe second20:00
corvusy2kenny: i've never tried to do the first, but i do believe tristanC when he says it's difficult/impossible20:00
*** irclogbot_3 has quit IRC20:00
y2kennyok.... yea.. I was actually digging into  that  for the last week or so.20:00
mordredand the second is very good at its job20:00
y2kennythere are possibilities20:00
clarkbyou need a special image builder like img to do it in the non privileged case20:00
clarkbitsdoable with constraints and special tools20:01
y2kennyespecially now that there's so much hype around the term "gitops"20:01
mordredclarkb: and even for that you need ultra new host kernel and you need to do things with capabilities and whatnot20:01
y2kennythere's kaniko20:01
y2kennybut I haven't tried that myself20:01
*** jamesmcarthur has quit IRC20:01
clarkbsemi related I've discovered the practice if mounting the docker socket into containers20:02
tristanCy2kenny: corvus: the challenge is that you need recursive container20:02
clarkbbecauseif you didnt have enough privs before just add full control :)20:02
corvustristanC: but maybe img works?20:02
*** jamesmcarthur has joined #zuul20:03
corvusor buildah?20:03
y2kennythis is what I came across before:20:03
y2kennyhttps://github.com/GoogleContainerTools/kaniko20:03
mordredyeah - the thing is - taht's structured in a way that makes it hard to use the power of zuul20:03
tristanCiiuc, last time i checked, to build a container inside a container still requires some trick, e.g. an overlayfs setting and running the nested container using a special isolation mode20:04
mordredit assumes a version of gitops that goes "I'm going to push a commit to git and I want a system to respond to that published git commit"20:04
mordredwhich is neat, I suppose, but misses the power of being able to do all of that before the commit lands20:04
tristanCor you do like clarkb suggested, share the docker socket, but then you no longer have isolution20:04
*** irclogbot_1 has joined #zuul20:05
fungithe gitops movement is all about testing in production and relying on self-healing to plaster over whatever you've broken long enough to undo it20:05
mordredwe prefer doing gated gitops - where operators are not pushing git commits, but are instead reviewing proposed commits, having images built in gate that are then promoted once gate passes - so that the image that was tested is the image that is deployed20:05
tristanCmordred: hence the `create staging-http ImageStream` task from https://review.opendev.org/#/c/570669/8/playbooks/openshift/pre.yaml20:05
corvusthis is relevant: https://developers.redhat.com/blog/2019/08/14/best-practices-for-running-buildah-in-a-container/20:06
mordredtristanC: yeah. I mean - it's an approach that exists - but it's _massively_ more complicated than running docker build in a vm which works GREAT20:06
openstackgerritAlex Schultz proposed zuul/zuul-jobs master: Improve the run-dstat role  https://review.opendev.org/51837420:06
corvusfungi: well, that's one definition of gitops, one to which i don't subscribe.20:06
fungiyes, i didn't mean to imply that doing gitops is the same as subscribing to the mass popularized "gitops movement"20:07
y2kennymordred: yea, that's why I haven't found a good gitops solution.  They all seem more complicated than I need them to be.20:08
*** jamesmcarthur has quit IRC20:08
fungii don't think the average gitopser is opposed to the idea of testing things before they go into production, they just don't know about the tools which would enable them to do so, and have an ecosystem designing automation which makes it harder to do that20:08
corvustristanC: if i understand https://developers.redhat.com/blog/2019/08/14/best-practices-for-running-buildah-in-a-container/ correctly, using buildah should be possible -- it looks like they made a special 'buildah' container image which has all the extra tools set up that's needed to do that20:09
corvusso you'd build your new container image inside the buildah container.  i think.20:10
tristanCmordred: right, but it seems like the whole point of recursive container is to not requires a vm.20:10
corvuspersonally, i really like building container images on vms.  but if i were constrained to container only, it might be worth looking into that?20:10
tristanCcorvus: last time i tried, it was quite difficult to make it work. if that can works in vanilla k8s, then we should totally document that20:11
corvustristanC: there's a comment at the bottom from someone who identified the missing pieces from that :)20:11
y2kennyI am hoping to generalize the base infrastructure as much as possible20:11
corvusand, i guess, documented them in the form of publishing their own container image?  :/20:12
y2kennyanother possibility is do something like kubevirt (VM on top of container)... but now it's turtle all the way down20:12
*** irclogbot_1 has quit IRC20:12
corvusy2kenny: i will gladly attend your conference talk about that :)20:12
tristanCcorvus: my last attempt is documented in https://github.com/containers/buildah/issues/1335 , and it seems like the current solution is to share /dev/fuse20:12
tristanCs/current/past/20:13
corvustristanC: i think the blog post is after that; maybe that's what prompted dan to write it20:13
*** y2kenny has quit IRC20:14
corvusit looks like all the fuse stuff is in-container, so that doesn't seem troubling20:14
corvusbut i admit, my knowledge comes from skimming that post very quickly20:14
*** jamesmcarthur has joined #zuul20:15
*** y2kenny has joined #zuul20:15
tristanCcorvus: iiuc, in vanilla k8s you can already share the host docker socket by default, so that's only useful in a lock down environment20:15
corvuswell, i think even in a non-locked-down environment, it's very reasonable not to want to share the docker socket20:17
tristanCcorvus: in that case, you need to setup pod security policy to prevent arbritary hostPath20:17
corvustristanC: if you don't trust your users (which are usually yourself)20:18
corvustristanC: i'm imagining a nodepool running against a k8s with a label configured for the 'buildah' container image; a zuul job could request that label, get a buildah pod, and build an image.20:18
tristanCcorvus: yes, that would be ideal, and similar to what an openshift buildconfig does. but it's not clear what are the requirements and psp for such 'buildah' image in vanilla k8s20:20
corvustristanC: agreed; dan't post makes me think it should be possible, but it warrants more research or experimentation.20:20
corvuss/dan't/dan's/20:21
*** irclogbot_1 has joined #zuul20:22
corvusmordred, paladox: i have merged the change to add the checks to all the core plugins20:32
mordredcorvus: woot!20:32
corvusi intentionally merged that first before merging the one that added the jobs20:32
corvusthis way zuul got events for all the currently outstanding changes in those repos, and declared the checks "not relevant"20:33
mordredcorvus: ah - good approach20:33
corvus(an interesting thing about the checks plugin is when you turn it on for a repo, you get the backlog.  that can be good or bad)20:33
corvusi figured running a whole bunch of jobs on old changes wasn't ideal right now20:33
corvusso now i'll merge the change to add the jobs, and they'll run on new patchsets, or if we click the re-run button20:34
openstackgerritAlex Schultz proposed zuul/zuul-jobs master: Improve the run-dstat role  https://review.opendev.org/51837420:34
mordredagree. but I think doing gerrit + core plugin cross testing is going to be a _great_ demonstration20:34
corvusyeah... i even saw a depends-on :)20:35
corvushttps://gerrit-review.googlesource.com/c/plugins/replication/+/145851/20:35
corvusis a change from paladox20:35
mordred\o/20:35
mordredcorvus: https://gerrit.googlesource.com/plugins/zuul/ <-- maybe we should get the gerrit folks to add that to the gerrit :)20:35
corvusi was watching the status page, and was pleasantly surprised to see two changes linked20:36
mordredcorvus: also - maybe we should play with that and consider adding it to our own gerrit installs - the ui showing a needed-by reference seems nice20:36
corvus++20:37
mordredhttps://gerrit.googlesource.com/plugins/zuul/+/refs/heads/master/src/main/resources/Documentation/rest-api-changes.md20:38
mordredcorvus: oh - well, the UI stuff is in GWT and hasn't been ported20:39
corvusyeah, maybe later :)20:39
mordredso there might be more work than just "enable it"20:39
*** tosky has quit IRC20:40
paladoxcorvus awesome!20:43
paladoxmordred yeh, i think i added a plugin endpoint to PG UI for zuul20:44
openstackgerritAlex Schultz proposed zuul/zuul-jobs master: Improve the run-dstat role  https://review.opendev.org/51837420:49
paladoxmordred oh, wasn't me that added it (i was just remembering a comment i made): https://gerrit-review.googlesource.com/c/gerrit/+/21463220:49
*** tosky has joined #zuul20:54
*** rfolco has quit IRC20:58
ianwcorvus / Shrews : http://eavesdrop.openstack.org/irclogs/%23openstack-dib/%23openstack-dib.2020-03-25.log.html#t2020-03-25T09:35:48 is talking about dib-run-parts seeming to not have +x permissions.  feels suspiciously like our issues yesterday with fake-image-create somehow not being installed +x any more21:02
*** hashar has quit IRC21:06
corvusianw: indeed21:08
openstackgerritAlex Schultz proposed zuul/zuul-jobs master: Improve the run-dstat role  https://review.opendev.org/51837421:09
*** jamesmcarthur has quit IRC21:21
*** jamesmcarthur has joined #zuul21:21
openstackgerritAlex Schultz proposed zuul/zuul-jobs master: Improve the run-dstat role  https://review.opendev.org/51837421:23
*** jamesmcarthur has quit IRC21:26
openstackgerritAlex Schultz proposed zuul/zuul-jobs master: Improve the run-dstat role  https://review.opendev.org/51837421:33
*** dpawlik has quit IRC21:35
corvus2020-03-25 21:36:29,033 WARNING zuul.SQLReporter: [e: 361b9f50ae8c4ee9b33e43eaed6f85d3] SQL reporter (<zuul.driver.sql.sqlreporter.SQLReporter object at 0x7fbc9c1f0cd0>) is disabled21:38
corvusi have not encountered that before21:38
corvusapparently that happens if something is wrong with the connection or tables...21:39
*** jamesmcarthur has joined #zuul21:41
corvusit looks like a bunch of pods were restarted 4 days ago; i wonder if the scheduler raced the db starting, and we don't recover from that?21:42
mordredcorvus: eww. that's not awesome21:43
corvusi've restarted gerrit's zuul's scheduler to try to confirm21:44
corvusif that is the problem, maybe we can/should fix that by... just not disabling the reporter :)21:44
corvus(but we'd still need to make sure that we're at the current migration before reporting)21:45
mordredcorvus: yeah - also - it seems like being able to exist without disabling the reporter is going to be important when the reporter is required21:47
openstackgerritAlex Schultz proposed zuul/zuul-jobs master: Improve the run-dstat role  https://review.opendev.org/51837422:01
openstackgerritAlex Schultz proposed zuul/zuul-jobs master: Improve the run-dstat role  https://review.opendev.org/51837422:06
openstackgerritAlex Schultz proposed zuul/zuul-jobs master: Improve the run-dstat role  https://review.opendev.org/51837422:18
openstackgerritAlex Schultz proposed zuul/zuul-jobs master: Improve the run-dstat role  https://review.opendev.org/51837422:42
openstackgerritAlex Schultz proposed zuul/zuul-jobs master: Improve the run-dstat role  https://review.opendev.org/51837422:45
corvusit looks like the scheduler restart fixed that22:47
corvusmordred, paladox: and https://gerrit-review.googlesource.com/c/plugins/download-commands/+/259892 has a (green!) build22:49
paladox\o/22:49
mordredcorvus: woot!22:49
corvuspaladox: we aren't running any tests yet, do you know if we should run "bazellisk test //..." or something like that?22:54
corvusbazel/bazelisk are still somewhat of a mystery to me22:54
paladoxyes, running that should run the tests.22:54
corvuscool, i'll try that out then :)22:54
paladoxnot all plugins have tests though22:54
mordredpaladox: will bazelisk test break in a plugin if it doesn't have tests?22:55
openstackgerritMerged zuul/zuul-jobs master: upload-logs-swift: Create a download script  https://review.opendev.org/59234122:55
openstackgerritMerged zuul/zuul-jobs master: upload-logs-swift: Add a unicode file  https://review.opendev.org/59285322:55
mordredor - if it will - is there a way to tell if a plugin has tests? like a path to look for or something?22:55
paladoxmordred i'm not sure (haven't tested). I would think it'll pass just like if there are tests.22:55
mordredok. that would be ideal22:56
corvuswell, this is really the gerrit tests, not the plugin tests22:56
paladoxah, yeh that should pickup all the tests22:57
paladox*in gerrits core22:57
mordredoh right. duh22:57
corvusi'm assuming running gerrit's tests are the right thing to do for a core plugin22:57
corvusbut i dunno :)22:57
mordredcore plugins22:57
mordredcorvus: I'd guess so - because in-tree22:57
paladoxcorvus yup22:57
paladoxsince it'll recurse into plugins i think?22:58
openstackgerritAlex Schultz proposed zuul/zuul-jobs master: Improve the run-dstat role  https://review.opendev.org/51837422:58
corvusi sent an update to repo-discuss23:07
openstackgerritAlex Schultz proposed zuul/zuul-jobs master: Improve the run-dstat role  https://review.opendev.org/51837423:08
paladoxcorvus \o/23:10
*** y2kenny9 has joined #zuul23:18
*** y2kenny has quit IRC23:19
*** y2kenny9 has quit IRC23:37
*** y2kenny has joined #zuul23:37
y2kennyI noticed an debug message in the executor log: "Ansible output: b"bwrap: Can't mount proc on /newroot/proc: Operation not permitted"  Is that something to worry about?23:38
*** armstrongs has joined #zuul23:41
*** armstrongs has quit IRC23:50
*** rlandy has quit IRC23:51

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