Wednesday, 2017-06-14

openstackgerritMerged openstack-infra/zuul feature/zuulv3: Encode webhook_token secret  https://review.openstack.org/47367400:07
pabelangerFinally00:13
pabelangergot SSL working for gearman in zuul00:13
pabelangerI'll push up a patch in the morning, now for beer00:14
openstackgerritIan Wienand proposed openstack-infra/nodepool master: Restore separate upload logs  https://review.openstack.org/47400900:15
*** bstinson has quit IRC00:36
*** bstinson has joined #zuul00:36
*** yolanda has joined #zuul00:46
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: WIP: Add ssl support to gearman / gearman_server  https://review.openstack.org/47391601:02
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: WIP: Add ssl support to gearman / gearman_server  https://review.openstack.org/47391601:07
openstackgerritJamie Lennox proposed openstack-infra/zuul feature/zuulv3: Show debug logging when running zuul-bwrap  https://review.openstack.org/47401701:09
*** yolanda has quit IRC01:16
openstackgerritTristan Cacqueray proposed openstack-infra/zuul feature/zuulv3: github: gracefully handle unknown event  https://review.openstack.org/47324901:49
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Show debug logging when running zuul-bwrap  https://review.openstack.org/47401701:57
*** toabctl has quit IRC02:11
*** toabctl has joined #zuul02:12
openstackgerritTristan Cacqueray proposed openstack-infra/zuul feature/zuulv3: github: gracefully handle unknown event  https://review.openstack.org/47324903:06
jamielennoxso i've just got caught out by the log streamer hanging thing, can someone give me a TL;DR; of what's happened there04:08
tristanCjamielennox: you mean the executor task is stuck?04:12
jamielennoxtristanC: yea, it looks like the console on the node was stuck waiting for the streamer to connect04:13
jamielennoxand it either didn't connect or something and got stuck waiting04:14
jamielennoxthere are patches from mordred and Shrews overnight that seem to fix at least part of the problem04:14
tristanCjamielennox: it happened to me when using task with delegation, then the zuul_stream module incorectly read_log from the host play instead of the delegated host04:15
jamielennoxhmm, i'm not sure that's the same problem then. my role isway simpler than that04:16
jamielennoxbasically it's just running tox on the node04:16
jamielennoxhttps://review.openstack.org/#/c/472839/04:17
jamielennoxoh, actually maybe not that one04:17
*** isaacb has joined #zuul04:18
*** isaacb has quit IRC04:19
tristanCto debug this I had to strace the zuul_console process on the node, it should hint why it's not sending back task output04:19
jamielennoxyea, i had gone down that path but by the time i got to the strace it was just hung on accept(4,04:19
jamielennoxafter updating master it progresses and im getting Streamer could not join messages04:20
tristanCthen it sounds like zuul_stream is stuck somewhere else04:21
jamielennoxyea, but so whatever changed in the last day or two of merges has at least progressed the problem so i was just wondering what had been hit04:26
jamielennoxi'm still broken elsewhere, but that might be a hint04:26
*** EmilienM has quit IRC04:30
*** EmilienM has joined #zuul04:35
*** nt has quit IRC04:37
*** nt has joined #zuul04:38
openstackgerritTristan Cacqueray proposed openstack-infra/zuul feature/zuulv3: github: gracefully handle unknown event  https://review.openstack.org/47324904:38
openstackgerritJamie Lennox proposed openstack-infra/zuul feature/zuulv3: Read layout from BuildSet in first merge scenario  https://review.openstack.org/47406405:35
*** yolanda_ has joined #zuul08:09
openstackgerritTristan Cacqueray proposed openstack-infra/zuul feature/zuulv3: Add support for zuul.d configuration split  https://review.openstack.org/47376408:46
*** isaacb has joined #zuul09:36
*** isaacb_ has joined #zuul09:37
*** isaacb has quit IRC09:40
*** yolanda_ has quit IRC09:55
*** hashar has joined #zuul10:21
*** jkilpatr has quit IRC10:30
*** jkilpatr has joined #zuul10:48
Shrewsjamielennox: my patch from yesterday simply terminates the finger connection from the server side once the log file disappears. sounds like you're having problems with the ansible plugins11:00
jamielennoxShrews: yea, i'm definitely having trouble with the plugins11:05
jamielennoxi've figured out a little bit, but i've got no idea why the streamer isn't attaching11:05
openstackgerritJamie Lennox proposed openstack-infra/zuul feature/zuulv3: Sync command from ansible  https://review.openstack.org/47417112:00
openstackgerritJamie Lennox proposed openstack-infra/zuul feature/zuulv3: Update run_command to latest ansible  https://review.openstack.org/47417212:00
mordredjamielennox: awesome12:31
jamielennoxmordred: just trying to get the python 3 sorted out, i expect there will be bigger repocussions12:32
mordredyah12:32
jamielennoxnot sure though how to realistically have zuul-executor on python3 invoke an ansible running python212:33
mordredjamielennox: well - the ansible and python on the remote aren't connected - so using python2 on the node should be fairly easy12:35
mordredjamielennox: we could also be explicit and set ansible_python_interpreter for each host in the inventory12:35
mordredjamielennox: that still may make unittests difficult though12:35
jamielennoxmordred: yea, i was surprised by that as well, but i was hitting 'unicode not defined'12:35
jamielennoxso i'm not sure how that was bubbling up12:36
mordredjamielennox: so we should definitely fix at least our command module stuff12:36
mordredbut it's probably a good idea from an ops perspective to make sure build nodes have python2 as default python12:37
jamielennoxyea, i'm just hitting more python3 rough edges than i was expecting12:38
jamielennoxbecause the nodes should be python212:39
mordredjamielennox: in the bonny prod env? or in tests?12:42
jamielennoxmordred: bonny prod12:42
mordredjamielennox: do you have python3 also installed on your nodes?12:42
jamielennoxshouldn't be by default12:43
jamielennoxso yea, not sure how thatcame through12:43
mordredyah - I was just looking to see if ansible maybe set ansible_python_interpreter to python3 if ansible itself was invoked as python312:43
jamielennoxyea, we force set dib python to 212:45
mordrednod12:45
mordredthat's super weird then12:45
jamielennoxhmm, but py2 and py3 are both installed on the node12:45
jamielennoxnot sure how thatends up in the image - butit's there12:46
jamielennoxso yea, maybe if ansible is running py3 it looks for py3 on the host?12:46
jamielennoxbut 'python' is 2.712:47
Shrewsjamielennox: i don't think so? it should just default to the system python on the node. which version is that?12:53
jamielennox'python' is 2.712:53
Shrews/usr/bin/python, yeah?12:54
jamielennoxright12:54
jamielennoxi can reset that stack of patches and see where it's comingfrom12:54
jamielennoxbut it didn'tgive me much of a backtrace12:54
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Remove item.layout  https://review.openstack.org/47418812:55
jeblairjamielennox: 474188 is a followup to 47406412:56
jamielennoxjeblair: oh - yea, i thought item.layout wasn't used anywhere. i accidently included that removal in a different patch12:56
jamielennoxbut never chased it up afterwards12:57
jeblairjamielennox: ok, glad we saw the same thing :)12:59
openstackgerritMerged openstack-infra/zuul-jobs master: Enhance sphinx plugin  https://review.openstack.org/47354413:04
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Sync command from ansible  https://review.openstack.org/47417113:08
jamielennoxShrews, mordred: http://paste.openstack.org/show/612547/13:09
jamielennoxwhich is not actually that informative13:09
jamielennoxbut reproducable13:09
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Update run_command to latest ansible  https://review.openstack.org/47417213:10
*** dkranz has joined #zuul13:11
jeblairjamielennox: that's fixed in https://review.openstack.org/474172 right?13:13
*** isaacb_ has quit IRC13:13
jamielennoxjeblair: yes, but i'm still not sure why command.py on the test node is being run with py313:14
jeblairoh gotcha13:14
*** openstackgerrit has quit IRC13:18
mordredjeblair, jamielennox: yah - I think figuring out why py3 is being used on the test node is super important13:22
jeblairmordred: time to ask ansible folks?13:23
jamielennoxmordred, jeblair: i think maybe time to ask, because it seems to be works as intended: https://github.com/ansible/ansible/blob/v2.3.0.0-1/lib/ansible/inventory/__init__.py#L50813:25
jeblairmordred, jamielennox: our worker nodes are xenial, py2 and py3 are both installed, python is py2.  but i don't think we've seen this?13:25
jamielennoxdoh, not that one13:25
jamielennoxnvm, obviously that's not it13:26
* mordred asking13:26
jeblairjamielennox: are you using a venv to run zuul-executor and/or ansible-playbook?13:27
jamielennoxvenv, and then mapping it through bwrap13:27
jeblairjamielennox: how do you map it through bwrap?13:28
jamielennoxjeblair: nothing special, whatever zuul is setting up by default13:29
jeblairjamielennox: ok just the stuff in the getPopen method of the zuul bubblewrap driver.  gotcha.13:29
jamielennoxwhat's the switch to make ansible not delete the modules it creates13:29
jamielennoxcan't find it13:29
jamielennoxANSIBLE_KEEP_REMOTE_FILES=113:30
*** nt has quit IRC13:33
*** nt has joined #zuul13:33
jamielennoxmordred, jeblair: so that's an interesting problem and one that tristanC bought up earlier that i didn't realize - what happens if you are running command with delegate_to: localhost13:38
mordredjamielennox: yah - we need to use the delegated host and not the ansible host13:39
mordredin zuul_stream13:39
jamielennoxbut zuul_console is probably not running on the executor13:39
jamielennoxso does that work?13:39
mordredjamielennox: aha. that is an excellent point13:39
mordredjamielennox: you know - we can likely special-case delegate-to: localhost in zuul_stream13:40
mordredhrm. well, no, we may not be able to do that13:40
mordredbecause /tmp/console-{uuid}.log isn't going to be available in bubblewrap chroot13:41
mordredjamielennox: maybe for now we special case it to not attempt streaming and instead to just grab the output from stdout on the result object13:41
jamielennoxhmm, i still haven't figured out the console-{uuid}.log problem - that broke me today as well13:42
mordredwe shouldn't be running tons of long-running scripts on localhost where streaming output would be essential anyway - waiting a few seconds for the command to complete should be fine, right?13:42
mordredjamielennox: lemme make the localhost special-case for you real quick while it's in my brain13:43
jamielennoxi think i'd be fine with that, at least for now13:43
jeblairmordred: command module will be able to write to /tmp/console-uuid.log, but zuul_stream won't be able to read it13:44
mordredjeblair: exactly13:44
jeblairmordred: we could tell command module to write to somewhere in the jobdir13:44
jamielennoxi'm happy to let you guys debate that - i'm going to bed13:46
jeblairjobdir/delegated_logs or something :)13:46
*** isaacb_ has joined #zuul13:46
jeblairjamielennox: goodnight!13:46
jamielennoxi haven't got streamed logs working for the regular jobs yet13:46
jamielennoxanyway - night13:46
*** openstackgerrit has joined #zuul13:49
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Add ssl support to gearman / gearman_server  https://review.openstack.org/47391613:49
pabelangerjeblair: mordred: SpamapS: Shrews: ^SSL gearman is ready for review now13:50
mordredjamielennox: night!13:51
jeblairpabelanger: it looks like you created a test fixture CA with a password -- maybe for our test fixtures we should not have a password?13:52
jeblairpabelanger: also, you can drop many commands if you use the ones i suggested13:53
jeblairpabelanger: left a comment with suggested commands.  otherwise looks good :)13:59
pabelangerjeblair: Right, I should have documented the password14:01
jeblairpabelanger: yeah, but a password that everyone knows isn't very useful, so let's just skip it.  :)14:01
pabelangersure14:01
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Add ssl support to gearman / gearman_server  https://review.openstack.org/47391614:12
pabelangerjeblair: thanks, updated using your syntax for openssl now14:12
jeblairpabelanger: w00t!14:13
jeblairShrews, fungi: do you want to look over 473916?14:13
pabelangerjeblair: can we use the same syntax for zuulv3.o.o / ze01.o.o ssl certs?14:13
jeblairpabelanger: i think so, though we may want to use a password for our actual ca (drop -nodes option).  we may want to check in with fungi or clarkb who may have opinions on how we should set up our internal ca.  also SpamapS's suggestion of CA.sh is a good one.  maybe we should use that?14:16
pabelangerjeblair: sure, I'll move the discussion to #openstack-infra also14:17
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Direct streaming at delegated_to target  https://review.openstack.org/47421514:21
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Special case shell logging on localhost  https://review.openstack.org/47421614:21
mordredjeblair, jamielennox: ^^14:21
mordredtristanC: you too14:22
mordredjeblair: I've also added a todo comment because clearly there is a piece of flawed logic in there :)14:22
mordredbut I didn't want to make this too complex this instant14:22
jeblairmordred: i love it when those come with TODOs!  they so seldom do...14:22
*** isaacb_ has quit IRC14:24
*** isaacb has joined #zuul14:29
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Handle lists of streamers  https://review.openstack.org/47423014:38
mordredjeblair: I need to squash those two, because the first one was missing something I just added to the second one14:39
*** yolanda_ has joined #zuul15:23
*** hashar has quit IRC15:33
*** dmsimard has joined #zuul15:35
fungiit's worth debating whether we want an infra-wide ca, or just have one on the zuul (scheduler) server and sign clients there with some more seamless automation. downside is that if someone compromises the zuul server they can sign new client certs and pretend to be an authorized client, but if that's the case then there are bigger problems, right>?15:51
fungii used to do something similar years ago with per-customer vpn gateways in a service provider setting15:52
*** isaacb has quit IRC15:59
gundalowHey :)16:00
gundalowFor people that will be at London AnsibleFest Contributors Summit the agenda is now online https://public.etherpad-mozilla.org/p/ansible-summit-june-2017-agenda16:00
gundalowZuul is Afternoon Track 216:00
gundalowNot sure if you want to add any stuff to your specific agenda in https://public.etherpad-mozilla.org/p/ansible-summit-june-2017-Zuul16:01
jlko/16:12
jlkthanks gundalow16:13
gundalowjlk: Thanks for all the great stuff you are doing16:13
gundalowTEST ALL THE THINGS16:13
* jlk goes to review all the things16:20
*** nt has quit IRC16:39
*** yolanda_ has quit IRC16:40
*** yolanda_ has joined #zuul16:40
*** nt has joined #zuul16:42
*** yolanda_ has quit IRC16:43
*** yolanda_ has joined #zuul16:43
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Add build.started state flag  https://review.openstack.org/47381116:47
jeblairmordred: mapped that to an existing storyboard task ^16:48
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: WIP: add configuration documentation  https://review.openstack.org/46332816:53
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Implement pipeline reject filter for github  https://review.openstack.org/47400116:54
jlkPicking up the last recorded task on the github support story16:56
jeblairjlk: what's that?16:56
jlkhandle sending reports for events that aren't based on a pull request (eg a push event)16:57
jeblairgotcha16:57
jlkthe current report code assumes there is a PR to report to16:57
jlkoh I guess I should write up the task (or maybe a whole new story) for cross-repo deps17:00
jeblairjlk: ah yeah -- also, before we start work on implementing that, i think we may want to take a look at https://review.openstack.org/45142317:01
jlknod17:01
jeblairit may be related in that i think much of the CRD stuff will need to move out of the gerrit driver into the pipeline manager (so we can do cross-connection dependencies)17:01
jeblairokay, i just updated a bunch of stories; next time the cron runs we should have a much tidier board17:02
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Add a success-url for status.json test  https://review.openstack.org/47360417:04
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Support finger ports in finger URL  https://review.openstack.org/47310317:04
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Add build.started state flag  https://review.openstack.org/47381117:04
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Use worker_name for job cancellation and remove manager  https://review.openstack.org/47428817:04
mordredjeblair, jlk: rebased that removing the move-to-model bits17:05
jlkk17:05
*** nt has quit IRC17:16
*** nt has joined #zuul17:18
*** dkranz has quit IRC17:36
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Limit github reporters to event types  https://review.openstack.org/47430017:39
pabelangermordred: Shrews: would you like to review and +3 473889?17:53
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Clean up docstring on SSLZuulTestCase  https://review.openstack.org/47430817:55
*** yolanda__ has joined #zuul18:09
*** yolanda_ has quit IRC18:10
pabelangerjeblair: mordred: SpamapS: I am noticing a delay of about 1 min between each ansible-playbook run. Is it possible something with bubblewrap or sshagent is coming into play here? http://paste.openstack.org/show/612580/18:19
mordredpabelanger: worth looking in to / profiling18:19
pabelangerYa, just starting that now. Jobs are definitely running slowing on zuulv3.o.o now18:20
pabelangeror, longer. Depending on how you look at it18:20
jeblairmordred, pabelanger: or waiting for console stream tasks to end?18:22
jeblairpabelanger: i think the verbose changes landed.  how about we update zuul on ze01, and restart it, then run "zuul-executor verbose" and see what additional logging tells us18:22
pabelangerjeblair: wfm18:23
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Add a success-url for status.json test  https://review.openstack.org/47360418:26
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Use worker_name for job cancellation and remove manager  https://review.openstack.org/47428818:26
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Support finger ports in finger URL  https://review.openstack.org/47310318:26
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Add build.started state flag  https://review.openstack.org/47381118:26
mordredjeblair: I was thinking console stream tasks - but then I'd expect to see delays between tasks too18:28
pabelangerze01.o.o in graceful mode now18:28
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Create nodepool dictionary for ansible inventory  https://review.openstack.org/47388918:30
jeblairpabelanger: should be okay to hard stop, why graceful?18:30
pabelangerjeblair: I didn't think we had jobs running :)  but ya, hard should also work18:30
pabelangerokay, hard stop worked18:35
jeblairpabelanger: how did you hard stop after graceful?18:35
pabelangerI just ran zuul-executor stop18:36
pabelangerand it worked18:36
jeblairhuh.  shouldn't have.18:36
pabelangeroh, interesting we have a bunch of zuul-executor processes running18:37
pabelangerI guess we'll need our systemd service file sooner then later18:37
mordredwould be good to figure out why they're not shutting down18:38
jeblairpabelanger: i don't understand the systemd connection18:38
mordredwe've got a bunch of subprocess and thread stuff going on - it's entirely possible we're not cleaning up properly and causing something to hang18:38
jeblairdon't kill them18:38
jeblairopen("/tmp/b82946f7a81a496bbfa45451606c34b2/work/logs/job-output.txt", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)18:38
jeblairone of them is looping on that18:38
pabelangerservice zuul-executor status18:39
pabelangershows us creating multiple processes18:39
pabelangerI was thinking it might be related to our systemd-sysv-generator usage18:39
jeblairso that one at least looks like a log stream subproc that didn't shut down18:40
jeblairmordred: i think that's pre-switch-to-threads18:40
jeblairi think that also landed?18:40
Shrewsyou will see an additional zuul-executor for the finger daemon18:40
mordredjeblair: yah - I think restarting with the thread changes landed before we debug that too much furtheris likely good18:41
jeblairyep.  gimme a min to go through the rest of the procs18:41
mordredalso - with Shrews patch to stop streaming when the file goes away18:41
jeblairmordred, pabelanger, Shrews: they are all stuck on that loop, so i think they are all leaked streaming subprocs.  i agree, we should ignore these and see if behavior is improved with those 2 patches18:42
jeblairpabelanger: i'm done investigating; i think we can kill them all now unless anyone wants to poke at anything else18:42
mordredjeblair: nope - killem18:43
Shrewsinteresting that's where they'd be looping18:43
jeblairall dead18:43
jeblairpabelanger: feel free to proceed with restart now18:44
pabelangerjeblair: ack18:44
jeblairShrews: i assume that's "tail -f" behavior that you removed18:45
mordredbut why would they be trying to re-open the file - I'd expect them to be stuck trying to read from it18:45
jeblairShrews: (inode changed (because it was deleted); keep trying to reopen file)18:45
jeblairmordred: file was deleted18:45
mordrednod18:45
pabelangerze01.o.o running with verbose enabled18:46
mordredah - yes, I see it now18:46
jeblairpabelanger: i'm watching f04a3587f69f401a85b940ca537c73e518:49
jeblairlooks like 2 seconds from getting the job to first ansible-playbook invocation18:49
jeblairno delay from first bubblewrap to ansible output18:50
jeblairbut now we're waiting after the first play finished18:51
pabelangerI see a 1min delay for starting tox/pre job18:51
jeblairpabelanger: that's not the first playbook though, right?18:51
jeblairi'm trying to establish whether this happens before each, after each, or between each playbook invocation18:52
pabelangerright, I think it is happening after18:52
pabelangerour exit code is delayed by 1min for some reason18:52
jeblairmordred, pabelanger: can you merge https://review.openstack.org/473222 please?18:53
pabelanger+318:53
jeblairwith the thread set to daemon, i dont't *think* that should cause a delay18:54
openstackgerritMerged openstack-infra/zuul feature/zuulv3: zuul_stream: handle empty line  https://review.openstack.org/47322219:00
jeblairpabelanger: there may be a 0-10 second delay from stopping the watchdog19:06
pabelangerright, I do remember that19:07
pabelangerroot     28413  0.0  0.0   4380   752 ?        S    19:09   0:00 sleep 6019:10
pabelangerI just seen that on ze01.o.o19:10
jeblairpabelanger: zuul does not run as root19:10
pabelangerHmm19:10
jlkWith gerrit, does the gerrit stream for an event already have a key for dependsOn ?19:13
jeblairi don't see any errors from zuul_stream in the log19:13
jeblairjlk: yes -- that's git dependencies between gerrit changes19:13
jeblairjlk: i reckon that doesn't really apply to github19:13
pabelangerI did also notice a few [bwrap] <defunct> processes too. any idea why that would be?19:13
jlkahhh, so that's like if I just make my commit on top of an existing change19:14
jlkgotcha19:14
jlkyeah for github, you just include that commit in your PR since you can have multiple.19:14
jeblairjlk: seeing as how even if you did build a second pr on top of a first one, github would happily merge the second (and therefore also merge in the changes from the first)19:14
jeblairright19:14
jlkcool, I'll skip that block of code19:14
jeblair++ interesting bits should just be what i called "commit depends" in the gerrit driver19:15
jlkooh fun, I'll have to trawl every commit in a PR to see if any of them have a DependsOn...19:16
* SpamapS is catching up19:24
pabelangerother difference between zuulv3-dev and zuulv3 is we are running ansible as python319:29
mordredpabelanger: yes. this is especially important to note when anything runs on localhost19:35
mordredsince that means the ansible _content_ runs in python319:35
* jlk lunches19:36
*** dkranz has joined #zuul20:03
jeblairpabelanger, tristanC, mordred, SpamapS: i think i'm convinced we should run bubblewrap for all playbooks, but with different options.  what do you think of this writeup?  https://storyboard.openstack.org/#!/story/200107020:05
mordredjeblair: ++20:08
pabelangerwfm20:23
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Add some debug entries to executor  https://review.openstack.org/47434620:46
jeblairpabelanger, mordred: ^ i doubt that will show us the smoking gun, but hopefully it should help exclude some things.20:46
mordredjeblair: +220:47
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Remove ssh private key from ansible.cfg  https://review.openstack.org/47435020:51
pabelangerjeblair: also +2, feel free to approve when ready20:52
pabelangerjeblair: SpamapS: mordred: ^ also noticed we were still passing our private key into ansible.cfg, we should be able to drop that now right?20:52
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Remove job_name_in_report option  https://review.openstack.org/47435220:56
jeblairpabelanger: i think so20:56
*** dmsimard has quit IRC20:56
jeblairpabelanger: 474352 will fix the fact that the job reports don't look right (we could also fix our puppet to set that value to true, but now seems like a good time to clean up the option)20:57
pabelangerjeblair: Ah, thanks. That explains it21:00
jeblairSpamapS, mordred: https://review.openstack.org/473301 could use a +321:03
jeblairmordred: i think https://review.openstack.org/473966 needs a refresh21:06
jeblairmordred: i'm confused about https://review.openstack.org/472964 -- the lastest commit message looks like it's just a setup to let us turn off the hostname for one-node jobs with a one-liner, except it looks like the patch actually does turn it off.21:09
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Add ssl support to gearman / gearman_server  https://review.openstack.org/47391621:10
pabelangernice21:10
*** jkilpatr has quit IRC21:11
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Clean up docstring on SSLZuulTestCase  https://review.openstack.org/47430821:12
openstackgerritMerged openstack-infra/zuul feature/zuulv3: github: retry pull_request()  https://review.openstack.org/47330121:14
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Add coverage artifacts to .gitignore  https://review.openstack.org/47235321:14
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Remove ssh private key from ansible.cfg  https://review.openstack.org/47435021:15
mordredjeblair: that's because I suck21:15
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Add some debug entries to executor  https://review.openstack.org/47434621:16
jeblairi'm self-reapproving that ^ for a trivial fix21:16
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Remove job_name_in_report option  https://review.openstack.org/47435221:17
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Make sure we always log the exit line  https://review.openstack.org/47396621:19
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Add a success-url for status.json test  https://review.openstack.org/47360421:23
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Change log streaming link to finger protocol  https://review.openstack.org/43776421:23
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Use worker_name for job cancellation and remove manager  https://review.openstack.org/47428821:23
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Extract get_playhosts listing in zuul_stream to a method  https://review.openstack.org/47296421:24
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Support finger ports in finger URL  https://review.openstack.org/47310321:24
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Add build.started state flag  https://review.openstack.org/47381121:24
jeblairmordred: i'm expecting test failures on https://review.openstack.org/474288 i left a comment.  if you fix that up you may want to go ahead and fix the commit message on the parent, https://review.openstack.org/47381121:32
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Add some debug entries to executor  https://review.openstack.org/47434621:33
*** dmsimard has joined #zuul21:33
mordredjeblair: yah - I'm actually expecting test failures on the parent21:33
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Remove job_name_in_report option  https://review.openstack.org/47435221:35
jeblairmordred: whole stack reviewed21:35
mordredjeblair: thnaks!21:36
*** jkilpatr has joined #zuul21:58
*** yolanda__ has quit IRC22:07
*** yolanda__ has joined #zuul22:15
*** yolanda__ is now known as yolanda22:15
jlkIs there somewhere that explains the utility of "neededBy" ?22:20
openstackgerritJames E. Blair proposed openstack-infra/nodepool feature/zuulv3: Add image-id and image-name options to cloud-images  https://review.openstack.org/47436922:22
jeblairmordred, rcarrillocruz: ^ that's the enhancement i mentioned in my email the other day22:22
*** yolanda has quit IRC22:23
jeblairjlk: not sure; it's used so that if B depends on A, and B is approved *before* A, once A is approved, zuul can find B and, assuming it matches pipeline requirements, pull it in to a dependent (ie gate) pipeline.22:24
jeblairjlk: similarly to dependsOn, gerrit automatically provides neededBy to indicate git children of a change22:24
jlkyeah, and it also scrapes for commits22:25
jeblairjlk: for commit dependencies, we do a gerrit search for Depends-On footers to find any backlinks.22:25
jeblairright22:25
jlkoh hrm, it regexes for Depends-On.22:26
jeblairjlk: NB, there is a custom in some areas of openstack of writing "Needed-By:" footers manually in commit messages.  that's for humans only and zuul ignores those.  only "Depends-On" footers have any impact on zuul.22:26
jlkokay yeah I thought I caught some of that conversation22:26
jlkso I'd say that needs to carry over to github.22:28
jeblairjlk: this is a really interesting question for github.  can we search all of github for commits which contain "Depends-On: https//github.com/foo/bar/pulls/X" ?22:28
jlkoh eww.  Kinda, but.. eww.22:28
jeblairi guess i just like problems that start with "search all of ..."  :)22:29
jeblairi hope that if github is going to suck all of the world's software development into their system, they'd at least make a nice search index for us.  :)22:30
jlkI'm reading the gerrit driver, it's querying for message:<change_id>22:31
jlkis that querying every open change?22:32
jeblairjlk: i think maybe at the time gerrit did not support a regex query on that field... or some kind of similar complication, which was why we queried for the id at all, then narrowed it down with a regex locally.22:32
jlkI see.22:32
jeblairjlk: quite likely *every* change, open or not.22:33
jlkseems expensive22:33
jeblairjlk: that could probably be optimized...22:33
jeblairjlk: it's indexed.  pretty fast actually.22:33
jeblairjlk: "message:<change_id>" is "return every change where <change_id> appears in the commit message"22:33
jlkI see22:33
jeblairrunTimeMilliseconds: 422:34
jeblairthat's from a random query i just did22:34
jlkso you can search github for every commit, for the string, but probably not a regex22:35
jlkhttps://developer.github.com/v3/search/#search-commits22:35
jlknot exactly sure what the limitations of the "search term" string are.22:36
jeblairjlk: we were nice and set re.IGNORECASE in gerrit.  but i think that's about the only thing you'd lose if you can search for the whole string "Depends-On: foo".22:36
jlkcould we get away with just searching already known data, the cache of changes, if all the change commit messages were within that cache?22:37
jlkmight get cache misses after a restart22:37
jeblairjlk: the misses could be a problem here -- this is especially useful for changes people approved a long time ago and it's just now that their deps got around to being approved.22:38
jlknod22:39
dmsimardI guess you guys have come across this ? I've been living in a cave until recently so from catching up in my feed: https://coreos.com/blog/introducing-zetcd22:43
jlkdmsimard: we chatted about it a bit22:43
jlkjeblair: e.g.  https://github.com/search?l=&q=co-authored-by%3A+Jesse+Keating&ref=advsearch&type=Commits&utf8=✓22:43
dmsimardnot good enough to consider moving away from zk ? :p22:43
jlkdmsimard: not for zuulv322:43
jlkdmsimard: there was talk of trying to run the zuul test suite against a zetcd instance instead of OG Zookeeper, but I don't know if anybody got around to it.22:44
dmsimardI was just mostly curious but thanks :)22:45
jlkoh this is gross. I'd have to search for the commits with that string in the commit message, then search the PRs to see if they have that commit as part of the PR. Can be done, just a lot of API calls.22:51
jeblairi love their data model22:56
jeblairjlk: any chance *that* gets better with graphql? :)22:56
jlkyeah.... maybe?22:57
mordredjeblair, jlk: I wonder if we could record the neededby info on the pr in github itself - like in a comment or something, such that it could be easily searched22:57
mordredsince they do have the idea of cross-referencing things in comments and I _think_ I saw something about that in the api somewhere22:57
jlkin theory you could record it in the pull request body22:57
jlkwhich is usually the commit message itself, but not always, and not when you have multiple commits22:58
jlkbut then we'd have to react to edits to the body22:58
mordredright- but the neededby is zuul computed22:58
mordredI was more wondering if when zuul notices that b depends-on a, it could do $something on the github api related to a that would leave a breadcrumb it could later search for22:59
jlkah.22:59
* mordred just thinking out loud23:00
jeblairit feels a little weird externalizing this onto something user-visible, even if it might be useful information for humans...  i'd love it if that could be hidden (or at least optionally hidden)23:00
jlkkinda feels wrong to be using github itself as the datastore for zuul metadata23:00
mordredjlk, jeblair23:00
mordredjlk, jeblair: I agree with both of you23:00
jlkthis gets even more fun and twisted if we start to think about cross-connection depends23:00
clarkbgithub PRs can have their titles, body, and comments searched23:00
jeblairit's a good idea, and i'm struggling with it since i know there are people that would love "automatically update prs to leave needed-by breadcrumbs".  i just bet there are also people that would be like "stop spamming my comments".23:01
clarkbdoes that include the commit message data?23:01
jlkclarkb: not directly it would seem23:01
jlkyou can search for PRs that include a commit, but not the message within the commit23:02
jeblairjlk: i guess the good news is that in practice, because of the extreme specificity of the search, we're only likely to get back a small number of commits, and typically a 1:1 relation to prs....23:04
jlkyeah23:04
jlkoh hrm. did we change "image" to "label" in the job specifications?23:05
jeblairjlk: yes23:05
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Special case shell logging on localhost  https://review.openstack.org/47421623:17
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Handle lists of streamers  https://review.openstack.org/47423023:17
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Direct streaming at delegated_to target  https://review.openstack.org/47421523:17
jlkWho likes regexes, and can help me build a shoddy regex quickly?23:18
jlksomething that can match  "Depends-On: https://github.com/ansible/ansible/pull/12345"23:19
clarkbjlk: ^[Dd]epends-[Oo]n: https://github.com/.+/.+/pull/[0-9]+23:21
clarkbmay want to make it completely case insensitive23:21
mordredclarkb: do you need to anchor that at the end?23:21
clarkbmordred: possibly, I'm not sure if there are parameters allowed too so left it open23:22
jlkre.compile(r"^Depends-On: https://github.com/.+/.+/pull/[0-9]+$",23:22
clarkblike ?foo=bar&baz=otherthing23:22
jlkoh maybe I need +*$ ?23:22
jlkI don't think anything else is allowed.23:23
jlkends with the number23:23
clarkbwhat you have with the $ shoudl be fine if thats the case23:23
clarkbdon't add the *, + is modifer that means one or more, * means zero or more (but we need at least one digit)23:23
SpamapSjlk: you're going to want to make github.com flexible for GHE users23:28
mordredSpamapS: ++23:29
clarkbugh does that mean we'll also have to support both github apis?23:30
clarkbor just tell GHE users to upgrade once zuul is reading to use the new one?23:30
SpamapSWell for now the one we support is in GHE23:30
SpamapSWho knows how long Github will take to update GHE to support v423:30
mordredor how long it'll take us to update to support v423:31
mordredSpamapS: I get the sense though that gh is already built on top of the graphql stuff, so maybe rolling v4 out to ghe won't be a long process23:32
SpamapSindeed, it may be more that they're making the graphql known23:33
SpamapSand supported23:33
SpamapSAlso, I might contradict myself here by saying we probably shouldn't care about GHE unless somebody with access to a GHE is willing to do automated testing somehow.. eventually.23:34
jlkSpamapS: of course, this is just a quick and dirty to make sure the rest of my code is working23:36
jlkalso I still think it's an interesting thought conversation to have on how we'll handle cross-connection dependency searching23:37
SpamapSACK23:46
jlkoh great. So I can match the Depends-On: string, but then I have to manipulate it down to the relevant parts of a PR URI23:47
clarkbjlk: python has a lib for that (urlparse)23:49
jlkyeah23:49
mordredjlk: https://github.com/ansible/ansible/pull/12345 isn't directly usable? do you need to instead make that be ansible/ansible 12345 ?23:58
jlkyeah, given how we make use of github3.py23:58
mordrednod23:58
jlkI'm going to do this with a couple rsplits()23:59
jlkon '/'23:59
mordred++23:59
mordredsince you already regex'd it - you know it has a more strict form than arbitrary url23:59

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