Tuesday, 2017-07-25

mordredjamielennox, clarkb: re: collapse/expand - intent is to be able to provide more than one view so that grep works well, but also so that 'normal' use can see 'important' bits easily - I'm very behind on actually writing up a quick doc on that00:51
* mordred is doing talk in a few minutes, sorry missed the meeting00:52
* mordred has very long flight in a few hours - plans to write roll-out plan, build log and zuul-web thoughts that he owes everyone00:55
*** harlowja has quit IRC01:13
openstackgerritTristan Cacqueray proposed openstack-infra/nodepool feature/zuulv3: Abstract Nodepool request handling code  https://review.openstack.org/46874802:27
openstackgerritTristan Cacqueray proposed openstack-infra/nodepool feature/zuulv3: Abstract Nodepool provider management code  https://review.openstack.org/46874902:27
openstackgerritTristan Cacqueray proposed openstack-infra/nodepool feature/zuulv3: Collect request handling implementation in an OpenStack driver  https://review.openstack.org/46875002:34
openstackgerritTristan Cacqueray proposed openstack-infra/nodepool feature/zuulv3: Extend Nodepool configuration syntax to support multiple drivers  https://review.openstack.org/46875102:34
openstackgerritTristan Cacqueray proposed openstack-infra/nodepool feature/zuulv3: Implement a static driver for Nodepool  https://review.openstack.org/46862402:34
openstackgerritTristan Cacqueray proposed openstack-infra/nodepool feature/zuulv3: Implement an OpenContainer driver  https://review.openstack.org/46875302:38
openstackgerritTristan Cacqueray proposed openstack-infra/nodepool feature/zuulv3: Remove FakeProvider getClient monkey-patch  https://review.openstack.org/47513104:08
openstackgerritTristan Cacqueray proposed openstack-infra/zuul feature/zuulv3: Fix tenant include example  https://review.openstack.org/48687205:33
*** amoralej|off is now known as amoralej06:55
*** isaacb has joined #zuul07:38
*** jhesketh has joined #zuul08:16
*** jhesketh_ has joined #zuul08:22
*** hashar has joined #zuul08:23
*** jhesketh has quit IRC08:25
*** jhesketh_ is now known as jhesketh08:30
*** jasondotstar has quit IRC08:32
*** jasondotstar has joined #zuul08:40
*** openstackgerrit has quit IRC10:17
*** jkilpatr has quit IRC10:29
*** jkilpatr has joined #zuul10:59
*** isaacb has quit IRC11:34
*** hashar is now known as hasharLunch11:44
*** isaacb has joined #zuul11:48
*** isaacb has quit IRC12:50
*** hasharLunch is now known as hashar12:53
*** isaacb has joined #zuul12:56
ShrewstristanC: i'm confused as to why nodepool/builder.py is showing up in 468749 when there are no changes there13:00
tristanCShrews: oh, it must be my emacs to set mode +x when file has a shebang13:01
ShrewstristanC: also, why s/getImage/labelReady/ ? I don't think that adds any clarity in terms of an openstack provider13:08
Shrewsoh, it's part of the Provider api13:09
Shrewsnm, i see now13:09
ShrewstristanC: I left what may be a confusing comment on 468749 regarding ProviderManagers. Hopefully I've had enough coffee that it makes sense.13:29
ShrewstristanC: tl;dr ProviderManager provides some protections against having more than 1 object for a provider (storing the objects within the config itself). I forget the historical reasons for that. Perhaps jeblair can remind us.13:30
Shrewsi think it may have had something to do with resource allocation and a single view into that?13:31
ShrewstristanC: it's also possible i'm wrong and haven't seen something  :)13:34
*** amoralej is now known as amoralej|lunch13:34
Shrewsthe logic is confusing13:35
tristanCShrews: that code was indeed confusing, hence my attempt at naming things just 'Provider' and keeping the staticmethod only in the ProviderManager class. Though I could totally have missed the automatic config update thing you mentioned. I'll have a closer look tomorrow13:35
Shrewsbut would appreciate others helping decipher it to either confirm or deny it13:35
tristanCthanks for having a look!13:36
ShrewstristanC: sure. i'll continue looking at it. i'm not sure i'm correct that it is indeed broken, but i at least want to express my worry about it13:38
ShrewstristanC: oh, i think i was, indeed, incorrect.  yay!13:47
leifmadsenemacs?!13:48
leifmadsen:)13:48
tristanCleifmadsen: with evil though, I switch back recently :)13:53
*** hashar has quit IRC13:56
Shrewsjeblair: I've reviewed tristanC's nodepool driver abstraction down to (but not including) the static driver review. I need to reset my brain before digging into the static driver one. I hurt it a bit on the providermanager stuff.  :)14:01
Shrewsjeblair: i didn't want to +A any of them without you having a peek14:01
jeblairShrews: thanks, i'll take a look today14:05
*** hashar has joined #zuul14:26
*** openstackgerrit has joined #zuul14:27
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Allow loading additional variables file for site config  https://review.openstack.org/44773414:27
openstackgerritTristan Cacqueray proposed openstack-infra/nodepool feature/zuulv3: Implement a static driver for Nodepool  https://review.openstack.org/46862414:27
openstackgerritTristan Cacqueray proposed openstack-infra/nodepool feature/zuulv3: Extend Nodepool configuration syntax to support multiple drivers  https://review.openstack.org/46875114:27
openstackgerritTristan Cacqueray proposed openstack-infra/nodepool feature/zuulv3: Collect request handling implementation in an OpenStack driver  https://review.openstack.org/46875014:27
openstackgerritTristan Cacqueray proposed openstack-infra/nodepool feature/zuulv3: Abstract Nodepool provider management code  https://review.openstack.org/46874914:27
openstackgerritTristan Cacqueray proposed openstack-infra/nodepool feature/zuulv3: Implement an OpenContainer driver  https://review.openstack.org/46875314:27
*** amoralej|lunch is now known as amoralej14:32
openstackgerritPaul Belanger proposed openstack-infra/zuul-jobs master: Create tox_environment_defaults variable for tox based jobs  https://review.openstack.org/48667914:44
pabelangertobiash: jeblair: I've removed tox_environment_defaults from the docs for now14:44
leifmadsentristanC: :)14:45
jeblairpabelanger: ok.  easy enough to add back later if we want.14:45
pabelangerjeblair: agree14:45
*** isaacb has quit IRC14:52
openstackgerritPaul Belanger proposed openstack-infra/zuul-jobs master: Move subunit processing into fetch-testr-output  https://review.openstack.org/48584015:00
*** dkranz has joined #zuul15:05
jeblairtristanC: ooh, i like the fake provider becoming a driver :)15:23
*** hashar has quit IRC15:32
tristanCjeblair: there is also https://review.openstack.org/468750 you may appreciate too :)15:36
tristanCthen, regarding the static/oci driver, what's really missing is proper configuration management, where the config module needs to somehow delegate provider setting to the driver15:39
tristanCfor example, right now there needs to be at least one cloud defined, otherwise the os_client_config.OpenStackConfig() call fails15:40
tristanCand similarly, labels <-> diskimage relation needs to removed15:40
SpamapSsoftware is one of the few areas of my life where I like fakes :)15:46
pabelangerlooking at flights out of Ottawa, thinking I might travel into PTG on saturday to avoid late night hacking, early sunday flight15:56
pabelangerstill about 6.5 hours of travel for me15:57
SpamapSdarn.. I was wrong.. executor-diskaccountant still has to be whitelisted I guess. :-P15:57
* SpamapS wonders if the .stop() method should join()15:57
pabelangerhttps://review.openstack.org/486228/ could use a +3, fixes tox logging on multinode jobs15:58
pabelangerhttps://review.openstack.org/#/q/topic:tox_environment_defaults also ready too15:58
pabelangerclarkb: ^ if you want to re-review15:58
openstackgerritMerged openstack-infra/zuul-jobs master: Support multi node jobs for tox logs  https://review.openstack.org/48622816:00
*** dkranz has quit IRC16:07
*** dkranz_ has joined #zuul16:07
openstackgerritClint 'SpamapS' Byrum proposed openstack-infra/zuul feature/zuulv3: Monitor job root and kill over limit jobs  https://review.openstack.org/48590216:15
SpamapSjeblair: ^ This approach to shutting down threads might be viable for some of the other whitelists.16:19
SpamapSespecially watchdog16:19
jeblairSpamapS: *nod*16:20
SpamapSderp16:23
SpamapSI need a git review pre-hook to run pep816:23
openstackgerritClint 'SpamapS' Byrum proposed openstack-infra/zuul feature/zuulv3: Monitor job root and kill over limit jobs  https://review.openstack.org/48590216:24
SpamapShmmm16:24
SpamapSthe du threads spit a lot onto stderr16:24
SpamapSI think we might want to devnull it16:24
SpamapS2017-07-25 16:20:54.797845 | ubuntu-xenial | du: cannot access '/tmp/tmptjqhd1h_/zuul-test/18d6989c61654634ae0b935043987bd8/trusted/project_0/github.com/common-config/.git/packed-refs.lock': No such file or directory16:25
SpamapSyeah16:25
jeblairSpamapS: yeah, that's pretty boring :)16:25
openstackgerritClint 'SpamapS' Byrum proposed openstack-infra/zuul feature/zuulv3: Monitor job root and kill over limit jobs  https://review.openstack.org/48590216:26
SpamapSI can't imagine we'd ever really care about the stderrs.. until we have a stuck du or something, then we'll be enraged16:26
SpamapSbut look at that, py3 has a new shiny: subprocess.DEVNULL16:26
jeblairthat is shiny16:26
SpamapSdear py3: I don't know how we ever lived without you. Don't tell py2, but... I think you're the only one for me now.16:27
* Shrews feels uncomfortable16:29
SpamapSShrews: you and py3 have been hanging out doing async things... don't judge.16:34
SpamapSbtw, the web streaming is so nice to have16:35
SpamapSlike really16:35
SpamapSamazing job everyone who worked on it16:35
Shrewsdefinitely a good group effort on that16:36
SpamapS2017-07-25 16:36:31.920904 | ubuntu-xenial | PASSED (id=0, skips=7)16:37
SpamapSwe should probably circle back on those 7 skips now16:37
SpamapSIIRC they're all complicated16:37
SpamapSjeblair: I think I"m going to declare 2000773 dead (since it's almost unusable from storyboard) and we should make a story for every skip left.16:38
SpamapSlike it basically crashes my browser16:38
jeblairShrews, tristanC: i +3 all the changes that Shrews has +2d, which are the refactor changes.  i left a -1 on the static node driver change.16:38
jeblairSpamapS: no objection -- though what about 1 more story with 7 tasks?16:39
SpamapSjeblair: Probably easier to manage that way. +116:40
openstackgerritMerged openstack-infra/nodepool feature/zuulv3: Abstract Nodepool request handling code  https://review.openstack.org/46874816:41
openstackgerritMerged openstack-infra/nodepool feature/zuulv3: Abstract Nodepool provider management code  https://review.openstack.org/46874916:41
openstackgerritMerged openstack-infra/nodepool feature/zuulv3: Collect request handling implementation in an OpenStack driver  https://review.openstack.org/46875016:41
openstackgerritMerged openstack-infra/nodepool feature/zuulv3: Extend Nodepool configuration syntax to support multiple drivers  https://review.openstack.org/46875116:42
jeblairSpamapS: the default disk limit is half the size of the nova repo  :)16:53
SpamapSjeblair: I figured that was an overly conservative limit :)16:53
jeblairof course, most of the git repos should be hard links, so they kinda sorta don't count.  but i don't know if there's an easy way for us to exclude those.16:54
SpamapSdu will count a hard link against a dir16:54
SpamapSbut only once IIRC16:55
jeblairSpamapS: heh, so the first nova job loses16:56
jeblair$ du -h --max-depth=1 .16:56
jeblair199M./nova216:56
jeblair36M./nova316:56
jeblair235M.16:56
jeblairnova2 and nova3 are both hard-link clones of ../nova16:56
SpamapShttp://paste.openstack.org/show/61646916:56
jeblairso basically, nova2 gets the full accounting, and nova3 gets only the non-hardlink stuff16:56
SpamapSyeah16:57
SpamapSthat's interesting16:57
SpamapSwe can do -l16:57
SpamapSwhich counts them every time16:57
jeblairadding "-l" will do the full accounting for both16:57
jeblairwhich is at least consistent, but if i had a choice, i'd love the opposite -- get 36M for both.16:57
SpamapSprobably more fair this way16:57
SpamapSrather16:57
SpamapSprobably more fair with -l16:57
jeblairSpamapS: oh!  idea!16:58
jeblairSpamapS: what if we du'd the merger cache first, then the jobdir?16:58
SpamapSyeah we can probably do that16:58
SpamapSdu takes a list16:58
jeblairSpamapS: we'll ignore the merger cache output, but du will have assigned all the hardlink sizes to it16:58
SpamapShttp://paste.openstack.org/show/61647016:59
SpamapSworks16:59
jeblairSpamapS: yep.  i got the same with my local test too16:59
SpamapSso we can just make DiskAccountant accept a list of cache dirs to du first and throw away16:59
jeblairSpamapS: yeah.  we only need to provide one though -- ExecutorServer.merge_root17:00
SpamapSthis thing we're doing btw, it's called "The opposite of how systemd happened"17:00
SpamapSjeblair: k17:01
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Fix tenant include example  https://review.openstack.org/48687217:10
SpamapSjeblair: mmm this has been a rather fun coding exercise.17:23
openstackgerritClint 'SpamapS' Byrum proposed openstack-infra/zuul feature/zuulv3: Monitor job root and kill over limit jobs  https://review.openstack.org/48590217:23
jeblairSpamapS: left 2 questions on there.  one important.  :)17:33
pabelangerI cannot remember, did we say we wanted the 'Zero tests were run. At least one test should have been run; exit 1' logic in our zuul-jobs tox role?17:34
openstackgerritMerged openstack-infra/nodepool feature/zuulv3: Simplify _deleteLocalBuild parameters  https://review.openstack.org/48441317:36
SpamapSjeblair: you're right on your question. Forgot that max-depth=1 means we'll get everything under it too. That said, I think it would just try to cancel jobs that are unique==reponame .. so just a waste of time. ;)17:36
jeblairpabelanger: i think if we are sure we're running unit tests, yes?  so only for py27 py35 jobs17:36
SpamapSjeblair: also do you think maybe we should still raise the default higher than 100MB?17:37
jeblairSpamapS: yeah, probably enough time+error messages to make it worth special casing :)17:37
pabelangerjeblair: what is our story with unittest playbooks? When would not use them for tox?17:38
jeblairSpamapS: i'm torn on the default.  now that we have hardlinks out, it seems a little more reasonable, but i bet any serious use is going to need to be a lot higher.  maybe 250 or so?17:38
pabelangerI don't think I understand there purpose17:38
jeblairpabelanger: i don't think i understand the question17:39
pabelangerjeblair: why to we have unittest playbooks today? What would go into that over the tox playbooks?17:39
jeblairpabelanger: i have no idea?17:41
pabelangerokay, will follow up with mordred on that17:41
jeblairpabelanger: tox can be used for running things other than unit tests17:41
jeblairpabelanger: and, of course, unit tests can be run without otx17:41
jeblairtox17:41
pabelangerjeblair: right, today our tox job has a parent of unittests, so it is currently a hard dependency17:42
pabelangeratm revoke-sudo and test-setup are within unittest, so that makes a little sense17:43
jeblairpabelanger: it seems like putting the zero-tests check in unittests/post is a good place, yeah?17:43
pabelangerjeblair: ya, that's what I am thinking too17:44
jeblairpabelanger: there's already fetch-testr output there.  that seems similar.17:44
pabelangeragree17:44
openstackgerritClint 'SpamapS' Byrum proposed openstack-infra/zuul feature/zuulv3: Monitor job root and kill over limit jobs  https://review.openstack.org/48590217:44
SpamapSjeblair: I like 250.. let me real quick raise that17:45
openstackgerritClint 'SpamapS' Byrum proposed openstack-infra/zuul feature/zuulv3: Monitor job root and kill over limit jobs  https://review.openstack.org/48590217:45
SpamapSThat means 1GB per 4 jobs.. and I kind of expect we'll have executors running in the "tens of jobs" area17:45
jeblairSpamapS: we think our v2.5 capacity is 150 jobs per launcher17:46
jeblairon 8gb vms17:47
jeblairSpamapS: those come with 80G ephemeral drives (which we're not actually using right now, but could).  if the numbers hold, that gives us > 500MB per job.  of course, we should be able to oversubscribe.17:49
SpamapSYeah should be oversubscribing a lot really.17:50
jeblairi very much doubt we're going to be able to run *more* jobs on an executor in v3 than v2.5, so these seem like a fairly good match.17:50
SpamapSSince it would be relatively hard to maliciously overload the disk, without also just overloading the entire system itself.17:51
SpamapSjeblair: is there nothing in v2.5 preventing launcher overload btw?17:52
jeblairpabelanger, clarkb: ^ we should probably mount the ephemeral disks on our ze servers and put the merger and job root there.  :)17:52
SpamapSlike, if there are jobs to run, the launchers just keep taking them, right?17:53
jeblairSpamapS: nope.  it's uh, part of our experimental protocol for determining launcher capacity.  :)17:53
pabelangerjeblair: clarkb: Agree, I missed that step when we launched ze01.o.o17:53
SpamapSjeblair: a bold experiment17:53
jeblairpabelanger: well, it wasn't important for v2.5, and it won't really be important for v3 until we turn on the firehose.  :)17:53
clarkbyup nothing in the job roots should need to persist so the ephemeral disk should be fine17:54
*** harlowja has joined #zuul17:55
*** robled has joined #zuul18:07
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Change jobroot_dir to job_dir in executor config  https://review.openstack.org/48716518:10
jeblairShrews, mordred: ^ it's *that* bikeshed again  :)18:11
jeblairi tried to write the docs for that, and that's the only thing that looked right to me18:11
jeblair(aside from changing everything else to match (ie, "merge_root, jobdir_root, state_root", etc.))18:12
jeblairSpamapS, pabelanger: ^ figured we should document this little nugget of info :)18:12
Shrewsjeblair: awesome. i look forward to changing it again soon!18:13
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Change jobroot_dir to job_dir in executor config  https://review.openstack.org/48716518:13
jeblairShrews: i just know the perfect shade of fuscia is out there18:14
Shrewsi love that there is also a jobdir_root18:16
Shrews(just for the little extra splash of color)18:16
jeblairyeah, i still think our sanity is secondary to consistency in the config file.  so most users don't need to know there's something called "jobdir_root" in zuul internals.18:18
jeblairbut that's because i consider my own sanity a lost cause.18:18
Shrewsjeblair: i suppose something like jobbase_dir isn't any better18:22
mordredjeblair: wow.I'm not sure there IS the perfect shade of fuscia :)18:31
openstackgerritPaul Belanger proposed openstack-infra/nodepool feature/zuulv3: Add zuulv3 jobs for nodepool  https://review.openstack.org/48716918:34
openstackgerritPaul Belanger proposed openstack-infra/zuul-jobs master: Jobs should default to voting  https://review.openstack.org/48717218:37
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Make tox-cover job non-voting  https://review.openstack.org/48717318:39
pabelangerjeblair: ^ what is the process of creating a variant job that is non-voting? I assume ^ is invalid syntax since I didn't parent tox-cover18:41
pabelangerjeblair: that would mean, the job would need to be called tox-cover-nv, right?18:41
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Create tox-cover-nv job  https://review.openstack.org/48717318:43
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Create tox-cover-nv job  https://review.openstack.org/48717318:45
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Make tox-cover job non-voting  https://review.openstack.org/48717318:46
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Create tox-cover-nv job  https://review.openstack.org/48717318:47
*** amoralej is now known as amoralej|off18:53
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Ensure tox-cover is non-voting  https://review.openstack.org/48717318:54
leifmadsenwhen the documentation explains the zuul-executor, it says it reads the configuration from the git repository, but it's not really specified what git repository, and how to configure which one to read from18:54
leifmadsenany tips? (I'm updating documentation while going through a setup)18:54
leifmadsenoh man, maybe I just need to read a little more carefully, that's what `main.yml` provides I guess18:55
leifmadsenI'll try and clean it up to make it slightly more clear18:55
mordredleifmadsen: yah - main.yml tells the scheduler which repositories to manage18:55
mordredleifmadsen: after that point, all config is read from those repositories18:56
pabelangerjeblair: okay, I figured it out. Had to re-read zuulv3 spec again18:57
mordredleifmadsen: (don't know if you've seen our config in case looking at a working example would be helpful for clarification - and thanks for working on docs updates!)18:57
leifmadsenmordred: link to the working repo would be useful I think18:58
mordredleifmadsen: http://git.openstack.org/cgit/openstack-infra/project-config/tree/zuul/main.yaml is our main.yaml - and obviously from there the zuul.yaml and .zuul.yaml filesin the repos is where the fun is18:58
leifmadsentrying to attack it from a "I have no fucking clue what I'm doing!" viewpoint :D18:58
leifmadsenalso I want to add examples for GitHub events because that's what I'm most interested in18:58
leifmadsencool thanks much18:59
leifmadsenI'll be back with more questions later :)18:59
mordredleifmadsen: ++18:59
leifmadsenok yes, so this makes slightly more sense now18:59
mordredleifmadsen: I find thatviewpoint to be an excellent viewpoint to start with - and is VERY useful :)19:00
leifmadsenstarting at the start is usually the best way to start :)19:00
mordredleifmadsen: and now I have a song in my hea19:02
mordredhead19:02
leifmadsenyou're welcome19:02
leifmadsen:)19:02
leifmadsenStart it up!19:02
leifmadsenwhat is the difference between openstack-infra/zuul-jobs and openstack-infra/openstack-zuul-jobs ?19:28
leifmadsenoh, I guess the former is used by zuul itself to instantiate an environment for a test, and then the latter is used by jobs themselves on the node when executing?19:29
mordredleifmadsen: nope19:37
leifmadsenso many repos19:38
mordredleifmadsen: zuul-jobs are jobs intended to be used by anybody19:38
mordredleifmadsen: so other zuul installations should add openstack-infra/zuul-jobs to their main.yaml to get the standard library of jobs19:38
mordredleifmadsen: openstack-infra/openstack-zuul-jobs contains jobs that are openstack specific but general forour use and expected to be used widely across ourdifferent projects19:39
leifmadsenah ok19:39
leifmadsenso I want to basically add openstack-infra/zuul-jobs to my untrusted-projects, then probably shadow my own project-config?19:39
pabelangerleifmadsen: right. You should be able to use the git connection driver for zuul-jobs19:41
leifmadsenright19:41
leifmadsenyea, should point to the github mirror no problem I assume19:42
pabelangerthen setup foobar-zuul-jobs for your specific variants / shadow jobs19:42
leifmadsenright right19:42
leifmadsenwhich would be the openstack-zuul-jobs equiv19:42
leifmadsenand those are really just the roles/playbooks being used by the ansible run, but it looks like I define the pipelines and jobs primarily in my project-config/ repo?19:43
pabelangerleifmadsen: right, project-config is our trusted repo19:43
mordredleifmadsen: yup. you might not even need a foobar-zuul-jobs if you don't have a need for a ton of shared jobs amongst your other repos19:47
leifmadsenright, at this point it looks like I don't :)19:47
mordred(we should probably hav ea "so you have one repo and you want to use zuul" "so you have a few repos" and "zomg you have a ton of repos, here's some best practice suggetsions"19:47
leifmadsenindeed19:53
leifmadsenI'm thinking of even starting with updating the repo README to make it more clear wtf they are for :)19:53
jeblairleifmadsen, mordred: well, the *idea* is to use the git driver, but i'm not sure that will work for a remote repo right now.  you may just need to clone zuul-jobs to your host and point at the local repo for the moment (and then update it manually), or use the gerrit driver.20:03
jeblairit shouldn't be too hard to finish up the git driver.  i just don't think it's quite there yet.20:03
SpamapSHrm20:03
* SpamapS starts spraying unfiltered thoughts about github PRs and zuul...20:04
SpamapShttps://github.com/gearman/gearmand/pull/13320:04
SpamapSso that's a PR on gearmand, which is managed by BonnyCI's github+zuul2.5 thingy20:04
SpamapSIf I approve that, it will land a merge commit with all those tiny commits20:04
SpamapSI'm just wondering if I actually want that.20:04
SpamapSor if Zuul can help me... or is this just Github making my life harder.20:05
* SpamapS turns filter back on20:05
clarkbif zuul grows the ability to push directly back rather than relying on $system you could also have it auto squash. But yes I think this is one of the massive failures with github's review/PR system. It encourages dirty history and sorting that out requires work20:06
jeblairSpamapS: if you don't, i don't think it's zuul's job to change that.  :)20:06
clarkbbasically because reviews happen on branches which get merged rather than discrete changes you end up with ^20:07
SpamapSyep20:07
jeblairclarkb: i agree -- though some argue that's more correct history  :)20:07
SpamapSand a lot of people do just hit the squash button after reviewing.20:07
SpamapSjeblair: that's the bzr way of thinking ;)20:07
SpamapSall history is good history if you hide it deep enough in merges20:08
clarkbright gerrit tracks that history in the review system rather than the "pristine" working copy of a repo (which I quite like)20:08
tobiashleifmadsen, mordred: tried the git driver last week and it didn't work yet (throws some not implemented exception)20:09
SpamapSon a side note... This is being done because Travis CI started automatically running shellcheck against all shell scripts it sees you trying to run.20:09
SpamapSwhich seems like a really weird thing to do.20:09
mordredSpamapS: I imagine zuul could (and does?) expose the option for your pipeline of using squash when merging things?20:10
tobiashleifmadsen, mordred: I used a local mirror for that (had to shadow the base job for my deployment)20:10
jeblairanyway, yeah, auto-squash is *conceivable*.  it certainly shouldn't be on by default.  and i think you'll probably have to, erm, convince me over beers it's a good idea to even include.  :)20:10
clarkbShrews: jeblair fwiw zuul did just install successfully on python 3.4 so it gets at least that far :) I'm going to get v2.5 going first though as I should be able to get that running really quickly then dig into v320:10
jeblairclarkb: cool.  i think Shrews is right, if you stay away from the web stuff, should be fine.20:10
mordredjeblair: well, I think it's a standard github feature and not including support for telling zuul to tell github to do it when it tells github to merge a repo would be a very weird choice for us to make20:11
pabelangermordred: have time to review: https://review.openstack.org/#/c/486679/ our NOSE settings for tox jobs20:11
mordredpabelanger: yup!20:11
jeblairmordred: and here i thought SpamapS was asking for something that didn't exist.  i clearly don't know what i'm talking about so i'll just go back to work now. :)20:11
pabelangermordred: that should lead you to https://review.openstack.org/#/c/483987/20:11
clarkbmordred: github PRs can be auto swaushed now?20:12
mordredjeblair: he may have been - and I agree that in the world of zuul merging and pushing rather than clicking a merge button I'd be hard pressed to think a squash option for zuul would be a good idea20:12
mordredclarkb: yes20:12
mordredclarkb: there is a "merge and squash" option when you decide to merge a PR20:12
clarkbnice20:12
SpamapSthe thing is20:13
clarkbI remember the dark days of constantly being asked to curate a series by hand20:13
SpamapSI don't think I'd always want squash20:13
jeblairclarkb: when you have a sec, can you take a look at https://review.openstack.org/485875 and its 16 children?  i don't need a detailed review from you if you don't have time, but i don't want the chance series to surprise you.20:13
jeblairclarkb: s/chance/change/20:13
mordredSpamapS: if you don't always want it then I think you're stuck rebasing/curating - and yes, I thnk this is a github-makes-things-harder thing :)20:13
SpamapSmordred: me too :-/20:13
mordredSpamapS: also, hopefully soon you'll be able to ditch travis for gearman20:13
mordred:)20:14
SpamapSfor zuul but yeah20:14
SpamapS:)20:14
SpamapSor20:14
SpamapSoh yeah20:14
SpamapSI know what you meant20:14
jeblairSpamapS: i doubt you're doing much if anything with ZUUL_ env vars atm, but if you are, please also see 485875 and children20:14
SpamapSwords20:14
SpamapShard20:14
SpamapSjeblair: will do20:14
clarkbjeblair: looks like its basically just removing env vars in favor of ansible vars? then I guess we add a "v2.5 compatible shell task" that injects the old env vars back in using ansible if we find we rely on them somewhere?20:14
mordredpabelanger: YES!!!! excellent20:14
jeblairclarkb: exactly.  i expect that to be part of the automatic translation we do20:15
clarkbok I need second lunch because all I had before was vegetables so I am still hungry. Will poke at it when I get back20:15
clarkbbut generally the replace with compatible sehll task runner thing seems like its fine for filling that transitional need20:16
jeblairclarkb: cool, thx20:16
pabelangermordred: great!20:17
jeblairi'm going to tag and release zuul-sphinx20:17
jeblairwhat with us not having had a release yet20:17
jeblair0.1.0?20:18
mordredjeblair: ++20:19
jeblairmordred, pabelanger: do you think it might be possible to have tox based jobs automatically install secondary repos from source in ~/src/... ?20:20
openstackgerritMerged openstack-infra/zuul-jobs master: Create tox_environment_defaults variable for tox based jobs  https://review.openstack.org/48667920:20
pabelangerjeblair: could you give an example?20:21
jeblairmordred, pabelanger: for example, since we want zuul-jobs docs to use zuul-sphinx, rather than having the docs job install sphinx from pypi, it installs it from src.  so we could get automatic depends-on behavior.20:21
jeblairmordred, pabelanger: this would also apply to things like neutron driver unit tests, etc.20:21
mordredjeblair: I thnk doing that would be hard and get into a weird place20:22
jeblairmordred: i have an idea -- what if we made another requirements file with all of the zuul-prepared repos, and installed that reqs file first?20:23
mordredjeblair: I mena - I suppose it could do a for repo in ~/src ; .tox/{env}/bin/pip install -e $repo20:23
jeblairmordred: or that, yeah20:23
jeblairmordred: (doesn't have to be "-e"20:23
pabelangerokay, I understand now.20:24
mordredyah - it's kind of overriding tox at that point though - which makes me wonder if maybe a non-tox based 'run unittests by installing direcetly" job might be better20:24
jeblairmordred: true, though i'm wondering if this could be the standard job.20:25
pabelangerIf you could shadow tox/pre, it would be easy to pip install something20:25
*** jkilpatr has quit IRC20:25
mordredjeblair: I mean, it's not SPER unsafe since most unittests jobs won't have an extra repo ... EXCEPT openstack/requirements20:26
pabelangerI guess something like: http://paste.openstack.org/show/616497/ wouldn't work20:26
jeblairmordred: i think fundamentally what would be nice is this:  it's currently easy to say "here's all the packages i depend on, install them from releases for the unit tests".  but there is not a good way to say "here are the packages i depend on, install (some of) them from branch tip or later because we are closely related".  i would like that to be easy.  :)20:27
mordredjeblair: I strongly agree with the desire20:27
jeblairpabelanger: i think that might work?20:27
mordredjeblair: mostly quibbling/thinking about impl details and ramifications of such20:27
jeblairmordred: ++20:27
jeblairmordred: this is total brainstorming.  :)20:27
mordredI'm concerned about openstack/requirements20:28
jeblairmordred: yeah.  doing it site-local lets us special case that.  harder if we generalize it.20:28
jeblairmordred: oh, we could compare with the contents of the main project's (test-)requirements file(s)20:28
mordredwell - we could parameterize the special casesimilar to the tox_environment20:28
mordredjeblair: requirements files don'tnecessarily match the git repo - we'd have to read setup.cfg files in the repos20:29
jeblairmordred: that too.  if we have to list the repos twice on the job (once in 'repos' and once in 'vars), it won't be the worst thing in the world20:29
mordredwhich is doable, of course20:29
mordredjeblair: I was mostly thining we could special case requirements to be skipped20:29
jeblairmordred: oh yeah i see20:29
mordredlike a "ignore repos" list on the baes job or something20:29
mordredand we could set _that_ on tox-py35-constraints20:30
mordredsince that's where openstack/requirements gets added and messes things up20:30
jeblairya20:30
mordredjeblair: I like it - we might want to write a tiny python module todo the "look for repos in src and match them to requirements.txt"20:31
jeblairokay, i don't want to derail pre-ptg stuff, so this should probably happen later if we do it.  but sounds like it may be desirable and we have some leads on approach.20:31
mordredjeblair: ++20:31
jeblairi'll write a story20:31
mordredonce peopel can declare a second repo for their job easily, I think this becomes the 'obvious' expectation of how such a job would operate20:32
jeblairmordred: ++20:32
pabelangermordred: 484027 is ready to land too, adds shade to zuulv3.o.o20:33
jeblair"you wrote the code that checks out the repo, and you wrote the code that runs the job, but the job you wrote ignores the repo you checked out?"  :)20:33
jeblair(is what they will ask us)20:33
pabelangerhttps://review.openstack.org/487172/ is another review to bikeshed, makes all our jobs in zuul-jobs voting by default20:34
mordredjeblair: yup20:34
pabelangerlastly, https://review.openstack.org/485840 refactors our subunit handling20:35
openstackgerritMerged openstack-infra/zuul-jobs master: Jobs should default to voting  https://review.openstack.org/48717220:36
*** jkilpatr has joined #zuul20:56
*** hashar has joined #zuul21:13
*** dkranz_ has quit IRC21:16
SpamapSAlright, story #2000773 is officially closed and will be off the progress board when the next cron job runs. https://storyboard.openstack.org/#!/story/2001134 is the new "re-enable tests" story with the 7 tasks that are left.21:27
SpamapSjeblair: I'm satisfied with 485875, but I'm hesitant to block approve the stack given its potential to break people. Should we let it hang out there for a while?21:46
jeblairSpamapS: i think we're good at this point.  but i can +a tomorrow.21:58
clarkbI'm starting to look at zuul config for v3 against review-dev.o.o and notice that zuul.conf has key value pairs with empty values22:05
clarkbI assume that means they fall back to defaults?22:05
clarkbor are they becoming literal empty configs?22:06
SpamapSask config parser22:09
SpamapSactually I think they do end up as defaults22:09
SpamapSjeblair: ok, your comfort with that makes me more comfortable. :) +A'd22:12
jeblairclarkb: i suspect those are all accidents22:12
SpamapSand yeah, "something=" is very ambiguous no matter where it appears22:13
jeblairprobably puppet needs more "ifs" sprinkled22:13
*** maxamillion has quit IRC22:15
clarkbjeblair: doesn't look like the git connection type is documented as a zuul tenant config source?22:25
*** hashar has quit IRC22:25
jeblairclarkb: correct; it's not finished22:26
jeblairclarkb: tobiash said he tried it the other day and had problems, it may have bitrotted a bit22:27
jeblairclarkb: if it doesn't work for you, i'll jump on it since that's a task for *two* priority efforts :)22:27
clarkbI guess its trivial to merge a change to repo in review-dev22:27
clarkb(to add a .zuul.yaml)22:27
jeblairclarkb: yeah, maybe that's easiest to get moving22:28
clarkblooking at code it appears that I can use the git source without a connection? is that a correct interpretation of the intent at least?22:29
clarkbI'll probably give it a go really quick just because22:29
jeblairclarkb: http://paste.openstack.org/show/616503/ is what i have in zuul.conf from last time i used it22:30
jeblairclarkb: http://paste.openstack.org/show/616504/22:31
jeblairclarkb: course, we changed that entry in main.yaml to 'config-projects' since then :)22:32
*** maxamillion has joined #zuul22:32
clarkbya I found that :) it is documented that way22:36
clarkbjeblair: another piece of feedback, zk is apparently required, zuul-scheduler exits (at least when run as non daemon) when it cannot connect to zk. May want to update https://docs.openstack.org/infra/zuul/feature/zuulv3/admin/quick-start.html#install-zuul22:44
jeblairclarkb: ah, thanks.22:45
jeblairclarkb: you can probably just apt-get install zookeeper and run with localhost real quick for tihs22:45
jeblairclarkb: oh you know what?  we haven't special-cased noop for nodes yet22:46
jeblairclarkb: it still actually needs a nodepool in order to fulfill the noop request22:46
jeblairclarkb: it should work (and be a fun test) to point it at the "prod" v3 zookeeper, but i think that'll need a firewall change22:47
jeblairclarkb: actually, i'm not 100% sure of that.  i know we haven't special cased empty nodesets, but it may be that noop doesn't need a nodeset.22:48
clarkbok I'll start with a local zk for now22:48
clarkbjeblair: it submitted merger:cat jobs for the git connection at least22:55
clarkbalso I just realized the way I set this up I have two projects with the same name... I don't expect that to quite workl22:56
clarkb(in one tenant)22:56
*** xinliang has quit IRC22:56
jeblairclarkb: if they're under different connections, it should work :)23:04
jeblairclarkb: (you may need to fully qualify their names in some cases, but zuul should tell you)23:04
clarkbjeblair: it didn't look like the git source was working anyways so I collapsed into one list entry and merged a change for zuul.yaml23:10
clarkbbut good to know23:10
*** xinliang has joined #zuul23:10
*** xinliang has quit IRC23:10
*** xinliang has joined #zuul23:10
jeblairclarkb: k23:10
clarkbjeblair: in the logs I see http://paste.openstack.org/show/616506/ but doesn't appear to trigger any jobs23:11
clarkb(or complain about lack of nodes or missing job def)23:11
clarkbI'm assuming that is because I don't have an executor and it would handle all that, eg noop isn't quite magical enough to happen just in the scheduler?23:11
clarkb(though I would kind of expect gearman logs about attempting to run a job and failing or something like that)23:12
clarkboh there is a clue, TenantParser is waiting for merger:cat job on my trusted config to finish23:18
clarkbI don't need to run a separate merger do I?23:18
clarkbin any case that gives me a breadcrumb to follow23:18
clarkbhttp://paste.openstack.org/show/616507/ is what I appear to eventually get maybe due to a gearman timeout?23:21
clarkbin any case that is likely the problem23:21
jeblairclarkb: yeah, you need either an executor or merger in order to load the config23:22
clarkboh right the executor is the merger now if no explicit merger23:22
clarkbok easiest thing to try is run a merger23:22
jeblairthat should really be a special error message :)23:22
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Use default sphinx theme and index attributes  https://review.openstack.org/48723923:23
jeblairmordred: ^ i think i have everything needed for that change to render a sample.  that is approximately what we discussed earlier about having full path names for attributes.23:23
jeblairmordred: it doesn't do "pipeline.trigger[].event" but more like "pipeline.event".  but it's a start.  :)23:25
jeblairmordred: it doesn't do "pipeline.trigger[].event" but more like "pipeline.trigger.event".  but it's a start.  :)  [corrected]23:25
jeblairi only updated a couple of attributes in that change, just to demonstrate the framework23:26
clarkband with that sorted out it is definitely submitting node requests to my local zk and then getting mad that nothing is servicing them23:30
clarkbor at least nothing is servicing that request. So now question is would it be faster to make noop magical again or just use production nodepool?23:31
clarkbI've got to go do a grocery run now so that will likely be tomorrow morning's fun23:31
clarkbeverything on the front end of the zuul gerrit event procssing seems to work fine though23:32
clarkbI've gone ahead and stopped all zuul related services (including zk) on review-dev now23:34
clarkbwill pick this up in the morning23:34
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Don't request empty nodesets  https://review.openstack.org/48724323:38
jeblairclarkb: i think it might be that easy ^ ?23:38
jeblairmordred: http://docs-draft.openstack.org/39/487239/1/check/gate-zuul-docs-ubuntu-xenial/6c7ede3//doc/build/html/user/config.html#attr-name23:39
jeblairmordred: there's a deep link to the thing i'm changing23:39
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Use default sphinx theme and index attributes  https://review.openstack.org/48723923:42
openstackgerritTristan Cacqueray proposed openstack-infra/nodepool feature/zuulv3: Remove FakeProvider getClient monkey-patch  https://review.openstack.org/47513123:48
tristanCGreat, thank you for the review of the nodepool-driver refactor!23:51
jeblairtristanC: \o/  glad that's in; hopefully that'll make adding the new drivers easier :)23:52
jeblairmordred: http://docs-draft.openstack.org/39/487239/2/check/gate-zuul-docs-ubuntu-xenial/fa68dbe//doc/build/html/user/config.html#attr-name  link to updated build which fixes a typo23:53
*** deep-book-gk_ has joined #zuul23:55
*** deep-book-gk_ has left #zuul23:57

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