Monday, 2019-02-25

*** sdake has joined #zuul00:47
*** sdake has quit IRC01:03
*** sdake has joined #zuul01:07
*** threestrands has joined #zuul01:10
*** sdake has quit IRC01:19
*** bhavikdbavishi has joined #zuul01:28
*** threestrands has quit IRC01:35
*** jamesmcarthur has joined #zuul02:17
*** bhavikdbavishi has quit IRC02:50
*** jamesmcarthur has quit IRC02:59
*** jamesmcarthur has joined #zuul03:00
*** sdake has joined #zuul03:02
*** jamesmcarthur has quit IRC03:05
*** jamesmcarthur has joined #zuul03:30
openstackgerritTristan Cacqueray proposed openstack-infra/zuul master: executor: add zuul_release_nodeset Ansible action  https://review.openstack.org/63900203:32
*** sdake has quit IRC03:36
*** jamesmcarthur has quit IRC03:36
*** sdake has joined #zuul03:41
*** jamesmcarthur has joined #zuul03:45
*** jamesmcarthur has quit IRC03:51
*** jamesmcarthur has joined #zuul03:53
*** sdake has quit IRC03:56
*** bhavikdbavishi has joined #zuul03:56
*** jamesmcarthur has quit IRC04:09
*** jamesmcarthur has joined #zuul04:12
*** sdake has joined #zuul04:21
*** spsurya has joined #zuul04:24
*** sdake has quit IRC04:25
*** sdake has joined #zuul04:28
*** jamesmcarthur has quit IRC04:30
*** sdake has quit IRC04:30
*** sdake has joined #zuul04:31
*** jamesmcarthur has joined #zuul04:31
*** sdake has quit IRC04:35
*** sdake has joined #zuul04:37
*** sdake has quit IRC04:40
*** sdake has joined #zuul04:43
*** sdake has quit IRC04:45
*** sdake has joined #zuul04:46
*** sdake has quit IRC04:48
*** sdake has joined #zuul04:51
*** sdake has quit IRC04:55
*** sdake has joined #zuul04:56
*** sdake has quit IRC05:00
*** sdake has joined #zuul05:02
*** jamesmcarthur has quit IRC05:05
*** sdake has quit IRC05:10
*** sdake_ has joined #zuul05:11
*** bhavikdbavishi has quit IRC05:12
*** bhavikdbavishi has joined #zuul05:13
*** sdake_ has quit IRC05:15
*** sdake has joined #zuul05:18
*** sdake has quit IRC05:21
*** sdake has joined #zuul05:22
*** sdake has quit IRC05:26
*** sdake has joined #zuul05:28
*** sdake has quit IRC05:30
*** sdake_ has joined #zuul05:33
*** jamesmcarthur has joined #zuul05:35
*** sdake_ has quit IRC05:35
*** sdake has joined #zuul05:36
openstackgerritTristan Cacqueray proposed openstack-infra/nodepool master: Add python-path option to label  https://review.openstack.org/63733805:37
openstackgerritIan Wienand proposed openstack-infra/nodepool master: [dnm] testing rhel8 images  https://review.openstack.org/63901305:39
*** jamesmcarthur has quit IRC05:40
*** pradyunsg has joined #zuul05:43
*** sdake has quit IRC05:45
pradyunsgHi all! Is there any way to detect if a program is being run in a Zuul job?05:45
*** bhavikdbavishi has quit IRC05:45
*** saneax has joined #zuul05:48
pradyunsgcontext: I'm working with a team, where we're looking to collect metrics automated vs organic invocations of a CLI application. Does Zuul export any environment variables in the execution environment?05:48
pradyunsg(like: https://docs.travis-ci.com/user/environment-variables/#default-environment-variables)05:48
*** sdake has joined #zuul05:48
*** sdake has quit IRC05:51
*** sdake has joined #zuul05:52
*** sdake has quit IRC05:55
*** sdake has joined #zuul05:58
*** sdake has quit IRC06:00
*** sdake has joined #zuul06:01
*** bjackman has joined #zuul06:05
*** sdake has quit IRC06:06
*** sdake_ has joined #zuul06:08
*** sdake_ has quit IRC06:10
*** jamesmcarthur has joined #zuul06:11
*** jamesmcarthur has quit IRC06:16
*** chandankumar has quit IRC06:39
*** chandankumar has joined #zuul06:40
*** quiquell|off is now known as quiquell06:48
*** jamesmcarthur has joined #zuul06:53
*** jamesmcarthur has quit IRC06:58
*** bjackman_ has joined #zuul07:03
*** bjackman has quit IRC07:04
*** AJaeger has quit IRC07:05
*** bjackman has joined #zuul07:06
*** bjackman_ has quit IRC07:07
*** AJaeger has joined #zuul07:24
*** bhavikdbavishi has joined #zuul07:30
*** jamesmcarthur has joined #zuul07:33
openstackgerritTristan Cacqueray proposed openstack-infra/zuul master: Add depends-on support to frozen jobs API  https://review.openstack.org/63902207:35
tristanCjhesketh: ^ should be the zuul-runner depends on implementation server side, should i rebase the rest of the patches on this?07:36
tristanCcorvus: could you please review topic:freeze_job07:37
*** jamesmcarthur has quit IRC07:37
*** gtema has joined #zuul07:37
openstackgerritTobias Henkel proposed openstack-infra/zuul master: Fix missing semaphore release around dequeue  https://review.openstack.org/63902307:46
tobiashzuul-maint: this fixes a semaphore leak we're seeing so I think that's an important bugfix ^07:50
jheskethtristanC: I haven't looked closely, but it could be an independent commit before the depends-on support in the cli rather than reworking it all07:51
*** bhavikdbavishi has quit IRC07:54
tristanCjhesketh: alright that can wait. would be nice to land the changes that mostly move code around08:01
jheskethagreed :-)08:01
*** takamatsu_ has quit IRC08:19
*** takamatsu_ has joined #zuul08:21
*** bhavikdbavishi has joined #zuul08:23
*** electrofelix has joined #zuul08:31
*** quiquell is now known as quiquell|brb08:31
*** takamatsu_ has quit IRC08:32
*** jamesmcarthur has joined #zuul08:33
*** zbr|ssbarnea has joined #zuul08:34
*** jamesmcarthur has quit IRC08:38
*** takamatsu_ has joined #zuul08:38
*** jpena|off is now known as jpena08:48
*** hashar has joined #zuul09:00
*** bjackman has quit IRC09:05
*** quiquell|brb is now known as quiquell09:07
*** bjackman has joined #zuul09:09
*** jamesmcarthur has joined #zuul09:10
*** zbr|ssbarnea is now known as zbr|out09:13
*** jamesmcarthur has quit IRC09:14
*** bjackman has quit IRC09:20
*** bjackman has joined #zuul09:26
*** jamesmcarthur has joined #zuul09:49
*** jamesmcarthur has quit IRC09:54
*** jamesmcarthur has joined #zuul09:59
*** gtema has quit IRC10:05
*** sshnaidm|off is now known as sshnaidm10:05
*** gtema has joined #zuul10:39
*** jamesmcarthur has quit IRC10:50
*** gtema has quit IRC11:22
quiquelltristanC: o/ Do you know if there are any way to connect nodepool to ironic to run on baremetal ?11:22
*** snapiri has quit IRC11:23
*** hashar has quit IRC11:24
*** bhavikdbavishi has quit IRC11:27
*** hashar has joined #zuul11:27
tristanCquiquell: through cloud label flavor?11:29
*** bjackman_ has joined #zuul11:31
quiquelltristanC: well there is not much flavor you can choose at BM11:31
quiquelltristanC: Don't really know11:31
*** bjackman has quit IRC11:34
tristanCquiquell: iirc that's how you use ironic with nodepool, you associate some flavor with BM, then nodepool should be able to use them11:34
*** gtema has joined #zuul11:34
quiquelltristanC: that's all  ?11:35
quiquelltristanC: is not nodepool openstack provider only talking nova ?11:35
quiquelltristanC: Ahh ok nodepool->nova->ironic was thinking about just nova Thanks!11:38
quiquelltristanC: something like this ? https://docs.openstack.org/ironic/pike/install/configure-nova-flavors.html11:42
*** saneax has quit IRC11:42
*** saneax has joined #zuul11:43
*** sdake has joined #zuul11:45
tristanCquiquell: i guess, never used it though11:46
quiquellok we will look thanks mate11:47
*** hashar has quit IRC11:48
*** sdake has quit IRC11:50
*** sdake has joined #zuul11:51
*** sdake has quit IRC11:55
*** sdake has joined #zuul11:57
*** sdake has quit IRC12:00
*** panda|ruck is now known as panda|ruck|lunch12:02
*** jamesmcarthur has joined #zuul12:02
*** hashar has joined #zuul12:07
*** jamesmcarthur has quit IRC12:08
*** quiquell is now known as quiquell|lunch12:13
*** jamesmcarthur has joined #zuul12:13
*** saneax has quit IRC12:17
*** jamesmcarthur has quit IRC12:19
*** jamesmcarthur has joined #zuul12:22
*** quiquell|lunch is now known as quiquell12:28
*** jpena is now known as jpena|lunch12:31
*** bhavikdbavishi has joined #zuul12:33
*** jamesmcarthur has quit IRC12:43
*** electrofelix has quit IRC12:44
*** jamesmcarthur has joined #zuul12:53
*** bjackman_ has quit IRC13:01
*** jamesmcarthur has quit IRC13:01
*** jamesmcarthur has joined #zuul13:05
*** jamesmcarthur has quit IRC13:10
*** rlandy has joined #zuul13:15
sshnaidmis there any docs about how to write plugin to nodepool?13:15
*** jamesmcarthur has joined #zuul13:18
*** bhavikdbavishi has quit IRC13:22
*** panda|ruck|lunch is now known as panda|ruck13:26
*** jpena|lunch is now known as jpena13:28
*** jamesmcarthur has quit IRC13:29
*** snapiri has joined #zuul13:37
*** saneax has joined #zuul13:45
tristanCsshnaidm: not yet, though i was going to write one soon related to this story: https://tree.taiga.io/project/morucci-software-factory/us/231513:48
*** jamesmcarthur has joined #zuul13:50
*** saneax has quit IRC13:55
pabelangerquiquell: there are humans doing baremetal testing on nodepool via nova / ironic.13:58
quiquellpabelanger: that's cool, can we reach them ?14:00
pabelangersorry, reach who?14:01
quiquellhumans doing baremetal testing on nodepool14:03
pabelangerI can't remember who it was atm, maybe clarkb does. I know they posted on openstack ML a while back14:07
pabelangerI know ovh has some baremetal, pretty sure that is behind nova14:07
*** jamesmcarthur has quit IRC14:08
quiquellpabelanger: Let's see were our experiments end with this14:08
quiquellpabelanger: Thanks !14:08
*** pwhalen has joined #zuul14:14
*** jamesmcarthur has joined #zuul14:25
*** gtema has quit IRC14:37
*** jesusaur has quit IRC14:42
*** jesusaur has joined #zuul14:47
AJaegercorvus, Zuul experts, can we really define a job twice with different branches lines? Please review https://review.openstack.org/#/c/639096/3/zuul.d/jobs.yaml14:48
tobiashAJaeger: that will be merged into one job because the branches are the same14:55
tobiashAJaeger: if the intention is to have two jobs and also run two jobs then they must be named different14:55
*** bhavikdbavishi has joined #zuul14:55
openstackgerritTobias Henkel proposed openstack-infra/zuul master: Fix rare semaphore leak during reconfiguration  https://review.openstack.org/63911814:57
AJaegertobiash: it's two abstract jobs - and then in-repo jobs that should inherit from the right one. Will that work?14:58
tobiashno, both will match14:58
tobiashthey filter basically on the same branches14:58
AJaegertobiash: really? could you comment. Will answer later, now in a call...15:00
tobiashAJaeger: oh no, sorry I read the regex wrong15:01
tobiashas long as the regexes don't overlap that should work15:01
tobiashsorry15:01
*** josefwells has joined #zuul15:09
openstackgerritMerged openstack/pbrx master: Remove container build jobs  https://review.openstack.org/63601915:18
*** bhavikdbavishi has quit IRC15:31
AJaegertobiash: cool - thanks15:34
*** chandankumar is now known as raukadah15:51
openstackgerritMerged openstack-infra/zuul master: config: add playbooks to job.toDict()  https://review.openstack.org/62134315:52
*** bhavikdbavishi has joined #zuul15:57
jktit seems that I'm struggling with that difference of playbook-vs-role yet again16:00
jktI have a bunch of Ansible tasks in a shared repo, these tasks prepare git submodules16:00
jkthow do I use that feature from within other repositories?16:00
jktso far I've added another job called, say, "build-with-submodules" in the $company-jobs repo, that job inherits from my generic "build" job16:01
jktnow I'm trying to work on artifacts to be returned, so I'm about to reshuffle the jobs definitions, and it seems that I should have made my "prepare git submodules" a role, not a playbook to be run in pre-run16:02
jktbut when I add `pre-run: playbooks/git-submodules/pre.yaml` into my leaf project, along with `roles:\n - zuul: git-submodules`, zuul complains that it cannot find that playbook16:04
*** jamesmcarthur_ has joined #zuul16:06
jktah, right, this is actually much simpler -- the roles are not "prepared" for consumption by playbooks as the docs imply16:06
*** jamesmcarthur has quit IRC16:08
jktok, they are not :), apparently they *are* only prepared16:11
corvustristanC: i left exactly the same comments on PS 11 of https://review.openstack.org/607077 that tobias did on PS 7.16:29
corvusjkt: a "zuul role" is the name of a project that either has one role or a collection of roles.  so you should list the name of whatever project has the "prepare git submodules" role16:32
jktcorvus: but the root dir of the project should always have either "tasks/" subdir, or "role/$name/tasks", right?16:37
corvusjkt: "tasks/" or "roles/"16:37
jktcorvus: also, it seems that I have to write my own playbook which refers to that role in another repo, and there's no way to refer to playbooks in another repo except by job inheritance, right?16:38
*** takamatsu_ has quit IRC16:39
corvusjkt: right, the ansible construct for code re-use is roles, so zuul is designed accordingly.  they're working on reusable playbooks, but i don't think it's there yet.16:39
jktperhaps I'm doing it wrong (wouldn't be the first time), but my end goal is not producing nice ansible playbooks, my goal is a nice CI :), and this feels like a lot of boilerplate code16:41
*** takamatsu_ has joined #zuul16:41
jktif my .zuul.yaml could reference roles directly, without adding them to a playbook first, now that would be nice16:41
jktI understand that there are multinode jobs etc etc, but it's a learning curve16:41
corvusjkt: if you can show me what you're working on, i'd be happy to take a look and see if there's an easier way.16:42
jktthanks!16:42
jktcorvus: this is about building random C++ code, and that thing requires a lot of handholding, so we have a file in our repos, ci/build.sh, which sets up whatever build system in whatever way it needs to be set up (think different Python versions, and a set of additional orthogonal parameter such as build-vs-release etc)16:44
*** raukadah is now known as chandankumar16:44
jktsome of that build system setup is typically done by exporting env variables in response to debug vs. release builds, whether to use some, er, compiler plugins as as ASAN, UBSAN etc16:45
jktbut in the end, I think I need just one playbook, something which runs ./ci/build.sh from within a repo16:45
*** takamatsu_ has quit IRC16:45
corvusjkt: the thing we try to do with zuul-jobs is put all of the logic in roles, and playbooks are just there to orchestrate and coordinate those roles.  so we end up with playbooks that are usually very short (sometimes one-line) lists of roles.16:45
jktsome projects have external dependencies that I cannot gate and which have funny ideas about backward compatibility, and for these we're using git submodules16:45
jktexactly, and this looks like an extra indirection to me16:46
jktI realize that it's probably native to someone who is used to Ansible, true, though16:46
jktso, some of our projects essentially want to run `git submodule init`, so I added a role for that (and with fixes to make it work in Zuul)16:47
jkthow do I specify whether a project needs to prep the submodules or not?16:47
jktso far, I've used two jobs, one which just has a run: playbook that includes a role which runs ./ci/build.sh16:47
jktthe other job inherits from that, adding a pre-run that prepares submodules16:48
jktnow I'm about to add artifact caching; do I need to add two more jobs?16:48
jktthat looked like a wrong solution to me, so I went looking into moving stuff to roles instead, i.e. https://gerrit.cesnet.cz/plugins/gitiles//ci/zuul-jobs-cesnet/+/457fecff8ec887bccff1ae97eb555715a62f0bab16:49
jktthat example should also show how I'm dumping the {{ zuul }} variable for use in shell, that's nicely done in these roles16:49
*** hashar has quit IRC16:50
jktbut the TL;DR is that my leaf repo now has to carry a super-simple pre-run playbook which just references the git-submodules role in there16:51
*** takamatsu_ has joined #zuul16:51
corvuswhy your leaf repo?  you can declare that job centrally16:51
jktand whenever I'm adding a file which only adds another file, I cannot help but ask if this can be done in some less verbose way16:51
jktyup, I could define four jobs, as a 2x2 matrix (needs_submodules, provides_artifacts)16:52
jktwhat I am a bit afraid is that there will be another "variable" to be used, perhaps whether to use GCC or clang, and that would lead to a big number of job templates quite quickly16:53
corvusjkt: you could use zuul variables16:53
corvusjkt: which compiler to use sounds like a good thing to use a zuul variable for.  just set that variable in the job and you don't need to make a new playbook16:54
jktcorvus: so that I have just one job and two variables, one for whether to prepare submodules, the other for artifact caching, etc?16:54
corvusjkt: you could do that as well16:55
jktcorvus: how evil is it to parse the job name for compiler selection, btw? :)16:55
corvusjkt: very16:55
corvusjkt: and uneccessary -- it's less work to just set the variable in the job16:56
jktI need that variable to hit the process environment in the end (either it's CXX=g++, or CXX=clang++), and it's a bit awkward to use random ansible variables from my shell script16:57
jktbut perhaps I could just pass this to build.sh from ansible, ah!16:58
corvus++16:58
jktcorvus: thanks a lot, now I have new bits to think about, that's good16:59
*** hashar has joined #zuul17:03
*** takamatsu_ has quit IRC17:06
*** takamatsu_ has joined #zuul17:07
*** gtema has joined #zuul17:15
*** takamatsu_ has quit IRC17:21
*** takamatsu_ has joined #zuul17:22
*** takamatsu_ has quit IRC17:25
*** sdake has joined #zuul17:26
*** takamatsu_ has joined #zuul17:31
*** chandankumar is now known as raukadah17:32
*** takamatsu_ has quit IRC17:46
*** takamatsu_ has joined #zuul17:48
jktare job artifacts supposed to work across tenants? I have a change that was built under tenant A, it is referenced by a job which runs within tenant B, there's a Depends-on: change_A, but I don't see any artifacts in zuul.* variables17:55
jktI also don't see them listed for the A's job in the web UI, not sure if they are supposed to show up in the human-readable build overview page17:56
*** gtema has quit IRC18:02
*** takamatsu_ has quit IRC18:05
*** sdake_ has joined #zuul18:06
*** sdake has quit IRC18:07
*** sdake_ has quit IRC18:10
*** takamatsu_ has joined #zuul18:10
*** sdake has joined #zuul18:11
*** jpena is now known as jpena|off18:11
*** takamatsu_ has quit IRC18:14
*** sdake_ has joined #zuul18:15
*** sdake has quit IRC18:16
*** takamatsu_ has joined #zuul18:20
*** sdake_ has quit IRC18:20
*** hashar has quit IRC18:21
*** sdake has joined #zuul18:22
*** sdake has quit IRC18:26
*** sdake_ has joined #zuul18:27
corvusjkt: i don't think artifacts are in the web ui yet (they will be).  artifacts won't be shared across tenants -- tenants are *completely* separate in zuul.  think of them as existing only to make it so that you don't have to run more than one zuul, but otherwise they behave almost exactly like that.18:30
jktcorvus: if I have a repo which is supposed to provide artifacts for both tenant A and tenant B, that means that I have to built it twice, then, right?18:33
jktmy use case is once again that C++ code, the dependencies are shared among public projects (tenant A) and company-internal projects (tentant B)18:33
jktI already have that common project present in both tenants -- in the public one as a regular project with active pipelines, and in the private one just as include: []18:35
*** sdake_ has quit IRC18:35
*** sdake has joined #zuul18:36
*** sdake has quit IRC18:41
*** sdake_ has joined #zuul18:41
*** hashar has joined #zuul18:41
corvusjkt: yes.  that's a use case i don't think we've thought much about.  you can see the danger though: while it might be fine for tenant B to see artifacts from tenant A, the reverse could be very bad.  so to be safe, there's no visibility across the boundary.18:44
* jkt reconfigures, thanks18:45
corvusjkt: the only things i can suggest are: yes, add a job (it could be the same job with a shared config) to the other tenant and build twice when needed.18:45
*** sdake_ has quit IRC18:45
*** sdake has joined #zuul18:47
corvusjkt: or (and i don't really like this idea and would recommend against it) stash the artifact in some private repository that you access via out-of-band knowlege.  for example: you could have a job look at the change numbers ahead of it and know that there might be a build stored under that change/patchset number.  there are a number of problems that result from this though (for example, do you wait for the18:47
corvusbuild if it isn't there yet?)18:47
*** takamatsu_ has quit IRC18:50
*** sdake has quit IRC18:50
*** sdake has joined #zuul18:52
*** sdake has quit IRC18:55
*** takamatsu_ has joined #zuul18:56
*** sdake has joined #zuul18:56
*** hashar has quit IRC18:58
*** sdake has quit IRC19:01
*** sdake has joined #zuul19:01
*** sdake has quit IRC19:05
*** sdake has joined #zuul19:07
*** sdake has quit IRC19:11
*** sshnaidm is now known as sshnaidm|afk19:11
*** sdake has joined #zuul19:13
*** yolanda has joined #zuul19:15
*** sdake has quit IRC19:15
*** sdake_ has joined #zuul19:17
*** sdake_ has quit IRC19:20
*** hashar has joined #zuul19:51
*** hashar has quit IRC19:56
*** jesusaur has quit IRC19:59
*** hashar has joined #zuul20:00
*** jesusaur has joined #zuul20:02
*** bhavikdbavishi has quit IRC20:31
corvustobiash: what do you think we need to do for the base64 change?  do you think the usage footprint is small enough we can just make the change, send an email to zuul-announce, and apologize to anyone caught in the middle?  or do we need to support both and do a transition?20:57
*** dkehn has joined #zuul20:58
josefwellsIn the docker quick-start, I had a problem where web couldn't connect to mysql server for reporting21:03
josefwellsI changed docker-compose.yaml to make the web command "sh -c 'sleep 120; zuul-web -d'"21:03
josefwellsthis let mysql come up before web tried to connect and get mad or whatever21:04
josefwellsI guess zuul-web doesn't have ansible, so you can't just add the wait-to-start.yaml playbook21:04
josefwellssleep 120 is terrible, but works21:05
josefwellsmaybe because I'm using github and don't actually use the gerrit that is set up21:05
josefwellsnot sure if there is some assumed delay as gerrit gets completed before web would normally start21:06
*** jpena|off has quit IRC21:09
*** pabelanger has quit IRC21:09
*** jpena|off has joined #zuul21:10
*** mhu has quit IRC21:10
*** mhu has joined #zuul21:14
*** mhu has quit IRC21:16
*** mhu has joined #zuul21:16
*** hashar has quit IRC21:17
openstackgerritIan Wienand proposed openstack-infra/nodepool master: [dnm] testing rhel8 images  https://review.openstack.org/63901321:28
*** sdake has joined #zuul21:28
*** sdake has quit IRC21:48
*** sdake has joined #zuul21:59
*** sdake has quit IRC22:01
*** sdake has joined #zuul22:03
*** sdake has quit IRC22:05
*** sdake has joined #zuul22:08
*** sdake has quit IRC22:10
*** sdake has joined #zuul22:12
*** sdake has quit IRC22:13
*** sshnaidm|afk has quit IRC22:24
jktI think I might have hit one edge case related to multi-tenancy and changes to untrusted projects22:30
jktI've changed Zuul to use two connections to Gerrit, and some of my projects are present in two tenants22:31
jktthe inventory at http://paste.openstack.org/show/746078/, especially lines 50 and 157, show that I got git repos which actually belong to the other tenant22:32
jktthis is just for one project out of many in that job's required-projects, and that one project just happened to have an unmerged change (this is check pipeline), and that change had no configured jobs, just noop for both tenants22:33
clarkbjkt: I think you have to use fully qualified names in that case22:34
clarkbI want to say pabelanger has run into this as well22:34
jktI came across this because the dependant job behaves as if that change was not merged22:34
jktclarkb: fully qualified names?22:34
jktclarkb: I read https://zuul-ci.org/docs/zuul/admin/drivers/gerrit.html#attr-%3Cgerrit%20connection%3E.canonical_hostname, both connections are alive and I see the executor reading stuff via git+ssh22:36
clarkbjkt: ya so instead of just foo/project as the required projectname you do something like server.name/foo/project (I forget the exact format, would have to look it up)22:38
jktall projects use a correct connection name -- all but this one called "ci/zuul-jobs-cesnet", the one which also has an unmerged change on which this whole chain Depends-on22:38
clarkbthen every project should be unique because each connection has a different canonical name22:38
*** sshnaidm has joined #zuul22:39
jktinteresting22:39
clarkbI'm pretty sure pabelanger has experience with this exact situation22:39
jktthere are other projects which are available in both tenants, but just this one comes up wrong22:39
jktclarkb: so I should include the canonical-name in tenant configuration, right? Or in job's required-projects? Both?22:40
clarkbjkt: in the jobs required projects iirc. I'm not sure if it is also necessary in the tenant configuration22:41
clarkb(it may be necessary there too)22:41
jktack, tenant config is apparently explicitly scoped by connection22:42
jktso that cannot be it22:42
jkt...and I do not have any explicit reference to that project in job's required-projects22:43
jktlet's see what happens when I merge that first change22:45
jktsomething is very very fishy -- the dependant change now passed in tenant-B's check pipeline, but it is stuck "queued" in tenant-A22:51
corvusjkt: why do you have 2 connections to gerrit?22:51
jktcorvus: because I need one project in two zuul tenants, and because it was rather confusing to see two votes on that project22:53
jkt(form the same CI user, sorry, it's getting late)22:53
corvusjkt: i suspect you have indeed found an area that is poorly tested22:59
jktdo you need some log dump, etc, or can I just keep blindly using a hammer to get this to unwedge itself?23:01
corvusjkt: can you paste your connection and tenant configurations (with credentials redacted)?23:08
jktcorvus: tenants are at https://gerrit.cesnet.cz/plugins/gitiles/ci/project-config/+/master/zuul/tenants.yaml23:10
jktcorvus: connections at https://gerrit.cesnet.cz/plugins/gitiles/ci/ansible-cesnet/+/master/files/zuul/zuul.conf23:11
*** pabelanger has joined #zuul23:14
corvusjkt: your canonical_hostname isn't a hostname23:15
corvusjkt: when you say "depends-on: gerrit.cesnet.cz/1234" zuul uses the hostname to try to figure out which connection can supply that change23:15
jktah!23:16
corvusjkt: since the "public" one is the first one with the gerrit.cesnet.cz hostname, it's going to be the one it picks23:16
jktthat's how I understood the docs, btw -- they quite indicate that it does not have to be a hostname23:16
corvusif the docs say "canonical_hostname does not need to be a hostname" then they are definitely wrong :)23:16
jktwhat's my least evil path forward? Should I add some DNS aliases?23:17
*** jamesmcarthur_ has quit IRC23:17
jktor should I go back to a single connection to gerrit, and live with a duplicate vote when building artifacts?23:18
*** jamesmcarthur has joined #zuul23:19
corvusjkt: i have to warn you first that i am not certain that this is going to work.  i don't believe anyone has tried to do what you're attempting.  it may work, but we have no design use-cases for this, so you may eventually hit an edge case that doesn't have a solution.23:19
openstackgerritIan Wienand proposed openstack-infra/nodepool master: [dnm] testing rhel8 images  https://review.openstack.org/63901323:20
corvusjkt: but basically, zuul is never going to understand that those projects are really the same.  you can control which connection is used to supply the change by setting the canonical_hostname.  then if someone says "depends-on: gerrit.cesnet.gz/1234", whichever connection has that canonical_hostname is the one it will use.23:21
corvusthat seems to me that it's only going to solve half the problem.23:21
corvusif you're okay with the "private" projects always referring to the "public" versions of the projects with depends-on, maybe that will work.  but i really can't say.23:23
jktI think I'm ok with duplicate Depends-on headers if that worked, but now that I'm thinking about this, it won't, I guess23:24
jktor what does Zuul do when it sees a depends-on that it cannot resolve?23:24
corvusgenerally it ignores it23:26
*** josefwells_ has joined #zuul23:27
*** jamesmcarthur has quit IRC23:30
josefwells_anyone with experience using static nodepools?23:32
jktjosefwells_: a bit23:32
josefwells_I set the "user", but I think that means it does a ssh user@host23:32
josefwells_not su user; ssh host23:32
josefwells_is there any way around that23:33
josefwells_I have a playbook add the user to the executor, but just having the .ssh info doesn't work unless we su to the user23:33
jktI thought that the executor was designed with quite some bubblewrapping, so I'm surprised that you need a different UID on a node which is "just supposed to run ansible"23:35
corvusjosefwells_: if you're using a static node from nodepool, you shouldn't need to add it to the executor23:35
corvusjosefwells_: the idea is that nodepool provides the node to zuul, which adds it to the ansible inventory automatically23:35
jktcorvus: thanks, I'll play with it a bit (and thanks for identifying the root clause)23:36
*** jamesmcarthur has joined #zuul23:36
corvusjosefwells_: if you set this value, then this is the user that zuul's ansible will use to log into the host: https://zuul-ci.org/docs/nodepool/configuration.html#attr-providers.[static].pools.nodes.username23:36
corvusjosefwells_: and yes, that's "ssh user@host"23:36
josefwells_hmm maybe if I put the ssh key in /root/.ssh on the executor23:37
josefwells_then ssh user@host will work23:37
corvusjosefwells_: it will use the ssh private key you've configured on the executor for zuul.  you'll need to make sure that the public key is already added to authorized_keys on the static node23:37
corvusjosefwells_: ah, this is the ssh private key that the executor will use: https://zuul-ci.org/docs/zuul/admin/components.html#attr-executor.private_key_file23:38
josefwells_oh, better23:38
josefwells_and the default username there too I reckon23:38
josefwells_or is that what the ssh is run as23:38
corvusjosefwells_: nope, that's what it uses if nodepool doesn't tell it what to use.23:39
corvusjosefwells_: the zuul executor doesn't do any changing of users -- everything runs as the user that the executor is started under.23:39
josefwells_ok, thanks!23:39
SpamapSI *think* I just noticed that the AWS driver doesn't actually respect max-servers23:40
tristanCcorvus: thanks for your prompt feedback on the Parameterized Build, but it seems like you only mention concern with job graph filter. Those does apply with custom job parameters too?23:41
tristanCcorvus: I mean, we can work around using the job graph defined in repo, but we need to set parameters from trigger23:41
tristanCcorvus: if we implement the points you mentioned, would it also let trigger set parameters?23:42
*** jamesmcarthur has quit IRC23:47
mordredtristanC: no - I believe the idea there is to allow a general trigger construct that can act similar to the child-jobs filter does - selecting a specific job out of the existing set of defined jobs23:49
josefwells_Ahh freaking sweet!  static node is up and noding!23:51
josefwells_you guys, this is going to be so beautiful, can't wait for the next step23:52
josefwells_thanks for the help, catch you later23:52
tristanCmordred: unfortunately, that's not what we need23:53
tristanCmordred: we could create multiple pipeline to match different AMQP message, but if we can't tell what was in the message, then it's kind of useless23:54
SpamapSjosefwells_: ^523:55

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