Wednesday, 2017-06-07

SpamapSjamielennox: with the websocket stuff we're doing, I wonder if we should just bypass wsgi altogether and make our server respond via HTTP.00:07
jamielennoxSpamapS: for zuul? that's kind of what we're doing at the moment00:16
jamielennoxthe webapp is in the same executable as the scheduler00:16
jamielennoxfor nodepool i had a review that split it out a while ago because the webapp could just query zk for the state and report on that00:17
jamielennoxbut yea for zuul, if you're going to end up RPC-ing the scheduler anyway i'm not sure if there's a great advantage in splitting it out yet00:17
jlkthis is one of those things where I pulled on a thread, and it's unraveling the sleeve of my sweater.00:19
jamielennoxfor a high-ish traffic zuul i would probably want to put a haproxy/kong caching layer in front of zuul anyway00:20
jamielennoxfor status.json00:20
jlkYAY I made it reconfigure on github push event!00:23
jeblairjamielennox: each time zuul recalculates the stack of changes in gate, a queueitem gets a new buildset.  so you'd typically just want to report the last one to the user for logs.  that's the approach you're currently taking and i think that's fine.  i could *also* see someone wanting not to save logs from old buildsets and actually just only write/link to a single location for the change.  giving the queue item a uuid may be useful in that case, ...00:24
jeblair... but i'd rather make sure we can handle the buildset uuid case first, so lets stick with that for now, and if you/someone wants to add queueitem uuid later we can.00:24
SpamapSyeah, HTTP caching status.json in a sane way for many clients should be relatively straight forward00:32
jeblaireven today, we have it cached by apache00:33
jamielennoxjeblair: in a way like we could/should remove the in-python caching layer?00:34
jamielennoxjust make it a deployment note that you should cache above it00:34
jeblairjamielennox: i think the current cache deals with the fact that the webapp only works on the whole status json blob, even when you are requesting info on a single change, it pulls that out of the whole thing.00:35
jeblairjamielennox: so the http cache is better suited to multiple clients all fetching status.json00:36
jeblairjamielennox: and the internal cache reduces the cost of status/1234 followed by status/567800:36
jeblair(i'm sure all of this could be thought out better holistically, but at least for the moment, i think they both serve a purpose)00:37
jamielennoxsounds good00:38
openstackgerritTristan Cacqueray proposed openstack-infra/zuul feature/zuulv3: executor: add support for custom ansible_port  https://review.openstack.org/46871000:42
SpamapSjeblair: I kind of like that everybody gets the whole status.json precisely because you can push that thing all the way out to the edges of the HTTP caching world very easily with a few seconds long expires header.00:49
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Log and collect stats for events consistently  https://review.openstack.org/46866400:49
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Add support for defining groups in nodesets  https://review.openstack.org/46761100:49
SpamapSand at what, 110kB for all of openstack's CI right now.. seems far more efficient to just keep sending it out to people once per second than doing work on the server side.00:52
jeblairSpamapS: yeah, that part's not bad.  i think the first improvement might be to eliminate the need for the internal cache when queried for a change directly.  that sounds similar to what we'll end up with for log streaming maybe.00:53
jeblairSpamapS: though in the future, a websocket stream that gives you updates to the whole view could make the status page *much* more efficient/responsive.00:54
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Write inventory as yaml not ini  https://review.openstack.org/46763400:56
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Put variables into the inventory  https://review.openstack.org/46763500:58
openstackgerritMerged openstack-infra/zuul feature/zuulv3: sql-connection: make _setup_tables staticmethod  https://review.openstack.org/46645501:01
jamielennoxi would expect the websocket stream for status page to be possible after zuul starts storing state in zk, before that i worry about load01:07
*** Shrews has quit IRC02:20
*** Shrews has joined #zuul02:23
SpamapSjamielennox: or we could implement this.. https://tools.ietf.org/id/draft-ietf-hybi-websocket-multiplexing-01.txt03:31
SpamapSassuming it could be revived :)03:33
SpamapShttps://tools.ietf.org/html/draft-ietf-hybi-websocket-multiplexing-11 hmm.. looks like it died in 2014 :(03:34
SpamapSor we could just make it HTTP/2 only03:34
SpamapSwhich has basically the same feature03:35
*** smyers has quit IRC04:32
*** smyers has joined #zuul05:04
jheskethjeblair: yep, that's fine :-) (re abandons)05:53
openstackgerritJamie Lennox proposed openstack-infra/nodepool feature/zuulv3: Allow loading logging config from yaml  https://review.openstack.org/44565606:01
*** isaacb has joined #zuul06:24
*** hashar has joined #zuul07:38
*** hashar has quit IRC07:38
*** hashar has joined #zuul07:39
*** jamielennox is now known as jamielennox|away08:50
*** jamielennox|away is now known as jamielennox09:10
openstackgerritTristan Cacqueray proposed openstack-infra/zuul feature/zuulv3: executor: add support for custom ansible_port  https://review.openstack.org/46871010:43
*** hashar has quit IRC10:44
openstackgerritTristan Cacqueray proposed openstack-infra/zuul feature/zuulv3: executor: add support for custom ansible_port  https://review.openstack.org/46871011:04
*** jkilpatr has joined #zuul11:10
*** hashar has joined #zuul12:15
*** isaacb has quit IRC12:16
*** isaacb has joined #zuul12:21
openstackgerritMerged openstack-infra/nodepool feature/zuulv3: Add boot-from-volume support for nodes  https://review.openstack.org/46428312:35
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Re-add the ability to set username on zuul-executor  https://review.openstack.org/44630812:36
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Remove pipeline argument from various report fncts  https://review.openstack.org/46425212:37
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Increase file permissions around generate keys  https://review.openstack.org/46121812:38
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Use ssh for git-upload-pack  https://review.openstack.org/43680212:38
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Bail with an error on a non-existent jobroot_dir  https://review.openstack.org/46952412:39
*** hashar has quit IRC12:42
*** hashar has joined #zuul13:27
mordredShrews: I'm digging in to the log stream issue and think I've got a solution13:43
mordredShrews: I may need to steal some of your finger protocol work though :)13:43
*** hashar has quit IRC13:44
jlkmordred: while you're digging into there, I found an issue where subsequent starts of zuul-executor get a traceback on starting the log streamer13:47
jlkstart once, okay. stop. start again, traceback.13:47
mordredjlk: AWESOME13:47
jlkSee the top of http://paste.openstack.org/show/611566/13:47
jlkwait no13:48
mordredjlk: yah - that seems lke it can't connect to the scheduler13:48
jlkhttp://paste.openstack.org/show/611708/13:48
jlkthat's the one13:48
Shrewsmordred: to what log stream issue are you referring?13:50
* jlk has to get the kids ready for school13:50
mordredShrews: the ansible callback pluign that fetches the log content from the remote node and then writes it to the ansible_log file13:51
mordredShrews: it currently only gets the first task's worth of data13:51
Shrewsmordred: oh, well it's not really stealing since most of that code is your code originally13:53
Shrewsjlk: i do not think you have the latest code there13:54
Shrewsjlk: oh, that's on startup. hrm, why is it going through shutdown then?13:55
Shrewsseems to be erroring in the bind/activate portion of socketserver: https://hg.python.org/cpython/file/2.7/Lib/SocketServer.py#l41514:00
Shrewsi explicitly set allow_reuse_address so not sure what could be happening there14:01
jeblairjlk: whoops, we missed something on https://review.openstack.org/471518 comments inline14:17
jeblairSpamapS: https://review.openstack.org/462677 is an easy +3 i hope14:19
Shrewsjlk: any chance you're not starting executor as root? i get that error (preceeded by a Permission Denied error due to the user switch) when not starting as root14:21
jlkoh, yea it's non-root14:22
jlkwhich is a goal14:22
Shrewsumm, yeah. can't do that now  :(14:23
jlkawwwwwwwwwwwwww14:23
jlkdo not like running as "root" in containers :(14:23
jeblairyou can set [executor] finger_port=X now14:24
jeblairin zuul.conf14:24
Shrewswell, it's only started as root, but su's to the 'zuul' user (or whatever user you select) ASAP at startup14:24
jeblairthat too ^14:24
jeblairit drops privileges asap14:24
Shrewsfinger port shouldn't matter here. privileges are dropped right after the port is grabbed14:25
jlkhrm, okay.14:26
jlkI guess i was wrong about it being a second-startup bug, I was focused on something else.14:26
jeblairright, i'm saying two options: 1) use the standard finger port and drop privileges; or 2) change the finger port to > 1024 and start as non-root.  note with 2, finger won't work.  :)14:27
jeblairhowever, i think once we have the mutexer running (on the standard finger port), we could probably make #2 the standard behavior -- users generally shouldn't need to hit the executors directly.14:28
* Shrews afk for a bit for an appointment14:29
mordredjeblair: I may need a little help spotting a bug in the patch I'm working on14:32
*** dkranz has joined #zuul14:33
jeblairmordred: i read that as "I may need a little help getting a bug into the patch I'm working on".  but i just woke up.  :)14:33
jeblair(you just type "recheck" until you get the bug in!)14:33
mordredjeblair: :) so -the tl;dr on it is that I'm making the streaming from node to exector be unique per-task. the "start a single streaming daemon process" is fraught with lifecycle peril. I've got it all pretty much plumbed together, but it's hanging so I think I'm missing something in the read/write handoff14:34
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: WIP Make log streaming to executor per-task  https://review.openstack.org/47179914:35
mordredjeblair: there's what I've got so far - it's basically using the finger protocol to the nodes now, so we send a unique id into the command invocation which affects log file, then we send that id over the wire on connection14:36
jeblairmordred: i can see from skimming it, i will definitely need to look at this post-breakfast.  can i get back to you in 30 mins? :)14:36
mordredjeblair: yes, absolutely14:36
mordredI'll keep poking and notify you if I find it14:37
jeblairkk14:37
mordredjeblair: ok. there may not be a problem- I was testing against a host with firewall rules :)14:57
jeblairmordred: yay breakfast helped!15:21
mordredjeblair: awesome. I actually do think I need help - but let me putup the new patch with fixes15:24
jeblairmordred: ok.  i've been familiarizing myself with the changes.15:25
mordredjeblair: yay! the main bug I foudis that when I copy-pastad, I didn't change self.request to self.socket15:25
jeblairthat'll do it15:25
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: WIP Make log streaming to executor per-task  https://review.openstack.org/47179915:26
mordredjeblair: k. that's updated15:26
jeblairno more default callback module?15:26
mordredjeblair: no - I copied that in originally because I was having import errors15:27
mordredjeblair: but I'm not having those anymore15:27
mordredjeblair: I'll chase that down later I think15:27
jeblairgood, i didn't want to review that.  :)15:27
jeblairmordred: what's the current problem?  (also, i left a comment)15:33
jeblairSpamapS: i left a comment on https://review.openstack.org/46866715:34
mordredjeblair: the current problem was that I wasn't seeing connections - but I finally just got a test node to see the connections- so let me see what else is wrong15:39
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Remove ansible files at startup before copy  https://review.openstack.org/47151815:42
jlkugh, I'm trying ot use a single docker file for all the zuul bits, but only the executor needs to run as root. that's... hrm.15:47
jlkI wonder if this can be set in docker-compose15:47
mordredjeblair: ok. yah - so, the server side is seeing the connection, but it's not seeing the incoming data15:50
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Fix race in test_crd_gate_unknown  https://review.openstack.org/47183315:52
jeblairmordred: looking15:54
jeblairmordred: spotted; left comment15:56
mordredjeblair: YES! thank you - that totally works16:00
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Reject some untrusted config objects  https://review.openstack.org/47044216:01
*** isaacb has quit IRC16:02
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Factor out duplicate code in executor repo tests  https://review.openstack.org/47149216:02
SpamapSjeblair: ty!16:08
SpamapSjlk: couldn't you have a 'FROM zuul-base'?16:09
SpamapSjlk: zuul-base would just setup software...16:09
jlkI could, but that'd be multiple docker files, which is :(16:09
*** isaacb has joined #zuul16:12
*** jkilpatr has quit IRC16:36
*** jkilpatr has joined #zuul16:40
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Remove ansible files at startup before copy  https://review.openstack.org/47151816:47
mordredjeblair: k. that all works now -updated patch coming, thanks for the help16:48
*** dkranz has quit IRC16:52
*** dkranz has joined #zuul16:57
jlkwtf... /var/lib/zuul/ansible/zuul/ansible/17:03
SpamapSzuul went to plaid17:03
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Remove ansible files at startup before copy  https://review.openstack.org/47151817:04
jeblairyeah, i'm not happy either, but it works17:07
jeblair'/var/lib/zuul'  -- stuff for zuul17:07
jeblair'/var/lib/zuul/ansible'  -- ansible stuff for zuul17:07
*** isaacb has quit IRC17:08
jeblairthen "zuul/ansible" follows because we need to be able to import "zuul.ansible.foo" after we add '/var/lib/zuul/ansible' to pythonpath17:08
openstackgerritDavid Shrewsbury proposed openstack-infra/zuul feature/zuulv3: WIP: add log streaming test  https://review.openstack.org/47107917:08
jeblairthe 'ansible' in '/var/lib/zuul/ansible' is negotioable -- we could call it 'python' instead.  maybe that would help.  is /var/lib/zuul/python/zuul/ansible ?17:10
jeblair^ + any better ?17:10
pabelangerlib/python/zuul/ansible ?17:11
jeblairpabelanger: /var/lib/zuul/lib/python/zuul/ansible?17:11
pabelangerya, doesn't python libraries go into <home>/lib/python?17:12
jeblair(it's an extra layer, and now we have 2 libs and 2 zuuls (but only one ansible)).  <shrug>17:13
pabelangerI am okay with /var/lib/zuul/ansible myself, I wasn't sure if python path looked into lib/python by default17:13
jlkI don't really care, I just took a double-take17:15
SpamapSIt may be better to call it /var/lib/zuul/nothingtoseehere17:16
pabelanger:)17:17
openstackgerritMerged openstack-infra/nodepool feature/zuulv3: Allow loading logging config from yaml  https://review.openstack.org/44565617:18
pabelangerwe should be able to launch our first job on ze01.o.o in the next 30mins17:18
jeblairmy dashboard is at 56 changes (down from 138 yesterday)17:19
jlkwoo!17:19
pabelangerjeblair: executors will still need SSH access to gerrit?17:49
pabelangerlooking to see if we need to add the SSH key for gerrit or not17:50
jeblairpabelanger: yes, they are mergers17:57
pabelangerjeblair: right, let me make some changes17:58
jlkand you don't need mergers any more18:17
pabelangerwe had some discussions on monday / friday to keep them I thought18:20
jlkoh I missed that.18:23
jlklast I talked, there weren't any gear tasks they did that executor couldn't also do18:23
jlknow for scale, you may want some of them to offset load on executors that do more.18:23
pabelangerYa, I'm curious to see how the executors will do both ansible and merging. Right now 150-200 jobs is good spot for a launcher today18:24
pabelangerI'm thinking an executor might be less with merge operations too18:25
jlkprobably. At some point for scale you may need config options to reduce the tasks that executors are allowed to do, to specifically send those jobs to merger and scale those up18:26
pabelangerYa, we have 8 mergers today18:26
jlkcurrently it'll be first-come first-serve18:27
jlkbut that may be an executor taking a merger task and leaving a merger idle18:27
pabelangerI suspect we'll need 10-15 executors once everything is cut over18:27
SpamapSMy hope is that there can just be executors18:28
SpamapSthey can just be dual purpose18:28
SpamapSand they won't waste resources doing that.18:28
jlkprobably what should happen is executor config options that enable/disable specific gear tasks. And get rid of "merger" as a service all together18:28
SpamapSso go from 1 launcher and 8 mergers to 9 executors.18:28
jlkand then you have a pile of scale out executors that do merger tasks and fewer that do executor tasks18:28
jlkbut don't do that until you have data showing you need it :D18:28
SpamapSjlk: the biggest thing is that if you separate merge from job running you either double merge load, or you have to have a way to move merge results to executors.18:29
SpamapSI guess that applies even if you have 8 executors doing it all18:29
pabelangerone thing I didn't do for ze01, is add a cinder volume. We'll have to do that I imagine18:29
jlkoh, right, because the executor is going to need that merged content locally18:30
jlkargh, something is not right with this fix to copying ansible bits around18:32
jeblairjlk: oh drat, i think i see it, and i think it's my fault18:35
jeblairjlk: left comment18:36
jlkthanks18:36
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Remove ansible files at startup before copy  https://review.openstack.org/47151818:53
pabelangerjust seen ^ on ze01.o.o too18:53
Shrewsjeblair: I'm having difficulty getting things synchronized when pausing ansible jobs using wait_for in test playbooks. waitForSettled() hangs with that, and I'm not quite sure what I need to change.18:56
Shrewserr, waitUntilSettled18:56
SpamapSShrews: so you should do your thing to signal it _before_ waitUntilSettled19:04
SpamapSshould be like,  release, inspect things before wait_for, signal wait_for to unpause, waitUntilSettled, inspect final result19:05
Shrewsrelease?19:09
SpamapSShrews: oh right you're not using hold jobs in build19:13
SpamapSShrews: so in that case, just add events and start looking for the signal that the wait_for has been reached and you can do whatever it is you want to do while it's paused.19:13
SpamapSShrews: signal in the broad sense... like.. a semaphore somewhere.19:13
SpamapSgah19:13
SpamapSlike, a FILE ON DISK somewhere ;)19:14
SpamapSso few words19:14
ShrewsSpamapS: ah, lemme try that. thx19:16
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Bail with an error on a non-existent jobroot_dir  https://review.openstack.org/46952419:17
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Make log streaming to executor per-task  https://review.openstack.org/47179919:17
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Strip double-timestamps from output log  https://review.openstack.org/47189019:17
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Update log to include expected data on task results  https://review.openstack.org/47189119:17
mordredjeblair: ok - I maybe went a little OCD on the logging this morning19:17
ShrewsSpamapS: should I wait for self.builds to become populated too? b/c each build will have separate "semaphores" and i need the build object to know where it will be located19:18
mordredjeblair: that should fix things to actualy fetch ALL the logs and not just the logs for the first playbook as well as removing the double-timestamps for the shell tasks19:18
ShrewsSpamapS: my testing thus far has self.builds as empty (possibly because of timing things)19:19
SpamapSShrews: I see your predicament. And remind me why you're not using hold_jobs_in_build.19:21
ShrewsSpamapS: b/c ansible jobs do not honor that (for reasons i expect jeblair can explain)19:21
Shrewsand since i've restarted weechat, i lost that scrollback19:22
jeblairyeah, the hold_in_build is entirely a construct of the fake jobs19:22
jeblairwaituntilsettled won't know that the (real) build has gotten to the sleep, so it won't be effective there -- it can only be used to wait until the jobs are finished.19:23
jeblairso i think SpamapS suggestion of waiting until a flag file appears is the way to go (then similarly, in the job, waiting for a flag file to continue)19:24
jeblaircould probably use the same file -- have the job create the file.  have the test wait until the file appears, then remove the file.  have the job wait until the file disappears, then proceed.19:24
SpamapSYeah that's what I was going to suggest exactly.19:24
SpamapSThere is the matter of knowing where to find that file, especially if you want to pause multiple jobs at once.19:25
Shrewsexactly19:25
Shrewsi mean, we could create it outside the jobdir i guess. that way i don't need to know build specifics19:26
jeblairShrews: or wait until self.builds is populated, then further wait for the file for each build19:28
Shrewsjeblair: if i define 1 job, then len(self.builds) should be 1, right?19:29
SpamapSYeah self.builds should get stuff in it, not the worst thing to busy wait a bit for it.19:29
jeblairyep19:30
jeblairand yep19:30
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Convert some leftover changeish mentions to ref  https://review.openstack.org/46571820:06
jeblairmordred: +2 on the first of your patches; i'll look at the second 2 when i get back20:09
jlkjeblair: is it safe to assume that if a gerrit event  has a 'refUpdate' attribute that it is of event type ref-updated?20:19
jlkalso, in your feedback on branch_updated things, why are you avoiding when the ref starts with "refs" ? is that only used for tags in gerrit, otherwise it's just the branch name?20:20
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Extend in-repo config update support to github [wip]  https://review.openstack.org/47147720:30
jlkso I think I addressed what you were asking for, and I've made the github code work, I just need to set up tests for this all.20:32
*** dougbtv_ has joined #zuul20:34
*** dougbtv has quit IRC20:38
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Remove ansible files at startup before copy  https://review.openstack.org/47151820:40
mordredjeblair: I've got one more, that it would be nice to get Shrews to look at too21:11
mordredShrews: (after copying code from you, I figured actually just having one copy of the code in the tree would be better than two)21:12
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Update log to include expected data on task results  https://review.openstack.org/47189121:13
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Strip double-timestamps from output log  https://review.openstack.org/47189021:13
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Move log streaming to share with zuul_console  https://review.openstack.org/47192121:13
mordredShrews: ^^ https://review.openstack.org/471921 combines the two into mostly a single impl21:13
mordredSpamapS: although I'm not 100% sure the approach to dealing with the different types of files is correct - it might be better to make a base class and some subclasses to handle that little bit21:14
mordredgah21:20
mordredlemme do that real quick21:20
*** dkranz has quit IRC21:24
*** fbouliane has quit IRC21:29
*** fbouliane has joined #zuul21:30
openstackgerritClint 'SpamapS' Byrum proposed openstack-infra/zuul feature/zuulv3: Re-enable test_worker_update_metadata  https://review.openstack.org/46866721:46
openstackgerritClint 'SpamapS' Byrum proposed openstack-infra/zuul feature/zuulv3: Re-enable test_merge_conflict_reports  https://review.openstack.org/46867021:46
openstackgerritClint 'SpamapS' Byrum proposed openstack-infra/zuul feature/zuulv3: Re-enable test_merge_failure_reporters  https://review.openstack.org/46866821:46
jlkhaha hahahahah hahahahahahahahaha21:51
jlkjeblair: so for gerrit, on a refUpdated event, the driver does not discover a list of changed files.21:52
jlkjeblair: in what scenario does a gerrit source refUpdate happen outside of a merge event? When does somebody push config directly in that still causes a gerrit event to happen?21:52
jlkyeah and the event stream from gerrit does not include file data on a refUpdate22:00
jlkso....22:00
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Move log streaming to share with zuul_console  https://review.openstack.org/47192122:02
jlkdamn, another bug. We're updating config for pushes to non-root branches.22:05
mordredjlk: you're finding all the fun stuff22:05
jlkthis one isn't bad, because we only look at the master branch during reconfigure. We just cause the job if ANY branch changes with those files.22:06
mordredShrews, jeblair: that version of https://review.openstack.org/471921 has less hacky if statements22:17
jeblairjlk: drat.  perhaps sticking with change-merged for now is best.  i suppose to handle pushes, we'll have to go and do git operations.  let's put that on the backlog.22:28
jlkalrighty, I'll drop a TODO in there.22:28
jlkjeblair: so if an admin directly git pushes a change into a repo, gerrit notices this and sends out an event to the event stream?22:34
*** jkilpatr has quit IRC22:34
jeblairjlk: if they do it through gerrit, yes, that's a ref-updated event.  that fires for tags as well (which are just about the same thing).  also happens after a change-merged event (since merging a change will cause a ref to get updated).22:35
jlkhow does one push through gerrit without going through a change?22:35
jeblairjlk: (if they git push to the repo on disk, gerrit won't know that.  but no one should do that.  :)22:35
jeblairjlk: it's an acl.  we disable it in openstack.22:35
jlkoh okay.22:35
jeblairjlk: but if you enable it, you can "git push gerrit HEAD:master" or whatever and just update the repo.22:36
jlkkk22:36
jeblair(gerrit doesn't require bureaucracy, openstack does)22:36
jeblairmordred: your first 4 lgtm.  zuul is not keen on the 5th.22:40
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Extend in-repo config update support to github  https://review.openstack.org/47147722:40
jlk^^ that could use a real review now. There was already a test for dynamic reconfiguration in gerrit side (I know, I broke it), and there's a new github test.22:41
jeblairjlk: lgtm22:44
*** openstack has joined #zuul23:16

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