Tuesday, 2017-05-02

jlkincoming stack of doom01:43
jlkI still need to implement the review/status requirements as a trigger requirement, but that should be a fairly easy to do follow on patch. Only new code required for 'status'. All the existing code works for reviews.01:44
jlkI spoke too soon, there's another incompatible change on the tip of feature/zuulv301:51
*** jamielennox is now known as jamielennox|away01:59
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: support github pull request labels  https://review.openstack.org/44451102:02
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Allow github trigger to match on branches/refs  https://review.openstack.org/44562502:02
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Set filter according to PR/Change in URL  https://review.openstack.org/44678202:02
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Add support for requiring github pr head status  https://review.openstack.org/44939002:02
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Support for dependent pipelines with github  https://review.openstack.org/44529202:02
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Adds github triggering from status updates  https://review.openstack.org/45384402:02
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Implement pipeline requirement on github reviews  https://review.openstack.org/45384502:02
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Add basic Github Zuul Reporter.  https://review.openstack.org/44332302:02
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Configurable SSH access to GitHub  https://review.openstack.org/44403402:02
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Represent github change ID in status page by PR number  https://review.openstack.org/46071602:02
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Add 'push' and 'tag' github webhook events.  https://review.openstack.org/44394702:02
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Add 'pr-comment' github webhook event  https://review.openstack.org/44395902:02
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Support for github commit status  https://review.openstack.org/44406002:02
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Better merge message for GitHub pull reqeusts  https://review.openstack.org/44564402:02
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Test gerrit and github drivers in same tenant  https://review.openstack.org/44825702:02
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Encapsulate determining the event purpose  https://review.openstack.org/44524202:02
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Merge pull requests from github reporter  https://review.openstack.org/44446302:02
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Include exc_info in reporter failure  https://review.openstack.org/46076502:02
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Add support for github enterprise  https://review.openstack.org/44925802:02
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Support GitHub PR webhooks  https://review.openstack.org/43983402:02
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: GitHub file matching support  https://review.openstack.org/44611302:02
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Ensure PRs arent rejected for stale negative reviews  https://review.openstack.org/46070002:02
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Add trigger capability on github pr review  https://review.openstack.org/44936502:02
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Log GitHub API rate limit  https://review.openstack.org/44615002:02
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Comment on PRs if a remote call to merge a change failed  https://review.openstack.org/46076202:02
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Add cachecontrol to requests to github  https://review.openstack.org/46158702:02
*** jamielennox|away is now known as jamielennox02:13
openstackgerritIan Wienand proposed openstack-infra/nodepool master: Use full path to socat in devstack plugin  https://review.openstack.org/46165106:38
*** hashar has joined #zuul07:11
*** Cibo_ has joined #zuul07:34
*** Cibo_ has quit IRC07:58
*** jamielennox is now known as jamielennox|away08:02
*** tobiash has quit IRC08:06
*** tobiash has joined #zuul08:07
*** herlo has quit IRC08:18
*** jamielennox|away is now known as jamielennox08:22
*** herlo has joined #zuul08:31
*** auggy has quit IRC09:43
*** mattclay has quit IRC09:43
*** auggy has joined #zuul09:53
*** mattclay has joined #zuul09:57
*** jkilpatr has quit IRC10:32
*** jkilpatr has joined #zuul11:03
*** hashar is now known as hasharAway13:26
*** openstackgerrit has quit IRC13:48
*** auggy has quit IRC14:43
*** robcresswell has quit IRC14:43
*** dmsimard has quit IRC14:44
*** mattclay has quit IRC14:45
*** Shrews has quit IRC14:45
*** eventingmonkey has quit IRC14:46
*** dmsimard has joined #zuul14:46
*** mattclay has joined #zuul14:47
*** greghaynes has quit IRC14:47
*** auggy has joined #zuul14:50
*** eventingmonkey has joined #zuul14:51
*** Shrews has joined #zuul14:54
*** greghaynes has joined #zuul14:57
pabelangerShrews: clarkb: regarding https://review.openstack.org/#/c/461239/ is that something we'd want to move forward with? As jeblair mentioned, we could do this with different nodepool.yaml files today. My only concern about multiple nodepool.yaml files for different builders, is the right in copypasta errors or forgetting to update 1 file15:04
pabelangerI don't have much of a preference now to happy to follow the herd on this15:05
Shrewspabelanger: dunno, that seems a bit awkward at first glance. i could see someone saying "why do i have to name the builder? i could just leave the image out of my config". also, don't you still have the same problem of forgetting to update a config file (oops, i forgot to name this new builder in the config)?15:10
Shrewsbut this is the first i've seen it, so perhaps i should give it more thought15:13
jeblairperhaps we should try the multiple config file approach before we discard it?15:13
pabelangerYes, we can try that approach first15:14
*** Cibo_ has joined #zuul15:16
clarkbfwiw I am a fan of directly configuring things15:16
clarkbit would be odd to me to configure a bunch of stuff in a file then disable half of it15:17
jeblairpabelanger: having said that, the patch looks good, so if we decide that we want to add the feature, i think it's about ready to go.15:18
pabelangergreat15:21
jlkincoming :(15:27
*** openstackgerrit has joined #zuul15:28
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: support github pull request labels  https://review.openstack.org/44451115:28
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Allow github trigger to match on branches/refs  https://review.openstack.org/44562515:28
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Add cachecontrol to requests to github  https://review.openstack.org/46158715:28
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Set filter according to PR/Change in URL  https://review.openstack.org/44678215:28
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Add support for requiring github pr head status  https://review.openstack.org/44939015:28
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Support for dependent pipelines with github  https://review.openstack.org/44529215:28
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Adds github triggering from status updates  https://review.openstack.org/45384415:28
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Implement pipeline requirement on github reviews  https://review.openstack.org/45384515:28
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Add basic Github Zuul Reporter.  https://review.openstack.org/44332315:28
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Configurable SSH access to GitHub  https://review.openstack.org/44403415:28
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Represent github change ID in status page by PR number  https://review.openstack.org/46071615:28
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Add 'push' and 'tag' github webhook events.  https://review.openstack.org/44394715:28
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Add 'pr-comment' github webhook event  https://review.openstack.org/44395915:28
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Support for github commit status  https://review.openstack.org/44406015:28
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Better merge message for GitHub pull reqeusts  https://review.openstack.org/44564415:28
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Test gerrit and github drivers in same tenant  https://review.openstack.org/44825715:28
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Encapsulate determining the event purpose  https://review.openstack.org/44524215:28
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Merge pull requests from github reporter  https://review.openstack.org/44446315:28
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Include exc_info in reporter failure  https://review.openstack.org/46076515:28
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Add support for github enterprise  https://review.openstack.org/44925815:28
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Support GitHub PR webhooks  https://review.openstack.org/43983415:28
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: GitHub file matching support  https://review.openstack.org/44611315:28
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Ensure PRs arent rejected for stale negative reviews  https://review.openstack.org/46070015:28
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Add trigger capability on github pr review  https://review.openstack.org/44936515:28
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Log GitHub API rate limit  https://review.openstack.org/44615015:28
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Comment on PRs if a remote call to merge a change failed  https://review.openstack.org/46076215:28
clarkbpabelanger: as far as suse goes why don't we just spin up enough xenial builders to backfill trusty, delete trusty builders, then add suse?15:28
jeblairi thought that was the plan15:29
pabelangerclarkb: we could, was thinking we could bring xenial online first, ensure it worked, then migrate rest15:29
dmsimardjlk: good job on that topic btw, *high five*15:29
pabelangerxenail first, with suse... but your way is also fine15:29
pabelangerblocked is vhdutils atm15:30
clarkbI thought vhd utils got updated?15:30
pabelangerfailed to build, mordred needs to push up a fix15:30
clarkbah15:30
pabelangerbut PPA works15:30
jlkdmsimard: thanks! Most of it is other people's code. I'm just a shepherd .15:30
pabelangertrying to get bubblewrap working now15:30
jlkoh son of a.....15:31
jlkthe very tip of the stack has a merge failure.15:33
dmsimardjlk: yay stackalytics stats?15:35
jlkjamielennox: I addressed all your concerns in another rebase.  jeblair the tip has a merge conflict, but I'm not going to rebase again just for that. I'll let y'all review first.15:35
jeblairjlk: ++15:35
Shrewsi can't remember a time when i looked at gerrit and didn't see jlk's name consuming the board15:38
Shrews:)15:38
jlkit's been a long couple of months15:38
jeblairi have a separate dashboard for the github patches :)15:38
jeblairthough, if you want to do that with gertty, you'll need this patch: https://review.openstack.org/44714815:39
jeblairwith that, these dashboard queries work: http://paste.openstack.org/show/608610/15:40
jeblairi think i will merge the gertty patch; it's been working.15:41
jlkI should probably jump on that band wagon15:43
jlkhuh, it's not responding to my 'L' press15:46
jeblairjlk: is it maybe just really slow?15:47
jlkmaybe, hard to tell what it's doing. Could also be that I'm on OSX and it's just laughing at me in the background15:47
jeblairthe first L does a bunch of db queries which takes 4.5s on my machine.  it gets better after that since it caches the results.15:49
jlkoh hrm, I've a pre-existing ~/.gertty.yaml file. I wonder if that's causing issues.15:49
jeblairjlk: running with '-d' and watching .gertty.log may shed light.15:49
jlkcool, giving it a shot15:49
jlkah it's doing a lot of syncing in the background15:51
jlkoh dear, it's doing git clones in the background too15:51
*** Cibo_ has quit IRC16:04
SpamapSquick question that I need to gain some clarity on16:04
SpamapSif one has a job that builds, say, a go binary.. and one wants to use that go binary in several other jobs after.. how exactly does that mechanism work?16:04
* SpamapS has never actually done that16:04
clarkbjlk: fwiw it looks like jenkins is happy with your stack?16:12
pabelangerhttps://launchpad.net/~pabelanger/+archive/ubuntu/bubblewrap16:27
pabelanger\o/16:27
openstackgerritMerged openstack-infra/nodepool master: Use full path to socat in devstack plugin  https://review.openstack.org/46165116:28
SpamapSpabelanger: w00t16:30
SpamapSpabelanger: where does the currently running zuulv3 config live btw?16:30
pabelangerSpamapS: project-config has some configs16:31
SpamapSpabelanger: could you point me exactly? thanks16:32
pabelangerSpamapS: http://git.openstack.org/cgit/openstack-infra/project-config/tree/zuul.yaml is what I am thinking off16:33
openstackgerritClark Boylan proposed openstack-infra/nodepool feature/zuulv3: Use full path to socat in devstack plugin  https://review.openstack.org/46184616:34
clarkbShrews: ^ there is the v3 fix, master fix has been approved16:34
*** robcresswell has joined #zuul16:42
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: [WIP] Add bubblewrap to bindep / test-setup.sh  https://review.openstack.org/46184916:49
jlkclarkb: it's happy with a lot of it, but some needs a recheck, and I think there is a merge failure at the tip16:54
clarkbthe merge failure should've reported though?16:55
clarkbinstead the job ran successfully16:55
jlkweird,16:56
jlkmaybe it was the zuul jobs that barked about that, instead of the jenkins jobs16:57
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: [WIP] Add bubblewrap to bindep / test-setup.sh  https://review.openstack.org/46184916:57
jlkclarkb: yeah it was zuul not jenkins. See https://review.openstack.org/#/c/461587/ and toggle CI16:58
jlkzuul commented, but that doesn't show up unless you toggle CI16:58
jeblairSpamapS: we don't yet have a good built-in method for reusing artifacts between jobs.  it's something we'd like to improve, but we don't have a design yet.  in openstack, we copy artifacts to tarballs.openstack.org and then copy them back (though you need a cleanup mechanism).17:04
*** harlowja has quit IRC17:04
SpamapSpabelanger: ty17:04
SpamapSjeblair: ACK.17:05
jeblairSpamapS: in zuulv3, you could use swift and some roles to move artifacts around like that fairly easily, as an entirely user-side solution.17:05
jeblairSpamapS: further improvements might include building that into zuul itself, or, moving the unit of work handled by an executor to be "buildset" rather than "build".  if you can guarantee a given executor handles all the builds for an item, then you can use the executor itself to move artifacts between jobs.17:06
SpamapSjeblair: I think having a role that uses can tack on like "publish-artifacts" and "subscribe-artifacts" or something would be nice.17:06
jeblair(that just makes the scaling/HA unit more coarse-grained)17:06
SpamapSs/uses/users/17:06
jeblairSpamapS: yeah.  with roles like that, you can use the buildset uuid to key the artifact.17:07
SpamapSI like the idea of using swift or something like it. The simplicity outweighs the cost and exclusiveness.17:07
jeblairSpamapS: main challenge is cleanup.  when do you delete it?  the job graph only runs dependent jobs when parents are sucessful; we may need to add an option to say "run this child job even if parents are unsuccessful".  then you'd get a cleanup job guaranteed to run.17:08
jlkclarkb: ah, https://review.openstack.org/#/c/419684/ is in merge conflict :/17:08
jlkactually I think that's a bad change. I don't think it's part of the stack.17:09
SpamapSjeblair: yeah seems like we might need to have a zuul equivalent of .addCleanup(..) ;)17:09
jeblairheh17:09
SpamapSpost's always run yeah?17:09
jeblairSpamapS: yes, but that's just within a given job17:09
SpamapSor maybe that's a suggestion... that there be a way of saying a post job always runs.17:10
SpamapSoh17:10
SpamapSright17:10
SpamapSthis is one level up17:10
jlkweeeird.17:10
jeblairya17:10
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Add bubblewrap to bindep / test-setup.sh  https://review.openstack.org/46184917:10
pabelanger^ gets bubblewrap onto our nodes17:10
jlkOOOOH that's on master, not the v3 branch. LOL17:10
SpamapSjeblair: in addition to 'dependencies:' how about 'cleanups:' ?17:10
jeblairSpamapS: that could work17:11
SpamapSpabelanger: wewt17:11
jeblairpabelanger: \o/17:11
pabelangerSpamapS: any objection if I rebase 45385117:11
SpamapSjeblair: now that I think about it, it gets really important with things like AWS creds used in jobs17:11
SpamapSpabelanger: please do!17:11
clarkbdependencies is sufficient right?17:12
clarkb(I know it seems like making it go both directions is great but puppet did it that way and it was always a mess, so much so style guides for many setups forced you to always go one direction)17:13
jeblairSpamapS: how so?17:13
jeblairclarkb: dependencies is okay if we add an extra dimension to say whether success is required or not (B depends on A *succeeding*, or B depends on A *completing*)17:14
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Add support for bwrap  https://review.openstack.org/45385117:14
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Add bubblewrap to bindep / test-setup.sh  https://review.openstack.org/46184917:14
clarkbjeblair: oh right as currently the restriction is succeeding to trigger a dep17:14
jeblairit's possible that the dependencies with optional success is the more flexible approach; it may let you do more things than "cleanups:" would17:15
SpamapSjeblair: If my job spins up instances on AWS and hands them to a few dependent jobs, I want to make sure they get cleaned up no matter what.17:17
jeblairSpamapS: gotcha17:17
SpamapSand I'm working on a job just like that right now :-P17:17
SpamapS(for github.com/cncf/demo)17:17
SpamapSwhich spins up instances/loadbalancers/etc in google cloud, azure, aws17:17
SpamapSWithout cleanup jobs, I'll just have to have a bot that cleans up.17:18
SpamapSand nodepool support for *alltheclouds* won't work either because the test is "can this provisioning tool thing (terraform+things) still work with actual real AWS"17:19
SpamapSjeblair: I think I'll write this up in storyboard so we don't forget.17:19
*** Cibo_ has joined #zuul17:20
jlkjeblair: any idea why gertty would otherwise work, but seems to ignore L  ?17:20
jlkno output in the log when I press that17:20
jeblairSpamapS: cool, thanks.17:22
jeblairjlk: hrm, any chance your config file remaps the 'L' key?17:23
jlkI have no keymaps in my config17:23
jeblairjlk: very strange; that hasn't changed in a long time17:23
jeblairjlk: 'f1' says 'L         Toggle whether only subscribed projects or all projects are listed' ?17:25
jlkno, that's not showin in F117:25
jeblairjlk: does that show up with another key or not at all?17:25
jlkoh wait, it does on this home screen, trying again17:26
jlkF1 says that, but pressing L has no effect17:26
jeblairjlk: does the screen title change at all?  'Subscribed projects with unreviewed changes' / 'All projects' ?17:27
jeblair(if not, what does it say?)17:27
jeblairjlk: also, what version of gertty? (help screen should tell you)17:28
jlksays "All projects" at the very bottom17:29
jlkdoes not change if I press L17:29
jlkversion is 1.4.017:29
jeblairjlk: the bottom is a navigation bar that indicates history, so if "All Projects" is there, you're probably on a screen other than the project list.  the current screen title is at the top.  if you hit 'esc' you should get back to the project list (and the bar at the bottom should be empty)17:31
jlkahhh.17:34
jlkweeeird.17:34
jlkit's interesting that the project list doesn't appear to be the default screen when you launch gertty17:35
jlkokay, nodepool and zuul subscribed, is there others I should watch?17:36
jeblairjlk: it should be the default screen.  you may want to subscribe to infra-specs too.17:39
jlkk17:39
jeblairi set the relevant topics to 'zuulv3' on the specs, so they should show up in those queries i pasted earlier17:39
pabelangerquestion around config-projects / untrusted-projects. Would openstack-infra ever have our tox jobs in an untrusted-project, like we have the setup in feature/zuulv3 ATM?17:40
jeblairpabelanger: yes, almost certainly for project-specific tox envs (like our zuul-nodepool functional tests)17:41
jeblairpabelanger: we might possibly even want to put the standard ones in some new untrusted repo, so it's easier to speculatively modify them.17:42
pabelangeryes, I guess that is what I might be asking. If we want to break out the playbooks today from http://git.openstack.org/cgit/openstack-infra/zuul/tree/playbooks/tox?h=feature/zuulv3 (note I consider these very specific to openstack-infra) I don't think openstack-infra/project-config is the place (since it is a config-project). What would be consider calling the new repo? openstack-infra/zuul-jobs ?17:43
SpamapSwoot, bwrap change passed tests :)17:48
jeblairpabelanger: i think we should reserve "^zuul-.*" for zuul-related repos; so 'infra-jobs', 'infra-roles', 'project-jobs', 'project-roles', 'openstack-zuul-jobs', 'openstack-zuul-roles' i think are better candidates.17:48
pabelangeropenstack-zuul-jobs seems nice17:49
jeblairpabelanger: the zuul stdlib repo(s) might be named 'zuul-jobs' or 'zuul-roles'.17:49
pabelangerjeblair: yes, that would make more sense17:49
pabelangerlet me see if I can get a topic on openstack-infra meeting for today17:49
*** Cibo_ has quit IRC17:58
*** harlowja has joined #zuul18:00
*** Cibo_ has joined #zuul18:09
pabelangerjeblair: SpamapS: I think we need to make bubblewrap driver know about venv when we run tox jobs18:21
*** jamielennox is now known as jamielennox|away18:22
pabelangerhttp://paste.openstack.org/show/608626/18:22
*** Cibo_ has quit IRC18:24
pabelangerbut, that was running bubblewrap under fedora, so yay18:24
dmsimardjlk: You got me curious about the bonnyci implementation you mentioned, is that public ?18:48
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Add untrusted-projects ansible test  https://review.openstack.org/46188118:52
pabelangerSpamapS: ^fails to run locally for me18:52
pabelangerusing bubblewrap18:52
*** hasharAway has quit IRC18:58
*** hashar has joined #zuul18:58
openstackgerritMerged openstack-infra/nodepool feature/zuulv3: Use full path to socat in devstack plugin  https://review.openstack.org/46184619:12
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Collect test-results for tox jobs  https://review.openstack.org/45299120:01
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Collect test-results for tox jobs  https://review.openstack.org/45299120:11
*** jkilpatr has quit IRC20:22
jlkdmsimard: the ARA bits?20:22
* dmsimard nods20:22
jlkhttps://github.com/BonnyCI/hoist/tree/master/roles/ara20:23
dmsimardah, I've been trying to do a role myself but ENOTIME https://github.com/openstack/ansible-role-ara20:24
dmsimardhttps://github.com/BonnyCI/hoist/blob/master/roles/ara/files/usr/local/bin/ara-prune is interesting :)20:24
jlkIt dumps down to https://bastion.opentechsjc.bonnyci.org/ara/20:25
jlkyeah, since our playbooks run every 15 minutes in cron, we were building up a rather large pile of data20:25
dmsimardThanks for sharing, I'll dig into it. There's some cool stuff coming in the next version (0.13) -- hopefully this week.20:29
jlknice!20:37
jlkYou can find us over in #bonnyci if you'd like to chat. rattboi is the one who has done a lot of that work.20:37
rattboidmsimard: yeah, I'm already in #ara as well20:40
pabelangerdmsimard: is there a way to list reports from node level? Eg: report last playbook run on a given host20:40
dmsimardpabelanger: no, hosts are unique per playbook by design20:41
dmsimardIt's a bit hard to explain but, basically, ansible has no way to tell if the host is really the same20:41
dmsimardsay, you have an inventory that goes "webserver ansible_host=127.0.0.2" and then another inventory that goes "webserver ansible_host=255.255.255.256", those two servers would end up grouped together while they are not really the same20:42
pabelangerreport by hostname of server?20:42
pabelangerbasically, I'd want: https://raw.githubusercontent.com/voxpupuli/puppetboard/master/screenshots/overview.png20:42
pabelangerso we can tell quickly, the same time a playbook ran on a given host20:42
dmsimardinventory name, hostname, etc. it's all the same, there's no persistence20:43
pabelangerwow, that is odd20:43
dmsimardThere is a persistence between puppet agent and puppetmaster, you have a certificate and everything20:43
dmsimardansible doesn't have this concept20:43
dmsimardwe discussed this a bit in the early days of ara https://github.com/dmsimard/ara/issues/10320:43
dmsimardbecause at the beginning, hosts were unique across playbooks20:44
dmsimardbut it ended up causing problems20:44
dmsimardARA could maybe sort of hack around this and, I don't know, hash a combination of parameters (inventory/hostname/ip/something) but it'd be unreliable and inconsistent20:45
pabelangerI wonder how dynamic inventory for ansbile does it20:45
dmsimardpabelanger: there's still no notion of persistence on dynamic inventories20:46
pabelangerwe have an ansible-inventory.cache that is persistent20:46
dmsimardpabelanger: the fact that your cache is persistent doesn't guarantee you that the machine on the other end is the same (or even still there)20:46
dmsimarda puppet agent with the same hostname can come up and try to connect to a puppetmaster and it won't work because there is a certificate mismatch20:46
pabelangerdmsimard: we'd know the hostname was the same, because we use hostkey validation on ssh20:47
pabelangerotherwise, playbook would not run20:47
jlkyou _could_ do something interesting with a dynamic inventory that does more signature checking of hosts20:47
jlkbut yeah, as fat as Ansible is concerned, every run is independent from every previous run, and the inventory is looked at as new20:47
jlkso long as the connection works, off you go20:47
dmsimardjlk: exactly20:48
pabelangerright, I actually more interested when things don't match.  That usually means add SSH key, server is offline or dead20:48
dmsimardthere are some interesting things we can do when/if hosts are unique, this is what it looked like when it was implemented for example: https://youtu.be/k3qtgSFzAHI?list=PLyLLwe4-L1ETFVoAogQqpn6s5prGKL5Ty&t=1220:49
jlk_if_ you're using ssh to connect, and if you have host key validation turned on20:49
dmsimardyou could click on a host and see the history of playbooks that ran against it and the stats for each playbook20:49
dmsimardbut, anyway, I feel like that notion of persistence needs to come from upstream ansible, not ara20:49
dmsimardara already patches a lot of holes :)20:49
dmsimardpabelanger: tbh you linked puppetboard, which was one of the inspiration to create ara :)20:52
pabelangerdmsimard: yes, but one different I see, it you don't list report by host. Even if it is just your 'hosts' table in the database.  I would image it straightforward to list the last data / time of a host.name. Even with the limitation you have noted20:54
jlkI wonder how that would play out in a zuul/nodepool world where the hosts are transient20:56
jlkdo they all get unique names, or is it kind of the same names over and over?20:56
dmsimardiirc it's an incremented counter20:58
dmsimardso unique names20:58
dmsimardThere's maybe 10 digits ? I forget but I do remember inquiring if they felt that was enough :)20:58
jlknod20:58
*** jamielennox|away is now known as jamielennox21:01
*** jkilpatr has joined #zuul21:11
*** dkranz_ has quit IRC21:12
jeblairyeah, that comes from zk now.  i think they will rollover.  however, that's not the name we give to ansible.  we tell it the name is 'controller' or 'compute' or something in inventory.  so in zuul, we definitely don't want to presume any relationship between different runs.21:13
jeblairbut in infra, we do.  it would be great to see all runs on 'review.openstack.org'21:14
pabelanger++21:24
SpamapSpabelanger: sorry, what's failing because of venv?21:27
pabelangerSpamapS: https://review.openstack.org/#/c/461881/ should give an example, basically ansible-playbook and zuul are not in /lib /bin, but within our venv when we run a test21:28
pabelangerthis mean we cannot find ansible-playbook or our ansible libraries for zuul inside bubblewap mount21:29
dmsimardjeblair: I'll keep that in mind, I agree it would be nice to have the notion of persistent hosts.21:29
pabelangerhttp://logs.openstack.org/81/461881/1/check/gate-zuul-python27-ubuntu-xenial/80b8aa9/console.html#_2017-05-02_19_01_55_73732921:30
dmsimardShrews: I wonder, in Tower, are hosts from inventories persistent ? Like, can you see the results of a specific host across different runs ?21:30
* dmsimard has never used Tower21:30
pabelangerssh host key should be persistent21:30
jeblairSpamapS, pabelanger: not sure how this relates to a potential solution, but this code in nodepool to deal with dib running in a venv may be relevant: http://git.openstack.org/cgit/openstack-infra/nodepool/tree/nodepool/builder.py#n51621:33
SpamapSpabelanger: where's our venv?21:33
SpamapSbecause.. simple solution.. put it in /usr/local somewhere21:34
pabelangerjeblair: oh, I thought we didn't want to do that21:34
SpamapSand install with the scripts path /usr/local/bin21:34
jeblairpabelanger: i don't want to do that21:34
jeblairpabelanger: but we didn't come up with anything better until dib2.0 with a real python api.  once that lands, we can remove it.21:34
pabelangerSpamapS: http://logs.openstack.org/51/453851/7/check/gate-zuul-python27-ubuntu-xenial/90c3b00/console.html#_2017-05-02_17_18_37_425678 is our venv21:35
pabelangerjeblair: k, I'll ask ianw. 2.0 is now out21:35
jeblairit's not urgent21:36
pabelangerif we could bind mount our venv, then activate it inside bubblewrap, I think that would do it21:36
clarkbdoes zuul need to activate the venv?21:38
clarkbdib is/was special because its a bunch of not python so venvs didn't quite work when executed directly21:38
clarkbbut zuul and ansible are both python that should respect things correctly21:38
jeblairstrictly speaking no, i think using '/path/to/venv/bin/ansible-playbook' should work.21:38
pabelangerya, that should work, but how to fix our zuul ansible libraries, they too need to be accessed from bubblewrap mount21:39
jeblairbut still need to get the venv into bwrap21:39
jeblairpabelanger: we copy the zuul ansible libraries into a directory when the executor starts.  that directory should be able to be bind mounted in.21:40
jeblairpabelanger: state_dir/ansible/21:41
SpamapSthat dir is already bind mounted in21:42
jeblairyep21:42
jeblairand it's an ro-bind, which is good21:42
SpamapSso yeah, we can just add something at the same level of /usr21:42
pabelangerodd, I couldn't get that to work locally then21:43
pabelangerhttp://paste.openstack.org/show/608626/21:43
pabelangerwas the error from ansible21:43
jeblairpabelanger: can you get the full traceback?21:44
pabelangersure21:44
adam_ganyone know if theres a doc similar to https://git.openstack.org/cgit/openstack-infra/system-config/tree/doc/source/logstash.rst that describes jenkinsless zuul / zuulv3 -> logstash publishing ?21:44
jeblairadam_g: we haven't invented it yet.  that task is up for grabs if you want it.21:45
jeblairi'd be happy to discuss a potential design for it21:45
adam_gjeblair: oh! how do things end up in logstash since the migration away from jenkins with v2.5?21:46
jeblairadam_g: v2.5 emits zeromq events.21:46
adam_gah21:47
jeblairvery briefly, v3 should have a post playbook that does this.  it might be as simple as just submitting a logstash job on to the gearman queue.  in fact, that's probably a good place to start.  but later, we might evolve it to do the logstash processing/pushes directly.21:47
pabelangerjeblair: https://fedorapeople.org/~pabelanger/logs.txt of failure21:49
jeblairpabelanger: sorry, i wanted the full traceback.21:49
jeblairpabelanger: "To see the full traceback, use -vvv"21:49
clarkbjeblair: adam_g I would avoid doing logstash processing/pushes directly as any slowdown would impact job throughput21:50
clarkbjeblair: adam_g better to asynchronously schedule that to happen as its able while running as many jobs as possible imo21:50
adam_gjeblair: interesting. may circle back to that when im finished with this thing. is that on the storyboard somewhere?21:50
jeblairclarkb: yes, though if we can get some of that happening on worker nodes, it could be a net win.  there are complications with that.  which is why i think it's a nice thing to think about after we get just translate the event push mechanism in place.21:51
jeblairadam_g: i don't think so; it didn't come up in the critical path to get things running.  but if you wanted to add a story, i think it warrants a place in the backlog.21:53
clarkbthat also allows you to easily queue work while you do things like upgrade logstash/elasticsearch21:53
clarkbwhich is handy21:53
pabelangerjeblair: please refresh21:56
*** hashar has quit IRC21:57
SpamapSisn't logstash kind of built to asynchronously let you stash logs and then it processes them later?21:58
clarkbSpamapS: logstash itself isn't no21:58
pabelangerI think we might need library_dir too?21:58
clarkbits bits in bits out21:58
clarkbtypically though the bits out are a database of some sort that allows you to glean information from whatever went in. statsd, hdfs, elasticsearch, etc21:59
jeblairpabelanger: ah, thanks, that makes sense now.  it's because zuul itself is not installed in the bwrap.  currently, that works because zuul is installed in the testing venv (and in production, it's installed system wide or in a production venv).21:59
* SpamapS is reading now21:59
SpamapSclarkb: yeah I see that.. they just shove what you give them into sync queues21:59
SpamapSso, no workers, no threads, blocking21:59
clarkbyup22:00
jeblairpabelanger: (basically, the zuul ansible plugins import a helper function from zuul itself)22:00
SpamapSweird because that's the opposite of how SOLR worked22:00
clarkbso if you tie that to job post processing you essentially lock up those resources while logstash runs22:00
SpamapSSOLR would just keep accepting writes until you filled up the spool disk22:00
jeblairclarkb: right, which means it's only worthwhile if we are moving that resource contention to something more desirable than a logstash grok farm22:01
SpamapShowever.. gearman is not a good queue22:01
SpamapSit's a good work distribution system22:01
clarkbjeblair: sort of, elasticsearch (or $other output) is still going to be a fixed resources22:01
clarkbjeblair: so ya distributing logstash might sound good until you hit the ES bottleneck22:01
jeblairSpamapS: it's a great queue!  :)22:01
SpamapSbut if the data you're putting into it is precious.. you should have that data somewhere else for re-submission22:01
clarkbSpamapS: its actually worked really well for this22:01
clarkbSpamapS: yes thats exactly how it works. We don't queue the log contents, we queue the jobs that say logs are in archive location foo please index them22:02
SpamapSand if you lose the queue22:02
SpamapSscrape the log locations?22:02
SpamapSor lose the data?22:02
clarkbin our case due to volume we are typically ok with losing a few jobs22:02
pabelangerjeblair: agree. I am not sure how to move forward on that for testing22:02
SpamapSk22:03
SpamapSthen yeah it's good for that22:03
clarkbwe peak at about 1 billion records per day22:03
clarkbif we lose a million thats still tiny22:03
SpamapSso it goes [write local unstructured during job][copy unstructured to archive spot][submit job to process unstructured into logstash] yeah?22:04
clarkbSpamapS: yes22:04
jeblairpabelanger: i think the approach of bind mounting the venv (if it exists) and running ansible-playbook with that path is still a viable solution.22:04
*** smyers has quit IRC22:04
jeblairpabelanger: i believe it would solve that problem.  but we should give SpamapS a second to catch up in case he has other ideas22:05
SpamapScommand: gearman -f logstash_this_log {{ archived_log_path }}22:05
SpamapSjeblair: indeed that's a simple solution, very easy to do.22:06
SpamapSOther option is moving the venv to /usr/local22:06
SpamapSand installing things so the scripts are in /usr/local/bin22:07
jeblairSpamapS: not for real (that would require tests have root), but maybe that could be done with bwrap bind mount trickery?22:07
SpamapSAh hrm. Yeah tests. Hm22:07
SpamapSI am running on E at the moment.. I'm going to take a walk down to the coffee shop and think about this. But bind mounting in an explicit venv just for this seems like the simpler way22:08
pabelangercool22:08
jeblair++22:08
pabelangerI also just left a comment on https://review.openstack.org/#/c/453851/ about binding the home directory of the zuul user, if people want to check it out22:08
pabelangerfeel free to tell me I am out to lunch on it22:09
jesusaurclarkb: logprocessor client is the gearman server, right? so a zuulv3 playbook would do more than emit 0mq events to that client would also have to reimplement the gearman server somewhere?22:13
clarkbjesusaur: gearman is a standalone service you could just emit the job requests to any gearman server the workers were connected to22:14
clarkbjesusaur: in our case the logprocessor client of 0mq is also the gearman server for simplicity but you can just use whatever22:14
jesusaurclarkb: oh true, the only thing that would need to be re-implemented is formatting the job metadata before making the gearman request22:18
clarkbyup22:18
jeblaira post-playbook is well positioned to do that22:18
*** smyers has joined #zuul23:03
SpamapSNote that usually you don't want "the gearman server" but "the gearman servers" ;)23:16
SpamapSclarkb: pabelanger Not sure the ssh-agent thing will work due to perms. Definitely interested in seeing if it does, but might be easier to just have that private key bind mounted into a place where we need it inside the bwrap.23:19
SpamapSKind of makes me think that SSH keys should be generated and fed in dynamically honestly. Otherwise an evil check job may print the private key that Ansible uses.23:21
Shrewsdmsimard: i know nothing about tower23:21
SpamapSdmsimard: the demo I saw of Tower did just that, yes.23:21
jlkIs there a method to add a new untrusted-project to configuration?23:21
clarkbSpamapS: ya that was the other possibility pabelanger was exploring. I expect entropy to potentially be a problem though23:23
clarkbespecially in all these virtual environments23:23
SpamapSjlk: you edit the config and land it as a - project:23:25
jlkyeah I'm enabling a test that I think wants to use a project that didn't initially exist when the config was loaded23:25
SpamapSerr, an untrusted-projects I mean :-P23:26
jlkalthough now that we init_repo all over the place, I'm not sure what value this test has23:26
SpamapSjlk: tests/fixtures/config/zuul-connections-multiple-gerrits/main.yaml might help ?23:26
jlksure, I can write out a new one and tell zuul to load it, with a new project defined in there, then init the project23:27
jlkbut ... wha tis this actually testing, since that method gets used all over the place23:27
SpamapSjlk: OH, I think I understand.23:27
jlkI think this test was before we required all the repos be pre-known, and so it was just testing "hey a new repo showed up, can you do something with it"23:28
SpamapSjlk: there's a bunch of tests in test_scheduler that do self.commitConfigUpdate that might shed light on how mechanically to do it in tests?23:28
jlkyup23:29
jlkI'm reading the original commit message to see what the thinking was on this test23:29
SpamapSclarkb: haveged, for the most part, produces all the entropy you should need for htis.23:31
clarkbSpamapS: ya wans't sure if it would or not, said would need to be tested. I do know without it key generation is basically a no go in many envs23:32
clarkbran into that with pbr's gpg testing23:32
SpamapSYep23:32
SpamapSThus far, haveged's methods have not been disproven or even pu-pu'd by mathematicians.. but I don't know how hard the cryptography community is really looking23:32
jlkjeblair: so I'm looking at test_delayed_repo_init test, which was introduced with 287c06dca6982b7c5b4e67c7d90e4da20adf02e3  WHat it's trying to do, I don't think is possible, because if we put the repo in tenant config, we try to read from it when loading the config. If the repo doesn't exist, kaboom.23:47
jlkjeblair: I could init the repo, load a new tenant config, and things should "work" but that doesn't seem to be the spirit of the test/feature.23:48
jlkjeblair: I wonder if this test needs to go away, or if I'm not seeing the intent correct.23:55
jeblairjlk: looking23:55

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