Tuesday, 2019-05-14

tristanCclarkb: iiuc, the scheduler did start even though there is a sys.exit(0) in the change: http://logs.openstack.org/35/658935/1/check/zuul-quick-start/9a353f9/container_logs/scheduler.log00:00
tristanCclarkb: and the docker images list seems to show images from docker hub: http://logs.openstack.org/35/658935/1/check/zuul-quick-start/9a353f9/ara-report/result/013c21ff-6e33-4bfc-a7ea-ed861e36bea1/00:01
clarkbah I was reading the log collection output not the actual compose up output00:02
tristanCclarkb: do you know if the zuul-build-image is supposed to honor depends-on nodepool changes?00:02
clarkbI think it is supposed to for all images it knows about. The buildset registry is started to store all of the inflight source changes00:03
clarkbhttp://logs.openstack.org/35/658935/1/check/zuul-build-image/6dfa140/job-output.txt.gz#_2019-05-13_23_36_45_373160 for example that zuul-web image is pushed into the buildset registry then quickstart should pull it out (though I agree the logs don't show that hash being used)00:03
tristanCclarkb: for example this zuul change depends-on a nodepool change, but i can't find nodepool image build logs: https://review.opendev.org/65848600:04
tristanCor is the zuul-build-image registry supposed to also proxy the nodepool-build-image registry?00:05
tristanCbut in that case, the nodepool change wasn't live and its registry was gone00:05
clarkbtristanC: the nodepool change should push its built images to the intermediate registry too00:06
clarkbtristanC: so in the case of non live items the image will come from the intermediate registry00:06
clarkband in the case of the current live item it gets the image from the buildset registry (or at least that is what is supposed to happen)00:06
tristanCwhere is the intermediate registry located?00:07
clarkbtristanC: we run it in one of our clouds (I forget which one)00:07
clarkbit is a registry backed with swift00:07
clarkbso I think the issue here is our use of latest00:07
tristanCoh i see, it's not managed by zuul pipelines00:07
clarkbtristanC: correct it just exists to support the jobs but isn't managed by them00:08
clarkbwhen we push to the intermediate and buidlset registries we use the change based tags but I don't think we promote anything to 'latest' until changes merge00:08
clarkbhttps://opendev.org/zuul/zuul/src/branch/master/doc/source/admin/examples/docker-compose.yaml I think we may need to update that docker compose file to use the appropriate flags when tested with zuul00:09
clarkb(default of latest is probably what we want in the default case for people getting started with zuul)00:09
clarkbhttps://docs.docker.com/compose/compose-file/#image is the docs for that00:12
clarkbmaybe the job can do a simple sed/awk type string replacement before running docker-compose up?00:12
*** zbr_ has joined #zuul00:12
clarkbI've got to run to dinner now00:12
*** zbr has quit IRC00:14
*** saneax has quit IRC00:49
corvustristanC, clarkb: the images built in the zuul-build-image job should be pushed to the buildset registry with the latest tag, so zuul-build-image should use those instead of the ones from dockerhub00:50
corvusi haven't looked into the logs to see why that isn't the case -- that's just the way it's supposed to work.00:50
corvustristanC, clarkb: here's where zuul-scheduler:latest was pushed to the buildset registry: http://logs.openstack.org/35/658935/1/check/zuul-build-image/6dfa140/ara-report/result/7e2084b2-f054-44e3-a9ce-e502069100df/00:53
tristanCcorvus: when setting docker-compose --verbose argument, you can see it doesn't try the buildset registry and goes straight to dockerhub00:54
corvustristanC: do you have a change with --verbose?00:55
tristanCcorvus: https://review.opendev.org/#/c/658738/400:57
tristanChere is the logs: http://logs.openstack.org/38/658738/2/check/zuul-quick-start/f16c80a/ara-report/result/77e58afb-9f70-4dac-a4d0-1984253901d4/00:57
corvustristanC: keep in mind that it's actually the docker daemon which performs the image pulls, and it should be configured to use the buildset registry as a mirror00:59
corvusi'm not that familiar with the output of docker-compose --verbose, but it's conceivable that it would only think that it's instructing the docker daemon to pull an image from dockerhub, and only the docker daemon knows about the buildset registry01:00
corvusperhaps the docker daemon log would shed more light on the issue01:01
tristanCcorvus: according to https://review.opendev.org/658738 and https://review.opendev.org/658935, it seems like this is caused by the docker configuration for buildset registry not being set for the user running docker-compose01:03
corvustristanC: the mirror configuration is set for the daemon in /etc, and the user authentication information is set for the user running docker-compose (zuul)01:05
corvushere's the user auth config: http://logs.openstack.org/35/658935/1/check/zuul-quick-start/9a353f9/ara-report/result/c73d0873-9433-433c-b8c2-9a56671bfcfc/01:05
corvusand here's the daemon: http://logs.openstack.org/35/658935/1/check/zuul-quick-start/9a353f9/ara-report/01:05
corvusgrr01:05
corvusthe daemon: http://logs.openstack.org/35/658935/1/check/zuul-quick-start/9a353f9/ara-report/result/a090481d-2e4d-4039-9ada-bb2c904f4c6a/01:05
corvusthis should be what the daemon is configured with: http://logs.openstack.org/35/658935/1/check/zuul-quick-start/9a353f9/ara-report/result/38dd9fdc-830d-4baa-bfce-50e530b9187d/  and the user config:  http://logs.openstack.org/35/658935/1/check/zuul-quick-start/9a353f9/ara-report/result/5055b2dc-607f-47d4-be0f-567a1bacbe9e/01:07
tristanCcorvus: yes, and with https://review.opendev.org/658738 , the docker configuration is set for the right user, resulting in compose image to being pulled from the registry...01:08
corvustristanC: oh i missed your comment where you pointed out that it is running as root: https://opendev.org/zuul/zuul/src/branch/master/playbooks/quick-start/main.yaml/#L601:08
corvusthat would be the cause -- the auth information won't be present, and the docker daemon will fail to retrieve the info from the buildset registry and buildset proxy, and so will fetch directly from dockerhub01:10
corvustristanC: then i think 658738 is correct (or, as you say, we could try removing become:true -- since i thought it was like that already, i clearly don't remember why we thought we needed to be root)01:12
corvustristanC: +2 on 658738 with comments01:14
openstackgerritTristan Cacqueray proposed zuul/zuul master: Try running docker-compose as zuul user  https://review.opendev.org/65894101:14
tristanCcorvus: let's see how that goes ^01:15
corvustristanC: there's an error in that01:15
corvustristanC: if you want to fix that real quick i can +2 that one too01:15
tristanCcorvus: it's a test rebased on the change that should have failed. if that works as expected, i'll drop the become from https://review.opendev.org/65873801:16
corvustristanC: oh ok.  i'll update my comment then.01:17
corvustristanC: thanks for fixing this, and sorry i missed https://opendev.org/zuul/zuul/src/branch/master/playbooks/quick-start/main.yaml/#L601:18
* corvus -> dinner01:19
tristanCcorvus: no worries, you're welcome01:19
tristanCShrews: there has been discussion in the past to have a generic ansible driver in nodepool to leverage ansible's modules. there is also someone interested in writing a driver based on https://github.com/CentOS-PaaS-SIG/linchpin02:00
tristanCi think that would bring a lot of value to nodepool since ansible can talk to so many provider, but i agree with your concern02:01
tristanCactually, the initial runc driver was using paramiko since we only need a few commands to create a container02:02
tristanCusing the ansible-playbook add quite an overhead to nodepool launcher, but perhaps using ansible-runner would enable a suitable api02:03
ShrewstristanC: yeah I remember such discussions. I think we need to fully map out our handling of Ansible though before we add support for it02:04
openstackgerritTristan Cacqueray proposed zuul/zuul master: zuul-quick-start: run docker-compose as regular user  https://review.opendev.org/65873802:12
openstackgerritTristan Cacqueray proposed zuul/zuul master: DNM: show zuul-quick-start doesn't test speculative images  https://review.opendev.org/65893502:13
*** bhavikdbavishi has joined #zuul02:28
tristanCtobiash: i'm trying to debug the tox-remote job, would you know why this change doesn't seems to be taken into account: https://review.opendev.org/#/c/657914/10/zuul/ansible/base/library/zuul_console.py@19302:30
tristanCtobiash: i'd like to debug why some task results in "Log not found" by sending the traceback over the socket, but it seems like the change to this file has no effect02:31
tristanCtobiash: if you look at the testr result, there are "[Zuul] Log not found" but no "[Zuul] LOG NOT FOUND"02:32
*** bhavikdbavishi has quit IRC02:51
*** bhavikdbavishi has joined #zuul02:52
*** rlandy|bbl is now known as rlandy03:02
*** bhavikdbavishi has quit IRC03:11
openstackgerritTristan Cacqueray proposed zuul/zuul-jobs master: use-buildset-registry: add registry-1.docker.io  https://review.opendev.org/65895103:13
openstackgerritTristan Cacqueray proposed zuul/zuul master: DNM: show zuul-quick-start doesn't test speculative images  https://review.opendev.org/65893503:15
*** bhavikdbavishi has joined #zuul03:17
openstackgerritTristan Cacqueray proposed zuul/zuul master: DNM: show zuul-quick-start doesn't test speculative images  https://review.opendev.org/65893503:47
*** rlandy has quit IRC03:53
*** bjackman_ has joined #zuul03:59
SpamapSStill doesn't make sense to me to write a "runc" driver. If it doesn't have an API of some sort, I don't think nodepool should be the way we interact with it.04:22
SpamapSwrapping a local container tool in ssh.. that feels like job content to me.04:22
*** pcaruana|afk| has joined #zuul04:25
*** pcaruana|afk| has quit IRC04:35
*** gtema has joined #zuul04:47
*** gtema has quit IRC04:52
*** electrofelix has quit IRC05:26
*** gtema has joined #zuul05:36
*** bjackman__ has joined #zuul05:37
*** bjackman_ has quit IRC05:41
tristanCSpamapS: we have been using nodepool to start runc service quite succesfully, it enables more efficient usage of a static node to run jobs05:49
tristanCand we don't want to give job access to the host05:50
tristanCbut we could move that driver logic to our confmgmt playbook and use the static driver with pre-prepared runc service05:51
*** gtema has quit IRC05:53
*** saneax has joined #zuul06:01
*** abraverm has joined #zuul06:18
*** bjackman_ has joined #zuul06:18
*** bjackman__ has quit IRC06:21
*** quiquell|off is now known as quiquell06:36
*** gtema has joined #zuul06:43
*** pcaruana has joined #zuul07:12
*** jesusaur has quit IRC07:13
*** bhavikdbavishi has quit IRC07:14
*** themroc has joined #zuul07:16
*** snapiri has joined #zuul07:29
*** jangutter has joined #zuul07:50
*** jpena|off is now known as jpena07:59
*** bhavikdbavishi has joined #zuul08:14
*** hashar has joined #zuul08:35
*** electrofelix has joined #zuul08:54
*** jesusaur has joined #zuul09:28
*** markwork has joined #zuul09:36
*** yolanda_ has quit IRC10:06
*** yolanda_ has joined #zuul10:08
*** gtema has quit IRC10:18
openstackgerritTristan Cacqueray proposed zuul/zuul master: web: remove SafeLoader left-over from MappingProxyEncoder  https://review.opendev.org/65902610:18
openstackgerritTristan Cacqueray proposed zuul/zuul master: web: honor job dependencies in trigger modal  https://review.opendev.org/65756710:31
*** jangutter has quit IRC10:56
*** armstrongs has joined #zuul11:15
*** jangutter has joined #zuul11:31
*** jpena is now known as jpena|lunch11:41
openstackgerritTristan Cacqueray proposed zuul/zuul master: web: remove SafeLoader left-over from ZuulJSONEncoder  https://review.opendev.org/65902612:01
*** bhavikdbavishi has quit IRC12:06
*** rlandy has joined #zuul12:30
*** jpena|lunch is now known as jpena12:32
SpamapStristanC:I see your point, and I do think it might make sense to be able to say "this static node supports X concurrent jobs using it" and then you can do the entire runc integration in pre/post playbooks.12:33
*** jamesmcarthur has joined #zuul12:46
*** gtema has joined #zuul12:52
*** yolanda_ has quit IRC12:57
SpamapSmarkwork: bitbucket driver looking good. I noticed a question the other day that you had, and I wanted to clarify. You wondered why reporters merge, and whether that's for "trunk based development". Zuul's whole purpose in life is really to be in charge of merging code for others, so that the build is never broken. Wondering if you've read https://zuul-ci.org/docs/zuul/user/gating.html13:00
*** bjackman has joined #zuul13:03
*** bjackman_ has quit IRC13:04
*** dmellado has quit IRC13:24
*** dmellado has joined #zuul13:24
*** bjackman has quit IRC13:26
*** jamesmcarthur has quit IRC13:36
markworkSpamapS: yes, I've read that, but as far as I understand: Zuul merges and pushes, it usually does not do this via the service API13:50
markworkFrom what I see, this just looked like they reporters will merge on a successful build, pretty indiscriminately.13:52
markworkI.e. to me this looked like this was some extra feature and not the main path the code would take.13:52
SpamapSmarkwork: I once made that assumption too. No, Zuul does not push for a number of reasons.13:55
SpamapSMostly that nobody has had enough reason to go back and change it to do that.13:55
SpamapSIt basically "clicks the merge button"13:55
*** jamesmcarthur has joined #zuul13:56
markworkCool, so that needs to be added to the reporter. That's up next.13:56
*** jamesmcarthur has quit IRC13:57
*** jamesmcarthur has joined #zuul13:58
SpamapSmarkwork: indeed.14:01
*** sshnaidm has joined #zuul14:07
*** sshnaidm is now known as sshnaidm|afk14:08
markworkSpamapS: I looked at the gerrit reporter and my test installation/zuul-config repo. I think I do now understand how this works.14:52
*** gtema has quit IRC14:58
dmsimardWe have about every possible bit of information in the zuul vars except the commit hash :(15:00
dmsimardIt looks like https://opendev.org/zuul/zuul/src/branch/master/zuul/executor/client.py#L157 is where we map the variables -- is the commit hash available at that point ?15:01
clarkbdmsimard: I think it may be left out because it is in the git repos themselves15:06
clarkb(so if you need that info, ask the git repo in the job)15:06
dmsimardclarkb: one could argue that there are a lot of information available from the git repos themselves :p15:07
dmsimardI've been doing it "manually" already, fwiw15:07
clarkbsure but that info there is not git info it is code review and zuul info15:08
clarkbthe git info can be stored in git (and is)15:08
dmsimardfair15:08
*** sshnaidm|afk has quit IRC15:25
*** themroc has quit IRC15:26
*** sshnaidm has joined #zuul15:27
*** sshnaidm is now known as sshnaidm|afk15:29
openstackgerritMark Meyer proposed zuul/zuul master: Create a basic Bitbucket build status reporter  https://review.opendev.org/65833515:32
openstackgerritMark Meyer proposed zuul/zuul master: Create a basic Bitbucket event source  https://review.opendev.org/65883515:32
markworkSpamapS: can you have a look at the update: https://review.opendev.org/#/c/658335/ that's the last change I want to get in that commit.15:39
*** openstackgerrit has quit IRC15:54
*** bjackman has joined #zuul16:07
*** openstackgerrit has joined #zuul16:08
openstackgerritFabien Boucher proposed zuul/zuul master: Fix dequeue ref not handling the project name  https://review.opendev.org/65911016:08
pabelangerhttp://logs.openstack.org/38/658738/6/gate/zuul-quick-start/e9fa454/job-output.txt.gz#_2019-05-14_16_00_11_48669016:09
pabelangerthat looks to be a new quickstart auth failure16:09
pabelangerdoes quickstart use our reverse proxy for docker?16:09
pabelangeror is that hitting it directly16:09
clarkbpabelanger: that issue is existing. What is supposed to happen there is it uses the buildset registry proxy to talk to dockerhub (and that proxy is authenticated), But beause of how docker works if all mirrors fail it talks to dockerhub directly anyway16:10
clarkbpabelanger: and in this case it fails because the authentication credentials are invalid on dockerhub (only valid for the buildset registry)16:10
clarkbpabelanger: It seems to only happen in ipv6 clouds so one thought is that the many:1 nat is failing us when the proxy tries to fetch from dockerhub16:11
pabelangerokay, understand16:11
pabelangerdo we have a potential fix in flight?16:11
clarkbpabelanger: the longer term fix for that is to not use the buildset registry proxy if we are running in an environment with region locam mirrors (because those can have floating IPs and 1:1 nat which is far more reliable)16:11
clarkbbut before we do that we need to spin up tls on the region mirrors because we are publishing these images too (not just consuming them)16:11
clarkbianw has been working on the tls of the mirrors bit16:11
pabelangerkk16:11
clarkbhttps://review.opendev.org/#/c/658281/ is the WIP change for that16:12
clarkbbasically all of this would be better and probably just work if dockerhub added AAAA records to dns16:12
*** hashar has quit IRC16:15
clarkb(and yes hub.docker.com is hosted on aws with elb and elb supports ipv6 now)16:16
*** bjackman_ has joined #zuul16:18
*** bjackman has quit IRC16:20
*** mgoddard has quit IRC16:20
pabelangerclarkb: have we asked for a AAAA record on dockerhub?16:20
*** mgoddard has joined #zuul16:21
clarkbno (I wouldn't know who to ask and my experience wit htheir bug trackers is no one responds)16:22
pabelangerk, I'll recheck for now16:24
pabelangerfollow up with ianw later16:24
*** mgoddard has quit IRC16:30
*** mgoddard has joined #zuul16:32
*** markwork has quit IRC16:40
*** mgoddard has quit IRC16:48
*** mgoddard has joined #zuul16:48
*** jamesmcarthur has quit IRC16:50
*** mattw4 has joined #zuul16:53
*** jamesmcarthur has joined #zuul16:56
*** jamesmcarthur has quit IRC17:01
*** mgoddard has quit IRC17:02
*** mgoddard has joined #zuul17:03
*** jamesmcarthur has joined #zuul17:08
*** jamesmcarthur has quit IRC17:11
*** mgoddard has quit IRC17:20
*** mgoddard has joined #zuul17:22
*** rfolco|ruck is now known as rfolco|dentist17:25
*** jamesmcarthur has joined #zuul17:31
*** armstrongs has quit IRC17:33
*** jpena is now known as jpena|off17:41
*** bjackman_ has quit IRC17:44
*** mattw4 has quit IRC17:48
*** mattw4 has joined #zuul17:49
*** tjgresha has quit IRC17:54
*** jamesmcarthur has quit IRC17:55
*** jamesmcarthur has joined #zuul17:56
*** tjgresha has joined #zuul17:57
*** jamesmcarthur has quit IRC18:01
openstackgerritFabien Boucher proposed zuul/zuul master: Fix dequeue ref not handling the project name  https://review.opendev.org/65911018:02
*** hashar has joined #zuul18:25
*** jamesmcarthur has joined #zuul18:28
*** markwork has joined #zuul18:43
*** Armstrongs has joined #zuul18:47
*** jamesmcarthur has quit IRC18:48
*** Armstrongs has quit IRC18:56
*** pcaruana has quit IRC19:19
*** jamesmcarthur has joined #zuul19:20
*** jamesmcarthur has quit IRC19:27
*** jamesmcarthur_ has joined #zuul19:28
*** jamesmcarthur has joined #zuul19:29
*** jamesmcarthur_ has quit IRC19:33
*** rfolco|dentist is now known as rfolco|ruck19:39
SpamapSdmsimard:the git commit hash is only relevant in ref items, IIRC19:46
SpamapSdmsimard:for change items, the final hash will be something else on merge, so that hash is basically worthless.19:47
SpamapS(except in the promote style pipeline where you trigger on a merged change, but in that case, you can trust the git repo)19:47
*** hashar has quit IRC20:04
*** jamesmcarthur has quit IRC20:15
*** jamesmcarthur has joined #zuul20:31
*** jamesmcarthur_ has joined #zuul20:37
*** jamesmcarthur has quit IRC20:40
*** jamesmcarthur_ has quit IRC20:41
*** jamesmcarthur has joined #zuul20:47
*** jamesmcarthur has quit IRC20:50
*** jamesmcarthur has joined #zuul20:55
*** jamesmcarthur has joined #zuul20:55
*** jamesmcarthur has quit IRC20:59
*** markwork has quit IRC21:03
*** markwork has joined #zuul21:06
*** jamesmcarthur has joined #zuul21:20
*** jamesmcarthur has quit IRC21:30
*** jamesmcarthur has joined #zuul21:31
*** jamesmcarthur has quit IRC21:36
*** jamesmcarthur has joined #zuul21:40
*** jamesmcarthur has quit IRC21:44
*** mattw4 has quit IRC21:54
openstackgerritMonty Taylor proposed zuul/zuul master: Spec: Add a Kubernetes Operator for Zuul  https://review.opendev.org/65918022:26
mordredSpamapS, tobiash, tristanC: ^^ that's first-stab at my VERY long overdue spec I keep promising. it's written with the expectation that we can discuss/argue/disagree about details and I expect it to morph as we do - as well as grow examples as needed.22:28
tristanCSpamapS: what you suggested about static node usage would be really cool. It seems like the missing piece is the capability for a pre run to change the inventory (to isolate the jobs running an the unique provided static node) right? Or do you know another way of doing this?22:28
*** markwork has quit IRC22:30
tristanCmordred: thanks!22:30
mordredtristanC, SpamapS: I also think "I want to run a small AIO zuul" is potentially well served by a simple non-COE-needing container driver22:35
mordredtristanC: I also owe you a review on the runc patch ... which I might not be able to get to until tomorrow. the short version (and my biggest concern) is that I worry that runc is too low level and we should use something like podman and/or remote docker instead22:36
mordredbut there are tons of dragons there22:36
mordredremote docker becomes a problem once you pass the connection info to the executor, because ansible can't use the docker connection plugin if it also needs to jump through something22:37
mordredhttps://www.projectatomic.io/blog/2018/05/podman-varlink/ exists - but needs a lot of the same scaffolding you've got with the current thing22:37
mordredanyway - I owe you a real review and I'm sorry I haven't gotten to it yet :(22:37
tristanCmordred: SpamapS suggestion is actually better, if the container can be created on an existing static node by a pre run (and the rest of the job be bound to that nested environment), then the job could use any runtime with any image22:43
tristanCwhich would be better because user could test new image ref as part of the job22:44
clarkbthe danger with that is in updating the inventory safely (so that we don't expose the executor)?22:44
mordredtristanC: ooh, good point22:44
mordredbut consider me to be waving my arms wildly :)22:45
tristanCclarkb: a job can already use add_host, but we would need to be able to "replace_host"22:45
nickx-intel~(@___@ )~ mordred22:45
mordredtristanC: I still think there is a valuable use-case for the small-install. I thnik the pre-run use-case like you and SpamapS are talking about could be really good for a zuul like SF.io22:45
mordredbecause like you say it's more powerful/flexible22:46
*** mattw4 has joined #zuul22:54
*** Armstrongs has joined #zuul23:01
*** Armstrongs has quit IRC23:11
*** jamesmcarthur has joined #zuul23:17
*** rlandy is now known as rlandy|bbl23:37
*** irclogbot_0 has quit IRC23:45
openstackgerritTristan Cacqueray proposed zuul/nodepool master: static: add host-key-checking toggle  https://review.opendev.org/65367923:46
*** jamesmcarthur has quit IRC23:49
*** irclogbot_3 has joined #zuul23:49
*** jamesmcarthur has joined #zuul23:49
*** jamesmcarthur has quit IRC23:54

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