Tuesday, 2020-04-21

openstackgerritMohammed Naser proposed zuul/zuul-jobs master: helm-template: enable using values file  https://review.opendev.org/72136500:11
openstackgerritMohammed Naser proposed zuul/zuul-jobs master: helm-template: allow users to disable wait-for-pods  https://review.opendev.org/72136900:11
*** kmalloc has joined #zuul00:15
*** cdearborn has quit IRC00:24
openstackgerritMohammed Naser proposed zuul/zuul-jobs master: helm-template: enable using values file  https://review.opendev.org/72136500:35
*** dmsimard1 has joined #zuul00:50
*** dmsimard has quit IRC00:51
*** dmsimard1 is now known as dmsimard00:52
*** swest has quit IRC01:11
*** swest has joined #zuul01:26
*** rlandy has quit IRC01:47
openstackgerritIan Wienand proposed zuul/nodepool master: Dockerfile: incoprorate workaround deboostrap  https://review.opendev.org/72139401:53
openstackgerritIan Wienand proposed zuul/nodepool master: Dockerfile: incoprorate workaround deboostrap  https://review.opendev.org/72139402:23
*** kmalloc has quit IRC02:24
*** bhavikdbavishi has joined #zuul02:56
*** bhavikdbavishi has quit IRC03:03
openstackgerritIan Wienand proposed zuul/nodepool master: Functional container tests: update to CentOS 8  https://review.opendev.org/72150903:10
*** bhavikdbavishi has joined #zuul03:52
*** bhavikdbavishi1 has joined #zuul03:54
*** bhavikdbavishi has quit IRC03:56
*** bhavikdbavishi1 is now known as bhavikdbavishi03:56
openstackgerritIan Wienand proposed zuul/nodepool master: [wip] set work dir for image build job to nodepool  https://review.opendev.org/72151403:57
openstackgerritJan Kubovy proposed zuul/zuul master: Mandatory Zookeeper connection for ZuulWeb  https://review.opendev.org/72125404:20
*** ysandeep|afk is now known as ysandeep04:20
*** olaph has quit IRC04:22
*** evrardjp has quit IRC04:35
*** evrardjp has joined #zuul04:35
openstackgerritIan Wienand proposed zuul/nodepool master: Dockerfile: incorporate workaround deboostrap  https://review.opendev.org/72139405:10
openstackgerritIan Wienand proposed zuul/nodepool master: Functional container tests: update to CentOS 8  https://review.opendev.org/72150905:10
openstackgerritIan Wienand proposed zuul/nodepool master: [wip] set work dir for image build job to nodepool  https://review.opendev.org/72151405:10
*** sgw has quit IRC05:22
*** sgw has joined #zuul05:40
*** saneax has joined #zuul06:03
*** dpawlik has joined #zuul06:08
*** Goneri has quit IRC06:18
*** bhavikdbavishi has quit IRC07:01
*** rpittau|afk is now known as rpittau07:03
*** yolanda has joined #zuul07:13
*** bhavikdbavishi has joined #zuul07:14
avassanyone wanna take a look at these two? https://review.opendev.org/#/c/721248/ https://review.opendev.org/#/c/721237/07:19
*** jcapitao has joined #zuul07:24
*** tosky has joined #zuul07:44
openstackgerritTobias Henkel proposed zuul/nodepool master: Parallelize initial static node synchronization  https://review.opendev.org/72120507:44
*** bhavikdbavishi has quit IRC07:46
*** threestrands has quit IRC07:55
*** jpena|off is now known as jpena07:57
*** lennyb has joined #zuul08:04
*** bhavikdbavishi has joined #zuul08:09
*** ysandeep is now known as ysandeep|lunch08:17
*** bhavikdbavishi has quit IRC08:42
*** bhavikdbavishi has joined #zuul09:06
openstackgerritPaul Albertella proposed zuul/zuul-jobs master: Add Bazel build and install roles  https://review.opendev.org/69351309:08
openstackgerritPaul Albertella proposed zuul/zuul-jobs master: Add Bazel build and install roles  https://review.opendev.org/69351309:26
reiterativeI finally found time to fix my Bazel roles submission to zuul-jobs if someone has time to review it: https://review.opendev.org/#/c/69351309:39
*** ysandeep|lunch is now known as ysandeep09:39
*** sshnaidm|afk is now known as sshnaidm09:54
openstackgerritAlbin Vass proposed zuul/zuul-jobs master: Use cached 'tox_executable' in fetch-tox-output  https://review.opendev.org/72119210:01
openstackgerritAlbin Vass proposed zuul/zuul-jobs master: Use cached 'tox_executable' in fetch-tox-output  https://review.opendev.org/72119210:06
openstackgerritAlbin Vass proposed zuul/zuul-jobs master: Use cached 'tox_executable' in fetch-tox-output  https://review.opendev.org/72119210:10
openstackgerritAlbin Vass proposed zuul/zuul-jobs master: Use cached 'tox_executable' in fetch-tox-output  https://review.opendev.org/72119210:11
*** rpittau is now known as rpittau|bbl10:31
avassreiterative: I guess we haven't announced it yet, but we deprecated the install-* roles and renamed them to ensure-* to have some consistency10:35
avassreiterative: so can you rename the install-bazel to ensure-bazel? :)10:36
zbrapparently fetch-sphinx-tarball can fail with bzip2: command not found10:37
zbrand there is no code inside entire zuul-jobs to install bzip210:37
zbri am going to add a task for this10:37
avasszbr: on the remote host?10:37
zbrsee https://object-storage-ca-ymq-1.vexxhost.net/v1/a0b4156a37f9453eb4ec7db5422272df/ansible_64/2664/d7678ba186eb19e5f36529588af292dc52f17e9b/check/molecule-tox-docs/e644d18/job-output.html10:38
zbris from ansible zuul instance, but it does not matter, role should be self-contained and at least attempt to install its own reqs.10:38
avassreiterative: otherwise I think it looks good, just going to take a look at it a bit later against since I usually miss something the first time10:38
avasszbr: yeah that's probably a good idea10:39
zbri know I can workaround and install it, but i prefer to fix it at the source, so others can benefit from a more reliable role.10:39
openstackgerritSorin Sbarnea proposed zuul/zuul-jobs master: fetch-sphinx-tarball: install bzip2  https://review.opendev.org/72157110:42
zbravass: funny, that i only mentioned on a change you made to the same role today that is lacks tests.10:42
zbrat least multi-platforms tests for sure.10:43
avasszbr: you mean the fetch-sphinx-tarball --no-same-owner? yeah, I'm planning on taking the time and got through all of the unarchive/synchronize and update them to all work like that soonish10:45
zbravass: no problem, I am now working to add tests for this role.10:46
avassmaybe I could add tests that creates a new user on the remote so they fail if they try to keep owner/group10:46
zbravass: no need for your change.10:46
zbrmy comment was generic to the role, not to your change.10:46
avassah10:47
avassthis should be ready as well: https://review.opendev.org/#/c/721192/10:48
*** jcapitao is now known as jcapitao_lunch10:51
*** bhavikdbavishi has quit IRC10:59
*** ysandeep is now known as ysandeep|afk11:01
*** bhavikdbavishi has joined #zuul11:08
*** ysandeep|afk is now known as ysandeep11:32
reiterativeavass Yes, happy to rename11:34
*** jpena is now known as jpena|lunch11:35
openstackgerritSorin Sbarnea proposed zuul/zuul-jobs master: WIP: Add testing of fetch-sphinx-tarball role  https://review.opendev.org/72158411:36
*** harrymichal has joined #zuul11:46
*** hashar has joined #zuul11:52
openstackgerritJan Kubovy proposed zuul/zuul master: Mandatory Zookeeper connection for ZuulWeb  https://review.opendev.org/72125411:52
*** bhavikdbavishi has quit IRC11:54
*** jcapitao_lunch is now known as jcapitao12:09
openstackgerritPaul Albertella proposed zuul/zuul-jobs master: Add Bazel build and ensure roles  https://review.opendev.org/69351312:11
openstackgerritSorin Sbarnea proposed zuul/zuul-jobs master: WIP: Add testing of fetch-sphinx-tarball role  https://review.opendev.org/72158412:12
openstackgerritSorin Sbarnea proposed zuul/zuul-jobs master: WIP: Add testing of fetch-sphinx-tarball role  https://review.opendev.org/72158412:13
*** rlandy has joined #zuul12:17
*** Goneri has joined #zuul12:23
zbravass: do you have any idea why on zuul-jobs we call ansible-lint with each role instead of calling with all of them at once? also affects performance.12:27
zbrthe find | xargs | ansible-lint ...12:27
openstackgerritSorin Sbarnea proposed zuul/zuul-jobs master: Make linting use of find portable  https://review.opendev.org/72159512:28
zbrto me the -n1 added to xargs does not makes sense12:28
reiterativeavass I've now uploaded a patch changing 'install' to 'ensure' for https://review.opendev.org/69351312:28
*** rpittau|bbl is now known as rpittau12:31
openstackgerritSorin Sbarnea proposed zuul/zuul-jobs master: WIP: Add testing of fetch-sphinx-tarball role  https://review.opendev.org/72158412:33
*** bhavikdbavishi has joined #zuul12:35
*** jpena|lunch is now known as jpena12:35
avassreiterative: thanks!12:37
avasszbr: don't know actually12:37
*** bhavikdbavishi has quit IRC12:54
*** bhavikdbavishi has joined #zuul12:54
*** bhavikdbavishi1 has joined #zuul12:57
*** bhavikdbavishi has quit IRC12:59
*** bhavikdbavishi1 is now known as bhavikdbavishi12:59
openstackgerritSorin Sbarnea proposed zuul/zuul-jobs master: Add testing of fetch-sphinx-tarball role  https://review.opendev.org/72158413:10
*** zxiiro has joined #zuul13:17
*** toabctl has quit IRC13:25
*** toabctl has joined #zuul13:27
zbravass: clarkb ^ small nit13:34
zbroops, i wanted to point to https://review.opendev.org/#/c/721595/ - the other one is in progress.13:35
*** harrymichal has quit IRC13:35
*** harrymichal has joined #zuul13:36
zbri think i need a hint on https://review.opendev.org/#/c/721584/ as zuul fails to run the code from fetch-sphinx-tarball, and runs the code from master13:44
zbrnot sure how can I enable its testing13:45
*** bhavikdbavishi has quit IRC13:47
*** gtema has joined #zuul13:59
*** y2kenny has joined #zuul14:00
y2kennyhow does start-zuul-console work?  Does it work with the ansible command or shell module to stream the stdout/stderr?14:04
mordredy2kenny: yes, that's right14:05
y2kennyare there anything I need to install on the remote side for the  streaming to work?14:06
mordredy2kenny: it starts a daemon that the callback plugin on the executor connects to to stream the command output - and the command/shell modules write their output to a file that the daemon streams14:06
mordredy2kenny: nope - start-zuul-console should be self-contained14:06
y2kennyI am getting log stream back from the exectuor but I don't seem to get log stream back from a container remote14:06
y2kennythe logs exist in job-output.json I just don't see the stream14:07
*** gtema has quit IRC14:09
y2kennymordred: is there any way to interact with the stream daemon at a lower level for debug?  (i.e., can I echo some string into that file?)14:14
AJaegermordred: could you review https://review.opendev.org/721245 again, please?14:15
*** maxamillion has quit IRC14:16
*** maxamillion has joined #zuul14:17
*** michael-beaver has joined #zuul14:22
*** harrymichal has quit IRC14:23
*** cdearborn has joined #zuul14:33
avassy2kenny: can you reach the tcp port 19885 on that container?14:34
avasszbr: I guess you could grab two nodes, install ansible on one of them and execute the role from that node on the other node?14:37
y2kennyavass: I will give it a try14:37
avasszbr: or wait, what's the reason it fails actually14:38
zbravass: no way, too much resource waste, i am sure there is a less complex way to do it.14:38
zbri think it has to do with secure/unsecure contect, what happens is that code runs without current change being tested, zuul uses the role from master, not form the CR.14:39
zbrso basically, I add the new task, which never runs.14:39
avasszbr: yeah that's what I was guessing14:39
avasszbr: maybe you could do the same but execute it on the same node with connection: localhost?14:40
avassor something like that14:40
openstackgerritMerged zuul/zuul-jobs master: Use main.yaml, not .yml  https://review.opendev.org/72124514:42
clarkbzbr: I thought we were fixing that by using gzip instead?14:45
clarkbsince gzip is more universal14:45
clarkbmnaser: had a change for it iirc14:45
clarkbbasically was switch tar -j to tar -z14:46
zbrclarkb: i was not able to find any proposed changed addressing this issue.14:47
fungicould it have been in a different but similar role?14:47
zbrand even if fixed this, we still avoid the lack of testing issue14:48
zbrwe do need to enable testing either way14:48
clarkbzbr: https://review.opendev.org/#/c/715028/ looks like it is still in progress14:48
clarkbyes that adds testing too14:48
clarkbbut we control the file format there so the decision was made to go to tar -z instead of tar -j to simplify overall14:49
*** dmellado has quit IRC14:49
clarkblooks like we need to update a second set of promote jobs in unison though to make that work properly14:49
zbrgood, but that change is 1 month old, and blocked by AJaeger so not much practical use.14:50
clarkbzbr: no thats not the right attitude14:50
clarkbAJaeger has accurate called out that there is an issue that must be addressed. We should do that14:50
clarkbits not blocked14:50
zbrto be clear, i was not trying to blame anyone. i am just stating the fact that bzip2 is still an issue.14:51
clarkbzbr: yes, and I'm asserting that the better fix is not to try and install bz2 everywhere but change our generated file format instead14:51
zbrdo we really need to combine the addition of testing with changing behavior?14:52
clarkbzbr: if the testing can't work without reinforcing the bad format then yes14:52
zbri guess the fix should be to make the promote to work with both extensions first, so we can merge the change?14:53
clarkbya I think promote likely needs to simply drop the tar flag to select compression type as modern tar should figure it out from the file itself on extraction iirc14:56
clarkb(that should be tested but I think from local use of tar that should be fine)14:56
AJaegerzbr: yes, that would be best. Update the promote docs jobs to handle both formats, merge that - and then we can merge 71502814:59
clarkbzbr: as for why your tests fail, I believe it is because fetch-sphinx-tarball is running in post as part of the trusted job component from the base job?14:59
clarkbzbr: I seem to recall that for zuul-jobs role tests that test post-run roles they need to dep on base-minimal and do the testing in the run component15:00
zbryep, it would be great to find a solution to test that part. i am sure we will need it anyway,15:00
clarkbfor speculative execution to work properly15:00
clarkbbasically you can't rely on post-run of parent jobs to test what you want there due to inheritance and security15:00
AJaegeryes, fetch-sphinx-tarball invocation is trusted in post15:00
clarkbAJaeger: can you link to where promote fails?15:00
clarkb(the playbook or role if you have it)15:01
clarkbzbr: ya checkout zuul-jobs-test-base-roles15:02
clarkbI think the sphinx tarball role falls into the same category as the roles tested there15:02
AJaegerclarkb: https://opendev.org/opendev/base-jobs/src/branch/master/playbooks/docs/promote.yaml#L2315:05
AJaegerBut we need to check all promote docs playbooks, I think there's one in project-config as well with small changes15:06
zbrclarkb: i am doing now a change to make promoter work with both15:06
AJaegerbbl15:06
clarkbAJaeger: looks like we need to register the actual file from the artifact url15:07
clarkbzbr: ^ doing that we should be able to let tar figure out how to decompress based on file type15:07
y2kennyavass: does this port access work the same way for node that has the kubectl connection type?15:10
zbrclarkb: https://review.opendev.org/#/c/715028/15:11
avassy2kenny: I would guess so, since it's the executor trying to connect to that port15:11
avassy2kenny: not ansible itself15:11
avassy2kenny: or, let me check. I could remember that wrong15:13
y2kennyavass: right... but if ansible connects to the remote differently depending on the node type, shouldn't the executor need a different way to connect to the node?15:13
y2kennyavass: ok15:13
avassy2kenny: probably mixed it up with something else15:16
avasshttps://review.opendev.org/gitweb?p=zuul/zuul.git;a=blob;f=zuul/ansible/base/callback/zuul_stream.py;h=ca34dc2abce2eccc2508ee18eab87cfbdad107a0;hb=refs/heads/master#l27215:16
*** dmellado has joined #zuul15:17
clarkbzbr: ?15:18
clarkblooking at download-artifact we don't currently register the files that are downloaded15:20
zbrclarkb: i am not against that but i am already too deep with the chain to lead that change.15:20
clarkbwe do register the json file from zuul though15:20
*** yolanda has quit IRC15:21
clarkbso we could assume that if we get this far the download has succeeded and simply check for those values. Or look for a bz2 or .gz file15:21
clarkbAJaeger: ^ curious if you have opinions on that15:21
mnaserzbr, clarkb, AJaeger: i did a follow up change i never had time to finish up which created some sort of artifact mapping15:21
mnaserwhich meant we dont have to hardcode .tgz urls15:21
mnaserhttps://review.opendev.org/#/c/715045/15:21
mnaserwith that, we can avoid hardcoding urls and extensions15:21
clarkbmnaser: thats exactly what I was looking for thanks15:22
zbrmy proposal: make it work with either one of them now, and aim to migrate to artifact urls later.15:22
y2kennyavass: oh right... I think there was a conversation about this before.  I need to add the stream port to the pod I launched manually.  Is the port always 19885?15:22
avassy2kenny: looking at that code i would guess it's not :)15:24
mnaserclarkb: yeah i _think_ that works but maybe a depends-on for promote jobs or something might show that it works, i dont have time currently to push the rest through15:25
avassy2kenny: haven't actually done anythign with it myself15:25
y2kennyavass: ok15:25
y2kennyavass: thanks for the tip, this is useful.15:26
andreykurilinHi folks! Can anyone help me to understand why https://github.com/openstack/rally-openstack/blob/master/.zuul.d/zuul.yaml#L114-L118 was never executed by zuul? http://zuul.openstack.org/builds?job_name=rally-openstack-docker-build-and-push shows nothing. Is anything wrong with the job itself?15:27
*** y2kenny has quit IRC15:29
*** dmellado has quit IRC15:35
clarkbandreykurilin: that job will only run if changes merge to that repo. So I guess first question is have you merged anything?15:37
*** dmellado has joined #zuul15:37
andreykurilinclarkb: I thought it should be called for a PR that introduces it. I made this assumption on how things are working for gate and check pipelines15:38
fungiclarkb: i guess the commit to add that job merged ;)15:38
clarkbfungi: ya I've stopped making that ssumption with the prevalence of file filters15:39
clarkbbut in general yes15:39
fungifile filters effectively don't filter job configuration, right?15:39
*** ysandeep is now known as ysandeep|away15:40
andreykurilinhttps://review.opendev.org/#/c/720199/ <- it was introduced here and it doesn't have any files or irrelevant-files filters15:40
fungisince we ignore file filters when making changes to a job which might otherwise have been filtered15:40
clarkbalso post is weird in that it doesn't apply within a branch context right? so if you have branch matchers you get broken too15:40
fungithat's a good point, defining post pipeline jobs in a branched repo have an empty implicit branch, so the existence of any branch matcher at all will prevent it from being run15:41
fungier, rephrasing15:41
clarkbhttps://opendev.org/openstack/rally/src/branch/master/.zuul.d/docker-jobs.yaml#L47 may also be related15:41
fungiand no, post pipeline triggers do have a branch in them, right?15:42
fungiit's tags which lack a branch15:42
clarkbfungi: I think its both because they are both triggered by refs/*15:42
clarkband not change foo with branch bar15:43
fungianyway, i can take a look in the debug log to see why that job was not selected15:43
clarkbfwiw no openstack tenant config errors related to rally repos15:43
andreykurilinclarkb: rally-docker-build-and-push doesn't pass secrets to the parent since it overrides run playbook (where the parent job might use secret)15:43
clarkbso ya I think at this point we may have to look at zuul server logs15:43
clarkbandreykurilin: ya I'm just wondering if maybe that breaks the transitive chain15:43
clarkbandreykurilin: and zuul is breaking at runtime trying to apply the secrets to the job maybe15:44
clarkb(I don't know just trying to ingest the configs right now)15:44
andreykurilinclarkb: I trust parent job, so I can change the flag15:44
fungiso digging up what happened when f134067 merged now15:45
clarkbandreykurilin: out of curiousity why are you overriding the run and post run playbooks?15:45
andreykurilinclarkb: this job not only builds a docker image, but runs a script that ensures that the image is valid and designed workflow works. post job just fetches the results of check script15:46
clarkbandreykurilin: ya I think we've got that workflow pretty well established without needing to edit jobs15:47
clarkblet me find an example for you15:47
fungibtw, this sounds like a prime candidate for our promote pipeline workflow to publish container images15:47
andreykurilinalso (do not know if it relates), I faced the similar issue for release pipeline (https://opendev.org/openstack/rally/src/branch/master/.zuul.d/zuul.yaml#L72-L74) - http://zuul.openstack.org/builds?job_name=rally-docker-build-and-push&pipeline=release15:48
andreykurilinhttps://opendev.org/openstack/releases/commit/2f33d6b8542b86b02ba118b985389d2d8142751b was merged after changes to release pipeline of rally15:48
clarkbandreykurilin: https://opendev.org/zuul/zuul/src/branch/master/.zuul.yaml#L126-L183 this is zuul's build, build+upload, and finally promote jobs. No special playbook overrides. Then https://opendev.org/zuul/zuul/src/branch/master/.zuul.yaml#L248-L250 validates it is working15:49
clarkbandreykurilin: beacuse that quickstart job is gating we only promote the image once the tests of the image function15:49
clarkbthis is nice because it separates the build from the testing. YOu can bring whatever tooling to testing that you need and only need to pass or fail. YOu don't need to modify the jobs beyond setting parameters around which image to build15:50
andreykurilinI am always happy to remove duplicated code:)15:50
fungiand it still ensures that the image which was tested in the gate pipeline is the exact same file which gets published15:50
andreykurilinthanks! checking15:51
*** yolanda has joined #zuul15:52
andreykurilinclarkb: also, I have one more feature which base docker roles misses: updating readme at docker hub. But I guess it can be fixed by the similar workflow as well or even embedded into original role(it can be helpful for everyone)15:54
clarkbandreykurilin: ya that sounds like a candiate for role improvement15:54
fungii found the event id from when that commit merged, still digging in the log entries for it to find out why rally-openstack-docker-build-and-push didn't get built15:55
fungiException: Project openstack/rally-openstack is not allowed to run job rally-openstack-docker-build-and-push15:56
fungi2020-04-17 16:10:17,306 ERROR zuul.Pipeline.openstack.post: [e: 5c21b6cc8ada40099c58b25ac832fd4d] Error freezing job graph for <QueueItem 0x7f39b3425f60 for <Branch 0x7f3aca500710 openstack/rally-openstack refs/heads/master updated 710d3bfd7708736899e989021b39f198c7da7413..f13406795a50a29e9ad4ed67b340216a1cd7920c> in post>15:56
clarkboh ya we can't share jobs with secrests like that outside of trusted projects?15:56
fungiright15:56
clarkbso hte fix actually is to stop specializing those jobs :)15:56
fungithe secret has to be *in* openstack/rally-openstack15:56
fungifor that to work15:57
fungiand then passed to the parent job15:57
clarkbfungi: it is, but there is also a secret in openstack/rally15:57
clarkbI think going to the intended use of those jobs will address this problem15:57
fungiyeah, agreed15:57
clarkbor rally can deplicate the jobs in their repos15:57
andreykurilinhm...but rally-openstack-docker-build-and-push has own secret and passes it to the parent15:58
fungioh, and the secret-using job would still need to be in a trusted config repo right? even if passing theh secret15:58
clarkbfungi: or in the current repo15:59
fungisure15:59
fungibut not in a different untrusted repo15:59
clarkbandreykurilin: I think this is an odd corner case. Zuul has to be conservative here due to a bug found long ago that allowed parenting to jobs like that to leak secrets between projects15:59
clarkbandreykurilin: in this case even though pass to parent is true zuul doesn't want to expose the parents secret so says that is an error16:00
clarkbandreykurilin: you either need to use the jobs as intended or switch to defining your unique stacks in each projects separately16:00
andreykurilin:(16:00
andreykurilinok, one more question. How I can reuse roles from rally by rally-openstack project? I saw that job has 'roles' section, but failed to use it16:02
fungiroles should be a list of other projects containing roles you want to use in the job16:03
clarkbandreykurilin: https://zuul-ci.org/docs/zuul/reference/job_def.html#attr-job.roles has a good example16:03
andreykurilinI guess I failed because `roles` dir are not located at the top dir of the repository16:07
andreykurilin*is not located16:07
zbrclarkb: how can I break this vicious circle or not being able to add tests for a role?16:07
clarkbzbr: can we fix the role so that it is testable?16:07
clarkbat the very least the tests need to be updated to test properly then we can see that installing bzip2 even works. I'm not sure this is desireable since we've already said we shouldn't use bzip2. My preference would be to update the role to produce gzip files and be done with it16:08
zbri am ok with that, but that sends to another change, that also lacks tests for its role,... and so on.16:09
clarkbzbr: yes testing is desireable but this came up before because bzip2 isn't installed in production for many people16:10
clarkbthats why your tess are failing16:10
andreykurilinclarkb fungi: what about https://opendev.org/openstack/rally/src/branch/master/.zuul.d/zuul.yaml#L72-L74 ? It has everything in one place and works for post pipeline but not for release - http://zuul.openstack.org/builds?job_name=rally-docker-build-and-push&pipeline=release16:10
clarkbif we fix that issue entirely we can move on from it16:10
zbrbut we need https://review.opendev.org/#/c/721652/ -- which is, not tested.16:11
zbrlooks simple and safe, but experience told me to not rely on how it looks :D16:12
fungiandreykurilin: release is a different problem. because that repo has branches, the branch where the job is defined has an implicit branch matcher. when a tag is pushed, there is no distinct branch associated with it so it cannot match the job16:12
clarkbzbr: or https://review.opendev.org/#/c/715045/116:12
clarkbzbr: but yes that often is the nature of adding testing to that which is untested16:12
zbrwhich again, is not tested16:12
clarkbzbr: I wish there was a simple answer, but if they end state goal is reducing debt and more reliable software I think we need to invest in removing the bzip2 debt16:13
andreykurilinfungi: oh...got it. so removing branches should solve the issue16:14
andreykurilinfungi clarkb: thanks guys!16:14
zbrso basically, my new goal is to find a way to test download-artifact, in order to change it.16:14
fungiandreykurilin: or putting the job definition in a project with no branches, right16:14
clarkbandreykurilin: usually we deal with that not by removing branches, but by appling the config from a branchless repo16:14
zbrusually I would have used molecule to test roles but i seen that is not a tool of choice for zuul-roles.16:15
andreykurilinclarkb: I prefer to remove old branches that are not used for several years16:17
*** kklimonda has quit IRC16:28
*** kklimonda has joined #zuul16:30
*** evrardjp has quit IRC16:35
*** evrardjp has joined #zuul16:35
*** zxiiro has quit IRC16:37
*** michael-beaver has quit IRC16:37
*** kklimonda has quit IRC16:38
*** lseki has quit IRC16:38
*** zxiiro has joined #zuul16:39
*** rpittau is now known as rpittau|afk16:39
*** kklimonda has joined #zuul16:39
*** michael-beaver has joined #zuul16:40
*** klindgren has quit IRC16:41
*** klindgren has joined #zuul16:41
*** mnaser has quit IRC16:41
*** vblando has quit IRC16:42
*** lseki has joined #zuul16:42
*** maxamillion has quit IRC16:42
*** Open10K8S has quit IRC16:42
*** Open10K8S has joined #zuul16:42
*** vblando has joined #zuul16:44
*** mnaser has joined #zuul16:44
*** mnaser has quit IRC16:46
*** maxamillion has joined #zuul16:46
*** mnaser has joined #zuul16:47
zbri need an example json result for "Query Zuul API for artifact information" in order to mock it16:48
*** mnaser has quit IRC16:49
tobiashcorvus, clarkb: we're sometimes facing connection issues like those: http://paste.openstack.org/show/792486/ . Those are currently hard to debug as nodepool auto-deletes them right after the timeout. Do you think it might make sense to implement some autohold that can catch launch errors? I think that would simplify debugging a lot.16:49
*** mnaser has joined #zuul16:50
tristanCtobiash: that sounds like a good idea, we also have trouble debugging launch error when nodepool cleanup faster than we can inspect16:50
corvustobiash: i guess you want to check the console log for the vm?  and maybe ssh into it and check dmesg/syslog if it eventually comes up?16:52
tobiashcorvus: yes16:52
corvusdidn't we, at some point, have something that grabbed the console log for failures?16:52
tobiashcorvus: we grab the openstack error of the instance, however when hitting the timeout issue openstack didn't report any error16:53
tobiashs/timeout/connection timeout.16:53
corvusi thought we had something that grabbed an openstack console log16:53
tobiashhrm, let me check16:53
corvusi may not even be thinking of nodepool....16:53
corvusclarkb, mordred: ^ does that ring a bell?16:53
mordredcorvus: yes - I remember the thing you're talking about vaguely16:55
mordredI don't think it was in nodepool16:55
mordredbut I don't remember what it was from16:55
mordredmaybe launch-node?16:56
corvusmordred: was just looking there, but i don't see it16:56
mordredcorvus: I feel like I shoudl know where this is16:56
tobiashI only know about https://opendev.org/zuul/nodepool/src/branch/master/nodepool/driver/openstack/handler.py#L26416:56
tobiashbut that only handles the case when openstack itself had an error during instance creation16:57
mordredI'm 99% sure you're not imagining this ... but I cannot think of where we might have done that16:57
mordredtobiash: yeah - you definitely need the console log for boot related issues16:57
tobiashoh wait, there is something about a console log: https://opendev.org/zuul/nodepool/src/branch/master/nodepool/driver/openstack/handler.py#L5016:57
*** jcapitao has quit IRC16:57
mordredyes!16:58
mordredthere's where it is16:58
corvusyep that's it!16:58
mordredit's behidn a variable because it could otherwise be quite verbose16:58
corvushttps://opendev.org/zuul/nodepool/src/branch/master/nodepool/driver/openstack/handler.py#L5116:58
corvustobiash: maybe you can try that real quick and see if it gets you enough info?16:58
tobiashhrm, no console log in our logs16:58
mordredtobiash: you need to turn on a flag16:58
corvustobiash: yeah, you'll need to set the variable in the config16:59
tobiashoh16:59
mordredon the label16:59
tobiashah got it16:59
corvusah neat, it's even documented16:59
tobiashsorry for not reading the docs, I thought I have all the docs in my head :D17:00
* tobiash was wrong appearently17:00
*** hashar has quit IRC17:01
clarkbcorvus: yes we should grab the console log17:01
* mordred is surprised - had assumed tobiash had everything memorized17:01
clarkbah its config flag got it17:01
clarkbfwiw the way I like to debug those is to manually boot the image and see what it does17:01
clarkbthen if that doesn't make it clear dig harder from nodepool side17:01
tobiashclarkb: it's a random error that happens to roughly 1/1000 instance creations throughout all of the images17:02
clarkbtobiash: ah17:02
tobiashand it's pretty nasty as it randomly delayes some jobs by ~20min while the cloud still has plenty of free resources17:03
corvustobiash, tristanC: to the original question, i don't object to a 'hold on error' option, but maybe if this works (or maybe a small enhancement to this if we need something else), we might be able to avoid the extra complexity, and it's probably a better user experience too if we can get the necessary debug info without having to deal with a held node17:03
tobiashI'll try with the console log first17:04
*** bhavikdbavishi has joined #zuul17:04
tobiashif that's not enough I guess I need either the hold functionality or run a python script that spawns instances until it hits that error so we're able to debug on neutron/network level17:05
clarkbcorvus: unrelated I've just realized the simple nodepool driver already sets nodepool_pool_name metadata17:05
tristanCcorvus: being able to debug operational issue without having to restart service with special flag to increase debug sounds much better to me. Especially since once you restart in debug, you are likely to stick to debug17:05
corvustristanC: if we added a 'hold on error' flag, it absolutely would be disable by default17:05
corvusso there's no advantage there17:05
tristanCah, so not like zuul autohold feature?17:06
corvustristanC: also, you never have to restart nodepool to change a label option17:06
tristanCcorvus: iiuc logConsole is only available in DEBUG17:06
corvustristanC: i can't imagine why we would go to all that trouble to implement something like the nodepool autohold when in general all of the nodepool config is in a config file17:07
corvustristanC: we can change the log level pretty easily.  it should probably be info, warning, or error since it only happens at user request17:08
tristanCcorvus: changing nodepool config file works for me, as long as we don't have to restart the service17:08
corvusyeah, i think if we change the log level, we'll have satisfied that17:08
openstackgerritJames E. Blair proposed zuul/nodepool master: Log openstack console at info  https://review.opendev.org/72169417:10
tristanCcorvus: warning sounds better to me17:11
corvustristanC: i thought about it, and info seemed more appropriate, so that warning can still mean "there may be something wrong you should fix".  we'll already have warning or error messages telling someone the launch has failed, so they can look for these.17:13
*** jpena is now known as jpena|off17:13
corvustristanC: but if other folks think warning would be better, i can change it17:14
corvus(i don't feel very strongly about this)17:14
mordredcorvus: I think info seems right17:16
tristanCcorvus: isn't console log enabled when there is something to fix?17:16
mordredthat's why I think info is right - you already have to opt-in to wanting this info, and it already only outputs if if there is a boot error17:17
mordredso it is the info you're asking for17:17
mordredbut - I also don't feel strongly17:17
mordredand would be happy with the other level too17:17
corvustristanC: i'm considering the use case of someone wanting to know if there's anything wrong with their nodepool system.  that user may want to grep for all 'warning' or 'error' messages.  that user would not want to see these.17:17
corvusin other words, putting too many messages at warning or error may cause real warnings or errors to get lost17:18
tristanCmordred: well we do have a case where we write >INFO to public place where our user can look for nodepool issue, having the failed console log be available would be useful too.17:18
corvus(i would probably feel differently if this were one log line, but it's probably a couple of thousand)17:18
tristanCperhaps console log could be dumped to a file instead of printed in the log?17:20
corvusanything is possible.  sounds like overkill to me.17:20
fungithe same could be said of other high-colume on-demand data zuul logs, like thread dumps17:20
fungier, high-volume17:20
fungialso a minor amount of tweaking could probably make it possible to redirect those to a separate log anyway with an appropriate python-logging config17:21
openstackgerritJames E. Blair proposed zuul/nodepool master: Log openstack console at info  https://review.opendev.org/72169417:22
tristanCcorvus: one of the big issue we are having recently is diagnose zuul and nodepool issue when the information to understand a failure is in the service logs.17:22
tristanCsome user brings nodepool resources and a zuul connection, and zuul may only report 'FAILURE' when one of those external component are failing on us, and user complains that zuul is failing17:23
tristanCuntil we dig in the log to find that it's actually the user provided resources which is failing17:24
fungii'm sympathetic to that challenge and also spend a fair amount of time hunting through zuul and nodepool service logs, but being able to figure out for sure that they can be safely exposed is not easy (especially executor logs)17:25
tristanCthus we are looking for ways to expose zuul internals so that user can at least check if the failure can be fixed from their side17:25
tristanCfungi: yeah, we already noticed it is not acceptable to share raw logs17:26
fungii think we've mostly convinced ourselves that openstacksdk is not going to leak credentials into builder and launcher logs, but no idea if the same can be said for non-openstack clouds17:27
fungiso far the approach has been to plumb what we know to be safe up through our usual user interfaces (buildset reporting, web dashboard, api...)17:28
fungifor opendev, we've also started publishing our nodepool builder logs so that members of our community can diagnose image build problems for platforms they're familiar with17:29
fungi(and also publishing copies of the corresponding images built)17:29
tristanCin this document we described the issue in more detail: https://tree.taiga.io/project/morucci-software-factory/us/3538  basically we are looking for a process to diagnose node_failure, job pending for too long, post failure and logless retry limit17:30
fungii have a feeling each of those three things is going to require a different approach17:30
tristanCfungi: image build logs are very useful indeed, we share them too by default at fqdn/nodepool-log17:31
fungiexposing node_failure reasons may be easy if we can figure out where they belong to be most easily consumed. that just boils down to launchers refusing the request and the reasons given by each17:32
*** yolanda has quit IRC17:33
tristanCand we recently added fqdn/nodepool-launcher-log for >INFO log of the nodepool handler17:33
tristanCfungi: node_failure can also happen when the diskimage fail to provide a working ssh service17:34
fungilike i said, i think we've in opendev convinced ourselves that publishing our launcher logs is probably safe because we trust openstacksdk to not leak credentials. i don't know if that evaluation carries over to environments using other kinds of resource providers17:34
fungioh, do we return node_failure when the executor can't ssh to the node? i thought those just bubbled up as retry_limit17:35
fungi(after trying and failing however many times)17:35
openstackgerritClark Boylan proposed zuul/nodepool master: Set pool info on leaked instances  https://review.opendev.org/72135917:38
clarkbcorvus: tristanC tobiash ^ now that has a test17:38
clarkbI think we can probably land that patchset?17:38
clarkboh wait I might fail pep8 /me checks17:38
openstackgerritClark Boylan proposed zuul/nodepool master: Set pool info on leaked instances  https://review.opendev.org/72135917:41
clarkbyup needed pep8 fix. All should be well now17:41
clarkband if that lands I'll restart opendev's nl03 and confirm it makes things at least no worse than they currently are17:42
*** zxiiro has quit IRC17:47
openstackgerritSorin Sbarnea proposed zuul/zuul-jobs master: POC: download-artifacts: provide a dictionary with tests  https://review.opendev.org/72170317:52
openstackgerritSorin Sbarnea proposed zuul/zuul-jobs master: POC: download-artifacts: provide a dictionary with tests  https://review.opendev.org/72170317:54
tobiashfungi: node failure can happen if nodepool cannot gather ssh keys17:55
fungihost keys?17:56
fungii guess it doesn't have a way to un-accept an allocation request so it can be picked up by another launcher17:57
clarkbfungi: it can once it fails X times in a row (3 by default)17:58
clarkbhttps://review.opendev.org/#/c/721359/4 should make an interaction with ^ better too fwiw17:59
tobiashfungi: nodepool checks the imstance for connectivy before it succeeds the node request. In this process it gathers the ssh host keys18:00
fungiahh, okay, but i guess if all launchers fail to get a host key however many times for nodes they tried to allocate, then the request can't be fulfilled so you get a node_failure18:00
openstackgerritMerged zuul/nodepool master: Log openstack console at info  https://review.opendev.org/72169418:13
*** bhavikdbavishi has quit IRC18:23
zbrcan I tell zuul to add some ansible skip tags or this is not supported?18:24
corvuszbr: can you be more specific about 'skip tags' ?18:27
zbrcorvus: aka --skip-tags feature from ansible, https://docs.ansible.com/ansible/latest/user_guide/playbooks_tags.html18:28
zbrand before someone asks why, is for testing purposes, some tasks can be marked with tags like "notest" in order to be skipped during testing.18:29
corvuszbr: no; but we have proposed that https://zuul-ci.org/docs/zuul/reference/job_def.html#attr-job.tags could be passed through, but no one has implemented that18:29
corvuszbr: in the openstack context, we would push back on that, because we try to test like production.18:30
zbrcorvus: so there was a plan to expose zuul tags as ansible tags.18:30
corvuszbr: more like an idea, but no one needed it enough to write the code.18:30
corvususually people just say, well, actually i can test that18:30
zbri wonder if there is a danger of overlapping on this.18:30
*** gmann is now known as gmann_lunch18:31
tristanCzbr: there is an attempt at ansible tags here: https://review.opendev.org/57567218:31
zbrhaha, from my collegues :D18:32
zbrhere is a practical example for use of tags: https://review.opendev.org/#/c/721703/2/roles/download-artifact/tasks/main.yaml18:32
fungi"notest" a.k.a. "nottested" a.k.a. "broken" ;)18:33
corvusif anyone wants to get that passing tests, i don't object to the feature and will be happy to review it18:33
zbrfungi: sorry to day it but skipping some network specific tasks and mocking them is far better than having not tests at all18:33
corvuszbr: but if this is for an openstack project, please feel free to discuss it with me in #openstack-infra because i'd like to understand why we aren't able to test something18:33
zbrand I keep facing roles in zuul-jobs that have no tests at all or which "cannot be tested".18:34
corvuszbr: yes, we consider them broken and in need of fixing18:35
corvuszbr: if this is for zuul-jobs, we certainly will want to fully test something18:35
avassanyone wanna take a quick look at this: https://review.opendev.org/#/c/721192/ just need another +2 :)18:35
corvuszbr: i doubt we would ever want to land a "tag: notest" in zuul jobs, even if zuul did support that18:36
zbrintegration testing should not be seen as a way to avoid functional testing, they complete each other.18:36
corvuszbr: i understand and agree with your perspective to some extent.18:37
zbrhuh,... happy to hear that.18:37
*** saneax has quit IRC18:38
corvusbut i don't think a conversation in generalities is going to be useful here.  :)  let's confine ourselves to specific problems.18:38
corvuszbr: is there something in zuul-jobs you'd like to test but need help finding a way to?  i'd be happy to help.18:38
zbrdownload-artifacts would be a recent example, as mnaser made a change that end-up lingering due to lack of tests, https://review.opendev.org/#/c/715045/18:40
*** bhavikdbavishi has joined #zuul18:40
zbri was interested about this change as it was needed for enabling testing on another role.18:40
zbrsome of the roles from zuul-roles run in post, like fetch-sphinx-tarball -- which also prevents testing CRs made towards them.18:41
zbrcorvus: if we can address these two it would be a great start.18:42
zbris quite late for me, but I will be more than happy to work on that tomorrow morning. still, I need few directions18:43
clarkbzbr: it actually lingered because it needed a readme update18:43
clarkbat least that was the reason it got a -118:43
zbradding the readme was not enough, the code does not run at all and I believe it may be borken (not sure)18:44
corvusyeah, i agree a test would be good there; i'll think about how to test that18:44
zbri need an example json file to mock it18:44
mnasertbh, part of it is me not pushing up a revision for it18:45
corvuszbr: example json should be pretty easy to get from a zuul job that ran in openstack18:45
mnaserplease feel free to pick it up, i'm a little overwhelmed with stuff going on right now18:45
zbrmy previous change was attempting to test mnaser change by avoiding the uri calls, and pre-loading some sample results.18:45
mnaseri even have the ensure-packages stack which im bummed about not having time to clean up too, but life18:45
corvusi guess we could spin up a little http server; i don't know if the uri module would handle a file url?18:46
zbri am almost sure it does18:46
corvus(if not, for this, we could have a little 3 line http server in python or something)18:46
mnaser(or convert that task to a python module and unit test it)18:48
corvusavass: what does the change to all capital letters for ALL mean?)18:48
zbrmnaser: i tried to build a sample json at https://review.opendev.org/#/c/721703/2/roles/download-artifact/molecule/default/converge.yml but I got something wrong.18:48
mnaserbecause the ansible bits of it seem _really_ complicated at this point, imho18:48
mnaserzbr: id just grab something from the opendev zuul api18:49
*** saneax has joined #zuul18:49
corvuszbr: i'm pretty sure i've said this before, but we're going to need a really good reason to introduce yet another test framework to zuul-jobs; so i'd sure like to see an attempt to test this using the "just run the role" approach.18:50
AJaegerclarkb, want to review https://review.opendev.org/721706 - that's part 1 of the promote changes?18:51
*** gmann_lunch is now known as gmann18:51
clarkbAJaeger: ya sorry I've had a million things to juggle this morning18:51
avasscorvus: tox -e ALL runs all environments, I think the earlier 'all' was a mistake since that makes tox try to run the 'all' testenv18:52
AJaegerclarkb: a lot is going on right now - no worries18:52
corvusavass: ok, thx18:52
corvusavass: is that a feature of tox, or is that just a 'safe' word we've chosen in this role?18:53
avasscorvus: it's a feature in tox, or at least on my local tox and the one we're running at Volvo as far as i know :)18:54
avasscorvus: I'll take a look and see if it's documented somewhere18:54
clarkbif you run tox without -e it runs the listed envs18:54
zbrcorvus: i am aware of that anti-test framework approach, which is mainly forcing any change to go only through zuul. only linting can be done locally atm.18:55
clarkblike make18:55
zbrmnaser: something is not working for me with https://zuul.opendev.org/openapi -- whatever I put as "tenant" for ./builds, I am unable to load anything pressing execute, it only resets the form.18:56
mnaserzbr: my hacky way is open up a build page, open dev tools and copy the url it polls18:57
corvuszbr: yes, we think that's the appropriate choice for zuul-jobs.  it's not necessarily appropriate for everything, but we're pretty convinced it's right for zuul-jobs.  so you might have the most success if you work with us on that.18:57
avasscorvus: here https://tox.readthedocs.io/en/latest/config.html#cmdoption-tox-e18:57
corvusavass: neat, thanks :)18:57
zbrcorvus: not going to fight w/ you on that, i will do whatever is needed to improve its testing.18:58
mnaserzbr: in this case, i got http://zuul.opendev.org/api/tenant/openstack/build/aeb36977954e4a4892058ef81c23621218:58
mnaserfrom a kolla change18:58
mnaserthat one has artifacts18:58
corvuszbr: great :)18:58
corvusavass: i think maybe soon we won't need the 'reinstall-tox' playbook.  +2, but i'd also like either AJaeger or clarkb to give it a quick review and +W18:59
avasscorvus: sure :)19:00
corvusAJaeger, clarkb: https://review.opendev.org/721192   (just in case i missed something in the ongoing tox work)19:00
zbrthanks, i will try to write some testing for it tomorrow, hopefully we will mange to improve the testing coverage to make it easier to patch.19:00
zbrtbh, it was bit frustrating to try to fix bug in role foo, just to discover that in order to test it you need to make 5-6 other changes to other roles.19:01
openstackgerritAlbin Vass proposed zuul/zuul master: Enables whitelisting and configuring callbacks  https://review.opendev.org/71726019:11
openstackgerritMerged zuul/nodepool master: Set pool info on leaked instances  https://review.opendev.org/72135919:13
avass^ that's pretty much done as well unless someone wants any changes to it :)19:23
openstackgerritMerged zuul/zuul-jobs master: Use cached 'tox_executable' in fetch-tox-output  https://review.opendev.org/72119219:32
avassactually nevermind, I forgot I broke my tests19:48
openstackgerritMerged zuul/zuul-jobs master: Make linting use of find portable  https://review.opendev.org/72159520:00
openstackgerritAlbin Vass proposed zuul/zuul master: Enables whitelisting and configuring callbacks  https://review.opendev.org/71726020:02
avassthat should be better20:03
openstackgerritAlbin Vass proposed zuul/zuul master: Enables whitelisting and configuring callbacks  https://review.opendev.org/71726020:13
*** bhavikdbavishi has quit IRC20:26
mordredcorvus, zbr: sorry - missed the above scrollback - but we actually have a use case for skippoing a particular thing in opendev - for accessbot - in the gate we want to write all the config and do all of the things ... but we do not want to run the script itself, because the script connects to freenode irc and does some things20:47
mordredin my ansible patch I split it into two playbooks - one that runs in the gate and in prod and one that only runs in prody20:47
mordredwe also have the inverse case in a few places where we've worked around it with flag variables - we want to always start a container in the gate, because we need to make sure the service runs - but in prod, we don't want to restart gerrit every time there is a new image available - so in the gate we set a variable which says "run the start tasks" and in prod we do not set that variable20:49
fungiin theory we could run charybdis and ircseven bots equivalent, but that may be overkill20:49
mordredfungi: yeah- I think the "don't start gerrit" example is one we can't really work around20:50
mordredbut - I also think that the flag vars work file20:50
mordredfine20:50
mordredand although I do think we have a valid use case for using something to indicate a divergence between prod and test - I don't know that tags would make it any clearer20:51
mordredbut maybe they might20:51
*** rlandy is now known as rlandy|brb20:51
corvusmordred: yep.  i agree the use case is there.  and "when: job_var" is roughly equal to --skip-tags foo + "tag: foo", so we're effectively doing that. the tags might make it a bit more explicit.21:10
mordredcorvus: ++21:11
*** rlandy|brb is now known as rlandy21:19
*** saneax has quit IRC21:24
openstackgerritTristan Cacqueray proposed zuul/zuul-jobs master: cabal-test: add first haskell job  https://review.opendev.org/72173521:28
*** dpawlik has quit IRC21:34
*** sgw has quit IRC21:34
openstackgerritTristan Cacqueray proposed zuul/zuul-jobs master: cabal-test: add first haskell job  https://review.opendev.org/72173521:41
*** michael-beaver has quit IRC21:52
*** sgw has joined #zuul21:53
openstackgerritMerged zuul/zuul-jobs master: helm-template: allow users to disable wait-for-pods  https://review.opendev.org/72136921:55
openstackgerritTristan Cacqueray proposed zuul/zuul-jobs master: cabal-test: add first haskell job  https://review.opendev.org/72173522:00
openstackgerritTristan Cacqueray proposed zuul/zuul-jobs master: cabal-test: add first haskell job  https://review.opendev.org/72173522:26
openstackgerritTristan Cacqueray proposed zuul/zuul-jobs master: cabal-test: add initial haskell job  https://review.opendev.org/72173522:56
*** tosky has quit IRC23:03
openstackgerritTristan Cacqueray proposed zuul/zuul-jobs master: cabal-test: add initial haskell job  https://review.opendev.org/72173523:05
*** y2kenny has joined #zuul23:09
y2kennyIf a job defined with 'requires' runs before another job  defined with 'provides', how can I debug what may be missing?23:14
y2kennyboth jobs are triggered off the same change23:14
y2kennyrun before the 'provides' job finished*23:14
mordredy2kenny: requires and provides do not imply dependencies - they talk about artifacts zuul needs - and also describe relationships potentially across changesets23:15
mordredy2kenny: so you _also_ need to make the second job list the first job in dependencies:23:15
y2kennyOH23:16
y2kennymordred: thanks for highlighting that.23:16
mordreddependencies are for in-the-same-changeset ordering - but you could actually do soft: true on a depend - and stil have requires/provides relationship - and have 2 changes ina. stack where the first change runs the provides job and the second change triggers the requires job and will pick up the articact from the previous change23:17
mordredit's possible to describe some pretty crazy relationships :)23:17
mordred(and incidentally - we actually do make use of that in opendev/system-config)23:17
y2kennyum... I think this is worth a picture in the documentation to illustrates the power of Zuul23:18
openstackgerritTristan Cacqueray proposed zuul/zuul-jobs master: Add remove-zuul-sshkey  https://review.opendev.org/68071223:45
y2kennymordred: do you have any tips on debugging a dependent job that stopped due to error?  (not failure) and the parent job was successful.  Is there other ways other than running the executor in debug mode?23:53
y2kennyoh wait... the error was actually in the change comment.  Um... playbook not found... that's weird...23:55
y2kennynevermind... found the problem.  sorry for the noise23:55

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