Thursday, 2017-06-29

openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Replace --keep-jobdirs with an IPC  https://review.openstack.org/47868200:05
jeblairokay, i think someone... was it pabelanger?  had a change related to setting the homedir to jobdir/work00:07
jeblairand i -1d it because it would be different due to bubblewrap only being on untrusted playbooks00:08
jeblairbut that's fixed now...00:08
*** Shuo has quit IRC00:08
jeblairbut i can't find that change anymore, and i think it would fix this problem...00:08
jeblairaha!00:11
jeblairit was an earlier patchset of 47309900:11
* jeblair types some things00:11
jamielennoxIPC is better because i don't have to restart the service, but a 'keep if file exists' is way easier to coordinate from a ansible perspective00:21
jamielennox(or something)00:21
jlkI'm lost, I can't figure out where encoding is breaking.00:21
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Set HOME to work root  https://review.openstack.org/47868700:22
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Don't automatically mount user home in executor  https://review.openstack.org/47868800:22
jeblairjamielennox: maybe it should also be a config file option?00:22
jeblairmordred, SpamapS: 478687 and 478688 complete a thought from pabelanger which was before it's time, but now that we bwrap everywhere, i think those make sense.  i believe they will make the known_hosts module work as expected by default.00:23
jlkI have to walk away, I'm really dejected about this :(00:30
jamielennoxjeblair: does that part of config get re-read? the goal would hopefully be to not restart the process, just something that is checked right before the delete occurs00:30
jeblairjamielennox: oh, i thought you wanted something to persist across restarts... if you're in the same boat and you just want to switch on the debug flag, can't ansible run 'zuul-executor keep' just as easily?00:31
jamielennoxjeblair: i was thinking both, persist across restarts, but that i can enable in the middle of a job to keep the current thing00:32
jeblairjamielennox: oh, are you thinking *within the job ansible*?00:32
jamielennoxthe IPC is fine as well, just thinking that something file based was easier to automate00:32
jeblairjamielennox: or do you mean from bonnyci admin zuul modules?00:33
jamielennoxjeblair: it wasn't thought out enough to have a complete idea, but so far we are not doing anything via zuul IPC and the goal was to have everything triggered by ansible runs00:35
jamielennoxi just know i've been caught out before by a job that's currently running and i'd like it to not be deleted, but it's too late to add the flag00:35
jamielennoxconfig file works great, but if the value is only read once at startup then it's not better than the --arg00:36
jamielennoxIPC is good, but it doesn't persist across restarts and targets only one executor server (pros and cons)00:38
jamielennoxi'd still be happy with IPC, was just wondernig about other signals00:38
jeblairjamielennox: gotcha.  of course you can apply it to all executors with ansible.00:39
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Don't automatically mount user home in executor  https://review.openstack.org/47868800:39
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Set HOME to work root  https://review.openstack.org/47868700:39
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Augment --keep-jobdirs with an IPC  https://review.openstack.org/47868200:39
jeblairjamielennox: i'm not super keen on adding another mechanism like out-of-band file checks.  if the ipc doesn't work for some cases, it's probably better to spruce up config reloading.00:41
jeblairjamielennox: but i think the ipc thing will make us both a lot happier in the mean time :)00:41
jamielennoxjeblair: config reloading is something i'd be interested in seeing anyway so can definitely wait until then00:42
jeblairi have to eod now00:42
*** dkranz has joined #zuul02:52
*** xinliang_ has quit IRC02:59
*** xinliang has joined #zuul03:01
openstackgerritJamie Lennox proposed openstack-infra/zuul feature/zuulv3: Use only project name in github repo creation  https://review.openstack.org/47873405:08
*** isaacb has joined #zuul06:46
*** jkilpatr has quit IRC07:33
*** hashar has joined #zuul07:36
*** openstackgerrit has quit IRC07:47
*** smyers has quit IRC09:04
*** smyers has joined #zuul09:14
*** jkilpatr has joined #zuul10:56
*** jkilpatr has quit IRC10:56
*** jkilpatr has joined #zuul10:57
dmsimardI just noticed that doing a 'recheck' to re-trigger the check pipeline on a patch that already has a +verified vote doesn't remove the verified vote when the patch is enqueued. Should it ?11:19
dmsimardExample here when I did a recheck: https://review.openstack.org/#/c/478624/11:19
mordredjlk: I've got one thing on my plate this morning first, then i'm going to poke at your encoding issue11:55
*** dmellado has quit IRC12:39
*** dmellado has joined #zuul12:42
*** jkilpatr has quit IRC12:49
*** jkilpatr has joined #zuul12:49
*** jkilpatr has quit IRC13:26
*** jkilpatr has joined #zuul13:28
*** jkilpatr_ has joined #zuul13:34
*** jkilpatr_ has quit IRC13:36
*** jkilpatr_ has joined #zuul13:36
*** jkilpatr has quit IRC13:37
*** dmsimard is now known as dmsimard|afk13:50
*** jkilpatr_ has quit IRC14:26
*** jkilpatr has joined #zuul14:27
jlkmordred: yay! that'd be fantastic.14:35
*** jkilpatr has quit IRC15:16
Shrewsyou know you're having fun when you have to write to a file to debug something15:25
Shrews\o/15:25
jlkheh, yeah, been there.15:26
*** jkilpatr has joined #zuul15:29
*** isaacb has quit IRC15:54
jeblairclarkb: what do you think of this change? https://review.openstack.org/47868215:56
jeblairclarkb: will let us say 'zuul-executor keep' to turn on the keep jobdirs feature15:56
jeblairSpamapS: can you take a look at https://review.openstack.org/478688 ?15:57
clarkbjeblair: seems straightforward, I have approved it16:00
*** openstackgerrit has joined #zuul16:13
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Augment --keep-jobdirs with an IPC  https://review.openstack.org/47868216:13
Shrewsjeblair: what am i missing here during test cleanup?  http://paste.openstack.org/show/614094/16:14
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Set HOME to work root  https://review.openstack.org/47868716:14
jeblairShrews: oh, probably the gearman client that gets set up to do the call to find out the server needs to be shutdown16:16
jeblairShrews: client.shutdown() should do it16:17
Shrewsjeblair: yup, that was it. thx16:18
jeblairShrews: there's a check on test teardown that we don't leak any threads -- it helpfully lists what threads are running, and in that paste i saw "MainThread" (obviously okay) and some gearman client threads.16:19
Shrewsjeblair: i didn't realize the client started a thread16:20
Shrewsi figured it was something with gearman though16:20
jeblairShrews: two threads, actually -- one to reconnect in the background, and one to receive data (it then updates previously existing Job objects with data it receives and invokes callback handlers)16:22
jeblairthey idle very well16:23
*** Shuo has joined #zuul16:32
ShuoIs there an openstack release management workflow team channel?16:35
jeblairmordred: woo!  log publishing worked, except that the finger url is what got reported16:35
mordredjeblair: woot! that's just a config issue right? we don't have a success url configured?16:36
jeblairShuo: #openstack-release16:36
jeblairmordred: i think we do, digging in now.16:36
mordredah - cool16:36
mordredjeblair: I'm excited!16:36
Shuojeblair: thanks.16:36
Shuojeblair: I would guess topic, such as https://about.gitlab.com/2014/09/29/gitlab-flow/,  related to developers' workflow definition is also descussed/adviced there16:38
mordredShuo: we mostly avoid long-lived topic or feature branches in openstack16:40
mordredShuo: zuul's feature/zuulv3 is an abberation and not our preferred mode of operation16:40
openstackgerritDavid Shrewsbury proposed openstack-infra/zuul feature/zuulv3: WIP: Add web-based console log streaming  https://review.openstack.org/46335316:42
mordredShuo: but yes - they are usually good people to discuss developer workflow with - as is #openstack-infra16:43
Shrewsmordred: jeblair: so in theory, that websocket test in ^^^ should pass now. Only problem is we need a way to get the finger port for a particular executor. Should that maybe go in the Worker class along with the hostname?16:43
jeblairmordred, clarkb: i need to land https://review.openstack.org/478566 or will go insane :)16:43
Shuomordred: I don't understand release management much (my view point before was mainly from a developer's perspective), but right now I am trying to understand what the high-level workflow looks like in OpenStack community's practice (is there a gerrit workflow, like the github workflow or gitlab workflow diagram shown in the above link)?16:43
Shrewsi've hardcoded the test port for now, which sucks16:43
jeblairShuo, mordred: this conversation may be more appropriate for #openstack-infra16:44
mordredShuo: https://docs.openstack.org/infra/manual/developers.html is our guide for that - but yes, it's a good conversation for #openstack-infra16:44
Shuojeblair: will get discussed there, thanks.16:44
jeblairShrews, mordred: https://review.openstack.org/473103 is relevant16:44
*** Shuo has quit IRC16:45
Shrewsjeblair: ooh. cool. also, i noticed that the test is getting None for worker_hostname. Is that expected?16:45
mordredjeblair: landed16:46
mordredShrews: feel free to take that patch over -16:46
* SpamapS finally sitting down16:46
jeblairi pointed an error out on its parent which is causing the test failures16:47
jeblairShrews: hrm, i don't know?  i didn't think we were overriding the hostname in the tests16:49
Shrewsjeblair: it turns out it works since passing None for hostname to asycio.open_connection() appears to equate to localhost, but just thought that was weird that it was None16:50
Shrewsmordred: that patch is apparently part of a bunch of related changes. I don't want to take those over, too. Can it be safely extracted?16:51
Shrewschild doesn't seem to depend on it, so maybe so16:52
mordredShrews: you need the one parent16:52
mordredShrews: but not both parents16:53
mordredI believe16:53
mordredso if you grab the worker_name patch - and the finger_port patch16:53
jlkI'm really never going to stop laughing at "finger_port". I should grow up some day16:55
* Shrews is going to do gym things for a while16:56
openstackgerritClint 'SpamapS' Byrum proposed openstack-infra/zuul feature/zuulv3: Re-enable test_merge_conflict_reports  https://review.openstack.org/46867017:02
SpamapSjlk: the whole protocol is just a 30+ year joke at this point.17:03
jlkthat's cool, so am I17:03
jeblairremote:   https://review.openstack.org/479006 Zuulv3: Fix log urls17:04
jeblairclarkb, mordred: ^ that fixes a formatting error that was causing us to report the finger url instead of the published url17:05
jeblair(you can't use slices in the str.format() mini-language)17:05
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Create a new logger for gerrit IO  https://review.openstack.org/47856617:08
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Don't automatically mount user home in executor  https://review.openstack.org/47868817:11
SpamapSjeblair: ^17:12
SpamapSrestart should allow us to go forward with known_hosts now or is there another piece?17:13
jeblairSpamapS: the parent patch was enough to fix known_hosts -- i restarted it and it looks like it works.  i'm just fixing up the link formatting now.  when that lands, we should be all set on log publishing and reporting17:14
SpamapSAHH ok17:15
* SpamapS lost the thread a little on that17:15
SpamapSmordred: I'm doing a little project board cleanup. I noticed you submitted https://review.openstack.org/#/c/473811/ a bit ago, but it has stagnated. 1) Is it definitely needed to go live with Zuul, and 2) are you blocked? Do you want somebody else to grab it? etc.17:20
SpamapS(It's attached to https://storyboard.openstack.org/#!/story/2000782)17:20
mordredSpamapS: it is not needed to go live17:21
mordredSpamapS: but also - if someone else wants to grab it that would not bother me at all17:22
SpamapScool, I'm going to start tagging stuff like that with zuulv3.0 and we can talk in a meeting about removing the zuulv3 tag from any of the things that are definitely "before we release 3.0" and that aren't critical.17:22
SpamapSSo it'll stay on the board and everything, just trying to whittle it down so we can narrow focus.17:23
mordredSpamapS: ++17:23
SpamapSadam_g: do you think you'll have time to work on https://storyboard.openstack.org/#!/story/2000879 ? (Disk space monitoring thing) I notice you grabbed it on May 5. Stuff may have changed since then. :-P17:25
* SpamapS gives up on backporting bubblewrap to 16.0417:30
SpamapSlooks like ubuntu backports is dead17:30
mordredSpamapS: :(17:31
SpamapSYeah, and I honestly don't know how much longer PPA's will be a thing.17:31
jeblairSpamapS: thanks for trying; i'm sorry to hear that, though i don't think that will be much of a hardship for zuul users at this point.17:31
SpamapSjeblair: agreed.. the PPA bridges us to Ubuntu 18.04. Fedora has us covered in the most recent releases.17:32
SpamapSAnd Debian released with it.17:32
mordredSpamapS: oh - it's in the latest debian?17:33
SpamapSmordred: aye17:33
SpamapS0.1.7, which is sufficient for us17:33
SpamapSwe didn't really \o/ for Debian on 6/17 but they totally released17:34
SpamapSwhich I believe is 4 in a row on the 2 year schedule17:35
SpamapSPretty awesome to see Debian take the cadence seriously.17:35
*** maxamillion has joined #zuul17:36
jeblairmordred: remote:   https://review.openstack.org/479013 Zuulv3: Fix log urls more17:37
jeblairmordred: pretty sure that's the last thing.17:37
SpamapSWe've had a few months of ongoing observation of zuulv3.. anybody know if https://storyboard.openstack.org/#!/story/2000899 still happens? (Jobs not aborting on executor failure)17:37
jeblairSpamapS: i haven't been paing a lot of attention while stopping/starting the executor.  let me do that right now while some jobs are running.17:38
mordredjeblair: +317:38
jeblairSpamapS: i kill -9'd the executor and do in fact see that the nodes are still locked and in use.  so let's leave it.17:41
SpamapSjeblair: ACK, adding that as a data point.17:46
mordredjeblair: do the locks need to timeout before the fall away due to missed zk heartbeats from the locker?17:50
jeblairmordred: no -- the scheduler holds the locks, so this is likely a case of the scheduler not doing the right thing (or maybe even not noticing?) when the executor dies.17:52
jeblairmordred: i didn't want to dig further into it right now because the scheduler logs are swamped in gerrit io; hopefully that will get better in a few minutes.  :)17:53
tobiashhi, am I remembering right that zuul@openstack talks to gerrit for queries and a mirror for git operations?17:55
tobiashzuulv3 seems to do much more git operations and I'm thinking about creating a mirror near zuul for hitting gerrit less17:56
jeblairtobiash: zuul actually only talks to gerrit -- in v2, some of the git operations that our jobs do, using zuul-cloner, use the git mirrors to clone and update repos (before fetching changes from the mergers)17:56
jeblairtobiash: in v3, the idea is that the mergers and executors talk to gerrit to keep their local repos up to date, and then push those out to jobs.  so there are a lot of git operations, however, since the mergers usually have nearly up-to-date repos, they should not have much work to do.17:57
jeblairtobiash: we do have an apache mirror in front of our gerrit server; i'm actually not sure if zuulv3 is hitting that or gerrit itself.  but that might be an option if we need to protect gerrit more.17:59
mordredyah - we keep a local git mirror on the same host as gerrit and do some apache rewrite to serve that ...17:59
mordredtobiash: http://git.openstack.org/cgit/openstack-infra/puppet-gerrit/tree/templates/gerrit.vhost.erb#n7818:00
mordredtobiash: is the section where we tell it to serve git refs from the mirror instead of directly out of gerrit18:00
tobiashjeblair, mordred: ah, looks like I misunderstood the canonical hostname setting of the gerrit driver18:01
mordredoh - sorry - ti actually starts earlier at 6118:01
tobiash(unfortunately I have no influence on our gerrit)18:01
mordredtobiash: yah - that, for us, is because our developers clone (or shoujld clone) repos from git.openstack.org ...18:01
mordredso for things like go, where things need to go into filesystem paths that match the git url - it's important that we clone to git.openstack.org/foo/bar on the filesystem instead of review.openstack.org/foo/bar18:02
jeblairhttp://docs-draft.openstack.org/94/477594/4/check/gate-zuul-docs-ubuntu-xenial/c9e1704//doc/build/html/admin/drivers/gerrit.html#connection-configuration18:02
jeblairdoes that documentation look right?18:02
jeblairi guess it could use more words :)18:02
tobiashand our ops can be pretty fast in banning us from the gerrit ;)18:03
tobiashjeblair:  "This is used to identify repos from this connection by name and in preparing repos on the filesystem for use by jobs. "18:03
tobiashthe second part of the sentence made me believe that18:03
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Clarify canonical_hostname documentation  https://review.openstack.org/47902018:09
jeblairtobiash, mordred: ^18:10
* SpamapS should dive down the docs patch stack soon18:11
tobiashjeblair: found gerrit in github section18:12
tobiashapart from that: Thanks, now it's totally clear :)18:13
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Clarify canonical_hostname documentation  https://review.openstack.org/47902018:13
jeblairtobiash: fixed :)18:13
tobiashjeblair: +1 :)18:13
*** dmsimard|afk is now known as dmsimard18:13
jeblairmordred: remote:   https://review.openstack.org/479024 Zuulv3: Fix log urls even more18:18
jeblairmordred: i think i probably could have written the "pass the build url back through a json file" patch faster than this "quick and dirty just copy it in the job def" approach.18:19
jeblairwin some lose some18:19
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Implement Depends-On for github  https://review.openstack.org/47440118:30
jlkjeblair: mordred: SpamapS: jamielennox: ^^ that's a re-do of Depends-On, this time using the PR body as discussed. I was able to implement the reverse search as well. I haven't been able to fully test it with live github stuffs, because of the broken webhook handler at the moment. but, unit tests pass!18:31
SpamapSjlk: kachow18:32
jeblairmordred, SpamapS: check out the last report on https://review.openstack.org/47857618:45
jeblairwe have published logs to the production log server, and linked there18:46
jeblairi think we should go ahead and land that change, and after lunch, i'll look into why they're showing up inside of an extra 'logs/' directory.18:46
mordredjeblair: wow. I never thought I'd be so excited to see a build log!!!18:47
clarkbI'm going to guess rsync trailing / behavior?18:48
clarkbI always get ^ wrong and have to read the manpage18:48
jeblairclarkb: probably, though i thought i had addressed that.18:48
clarkbthat and ln target dest being the wrong way around always trip me up18:48
jlkI have to man ln, ever time.18:50
mordredjeblair: I believe it's because zuul.executor.log_root is workspace/logs18:50
mordredoh - I think I just said clarkb's thing but with more words18:51
jeblairmordred: yeah, i thought i checked that in an earlier test, but i must have missed something along the way18:51
jeblair18:51 < openstackgerrit> James E. Blair proposed openstack-infra/openstack-zuul-roles master: Fix synchronize paths in upload logs  https://review.openstack.org/47903718:52
jeblairmordred, clarkb: ^ i think that will do it18:52
mordredjeblair: wfm18:52
jeblairyep that fixed it18:59
jeblairmordred, clarkb, fungi, SpamapS: https://review.openstack.org/479038  our v3 has working log publishing!18:59
* mordred hands jeblair a chicken18:59
* jeblair eats a chicken19:00
fungiwoah!19:00
mordredjeblair: and the output of the docs job shows that we don't die when the job sends weird binary too. so yay!19:00
fungii take it the build id there won't conflict with the zuul 2.x build id and so similarly-named jobs running in v3 won't suffer log collisions while we have this going in parallel?19:02
mordredfungi: they shouldn't - unless uuid fails us19:04
fungirighty-o19:04
clarkbif that happens buy a lottery ticket19:05
mordredit makes me giggle that this zuul v3 log output contains:19:06
mordredexport HUDSON_PUBLISH_DOCS=119:06
clarkbwow hufson19:06
mordredyah man19:09
mordredwe're old school around here19:09
jeblairclarkb: i totally think we should spell hudson with a long-s19:09
jeblairhudfon (because i can't unicode and eat a chicken at the same time)19:09
fungihudſon?19:09
jeblairthat's the one19:10
* fungi recommends hudßon19:10
fungiowing to english's germanic roots19:10
openstackgerritDavid Shrewsbury proposed openstack-infra/zuul feature/zuulv3: Use worker_name for job cancellation and remove manager  https://review.openstack.org/47428819:13
openstackgerritDavid Shrewsbury proposed openstack-infra/zuul feature/zuulv3: Support finger ports in finger URL  https://review.openstack.org/47310319:13
Shrewsmordred: I rebased those ^^^ and fixed a thing jeblair spotted in the 2nd. Not sure why the first one failed so many jobs before.19:15
mordredShrews: i'm going to blame the chicken I just gave jeblair to eat19:16
Shrewsmmmm, chicken19:16
Shrewsthough I've been working on my pan seared/oven finished steak technique lately19:19
Shrewsoh, jeblair explained why19:26
openstackgerritDavid Shrewsbury proposed openstack-infra/zuul feature/zuulv3: Use worker_name for job cancellation and remove manager  https://review.openstack.org/47428819:31
openstackgerritDavid Shrewsbury proposed openstack-infra/zuul feature/zuulv3: Support finger ports in finger URL  https://review.openstack.org/47310319:43
Shrewsshould pass now19:43
Shrewsgah. different fails on the 2nd19:53
jeblairyeah just looking at that19:53
jeblairthat is really weird.  i don't see what would cause that.19:56
Shrewsjeblair: i'm confused as to why the finger comparison string changed in the failed tests (at least in test_disabled_at)19:57
Shrewsyah19:57
Shrewsis something with the urls now a list, causing the change in output?19:57
Shrewsproject-test1 ['finger://zl.example.com/4de09d998fe745be9302810853d2f6d6']19:58
Shrewslooks like a list of urls19:58
* Shrews stabs in dark19:58
jeblairright, but i don't see anything in 473103 that would change it to a list19:58
jeblairi see it20:00
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Use worker_name for job cancellation and remove manager  https://review.openstack.org/47428820:00
jeblairShrews: left comment20:01
Shrewshaha. thx jeblair20:01
jeblairShrews: also, worker_log_port doesn't actually have to be in the conditional, right?20:02
jeblairwe can just always set it to log_streaming_port in the data={} block above it i think20:02
jeblairmordred: with the log stuff out of the way, are you blocked on anything from me?20:03
jeblairmordred: if not, i'll start on my punch list20:03
openstackgerritDavid Shrewsbury proposed openstack-infra/zuul feature/zuulv3: Support finger ports in finger URL  https://review.openstack.org/47310320:03
Shrewsjeblair: oh, hrm, lemme look20:03
openstackgerritDavid Shrewsbury proposed openstack-infra/zuul feature/zuulv3: Support finger ports in finger URL  https://review.openstack.org/47310320:04
Shrewserrr, inconsistency with the hostname too20:05
openstackgerritDavid Shrewsbury proposed openstack-infra/zuul feature/zuulv3: Support finger ports in finger URL  https://review.openstack.org/47310320:06
Shrewsboy, who wrote this code?  ;)20:06
jeblairShrews: sorry, i may not have been clear about the worker port thing; left a comment20:15
jlkmordred: did you get anywhere with the webob encoding issue?20:15
Shrewsjlk: oh, you were clear. i just read too quickly20:19
Shrewsfixing20:19
openstackgerritDavid Shrewsbury proposed openstack-infra/zuul feature/zuulv3: Support finger ports in finger URL  https://review.openstack.org/47310320:20
Shrewsfixed the pep8 thing too20:20
jeblair+3 (carrying over mordred's +2)20:21
Shrewsoh geez. all of that work, and i get back zl.example.com:79 for the finger address in tests20:28
Shrewswhich is ever so helpful20:28
jeblairShrews: yeah, that's overriden in the base test class.  we can stop doing that, we'll just need to update a handful of assertions to use the actual hostname20:30
Shrewsjeblair: not sure what to do about the log streaming port since I start that by hand. can i just set self.executor_server.log_streaming_port in the test?20:31
Shrewshrm, no. that doesn't seem to work20:33
mordredjlk: sorry- my morning thing took longer than I was expecting - I'm only just now getting tohelping with your thing20:35
jlkalrighty20:36
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Support finger ports in finger URL  https://review.openstack.org/47310320:37
mordredjeblair: no- I am not blocked on anything from you - thank you for making logs happen!!!20:40
jeblairShrews: what do you mean start by hand?20:41
jeblairShrews: oh, i see, yeah i'd just do that for now.20:42
jeblairShrews: (later, we can make a fixture for the log streamer that uses a random port, and then start that fixture before the executor server, and actually pass it in with the constructor as intended)20:43
Shrewsjeblair: except it doesn't work for some reason20:46
Shrewsmaybe setting it in the test is too late20:47
jeblairShrews: did you set it at the beginning of the test case before you start the job?20:49
Shrewsi did not. trying20:49
Shrewshazzah!20:50
* Shrews sees mordred's gift of chicken and raises him a fatted calf for jeblair20:50
openstackgerritDavid Shrewsbury proposed openstack-infra/zuul feature/zuulv3: Add web-based console log streaming  https://review.openstack.org/46335320:51
mordredzomg. that doesn't have WIP in front of it!20:51
ShrewsFinally removed the "WIP"!20:51
Shrews\o/20:51
Shrews*dance*  *dance*  *dance*20:51
Shrewswe'll have to see if the changing the default hostname from zl.example.com breaks anything20:52
Shrewschanged all of the tests using it to reference self.executor_server.hostname20:53
* Shrews wishes good luck to whomever decides to review that20:54
Shrewsmordred: btw, i'm not _entirely_ sure why you have that etc/console.html file there. an example, maybe?20:58
Shrewsoh neat. that passed all tests except for test_bubblewrap_leak21:03
ShrewsSpamapS: ^^^ ??21:03
* Shrews will now EOD. ciao21:09
mordredShrews: left some comments in the patch - one of them was, in fact, about etc/console.html21:10
SpamapSShrews: I'll look at the fail21:15
SpamapSI wonder if there's a race with --die-with-parent21:20
SpamapSyou know.. I'm not sure we actually want --die-with-parent.. and I wonder if we should use runc to ensure all processes from the bubblewrap are dead instead.21:23
SpamapS(runc, or something else that will wrap the bwrap and its children in a cgroup)21:23
jlkhaha, doesn't bubble wrap them in a cgroup?21:25
jlkhow many layers can we put around this?  :D21:25
SpamapSI know21:26
SpamapSwell here's the thing. --die-with-parent actually makes the kernel send the forked pid1 bwrap a SIGKILL when the outside-the-container bwrap dies.21:26
SpamapSSIGKILL seems like the wrong thing21:27
SpamapSbut I dunno if a TERM would actually make it clean up its own processes.21:27
jeblairSpamapS: by race, do you mean that the pid1 hasn't gotten around to killing its group children yet, even though bwrap has died?21:29
SpamapSjeblair: right, I am worried that's what's happening. I'm tracing through how the bwraps are coordinated now.21:29
jeblairSpamapS: maybe we should increase leak_time in that test, and then have a grace period for the kill to happen, and assume that the test is valid as long as it completed in less time than leak_time21:30
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Add TenantProjectConfig object  https://review.openstack.org/47907321:31
SpamapSjeblair: I'm not finding where bubblewrap even kills the sleeper .. did we verify that this ever completed in under 7 seconds?21:35
SpamapSI mean, reading all the cmdlines in /proc shouldn't take 7 seconds21:35
SpamapSbut...21:35
SpamapSstranger things21:35
jeblairSpamapS: i don't think we did21:41
SpamapShrm.. now how do I inspect a subunit file to find out21:57
SpamapSah, subunit2csv22:01
SpamapStests.unit.test_bubblewrap.TestBubblewrap.test_bubblewrap_leak,success,2017-06-29 20:32:04.448628+00:00,2017-06-29 20:32:04.483717+00:0022:02
SpamapSvery fast as expected, so it's not that22:03
jeblairSpamapS: that's from the run that failed?22:08
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Permit config shadowing  https://review.openstack.org/47908422:09
jeblairmordred: fun fact: you can't inherit from a job that's defined after you in the config.  which means i can only implement about half of what i wanted to do with shadowing (you can't override a remote job locally but still inherit from it).  however, i think that's enough to support the base job in zuul-jobs, and give us the escape valve we need to make shared jobs safe.  we can look into extending job inheritance to be forward-looking later.22:11
SpamapSjeblair: no that's from a successful run22:15
SpamapSjeblair: I checked 5 more. They're all about that fast. And the test runs fast locally.22:15
SpamapSso yeah, whatever is killing the sleep probably just raced with the SIGKILL22:15
jeblairSpamapS: ok cool.22:15
SpamapSwe could spin a couple of seconds making sure the inner bwrap is dead before we look for leaks.22:16
SpamapSor even actually just loop until the inner bwrap is gone22:17
*** hashar has quit IRC22:23
*** jamielennox has quit IRC22:57
*** jamielennox has joined #zuul23:03
jlkso I have a question on cross-repo dependencies, and how to actually _use_ them at test time. If I understand it right, setting up a crd will cause both repos to get cloned into the executor (and presumably pushed to test node).23:12
jlkI assume that there is a test written that will combine both sources into an "install" for the sake of testing, but how would that test normally work if there wasn't a crd established? How does one write a test that works both ways?23:13
SpamapSjlk: that's a great point. :)23:15
mordredjlk: if you make a test that operates on more than one repo - zuul will clone both repos regardless of whether a depends-on has been added23:15
SpamapSthey have to share a queue too right?23:16
SpamapSotherwise they're not "the same job"23:16
SpamapS(I assume you meant 'make a job')23:16
mordredyah23:16
* SpamapS looks at the crd tests in test_scheduler23:17
mordredso, considering shade+ansible ...23:17
jlkhow do you make a test that operates on more than one repo?23:18
jlkrather, how do you convince zuul to clone them both?23:18
mordredthe install step would do pip install src/github.com/ansible/ansible and pip install src/git.openstack.org/openstack-infra/shade23:18
mordredjlk: you put things into required_projects on the job23:18
SpamapShrm non looks at the stuff under23:18
jlkah, required_projects, that's the ticket that I didn't know about23:19
mordredcheck out tests/fixtures/layouts/repo-checkout-four-project.yaml:23:19
SpamapSfyi, 'required_projects' does not appear in any tests23:19
* SpamapS tries not to stare at the red flag23:19
mordredSpamapS: sorry - it's 'required-projects' in the yaml23:19
SpamapSphew23:19
* SpamapS should have thought of that23:19
jlkright, okay so nominally zuul will clone... master?23:20
mordredyah - so we'll have job: shade-ansible-src\n  required-projects: - ansible/ansible\n - openstack-infra/shade23:20
mordredyes23:20
jlkbut in the case of a Depends-On, it'll present the change23:20
mordredyup23:20
jlkCan you define what branch it'll nominally take?23:20
jlk(thinking of Ansible and it's use of "devel")23:21
mordredoverride-branch is, I believe, the param23:21
jlkcoolio23:21
mordredsee tests/fixtures/layouts/repo-checkout-six-project.yaml for example23:21
SpamapSshould not be 'master' but the default branch that the repo uses23:21
mordredI do not know - I remember some discussions around that at some point, but do not know where that came down23:22
SpamapSLooking at ExecutorClient.execute ... I believe it maintains a set() for no good reason23:22
mordredI know override-branch is useful for thigns like "I want to test master of shade against stable/newton of openstack services"23:22
SpamapSah n/m23:22
SpamapSit uses it to add the actual project from the triggered item23:22
SpamapShm23:23
mordredlucky for us ansible/ansible will give us some early testing of "we don't have a master branch"23:23
SpamapSI think it might actually use it to add projects from any depended on change.. even if it's not in required-projects23:23
*** Shuo has joined #zuul23:23
SpamapSyep...23:23
SpamapSLooks to me that as long as the project exists in the config you can depend on it and expect the repo on your test node23:24
SpamapSnot sure that's important23:24
SpamapSbut I'm not sure why we do that either.23:24
Shuojeblair and zuul team, can zuul work with repo/review frontend like github and gitlab? was there any discussion/thoughts around the wider applicability?23:26
jlkShuo: funny you should ask taht.23:26
jlkShuo: part of the v3 effort is to make the interfaces a driver construct, to make way for more drivers than gerrit. There was enough time that we were able to implement a driver for github.23:27
jlkShuo: supporting public github (via user API key or an "App") and github enterprise.23:27
Shuojlk: great to heard that!23:28
SpamapSgitlab should be far simpler now that github has been shimmed in23:28
SpamapSAnd I think adam_g is working out how to make Github Enterprise work.23:28
Shuojlk: but for gitlab, they seem to be building a Gitlab Runner, which seems to be serving this CI/CD farm role https://about.gitlab.com/features/gitlab-ci-cd/ how do you view that?23:29
jlkSpamapS: IIRC that already works, we did that in the v2.5 patch set for the short time we were on GHE ourselves.23:29
SpamapSjlk: I am sure there are gotchas in there. :)23:29
SpamapSBut yeah, I'd expect they're minor.23:29
jlkShuo: Gitlab does have a CI/CD thing. I haven't looked too deeply, but when I last looked it lacked many of the key features that led to Zuul's creation.23:29
jlkso it's neat that it exists, but don't see it's existence as a reason to not implement a gitlab driver for zuul (provided there is some interest out there)23:30
jlkgitlab could look at the zuul feature set and choose to implement them in their tool, the joys of open source.23:30
SpamapSGithub has Travis23:32
SpamapSBut we persist anyway ;)23:32
jlkyeah, except Travis is it's own company, much like Shippable, CircleCI, Codeship, etc..23:33
Shuojlk and SpamapS: I am asking trying to answer the questions that I may internally be facing :-)23:35
jlkoh what....23:35
jlkShuo: I might be wrong here, but it appears that Gitlab's CI service is triggered by /commit/, and is all post-commit actions23:35
jlkrather than running tests for a change request and finding errors _before_ code is committed.23:35
SpamapSgitlab's runner looks pretty nice, basic, mostly like Travis.23:37
SpamapShttps://docs.gitlab.com/runner/#using-gitlab-runner23:37
SpamapSgood starting point23:37
jeblairmordred, SpamapS: i'm picking up SpamapS's ssh key change -- 46510723:38
jeblairfirst thing that occurs to me, is that i think we may not be running post playbooks when pre-playbooks fail.  we should probably run the posts for all of the pre's which have succeeded.23:39
jeblairie, if we run base pre, but fail tox pre, we should not run tox post, but we should run base post.23:39
mordredjeblair: agree23:40
jeblair2017-06-29 23:35:05.135180 | TASK [add-build-sshkey : Check to see if ssh key was already created for this build _variable_params={{ zuul_temp_ssh_key }}]23:40
jeblair2017-06-29 23:35:05.157073 | ubuntu-xenial -> localhost | ok: Results: => {"changed": false, "failed": false, "failed_when_result": false, "msg": "Executing local code is prohibited"}23:40
jeblairmordred, SpamapS: ^ the stat call fails, but i wouldn't expect it to -- it's stating a file that should be in the workspace23:41
mordredjeblair: stat is just a normal ansible command23:42
mordredjeblair: which means it's going to hit the normal action plugin restriction23:42
mordredwhich is "no code execution on localhost" ... we could put in a carve out for stat since we know it's safe23:43
jeblairgotcha23:43
mordredor - a carve out for stat with a file exclusion, of course23:43
Shuojlk: "...triggered by /commit/", but that can be worked around by having some kind of additional branch (say, branch of 'speculative-merge' or something like that)23:43
jlkShuo: maybe, but it runs into one of the problems that zuul solves23:44
jlkShuo: lets say you create that additional branch, and you test that commit. But time passes before you merge, and your target has moved on23:44
Shuojlk: agree.23:45
jlkif you merge, you're now merging untested code. It's untested in the way it'll be merged. Zuul tests things _as_ they would merge, and since it's the one merging, it can ensure that what's tested is what's merged.23:45
Shuowe have review tools like gitlab and perforce -- if zuul could be a multi-faceted speculative CI engine, that would be great. Not sure how hard or if possible the perforce integration might be23:49
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Carve out for stat  https://review.openstack.org/47909623:49
mordredjeblair: ^^ totally untested - but somethign like that might work23:49
jlkwell, the goal is to be multi-faceted in that way, supporting gerrit, github, gitlab, etc.23:50
clarkbperforce may be significantly more difficult though23:50
jeblairmordred, SpamapS: can we go ahead and merge 465107?  i'll need to invoke it from a trusted repo to get it to work (since it also runs ssh-keygen on the executor)23:50
clarkbits not open source right? so how do you test it etc23:51
clarkbalso data models differ I'm sure23:51
jeblairperforce has a git gateway23:51
jeblairperhaps zuul could work with that.  i dunno.23:51
mordredjeblair: +2 from me23:52
*** Shuo has quit IRC23:53
jeblairoh wow the linters job failed it :)23:54
jeblairfirst time i've seen that :)23:54
mordredooh23:54
mordredjeblair: thats neat!23:55
jeblairokay, updated and +3d23:56
mordredcool23:56
jlka git gateway is neat, but more important is a way to get events, and report results23:59
jlk(and deal with cross-repo deps discovery)23:59
clarkblooks like you can import perforce repos into git too and operate on them that way23:59

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