Wednesday, 2017-10-11

openstackgerritIan Wienand proposed openstack-infra/zuul-jobs master: zuul-cloner-shim: Use st_dev to check for filesystem  https://review.openstack.org/51107900:02
*** xinliang has quit IRC00:23
*** xinliang has joined #zuul00:35
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Switch statsd config to zuul.conf  https://review.openstack.org/51101700:43
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Emit some stats from executor  https://review.openstack.org/51107300:43
*** jkilpatr has quit IRC01:10
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Emit some stats from executor  https://review.openstack.org/51107301:35
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Emit some nodepool stats  https://review.openstack.org/51108501:35
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Switch statsd config to zuul.conf  https://review.openstack.org/51101701:38
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Emit some stats from executor  https://review.openstack.org/51107301:38
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Emit some nodepool stats  https://review.openstack.org/51108501:38
*** pleia2 has quit IRC02:43
*** maxamillion has quit IRC02:43
*** maxamillion has joined #zuul02:45
*** pleia2 has joined #zuul02:50
openstackgerritMerged openstack-infra/zuul-jobs master: Add upload-npm role  https://review.openstack.org/51068604:08
openstackgerritMerged openstack-infra/zuul-jobs master: zuul-cloner-shim: Use st_dev to check for filesystem  https://review.openstack.org/51107904:08
*** openstackgerrit has quit IRC07:03
*** hashar has joined #zuul07:24
kklimondashould zuul load new configuration from its config-projects when running new jobs, or is it expected that changes made to repos defined in config-projects are not picked until we reload zuul configuration08:37
*** electrofelix has joined #zuul08:45
*** hashar is now known as hasharAway09:50
*** pbrobinson has quit IRC10:29
*** pbrobinson has joined #zuul10:31
tobiashkklimonda: config repo changes are picked up on merge10:43
kklimondatobiash: that assumes that config repo is being driven through zuul?10:44
tobiashkklimonda: you just need to get the merge event10:48
*** jkilpatr has joined #zuul10:49
kklimondaand another question - for config projects, master branch is hardcoded (I assume for security reasons) but that makes it hard to have two environment (one for production zuul and one for staging zuul). Is there anything preventing us from expanding tenant config to point which branch should zuul pull config from?10:52
*** mrhillsman has quit IRC11:03
*** mattclay has quit IRC11:03
*** mrhillsman has joined #zuul11:05
*** mattclay has joined #zuul11:06
*** dkranz has joined #zuul12:38
*** hasharAway is now known as hashar13:01
mordredkklimonda: I do not know the answer to that question - I believe we'll need to talk to jeblair about that13:15
mordredkklimonda: I *think* it should be possible - but it's not a scenario that has come up before, at leats not in my brainhole13:15
*** hashar is now known as hasharAway13:55
jeblairkklimonda, mordred: i think we can expand the tenant config to specify the branch (or tag, or other ref) used for config-projects.14:03
mordredjeblair: cool. that was my first thought - but then I worried about implied branchmatchers- then I realized that's not an issue for config projects - then I confused myself :)14:16
jeblairmordred: ya, i think that's all correct.  including the confusing yourself bit.  very important.14:17
*** openstackgerrit has joined #zuul14:17
openstackgerritPaul Belanger proposed openstack-infra/zuul-jobs master: Also add security.list for Debian on configure-mirror  https://review.openstack.org/51125314:17
mordredjeblair: it's theMOST important14:18
*** bhavik1 has joined #zuul16:09
*** weshay is now known as weshay|ruck16:32
*** bhavik1 has quit IRC16:43
openstackgerritMerged openstack-infra/zuul-jobs master: Also add security.list for Debian on configure-mirror  https://review.openstack.org/51125316:54
dmsimardis v3 publishing to mqtt with https://github.com/openstack-infra/system-config/blob/master/modules/openstack_project/files/puppetmaster/mqtt.py ?17:42
mordreddmsimard: pabelanger started work on an mqtt reporter plugin I believe, but we've got it on hold until post rollout17:43
dmsimardmordred: ok so we wouldn't be using the callback then ?17:43
pabelangeryup, pending rollout I was going to get back into it17:44
mordreddmsimard: no - we are not17:44
dmsimardmordred: ok.17:44
dmsimardFWIW TripleO is trying to do something with ara and graphite https://review.openstack.org/#/c/479882/7/roles/collect-logs/library/ara_graphite.py17:46
jeblairdmsimard: neat, though i don't think that's going to work since we firewall the graphite server to specific hosts17:47
dmsimardjeblair: tripleo has their own graphite server :(17:47
pabelangerYa, I am not impressed that is a thing17:48
dmsimard+117:48
jeblairdmsimard: this is maybe a conversation for #openstack-infra17:48
dmsimardsure, I was rabbit holed' into graphite/stats/callback things17:49
*** electrofelix has quit IRC17:55
mordreddmsimard, jeblair: on a day that is not today, I think there's 5 potentially interesting things we could explore or discuss related to that conversation: a) mqtt zuul reporter b) statsd/graphite stats as ansible callback in the ansible run by zuul c) mqtt events as ansible callbacks in the ansile run by zuul d) how to best incorporate such things (mqtt, statsd, ARA) from ansible run on remote nodes as part of18:06
mordredjob content e) how best to incorporate things like statd counters from non-ansible remote node content (like the SpamapS spec)18:06
dmsimardright, and there's some overlap too.18:08
jeblairi agree those are among the things to discuss.  :)18:08
dmsimardI've had people ask me to make ara export things to graphite, influx and elasticsearch and so and so, while there are perhaps "native" ansible callbacks to do that18:08
mordredyes indeed - as well as some pieces that I legitimately do not know the right answer to - d and e come to mind18:08
SpamapSdmsimard: just a personal opinion here: If you could make ARA more interactive.. I'd support you ignoring everything else that everyone asks you to do with it. ;)18:09
dmsimardSpamapS: interactive?18:10
SpamapSdmsimard: yes, my people would like to watch runs as they happen.18:10
dmsimardSpamapS: I suck at frontend but happy to review contributions :D18:11
dmsimardSpamapS: the data is there (updated in the database as the playbook progresses), the fact that it's not updated in the realtime in the UI is a frontend thing18:11
jeblairdmsimard: you know you're not fooling anyone.  no one believes you when you say you suck at frontend.  or anything really.  :)18:12
dmsimardjeblair: if only you knew how much copy pasta was involved in the making of the UI :D thanks god for stackoverflow and code snippets from http://www.patternfly.org/pattern-library/18:12
pabelangerYah, you suck much less at frontend them me :)18:13
dmsimardI mean, mnaser is a pro, he went like "no you can't nest a link inside a button" like yeah, that's super obvious :p18:13
mnaserhi18:13
* mnaser reads buffer18:13
dmsimardmnaser: nothing important lol18:13
mnaseroooh18:14
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Switch statsd config to zuul.conf  https://review.openstack.org/51101718:14
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Emit some stats from executor  https://review.openstack.org/51107318:14
mnaserthat would be cool18:14
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Emit some nodepool stats  https://review.openstack.org/51108518:14
mnasera small instance of ara that runs on ever worker node18:14
mnaserwhich you can enter to see what it's doing18:14
*** hasharAway is now known as hashar18:14
dmsimardjeblair: on the other hand, you rock at doing console graphics with presentty and gertty :p18:15
dmsimardmnaser: yeah, I suspect we'll want some other way of presenting ara reports. static reports are nice but not very efficient.18:16
SpamapSmy dream Ansible experience is that currently running playbooks are shown with the current task, and if clicked, show the streaming output of any commands.18:21
mordredSpamapS: I think we can make the plumbing of a lot of that happen18:22
SpamapSmordred: I think we kind of already have. :)18:22
SpamapSjust needs tying together18:22
mordredSpamapS: well -I meant in an upstream-ansible-enabled kind of way18:22
SpamapSmm yes18:22
mordredSpamapS: thething we're doing for streaming output is ... well, there are some other things I intend to explore as soon as I've got time to explore them18:22
mnasersounds so web 2.018:22
mnaser:-P18:22
mordredmnaser: I'm still trying to catch up to web 0.518:23
mnaser:P18:23
* SpamapS is webscale18:23
dmsimardSpamapS: tower does that I think18:23
dmsimardSpamapS: but it's also able to do that by doing a lot of invasive things18:24
dmsimard(that ara doesn't do, ofc, ara is super transparent)18:24
mordreddmsimard: except without the output streaming - the tower folks are also interested in that being a thing in ansible sothey can use it too18:24
dmsimardmordred: s/output/task output/18:24
dmsimardmordred: you can stream the playbook stdout, but not the task output18:25
dmsimardat least iirc18:25
dmsimardwell, not any different than what you'd see if you ran ansible in your terminal, I mean18:25
mordredyes - just like the command line- it's stremaing task output that makes it even more exciting18:25
mordredspeaking of - the tower architecture for executing ansible playbooks is REMARKABLY similar to ours - they git clone stuff into work dirs then run the ansible in a bubblewrap :)18:26
dmsimardoh yeah ? they use bubblewrap too ? huh.18:26
dmsimardI didn't dig at the code too much, only saw their ara callback equivalent using memcached and I slowly turned away18:27
pabelangerYa, but last I heard, they want to stop using it18:27
pabelangeratleast talking to tower folks (matt?) at ansiblefest SF18:27
mordredpabelanger: they want to stop using bubblewrap?18:41
pabelangermordred: ya, they were talking about moving to another container, trying to remember what it was18:42
mordredpabelanger: I'm guessing OCI18:43
Shrewsmore importantly, what are their reasons for wanting to stop? maybe they know things we do not18:43
pabelangerya, I asked if it was because of something specific in bwrap, but IIRC, the response was just wanting something more embrased in the community.18:44
pabelangernot many things are using bwrap18:44
pabelangermordred: could have been OCI, but not certain18:44
pabelangersomething, something, openshift?18:45
pabelanger_shurgs_18:45
dmsimardShrews: fyi 2.4.1rc1 should land today and release wednesday next week if there are no slips18:46
SpamapSmordred: haha bubblewrap too, that's awesome. ;)18:48
SpamapSIt's probably so they can just point at a k8s and not worry about executor load.18:48
dmsimardSpamapS: so you'll have to run k8s if you want to run tower ? :/18:50
dmsimardhopefully it's an optional backend, I suspect that might turn some people off18:50
mordreddmsimard: woot!18:52
Shrewsdmsimard: yup. will have to get mine and mordred's changes for 2.4 in after cutover18:58
mordredShrews: wait - we have changes for 2.4 still pending?18:59
mordredShrews: OH18:59
mordredthezuul changes18:59
mordred*duh*18:59
Shrewsmordred: https://review.openstack.org/50535418:59
Shrewsi think dmsimard left a question for you there18:59
Shrewsyeah, zuul19:00
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Switch statsd config to zuul.conf  https://review.openstack.org/51101719:02
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Emit some stats from executor  https://review.openstack.org/51107319:02
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Emit some nodepool stats  https://review.openstack.org/51108519:02
kklimondaso, a crazy thought - should I expect job variants to work with job inheritance, where child jobs will pick a matching parent variant? something similar to https://gist.github.com/kklimonda/0de97f5bbb9551f86f75223caf21988019:14
dmsimardkklimonda: you can't redefine a job more than once19:15
dmsimardkklimonda: unless I'm missing something, there's 3 'job-base' jobs defined19:15
kklimondadmsimard: those are job variants - basically job overloading? ;) You can define jobs that share name, but have different criteria for selection, and zuul will pick the right one. But I think I'm expecting too much by asking zuul to pick the correct parent job variant, and I'm wondering if that's a bug, an expected behavior, or a limitation.19:19
mordredkklimonda: I *think* that should work ...19:20
mordredjeblair: ^^19:20
dmsimardkklimonda: hmm, interesting, I didn't expect that to work but I see where you're going19:21
jeblairkklimonda: yeah, line 17 is only going to inherit from line 219:22
kklimondaindeed, that's what is happening19:23
mordredah - I was wrong. cool. I learned something today19:23
jeblairit's... conceivable we could change that.  we'd have to make inheritance later binding (like variance).  but for the moment at least, this is the intention.19:23
jeblairit doesn't look like that made it into the documentation though :)19:24
Shrewswe do have a discussion on variants and matching in https://docs.openstack.org/infra/zuul/feature/zuulv3/user/config.html?highlight=variant#job19:25
jeblairyeah, and we even mention the 'reference definition' but don't really indicate what's so special about it.  :)19:26
jeblairi wonder if we should reverse the order of discussion of variance and inheritance, then mention the reference definition in the inheritance pgraph19:27
dmsimardIt's not the first way I'd think about defining job variants19:28
dmsimardAs in, it's probably not intuitive to write things that way. My reflex would be to do like we do now, have a base job and then define "variants" as different jobs inheriting from the parent job. I guess the use case is not super obvious to me.19:29
mordreddmsimard: I could see having a thought like "the stable/newton branch of the devstack base job should run on ubuntu-trusty while the master branch should run on ubuntu-xenail"19:34
mordredand having people who consume the devstack base job expect that information to make it into their child jobs19:34
dmsimardI might be stuck in the concept of 'the name of the job must describe what it's doing and what it's running on'19:35
dmsimardWhat we're talking about here is making what is ultimately a single job do different things19:36
dmsimard¯\_(ツ)_/¯19:36
kklimondadmsimard: with jobs variants my project has only one job "package-build-xenial", but with inheritance I'd probably need separate jobs "package-build-xenial-R4.0" and "package-build-xenial-master" with branch filters.19:36
dmsimardkklimonda: but you end up having to define those anyway right ? the only thing you might be saving on is the project layout definition ?19:37
kklimondadmsimard: indeed, although that save can be substantial - If I ever finish the migration we're talking about defining 5 jobs per project vs 25 jobs per project.19:40
dmsimardkklimonda: I have to step away momentarily but you got me curious and I must dig deeper to better understand the use case :)19:41
*** harlowja has quit IRC20:00
jeblairmordred: yeah that's a pretty compelling case for late-binding inheritance20:13
jeblairdmsimard: i don't think the name of the job should describe what it's running on.  it should just describe what the job does.  how it does it may be different on different branches.  recognizing that is pretty fundamental to zuulv3 and it's why we have variants.20:16
dmsimardjeblair: It's probably down to personal preference, but I understand how people could prefer otherwise. For me the cost of having a more explicit job name outweighs the cost of having to go *inside* the job to figure out what actually ran20:24
dmsimardkklimonda: I'm back and I ran with your gist because I want to make sure I understand the use case, unless mistaken, do we agree that all 3 files in https://gist.github.com/dmsimard/b5a85109cffde40c5e6699bdc4e5c2d1 are equivalent ? (Your example is the first one)20:25
dmsimardwait no, silly gist ordering, your example is 'original.yaml'20:28
jeblairdmsimard: there's a certain amount of personal preference involved, but there's also very clearly a use case that zuulv3 was designed to support.  and that is:  "the single job tox-py27 should use a trusty node on this branch, and a xenial node on this other branch".20:30
jeblairso i want to be very clear that is absolutely a first-class thing, and we should discourage no one from doing that, or suggest it's any kind of advanced feature.20:30
jeblairit's the third example in the zuulv3 spec: http://specs.openstack.org/openstack-infra/infra-specs/specs/zuulv3.html#jobs20:31
jeblair(though that calls them "aspects" rather than "variants" -- things evolved slightly in implementation)20:32
dmsimardjeblair: Yeah, I didn't realize this was a thing until earlier, thanks. I haven't yet encountered that use case but if I did (before knowing this), my first reflex as an end user would've been to do separate jobs based off of a parent like this: https://gist.githubusercontent.com/dmsimard/b5a85109cffde40c5e6699bdc4e5c2d1/raw/d790b3c807fe322933db0126acb205716c734b9c/no-templates.yaml20:35
jeblairdmsimard: well, hopefully we'll improve the docs to the point where people know how to use variants.  it's a tool to simplify the config and reduce repitition, so that example can be written as http://paste.openstack.org/show/623381/20:41
dmsimardjeblair: right, it's pretty powerful.20:42
*** dkranz has quit IRC20:44
jeblairso i think the actionable feedback here is that we may have users that expect that variants apply to items in the inheritance chain.  we should decide whether that's something that's safe to do, whether it's more or less confusing than the current state, and then either implement support for it, or document the status quo better.20:46
jeblairi'm not in a good position to consider that carefully right now, and it's not a trivial change to config loading.  so i will, at least, personally be sleeping on that one.  :)20:47
*** jkilpatr has quit IRC20:50
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Switch statsd config to zuul.conf  https://review.openstack.org/51101721:06
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Emit some stats from executor  https://review.openstack.org/51107321:06
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Emit some nodepool stats  https://review.openstack.org/51108521:06
SpamapSjust a note, it might be an excellent teaching tool to include exactly those two things in an in-depth "getting started" guide.21:06
SpamapS"You might think you would have to ...{dmsimard's thing}. But it's simpler! You just need to {jeblair's thing}"21:07
mordredSpamapS: "dmsimard wrote two jobs ... you'll never guess what happened next!"21:07
dmsimardsimpler is relative (or subjective), shorter would be an appropriate term :p21:07
*** harlowja has joined #zuul21:07
kklimonda@dmsimard yes, all 3 are equivalent and I agree it's just a matter of preference - although jebrail's example show how job variants have a slight edge (but again, it's probably a matter of perspective ;))21:08
dmsimardSpamapS, mordred: but yes, we could totally take one set of jobs and write them in different ways which makes them equivalent a bit like I did here https://gist.github.com/dmsimard/b5a85109cffde40c5e6699bdc4e5c2d121:09
dmsimards/write them/document them/21:09
dmsimardalthough it's already well explained in the docs if you pay attention :)21:10
kklimondabtw, will zuul ignore jobs that don't match the branch completely, and not report back "SKIPPED"?21:10
dmsimardkklimonda: correct21:10
jeblairyeah, skipped is only for job dependencies not met, or similar.21:11
jeblairlike, the upload job was skipped because the build job failed21:11
*** jkilpatr has joined #zuul21:27
*** hashar has quit IRC21:37
SpamapSmordred: I so want to see all new user guides written as clickbait21:55
clarkbYou'll never believe what monty did to your zuul configs!21:55
*** jkilpatr has quit IRC21:57
*** jkilpatr has joined #zuul21:57
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: WIP: experiment with late-binding inheritance  https://review.openstack.org/51135223:28
jeblairkklimonda, dmsimard, mordred: ^ that's not a decision; that's part of my thought process.23:28
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: WIP: experiment with late-binding inheritance  https://review.openstack.org/51135223:31
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Use weakref for change cache  https://review.openstack.org/51135523:45
jeblairjlk: ^ i haven't tested that yet, but think it may be of interest23:45
jlkohai23:45
jlk"holf references" lol :D23:46
jeblairjlk: wow.  i don't know what that means, but it really does sound exactly like what it does.  :)23:47
jlkthat looks like it would work23:49
jlknothing in github seems to delete an item from the cache though. Maybe that's okay?23:50
jlkwait, no23:51
jlkWe do the deletion as well in github, but apparently done in a way that was more compatible with the weakref than gerrit was?23:51
jeblairjlk: i think the only explicit deletions right now are on errors (ie, don't put a broken change object in the cache)23:52
jeblairjlk: and yeah, we had a two-layer cache in the gerrit driver, so i changed it to use the one-layer (with a tuple as key) like the github driver23:52
jlkgotcha23:53
jeblairwe might actually be able to promote some of this up an api level; i haven't thought that all the way through yet23:53
jeblairthough it is now so simple i'm not sure that'd get us much :)23:53
jlkheh23:57

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