Tuesday, 2017-07-11

mordredpabelanger: woot!00:02
mordredpabelanger: I think you'll be excited :)00:02
pabelangernice00:04
*** jkilpatr has quit IRC00:11
* SpamapS is a slave to tests :-P03:02
openstackgerritMerged openstack-infra/zuul feature/zuulv3: executor: add support for custom ansible_port  https://review.openstack.org/46871003:04
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Add TenantProjectConfig object  https://review.openstack.org/47907303:07
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Permit config shadowing  https://review.openstack.org/47908403:11
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Fix race in test_queue_rate_limiting_dependent  https://review.openstack.org/48182403:18
*** isaacb has joined #zuul04:08
*** isaacb has quit IRC04:10
tobiashShrews, jeblair, mordred: let me rephrase to avoid the word abort...05:08
tobiashShrews, jeblair, mordred: I get this exception every time a client (curl, html client, etc) closes the connection (ctrl+c, close tab)05:09
tobiashShrews, jeblair, mordred: my intention was to only suppress the exception in this case05:09
tobiashShrews, jeblair, mordred: now I learned that this cancelederror seems to be a bit more generic than I thought... ;)05:10
tobiashjeblair, mordred: what is the preferred way of synching the zuul and related repos to a local mirror?05:15
tobiashjeblair, mordred: attaching a zuul listening on change merged or just polling once an hour or so?05:15
openstackgerritTristan Cacqueray proposed openstack-infra/zuul feature/zuulv3: Add zuul.d configuration split documentation  https://review.openstack.org/48240505:20
tobiashjeblair, mordred: what do you think how the crm114 stuff for log line classification could be incorporated into zuulv3?05:42
tobiashjeblair, mordred: currently (in my v2 setup) I have a service attached to jenkins which is used for log upload and classification (and generating nice looking colored html logs)05:43
tobiashjeblair, mordred: as this crm114 classifying data is something central and single threaded I wonder how this could be included in the zuulv3 setup where the job itself uploads the logs05:45
tobiashjeblair, mordred: sorry for too many questions at once ;)05:47
openstackgerritTristan Cacqueray proposed openstack-infra/zuul feature/zuulv3: Prevent loading zuul.(yaml|d) in untrusted-projects  https://review.openstack.org/48241106:02
tobiashmordred: trying to understand this one: https://review.openstack.org/#/c/473966/3/zuul/ansible/library/command.py06:48
tobiashmordred: it breaks every shell/command task while logging nothing except 'Something went horribly wrong during task execution'06:50
openstackgerritJamie Lennox proposed openstack-infra/zuul feature/zuulv3: Cleanup on ssh-agent failure  https://review.openstack.org/48134406:54
openstackgerritTristan Cacqueray proposed openstack-infra/zuul feature/zuulv3: Prevent loading zuul.(yaml|d) in untrusted-projects  https://review.openstack.org/48241106:55
*** MaciekW has joined #zuul07:25
MaciekWHi, is there a way that zuul is not queuing all reviews concerning different branches in gate pipeline?07:28
MaciekWcurrently I am facing an issue when job from one branch is waiting for job of another branch to finish07:28
MaciekWfor the same repository07:29
MaciekW?07:29
SpamapSMaciekW: is this zuul from master? If so, if the jobs have the same name, they'll share a change queue.07:31
SpamapSMaciekW: you need to name them differently to have different queues.07:32
*** openstackgerrit has quit IRC07:33
MaciekWSpamapS: what do you mean from master?07:33
SpamapSMaciekW: did you just 'git clone' zuul or did you install some other way?07:33
SpamapSif you're using puppet-openstackci then you have "from master" (or more accurately, v2.5)07:34
SpamapSMaciekW: I'm heading to bed, but try giving them different names, like  gate-testsuite-branch0 and gate-testsuite-branch107:34
MaciekWSpamapS: I have cloned branch 2.5.2 and install using pip07:35
MaciekWSpamamS: ok, I will give it a try thanks07:36
*** openstackgerrit has joined #zuul08:10
openstackgerritTobias Henkel proposed openstack-infra/zuul feature/zuulv3: Check ret for None in zuul_run_command  https://review.openstack.org/48244208:10
tobiashmordred: finally understood what went wrong... ^^ is the fix that works for my deployment08:12
tobiashmordred: with ret=0 (successful task run) it went into 'Something went horribly wrong...'08:13
tobiashmordred: this (or something similar) needs to land before your next executor restart08:15
*** isaacb has joined #zuul08:23
openstackgerritTobias Henkel proposed openstack-infra/zuul feature/zuulv3: Check ret for None in zuul_run_command  https://review.openstack.org/48244208:25
openstackgerritTobias Henkel proposed openstack-infra/zuul feature/zuulv3: Check ret for None in zuul_run_command  https://review.openstack.org/48244208:27
openstackgerritTobias Henkel proposed openstack-infra/zuul feature/zuulv3: Check ret for None in zuul_run_command  https://review.openstack.org/48244208:28
tobiashmordred: now with (indirect) test case ^08:32
*** yolanda has quit IRC10:32
*** yolanda has joined #zuul10:33
*** yolanda_ has joined #zuul10:33
*** yolanda_ has quit IRC10:33
Shrewstobiash: oh, well i totally misunderstood what you meant by "abort". That's disappointing that occurs, but I think jeblair's suggestion to just have an except clause to catch that exception and ignore it is probably the way to handle it.10:34
Shrewsi might dig into aiohttp just to understand why that happens10:36
mordredtobiash: oh - nice catch on the is None - and sorry about that11:33
*** jkilpatr has joined #zuul11:45
mordredtobiash: for logging - I'm planning on doing some of the html transformation like you talk about in the base job11:46
mordredtobiash: we also have a similar log processing service that is central - I believe making sure that we trigger it is a thing we need to solve in the next few weeks11:47
mordredtobiash: in our v2 based system we have a little daemon that listens for 0mq job completed events and when it gets them it puts a job into a gearman so that a worker cna pick it up and process the logs for logstash11:49
mordredtobiash: I'm not sure if we'll wind up adapting that system to listen to an event from zuul (there is a WIP set of patches to add a fedmsg/mqtt reporter to zuul) or whether we'll just have the base job send a notification message after it's uploaded the logs11:50
mordredit's an excellent question :)11:50
mordredtristanC: morning! so - your patch for preventing zuul.yaml in untrusted projects - we actually realized last week that looking for either is quite nice11:51
mordred(mainly this came from reading a line in jeblair's documentation patches)11:52
mordredthe distinction we're trying to describe now is that you can use whichever you want- but zuul.yaml is a better choice for repos whose primary purpose in life is describing jobs - lke openstack-infra/zuul-jobs - where the job definitions should be visible and obvious11:53
mordredand .zuul.yaml is a good choice for repos that do other things - like openstack-infra/zuul11:53
mordredjamielennox: +2 with comment on  your ssh-add patch11:58
mordredtristanC: oh! I see in your docs patch where the confusion comes from11:59
mordredtristanC: I think instead we should just fix the docs there11:59
tristanCmordred: sure, I'll revert the configloader update12:01
mordredtristanC: when jeblair gets up - I think we should check in with him about the 'only load zuul.yaml from trusted projects' - it seems to me, from reading that paragraph in thedocs, that it's a distinction that may be confusing12:03
mordredbut he may also have a good reason for it12:03
mordredtristanC: also - in the meeting yesterday, jamielennox brought up the topic of making the html/javascript portions of zuul-web potentially managed using some more native javascript toolchain12:12
mordredtristanC: jeblair brought up the concern that we want to make sure if we do that such a toolchain is understandable by all the zuul devs - but it's something for us to think about over the next few weeks12:13
tristanCmordred: jeblair: regarding the configloader, as long as it works as documented, i'm fine with it. Currently the only odd thing is that it will load .zuul.yaml from config-projects12:14
mordredtristanC: gotcha. so - I agree, behavior and docs should match12:15
tristanCand trying to fix that, I misread the fact we want zuul.yaml files to be loaded from untrusted-projects, which my last patch broke12:15
mordredtristanC: I'm not sure whether preventing loading .zuul.yaml is the right thing, or updating the docs to allow both in both12:15
mordredtristanC: but I _definitely_ agree that we should fix it in one direction or theother :)12:16
tristanCmordred: jeblair: and regarding the javascript toolchain, I'm not a huge fan of the grunt/npm system12:16
mordredtristanC: good to know - I think zuul developers liking to work with it is important12:17
mordredtristanC: what about only bower? do you think that's useful?12:17
tristanCthough it seems like the way to go to pack a collection of js client into a convenient library12:17
*** MaciekW has quit IRC12:20
mordredtristanC: so the way storyboard is split - with a python and a web repo and the web repo using grunt/npm is annoying to work with for you?12:21
mordred(since y'all work with storyboard, I figure you've got a good pov on that)12:22
mordredand that was jeblair's concern - if we used a toolchain that none of us really fully understand that it would make it harder for us to hack on important parts of zuul12:23
mordredoh- apparently bower recommends not using bower12:25
tristanCI have to say I'm having a hard time building the storyboard webclient, either using fedora native tools or the tox venv12:26
tristanCHowever splitting the code to a 'zuul-webclient' may be convenient in the long term12:27
mordredoh wow. I just learned a LOT of things12:29
mordredtristanC: http://requirejs.org/docs/whyamd.html is worth a quick read12:29
mordredI got to it because bower now tells people to look at yarn and webpack instead - so on the yarn page for jquery: https://yarnpkg.com/en/package/jquery12:30
mordredthere is a section on common ways to use jquery12:30
tristanCrequirejs looks interesting, at least the app.build.js file doesn't look too complicated12:34
mordredyah - it seems like it's designed to do javascript loading from the internet (since javascript) but with some optional optimization steps12:34
mordredwhich seems like it's a better design than some of the other systems12:34
mordredsince, you know, there's no real specific reason for every website you goto to have its own copy of jquery if maybe require.js in your browser can download and cache it for you12:35
*** dkranz has joined #zuul12:35
tristanCOn the other hand, a python-zuulclient would be more fun to start with... :)12:39
mordred:)12:39
*** openstackgerrit has quit IRC12:47
lennybhi, is there a way for zuul to be triggered by a specific patchset number only or by a specific owner?13:15
mordredlennyb: not to my knowledge - what are you trying to accomplish?13:19
*** openstackgerrit has joined #zuul13:19
openstackgerritDavid Shrewsbury proposed openstack-infra/zuul feature/zuulv3: Handle aborted websocket client connection cleanly  https://review.openstack.org/48256013:19
Shrewstobiash: can you try out that patch ^^^^ ?13:20
lennybmordred, I am trying to run CI on a specific os-vif patchset/owner. Until this patchset will be merged there is no need to run CI on other commits and commenting13:21
lennybthis will add irrelevant noise and false alarms13:21
lennybmordred, I know I can filter only a relevant files as a workaround, but I prefer an 'owner' filtering13:22
Shrewsjlk: fedora 26 upgrade now gives me docker-compose 1.14.0. will try z8s again a bit later13:30
pabelangermorning!13:32
mordredlennyb: yah - we don't really have any concept of filtering on patchset owner - the problem you're trying to solve becomes better with zuul v3 which is not too far away13:59
mordredlennyb: but for now, I think the best choice you have is to define a job in the experimental pipeline - then you can trigger it by leaving the comment "check experimental" - so you dont have to spam other people with the results until you're read13:59
mordredready13:59
mordredpabelanger: morning!13:59
lennybmordred, thanks.13:59
mordredpabelanger: so - biggest news is that most of the jobs have been moved into zuul-jobs14:13
mordredpabelanger: also, the content from the jenkins scripts dir has been directly copied in to them - and I've started refactoring those to be more native ansible instead of having a giant embedded script14:14
mordredpabelanger: I also started getting some of the output of the setup scripts (like the network info) into a report file rather than just as stdout14:16
mordredpabelanger: and finally we realized that all of the playbooks start with /home/zuul as the working directory since that's the home dir of the user - so we can define paths relative to that14:16
mordredpabelanger: in several of the single-repo roles we're defining a zuul_work_dir in defaults/main.yaml - that's so that we can easily run the roles on a different repo14:17
mordredpabelanger: you can see an example of this in the tox-py35-on-zuul job - which is running tox -epy35 on the zuul repo - but on changes to the zuul-jobs repo14:19
mordredpabelanger: that let's us test that changes to zuul-jobs will work when run with another project (there was an issue we ran in to just running tox job on zuul-jobs since zuul-jobs doens't have a test-setup script - the bindep and test-setup were being called out of order)14:20
mordredpabelanger: we've mostly sorted out the issues with logging and debugging things - there are still one or two gotchas, but for the most part errors in job configs can all be debugged through the results returned to the browser14:21
mordredpabelanger: although there is a bug that seems to be happening right now in that changes to zuul seem to be being run with stale versions of the job definitions from zuul-jobs - which jeblair is going to look in to when he wakes up14:22
mordredpabelanger: current todo-list items are finishing getting your configure-mirror role applied (but putting it in zuul-jobs instead of openstack-zuul-roles and attaching it to the unittest base job for now so we can more easily hack on it)14:23
mordredpabelanger: and refactoring run-tarball, run-cover and tox tasks/main.yaml to be ansible and not bash14:24
mordredpabelanger: jlk has offered to help with those tasks - although looking at them there's a non-zero amount of work we need to do in terms of thinking about the openstack-specific vs. general case14:25
mordredso I think it might be nicer to find a different jobs task for jlk to help with since I think you and I are going to need to dig in to a bunch of infra-specific things on those14:25
mordredpabelanger: the bindep role is mostly good- although I do think it could be improved by doing an include: "{{ ansible-pkg-mgr }}.yaml" in the loop and having each one of those have an even smaller shell snippet14:26
mordredpabelanger: I did not use the actual ansible package management modules because the apt module only accepts single package names and bindep returns a list - so my OCD wouldn't let me write code that called apt 30 times14:27
mordredpabelanger: it makes me want to make a patch to upstream apt module to make it accept a list of packages for a one-shot14:27
mordredsince I _do_ think that writing those to use the pkg modules will be nicer14:28
pabelangerokay to all of that14:31
pabelangerI'll check out the bindep module, I've already created http://git.openstack.org/cgit/openstack/ansible-role-bindep a while back too. That just gets bindep on to the system, via pip/git/pkgmanager14:32
pabelangerbeen using it for a while, works well14:32
pabelangermordred: I'll start looking at zuul-jobs now and see what else needs to be done with configure-mirror14:33
openstackgerritMonty Taylor proposed openstack-infra/zuul-jobs master: Split bindep package install into tasks  https://review.openstack.org/48258414:39
mordredpabelanger: neat - so - might very well be a good idea to see if we can combine the two and then just use ansible-role-bindep14:40
mordredpabelanger: the thing I've got written now should be totally re-usable14:40
mordredpabelanger: one main difference is that if it finds it needs to install bindep, it does it in a throwaway virtualenv in /tmp14:41
mordredpabelanger: so that we dont' wind up installing globally14:41
mordredpabelanger: we might want to put that behavior behind a parameter flag for the general role14:41
mordredpabelanger: I started poking at your configure-mirror stuff into zuul-jobs yesterday - let me push up what I've got real quick14:41
pabelangermordred: excatly, I do the same thing with my bindep role, it exposes to the use how to install bindep, either as global, user or virtualenv: http://git.openstack.org/cgit/openstack/ansible-role-bindep/tree/tasks/install/pip.yaml. I was planning on updating it to support your bindep task from upstream ansible/ansible once that landed too14:43
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Add phase and count to variables passed in to playbooks  https://review.openstack.org/48194214:43
pabelangermordred: it is also gating on centos / fedora / all ubuntu :)14:43
mordredpabelanger: cool :)14:44
mordredpabelanger: well, maybe let's make task-one getting the two synced and the jobs updated to use that role14:44
mordredpabelanger: which means we shold probably add ansible-role-bindep to zuul's main.yaml14:45
mordredpabelanger: oh - I just realized something that might make this harder ... or maybe not ...14:45
mordredpabelanger: if the role installs bindep into a virtualenv, or finds it in a virtualenv - it's going to need to pass ansible_python_interpreter when it runs the bindep module14:46
mordredpabelanger: but - anyway - we should update the PR for the bindep module upstream -but we can also just copy it in to the role for now - and use that as a good way to test that it works14:47
mordredpabelanger: then remove it when the bindep module lands upstream14:47
pabelangermordred: Ya, I still need to do some updates for that too. Here is the latest version of that logic I am using in ansible-role-zuul: http://git.openstack.org/cgit/openstack/ansible-role-zuul/tree/tasks/install/pip.yaml I need to read up on ansible_python_interpreter stuff you recently found14:47
*** openstackgerrit has quit IRC14:48
*** openstackgerrit has joined #zuul14:52
openstackgerritMonty Taylor proposed openstack-infra/zuul-jobs master: Create configure-mirrors role  https://review.openstack.org/48259314:52
mordredpabelanger: there's an updated version of your openstack-zuul-roles patch for zuul-jobs ^^14:52
mordred(let's see how it runs! :))14:53
pabelangermordred: cool, IIRC, I had it working just before ansiblefest14:53
*** isaacb has quit IRC14:59
mordredpabelanger: I seem to have broken something: https://review.openstack.org/#/c/482593/15:03
openstackgerritMonty Taylor proposed openstack-infra/zuul-jobs master: Create configure-mirrors role  https://review.openstack.org/48259315:05
mordredfound it15:05
pabelangercool15:07
openstackgerritPaul Belanger proposed openstack-infra/zuul-jobs master: Add tox-docs jobs  https://review.openstack.org/48259615:09
pabelangerjeblair: ^ is an interesting one. I had to remove our header format because zuul-sphinx would error: SEVERE: Unexpected section title.15:09
mordredpabelanger: SO ... we put that one in openstack-zuul-jobs because how we run docs is pretty weird in opentsack land15:09
mordredpabelanger: oh - bleh15:10
pabelangermordred: Oh, that patch just runs the gate job. Should it be a different zuul-job?15:11
mordredpabelanger: yah - we have a openstack-doc-build job for openstack-style docs jobs15:11
mordredwe should likely update zuul to use that one too15:12
pabelangerk, let me change15:12
openstackgerritPaul Belanger proposed openstack-infra/zuul-jobs master: Add openstack-doc-build job for documentation testing  https://review.openstack.org/48259615:13
pabelangerYa, see the issue with zuul_sphinx, we are prepending 4 spaces, which is breaking headers15:15
pabelangermaybe we should stop doing that and just assume the readme as standard rst file15:16
*** isaacb has joined #zuul15:23
jlkmordred: saw backscroll. I'm still happy to review the openstacky jobs.15:29
openstackgerritPaul Belanger proposed openstack-infra/nodepool feature/zuulv3: EOL ubuntu-precise for dsvm job  https://review.openstack.org/48261315:58
pabelangeroh, nice. we now have logs on RETRY_LIMIT16:13
*** isaacb has quit IRC16:16
jeblair\o/ :)16:17
*** pabelanger has quit IRC16:18
*** pabelanger has joined #zuul16:18
jeblairpabelanger: yeah, the included docs are inside of an indented block right now, we're not expecting them to have section headings.  they should be able to have any other rst though.16:18
pabelangerjeblair: ack, I've updated the RST to remove them for now16:19
jeblairpabelanger: (it would be difficult (but possible) to permit them to have section headings since we have to maintain an ordering across lots of files)16:19
pabelangerack16:20
mordredgood to know that they can't have section headings16:25
mordredpabelanger: so - looking at the source code in ansible, it turns out you CAN give a list of packages to apt16:27
mordredit's just not documented16:27
jlkoh yeah16:27
jlkapt/yum/etc most the packaging modules do magic to turn with_items into a single transaction16:27
pabelangermordred: Ya, I thought so. I use a list of package for some of existing ansible roles16:27
* mordred is making a doc patch16:28
mordredjlk: with_items can be turned into a single transaction by a module?16:29
pabelangermordred: btw: why apt directly and not package?  Been using package for a while on 3 operating systems and seems okay so far: http://git.openstack.org/cgit/openstack/ansible-role-zuul/tree/tasks/install.yaml#n2016:30
mordredwell - I would have said no reason ... but it turns out package does _not_ squash with_items into a single list by default16:34
mordredbut - we can configure it to by defining squash_actions in our ansible.cfg16:34
mordredI will try it out16:34
jeblairmordred: [keep in mind we may not want to set too many exotic options in ansible.cfg]16:35
pabelangerAh, for tuning. Ya, I haven't done too much of that yet16:35
openstackgerritDavid Shrewsbury proposed openstack-infra/zuul feature/zuulv3: Add docs for web server component  https://review.openstack.org/48263016:42
mordredjeblair: indeed16:44
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Improve logging on reconfiguration  https://review.openstack.org/48263517:01
jeblairmordred: ^ i'd like to land that and restart everything soon.  it looks like there was an error which caused us not to load the new configuration after the unittest post fix landed, but i do not know what the error was.  :(17:02
jeblairmordred: with any luck, it's actually frequent and it may happen again.17:02
tobiashShrews: just tested and it works: http://paste.openstack.org/show/615053/17:03
openstackgerritDavid Shrewsbury proposed openstack-infra/zuul feature/zuulv3: Cleanup components doc  https://review.openstack.org/48263617:03
Shrewstobiash: awesome! please leave a vote on the change for us17:03
Shrews482636 is a temporary cure for my OCD'ing on the docs I had to touch for 48263017:04
tobiashShrews: I was already typing ;)17:04
Shrewstobiash: sorry i misunderstood the whole "abort" thing in the other review17:04
tobiashShrews: no worries17:05
mordredjeblair: lgtm17:07
openstackgerritDavid Shrewsbury proposed openstack-infra/zuul feature/zuulv3: Cleanup components doc  https://review.openstack.org/48263617:08
jeblairmordred: i'm going to go aheand and +3 the logging change then so it gets in before any more job work lands17:17
mordredjeblair: ++17:17
mordredpabelanger, jlk: ok - so I have learned many things - the first and most important of which is that one cannot use until with include: - which means the only way we can actually do the "retry install command in a loop" logic is with a shell script17:18
mordredpabelanger, jlk: we can get rid of the retry-install-loop and instead just have the final bindep command throw an error which would cause zuul to retry the job17:19
Shrewsmordred: jeblair: before i get to work on the static page handling from zuul-web, should we consider changing its default port from 9000 to 80 before folks start using it?17:19
pabelangermordred: still catch up on things, but was is the reasoning for the rety logic inside our playbooks, over try once and fail?17:19
Shrewsor even 8080, or does it really matter?17:20
mordredpabelanger: I believe the reason for having that loop being package mirrors being temporarily unreachable - and retrying an install is fairly cheap17:20
clarkbShrews: I wouldn't use a low port to avoid the root required issue that we had/have with finger.17:20
mordredShrews: I imagine people will use it behind an apache or nginx rather than directly - so I think 8080 or 9000 is fine17:20
Shrewsok, i'll just leave it alone then17:21
pabelangermordred: Right, bindep does the loop. I cannot remember, do we also do that for package installs in devstack too today?17:21
clarkbpabelanger: if devstack can't install it fails17:21
mordredpabelanger: well - the bindep script in slave_scripts does the loop which is why I kept it here17:21
mordredclarkb: do you have an opinion on whether to keep the loop in the ansible or to fail and let zuul retry the job since it'll be a pre-playbook failure?17:22
clarkbmordred: I think the job more likely to eventually succeed if reschedled on a new node17:22
mordred++17:23
mordredyah - I think the retry-on-pre-failures feature makes this better if we just fail17:23
clarkbI expect that the vast majority of those failures will be due to node or region loacl networking blips17:23
mordredyup17:23
pabelangerclarkb: mordred: Right, I am wondering if we should consider making package installs consistant in zuulv3 playbooks. Then we can either write a simple role to handle package installs and have everything just use it over multiple places for rety logic17:24
mordredpabelanger: I'd rather wait before abstracting that out just yet - I'm not sure how many places we're going to need that directly in job playbooks17:24
clarkbpabelanger: the problem with devstack is a significant responsibility of devstack is doing thsoe installs17:25
mordredyah17:25
clarkbpabelanger: so you can't stop doing it there nad it will fail time to time17:25
pabelangerfwiw: I've tend to default to no retry logic in roles, to avoid to much business logic with in them17:25
mordredthat's the thing - the things we're testing have the responsibility of installing the packages17:25
mordredpabelanger: ++17:25
mordredthe only place where we really own that responsibility is bindep - but I think having that fail and letting the job get rescheduled is better17:25
* mordred makes new version of patch17:25
pabelangerYa, that seems right17:25
pabelangersince we likely hit a networking issue anyways17:26
openstackgerritMonty Taylor proposed openstack-infra/zuul-jobs master: Use package module to install bindep packages  https://review.openstack.org/48258417:52
openstackgerritMonty Taylor proposed openstack-infra/zuul-jobs master: Simplify bindep logic removing fallback support  https://review.openstack.org/48265017:52
openstackgerritPaul Belanger proposed openstack-infra/zuul-jobs master: WIP: Enable verify_host for synchronize  https://review.openstack.org/48265518:13
openstackgerritPaul Belanger proposed openstack-infra/zuul-jobs master: Create configure-mirrors role  https://review.openstack.org/48259318:38
pabelangermordred: pushed up a update to configure-mirrors^ However, I am starting to think we might need to make that more generic. EG: configure-pip-mirrors, configure-apt-mirrors, etc. Otherwise, I can see that role growing very large and complex over time18:39
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Improve logging on reconfiguration  https://review.openstack.org/48263518:41
mordredpabelanger: yah- it's also possible that it wants to just be an openstack specific role (in fact, that's quite probable)18:55
openstackgerritPaul Belanger proposed openstack-infra/zuul-jobs master: Create configure-mirrors role  https://review.openstack.org/48259318:56
pabelangermordred: right, if openstack specific is zuul-jobs still the place?18:56
jlko/18:57
jlkWorking in Seattle today, at a fancy bike shop/cafe. Meeting up with other seattle openstackers, like deva and morgan and Anne18:57
pabelangerjlk: nice, have an openstack meetup tonight too18:58
mordredpabelanger: for now - it's easier for us to iterate on it on the unittest base job18:58
pabelangermordred: understood18:58
jlkThis place serves waffles, dis gonna be good.18:58
mordredpabelanger: so -yah - I think I was trying to parameterize it too much - let's go ahead and just say that'll be an opnestack role that lives in openstack-zuul-roles once we're done, yeah?18:59
pabelangermordred: wfm. We could easily create an apt mirror role from it. That should like in zuul-jobs I think19:00
morganjlk: i actually wont be making it today, i don't think19:00
morgansadly19:00
tobiashjeblair: if you're going to restart the zuul-executor you'd need https://review.openstack.org/#/c/482442/19:00
jlkmorgan: oh boo.19:00
jlkI was going to regale you with my story of 140  miles of gravel.19:00
mordredjlk: heya - we were just talking about you in the infra meeting in #openstack-meeting19:04
jlkoh poop19:04
jlksorry I missed it19:04
Shrewsoh dang. /me forgot19:04
mordredjlk: tl;dr - congrats, welcome aboard, and condolences for new responsibility19:06
jlkI... what?19:06
jeblairtobiash: ah thanks.  i +3d it and will wait for it to land before restarting.  ;)19:07
tobiash:)19:07
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Check ret for None in zuul_run_command  https://review.openstack.org/48244219:23
jeblairyay! ^19:47
openstackgerritPaul Belanger proposed openstack-infra/zuul-jobs master: Enable verify_host for synchronize  https://review.openstack.org/48265519:55
jeblairtobiash, mordred, clarkb: hrm.  i wonder if we could maybe make the gerrit driver smart enough to figure out what the right case is.19:56
clarkbgerrit does let you query the gerrit version at least19:57
clarkbso worst case we could switch based on that maybe?19:57
jeblairmaybe we could just look at the approvals required for the change, then heuristically convert the lowercased versions from the config into what gerrit reports for them19:57
tobiashjeblair: that sounds doable, but it feels like a hack19:58
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Avoid using http://keyserver.ubuntu.com for GPG keys  https://review.openstack.org/48268319:59
tobiashI'd vote to be consistent with the gerrit project config (==same cased)19:59
jeblairtobiash: *nod*20:04
pabelangerjeblair: mordred: configure-mirror patch passed: https://review.openstack.org/#/c/482593/20:05
mordredpabelanger: woot! now - did it actually configure mirrors?20:06
pabelangermordred: YES!20:06
mordred\o/20:06
pabelangermordred: I had to update a few things20:06
mordredjeblair: you've restarted the zuul executor recently, right?20:07
mordredcause this: https://review.openstack.org/#/c/481825/ didn't seem to work - I'll need to dig further20:08
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Avoid using http://keyserver.ubuntu.com for GPG keys  https://review.openstack.org/48268320:10
*** jkilpatr has quit IRC20:11
jeblairmordred: not yet20:12
jeblairmordred: i'm about to20:12
mordredjeblair: ah - ok. then it's not a problem :)20:16
* tobiash EODs20:17
pabelangerNice, have chrome opening finger:// URL into termals now20:18
* jlk offers up his first +2, on a zuul-jobs change.20:18
pabelangerYay20:19
jeblairi restarted zuulv3.openstack.org (scheduler and executor)20:23
mordredjeblair: awesome20:25
mordredpabelanger: you did not git add20:26
jeblairis there a zuul-jobs change ready to land now that we've restarted? :)20:27
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Avoid using http://keyserver.ubuntu.com for GPG keys  https://review.openstack.org/48268320:29
jeblairor, i should say, a change to a zuul.yaml20:29
pabelangermordred: ya, fixed now20:29
mordredjeblair: yes20:29
pabelangermordred: also added full path to be safe20:29
mordredjeblair: oh - no ... one sec20:30
mordredjeblair: I was going to say: https://review.openstack.org/#/c/482593/4 (which could use a +3)20:30
mordredjeblair: https://review.openstack.org/#/c/482596/20:30
mordredjeblair: adds a job to zuul-jobs20:30
*** jkilpatr has joined #zuul20:32
Shrewsjlk: so, docker-compose now does things, but it looks like the running zuul services are borked. seems they all report "ImportError: No module named 'zuul'20:41
Shrews"20:41
jlkwell that's odd.20:42
jlkin the container, can you show the mount paths?20:42
Shrewslemme restart20:42
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Avoid using apt-add-repository  https://review.openstack.org/48268320:42
jlkwhile they're oging on one terminal, you should be able to docker exec into them, like20:43
jlkdocker exec -u root -i -t  z8s_zuul-scheduler_1 /bin/bash20:43
openstackgerritMerged openstack-infra/zuul-jobs master: Add openstack-doc-build job for documentation testing  https://review.openstack.org/48259620:43
Shrewsjlk: well, no i can't. they are all in a "restarting" state so i can't get a shell20:43
jlkoooh drat20:44
jlkum20:44
jlkhrm.20:44
Shrewszk is running, so yay20:44
jlkwhat's your execution line look like?20:44
Shrewsdocker-compose -f docker-compose.yaml -f devel.yaml up zuul-zookeeper zuul-scheduler zuul-executor20:44
Shrewsyou gave me that a week or so ago.20:45
jlkDid you modify devel.yaml at all to define where your zuul checkout is?20:45
Shrewsjlk: no. i set the ZUUL_SRC env variable20:46
jlklet me see if that does what I expect it to.20:46
jlkSo I just did ZUUL_SRC=~/src/z8s/ docker-compose -f docker-compose.yaml -f devel.yaml up zuul-scheduler  and that broke, because src/z8s is not where zuul is20:47
jlkI wonder if it's not taking it from ENV properly, can you try setting it specifically when you execute?20:47
Shrewsjlk: sure. do i need to remove the existing containers?20:48
jlkdoes "docker ps" show them as running? If not, then I don't think so20:48
Shrewsno. they're inactive20:48
jeblairmordred: yay!  i have an error!  http://paste.openstack.org/show/615072/20:48
jeblairi will look into that after a short break20:49
jlkShrews: okay, then trying again should get the mount20:49
Shrewsjlk: nope. same. http://paste.openstack.org/show/615073/20:50
Shrewsjlk: do i need to do anything with the python version?20:52
jlkblarg, okay, really fallback, maybe try setting it specifically _in_ devel.yaml20:52
jlkalso you might try changing docker-compose.yaml for what the "command" is on one of the containers so that you can get it to stay running, so you can shell into it and see what's going on with mount paths.20:53
mordredjlk: woot!20:54
Shrewsjlk: that didn't work either20:54
jlkthere _should_ be a file:20:55
jlk cat /srv/zuul/lib/python3.5/site-packages/zuul.egg-link20:55
jlk  /zuul20:55
jlkand /zuul should be what gets mounted in, on top of the "installed" zuul.20:55
jlker, the git checkout of zuul done during the build phase.20:56
Shrews$ cat /srv/zuul/lib/python3.5/site-packages/zuul.egg-link20:58
jlkyour client ate the /zuul part I think20:58
Shrewsyep20:58
jlk(since it started with a / )20:58
Shrewsbut it was /zuul20:58
jlkand what's in /zuul/ ?20:58
Shrewsoh20:59
Shrewsls: cannot open directory '/zuul': Permission denied20:59
jlkoooh?20:59
jlkI wonder if there's some selinux fun happening20:59
Shrews$ ls -ld /zuul21:00
Shrewsdrwxrwxr-x. 11 zuul zuul 4096 Jul 11 16:41 /zuul21:00
Shrewsy21:00
Shrewsso, i have a 'zuul' user on my local machine with id 100121:01
jlkzuul in my container is 100021:01
Shrewsyeah, just saw.21:02
jlkand I'm user 500 outside the container21:02
jlkbut there is also a small VM between me and the container, because Mac.21:02
jlkI honestly don't know what docker on Fedora does to handle user mounted dirs into containers21:02
Shrewswhoami says i am zuul, and i own /zuul, yet i cannot read /zuul21:03
jlkI assume if you take out the -f devel.yaml part, it'll work, because you'll have access to the in-container files in /zuul/21:03
jlkShrews: I'm guessing there are some selinux failures preventing the access21:03
jlkShrews: maybe http://www.projectatomic.io/blog/2015/06/using-volumes-with-docker-can-cause-problems-with-selinux/ ?21:04
Shrewsjlk: oh, well that got me further. now at: Exception: Unable to locate config file in ['/run/secrets/zuul.conf']21:11
jlkah right21:11
jlkso.21:11
Shrewsgotta do the same for the z8s directory maybe?21:11
jlkthere's a zuul.conf example file in the repo21:11
jlkyou'll need to copy it to zuul.conf.secret21:12
jlkand then modify it for your tastes.21:12
jlksame with clouds.yaml(.secret)21:12
Shrewsi did that21:12
Shrewsnot for clouds.yaml, but i'm not starting nodepool21:12
jlkah, hrm.21:13
jlkmaybe it is failing to get that file because of selinux, no idea on that one21:13
Shrewsand i didn't really modify the zuul.conf.secret except to comment out the github driver21:13
Shrewslemme do the same command for the z8s dir21:13
jlkhttps://bugzilla.redhat.com/show_bug.cgi?id=1440389 ?21:14
openstackbugzilla.redhat.com bug 1440389 in docker "Can not create services with secrets in swarm mode" [Unspecified,Closed: errata] - Assigned to amurdaca21:14
Shrewsjlk: yup, that gets me running, except it doesn't like that i commented out the github stuff21:15
jlkoh, because a lot of the config is coming from a github repo21:16
Shrewsjlk: so i HAVE to give it a github api key?21:17
jlkoh, no.21:17
jlker.21:17
jlkYou shouldn't have to. What was the error you saw/21:17
Shrewsjlk: http://paste.openstack.org/show/615076/21:18
jlkI think you migh tjust need [connection github]\ndriver = github21:18
Shrewsk. i had that commented out21:18
Shrewsthought i was being clever21:18
jlkah I see.21:18
jlkooooh21:19
jlkit's because of root/etc/zuul/tenant.yaml  that file references a connection name of "github"21:19
jlkMaybe I should make this file a secret as well.21:20
Shrewshttp://paste.openstack.org/show/615078/21:20
jlkwhoh...21:21
jlkwell, it's definitely reading content from github21:22
jlkI wonder if that _just_ broke...21:22
Shrewscan i blame mordred??  plz oh plz21:22
jlkhrm, it's still working here.21:23
Shrewsperhaps it's my local checkout of zuul21:23
Shrewslemme update to HEAD on feature/zuulv321:23
jlkI'm wondering where it's finding a reference to "openstack-infra/zuul"21:24
Shrewshrm, no. same error21:24
jlkoh it's in zuul.yaml there21:24
jlkwtaf.21:24
jlklet me update my zuul too21:26
jlkI thikn this is the new config shadowing thing21:27
jlkhahah yeah, I get that now.21:27
jlkokay neat. Hey jeblair21:27
Shrews\o/21:27
mordredjeblair: looks like people have found your new work! :)21:28
jeblairit's nice to have your work appreciated21:28
Shrewsmordred: you are off the hook... this time21:28
Shrews:-P21:28
jlkso the upshot here is that we have to add the referenced project to the tenant config21:29
mordredoh - actually - this IS my fault21:29
jeblairjlk: can you add another layer of tldr?  or maybe a link to some config for me to look at?21:30
jlkah right21:30
jlkso, openstack-infra/zuul-jobs grew a21:30
jlk    required-projects:21:30
jlk      - name: openstack-infra/zuul21:30
mordredjlk, Shrews: I put a job definition in zuul-jobs that runs jobs on zuul-jobs patches against openstack-infra/zuul21:30
jeblairoh, ha.  yes.21:30
jlkfor the tox-py35-on-zuul job21:30
mordredbut that's bad for reconsuming zuul-jos21:30
mordredyup. that needs to move21:30
mordredsorry - didnt' think of the ramifications of that21:30
jeblairyeah, i guess we should put that in project-config21:30
mordredjeblair: ++21:30
* mordred makes patch real quick21:31
jeblairneat we learned a thing21:31
jlkShrews: YOU FOUND A BUG!21:31
Shrewsjlk: no, i tripped over a bug while i was lost in the woods21:31
jlkso uh21:31
jeblairwe added that because we want to run jobs on zuul-jobs which actually exercise the code in them (it's just 'jobs' repo, so it doesn't have any real unit tests to run, but it has all the code for running unit tests)21:31
jlkto get things working for you right this minute, you could add openstack-infra/zuul to the list of projects in root/etc/zuul/tenant.yaml and rebuild the containers21:32
mordredjeblair: I think I need to put it in the zuul repo21:32
jeblairso the idea is to run unit tests on some random project.  ie, zuul itself.  using those changes21:32
jeblairmordred: oh this is about to get really tricky21:32
mordredjeblair: if I put it in project-config, project config doesn't have tox-py35 base job21:32
mordredbut I guess I can't do that21:32
mordredhrm21:32
jlkfeels whiteboardy21:32
jeblairmordred: it has to be a trusted repo in order for us to add it to the project definition.  but if it's in a trusted repo, it isn't going to use speculative changes.21:33
jeblairmordred: also your thing is probably an issue.21:33
mordredjeblair: oh - wait - we want to use object filtering for other people using zuul-jobs right?21:34
mordredjeblair: like, they shouldn't be consuming the part where .. nope, nevermind21:34
jeblairmordred: i was hoping to avoid it, but that is a solution to this21:34
mordredjeblair: is it? it's the job definition that's a problem?21:34
mordredjeblair: are those late-binding?21:34
jeblairmordred: you're right.  it's only a solution to the project dfn, not the job defn.21:34
mordredShrews, jlk: yah - if y'all can just add zuul to your tenant.yaml for a minute while we're ponder this21:35
Shrewsjlk: rebuilding now21:37
Shrewssorry to cause such heavy pondering21:38
mordredShrews: no - this is good! this is a lovely edge case :)21:38
Shrewsbut ya'll love it21:38
jlkAdding that project definitely worked21:39
Shrewsyour machine is faster than mine21:39
jlkthe build should have been really quick since only one file changed21:39
jlkdocker cache is a neat thing21:39
jeblairmordred: one option might be to late bind required-projects as you suggest.  we could bind it when we run the job instead of on config load.  that means we lose detection of a class of config errors.  that could be annoying if it were a gate job because you'd have to remove it from the project config before merging a fix.  that's not quite a gate wedge, but it's close.21:40
jlk"docker-compose build"  was done in a few seconds.21:40
Shrewsoh, i rmi'd the z8s images21:40
jlkah.21:40
Shrewsdoh21:40
Shrewsjlk: yup, zuul is zuuling the thing21:41
Shrewsthings, even21:41
jlk\-/21:41
jeblairmordred: we could make that an error only in the case where the job is included in a project-pipeline definition.  that feels slightly better, but still not great.21:41
Shrewsjlk: many thanks21:41
jlkthis was fun! If you'd take a moment at some point and toss things into the README that you ran into, that'd be totes cool21:41
Shrewsjlk: like, contribute back and stuff???21:42
jlkcrazy talk21:42
Shrewsi mean... geez21:42
Shrewswill do. EOD, so tomorrow21:42
jeblairmordred: what if we put it in openstack-zuul-jobs?21:43
mordredjeblair: well - we could - but then we lose the "iterate on jobs and roles in zuul-jobs and test them on other projects"21:43
mordreddo be fair - that wasn't really a thing we planned21:43
mordredso it's not like it's a *TERRIBLE* loss - but it is a neat happy feature21:44
jeblairmordred: that's an untrusted repo, so it'll get speculatively executed.  it comes after zuul-jobs, so the base job will be defined.  we can add it to the project-pipeline in project-config.21:44
jeblairmordred: i'm not sure what loss you're describing21:44
mordredjeblair: oh - you're saying define the job in openstack-zuul-jobs21:44
jeblairmordred: yep21:44
mordredjeblair: but put it in the pipeline in project-config21:44
jeblairyep21:44
mordredyah - I think we can do that21:44
jlkthe ultimate goal here though, is that you want a change in zuul-jobs to trigger a test of something _consuming_ zuul-jobs21:44
jeblairjlk: yep21:44
mordredbut only in this zuul21:45
mordredwe dont' want to make other zuul-jobs consumers need those repos too21:45
jlkand as you said, you can put that project config anywhere (downstream) of zuul-jobs, right?21:45
jeblairjlk: the job definition has to be downstream, but the project config can be in an upstream config repo (eg, openstack-infra/project-config)21:46
jeblairjlk: because jobs are all parsed in one phase, then project definitions in a later phase21:46
jlkoh right, yes21:46
openstackgerritMonty Taylor proposed openstack-infra/zuul-jobs master: Remove tox-py35-on-zuul  https://review.openstack.org/48271721:47
jlkworkflowing that one21:49
mordredjeblair: https://review.openstack.org/482719 is the last change21:50
jeblairmordred: +2 on all of them; we should probably +3 them in sequence :)21:52
mordredjeblair: ++21:52
jeblairoh they have depends on, so they should land in the right order.  i'll go ahead and +3 them21:53
mordred\o/21:53
Shrewsjlk: PR waiting for you!21:54
jlkFunny, I wasn't even watching my own project21:55
Shrewsjlk: ugh, github renders that horribly. lemme fix21:55
jlkkk21:55
jlkugh, I should hook up some CI or something.21:57
Shrewsjlk: good enough. not pretty, but readable21:57
jlkyeah I haven't really markdowned it yet.21:58
Shrews*now* i will EOD21:59
jlkcheers!21:59
openstackgerritMerged openstack-infra/zuul-jobs master: Remove tox-py35-on-zuul  https://review.openstack.org/48271722:04
jlkoh looks like we'll need to grow a zuul-web container22:05
jeblairmordred: i have reproced the config loading error in a unit test22:07
mordredjeblair: that's exciting!22:08
mordredjeblair: also - maybe we should, at some point in the future, add a third-party-ci of zuul from bonny - so that we could get a failure on patches proposed to zuul-job that would introduce the sorts of dependencies that tox-py35-on-tox introduced22:10
mordredsince that likely would have failed with the same error in a bonny check pipeline when we proposed the patch22:10
jlkit probably would have. That'll be a fun thing to hook up.22:12
jeblairwfm.  we should run that by fungi.22:12
fungimordred: jeblair: seems fine if it's continuously deployable in such a way that it can report on proposed patches22:14
jlkRemind me again why status_url is in the [webapp] section, but it used only by scheduler?22:15
fungijlk: optimism? ;)22:15
jeblairfungi: actually, i think the thing we can do sooner than patches on zuul is patches on zuul-jobs.  since we're aiming for that to be globally usable right now22:16
fungioh, right. that's probably relatively trivial to integrate given they're running zuul v322:16
jeblairfungi: so bonnyci can speculatively execute them as well as we can, but they'll have a different configuration which will help us identify if we have made an assumption22:16
mordredyah - this would be "attach the running bonnyci service to openstack's gerrit and have it vote verified -1/+1 on changes to zuul-jobs22:16
mordred++22:16
jeblairon zuul itself may be useful later, but, honestly, at this point, we're breaking deployment almost daily, so we already know it's going to be red.  :)22:17
mordredwe're going to wind up with a network of interrelated zuuls all triggering each other22:17
fungia circle of zuuls22:17
jeblairon zuul-jobs, however, we're ready to start ensuring stability22:17
jlkThe circle of after-life22:19
jeblairjlk: yeah, i'd go with fungi's answer on status_url for now.22:20
jeblairaha, i see the bug which is causing us to load configuration out of order22:24
jeblairi'm going to write a fix that is right beneath a comment about how ordering is important22:26
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Handle aborted websocket client connection cleanly  https://review.openstack.org/48256022:31
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Fix error loading projects out of order  https://review.openstack.org/48272522:32
jeblairmordred, jlk: ^ there we go!22:32
jeblairoh wait, missed a git add22:32
jlkIs there any real difference between "del foo" and "del(foo)" ?22:33
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Fix error loading projects out of order  https://review.openstack.org/48272522:33
jeblairmordred, jlk: ^ there we go! (again)22:33
jeblairjlk: i'm not aware of any22:34
jlkinteresting gertty bug. If I already reviewed a change (that was subsequently updated), as non-core, then open it as core, I only get options to +/- 1  not 2 nor w.22:35
fungiother than i like function syntax, i'm not aware of any difference22:35
fungijlk: force refresh the change in gertty (ctrl-r in the default keybinding map)22:35
clarkbthat happens with the web ui too22:35
jlkah22:35
fungifor slightly different reasons with the web ui, but yes strangely similar resuly22:36
jlkThe official python docs just use "del foo"22:36
fungiresult22:36
jlk(I would prefer del() as well, feels better)22:36
fungii also used print() syntax for years before it was actually a callable function22:36
fungibecause it was interpreted as "print (whatever)" which was still valid for pretty much everything22:37
clarkbdel is still a statement in python3 though22:37
fungiyou just couldn't pass named parameters to it or anything22:37
clarkbso del foo is more correct I think22:37
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: WIP Add job's project as implicit role project  https://review.openstack.org/48272622:37
jeblairjust wanted to push that up so i don't lose it.  it should work, just needs docs and tests22:37
jlkoh so is it essentially doing "del (foo)"  ?22:37
fungiyep22:37
fungiafaik22:37
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Cleanup on ssh-agent failure  https://review.openstack.org/48134422:46
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Fix error loading projects out of order  https://review.openstack.org/48272522:56
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Use finishJob funtion to clean up on failure  https://review.openstack.org/48273122:57
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Move ssh-agent cleanup into existing exception handler  https://review.openstack.org/48273523:01
jeblairjlk, mordred: an alternate approach ^23:02
jlkoh23:02
jeblairi think we let the complexity get away from us in bits and pieces; hopefully that makes things a little more easy to see23:03
jeblairspeaking of things getting out of hand.  i'm about ready to declare the static method experiment in the configloader to be a failure.  :)  it seemed like a nice idea when we started -- configuration shouldn't require a lot of state.  but it turns out that in zuulv3, configuration is all about state.  so i think that file has gotten very complex and would greatly benefit from going back to using real object instances.23:11
mordredjeblair: I will not argue with you about code structure in the configloader23:12
jlkTime has gotten out of hand for me, I gotta flee to ride a bike to catch a train to ride a bike to go home.23:13
jeblairi'm probably going to back-burner that idea since we have a lot of other things to deal with at the moment, and it will take a bit to get right.  but i think eventually it's going to have a high maintenance cost, and if we run into something that requires significant changes soon, we may want to take the opportunity to refactor.23:13
jeblairjlk: enjoy all your modes of transport!23:14
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Fail execution if a role repo is a bare collection of roles  https://review.openstack.org/48232723:14
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: WIP Add job's project as implicit role project  https://review.openstack.org/48272623:15
mordredjeblair: ++ to that23:18
jamielennoxShrews: there is at least one api that you can't do via integration, it's commented, realistically you can do it publicly but your quota limits are really low on that so we fall back to an api key if one is present23:39

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