Thursday, 2017-06-08

openstackgerritJamie Lennox proposed openstack-infra/zuul feature/zuulv3: Expose buildset to the executor and url formatter  https://review.openstack.org/46345701:06
openstackgerritJamie Lennox proposed openstack-infra/zuul feature/zuulv3: Add tenant to url formatting.  https://review.openstack.org/46362801:06
*** jamielennox is now known as jamielennox|away02:04
*** jamielennox|away is now known as jamielennox02:15
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Allow per-repo selection of configuration classes to load  https://review.openstack.org/47200902:36
jeblairSpamapS, mordred, pabelanger: ^ that is the last thing on my list of things that must be done before we start to scale out use.  :)02:38
jeblair(turns out it wasn't a breaking change after all)02:38
mordredjeblair: yay!02:47
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Allow per-repo selection of configuration classes to load  https://review.openstack.org/47200902:49
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Allow per-repo selection of configuration classes to load  https://review.openstack.org/47200903:32
openstackgerritJamie Lennox proposed openstack-infra/zuul feature/zuulv3: Expose buildset to the executor and url formatter  https://review.openstack.org/46345703:53
openstackgerritJamie Lennox proposed openstack-infra/zuul feature/zuulv3: Add tenant to url formatting.  https://review.openstack.org/46362803:53
*** smyers has quit IRC04:18
*** smyers has joined #zuul04:52
openstackgerritJamie Lennox proposed openstack-infra/zuul feature/zuulv3: Strip not split the untrusted_wrapper  https://review.openstack.org/47206605:04
*** jamielennox is now known as jamielennox|away05:12
*** jamielennox|away is now known as jamielennox05:19
*** jamielennox is now known as jamielennox|away05:56
*** jamielennox|away is now known as jamielennox06:03
openstackgerritTristan Cacqueray proposed openstack-infra/nodepool feature/zuulv3: Add webapp port and listen_address configuration  https://review.openstack.org/47212807:54
*** hashar has joined #zuul08:11
*** isaacb has joined #zuul08:34
*** jkilpatr has joined #zuul10:59
*** jkilpatr has quit IRC11:00
*** jkilpatr has joined #zuul11:00
*** dougbtv_ has quit IRC11:08
mordredjeblair: yah - I shoud have mentioned - the 5th patch doesn't work11:25
mordredjeblair: I do not know WHY the 5th patch doesn't wor11:29
mordredwork11:29
mordredjlk: thought for the gerrit refUpdated event question ... I wonder if we could ask the mergers.11:32
mordredjamielennox: I swear - in https://review.openstack.org/#/c/463457/5/zuul/executor/client.py the dict has tenant= and project= ... and it NEVER gets unfunny to me in my head11:36
mordredalthough I suppose it's https://review.openstack.org/#/c/463628 that's the actual funny one11:37
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Extend in-repo config update support to github  https://review.openstack.org/47147711:41
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Re-enable test_worker_update_metadata  https://review.openstack.org/46866711:42
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Re-enable test_merge_failure_reporters  https://review.openstack.org/46866811:42
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Fix race in test_crd_gate_unknown  https://review.openstack.org/47183311:43
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Move log streaming to share with zuul_console  https://review.openstack.org/47192111:45
Shrewsmordred: yeah, 1 copy of the streaming code seems logical12:24
openstackgerritTristan Cacqueray proposed openstack-infra/nodepool feature/zuulv3: Add webapp port and listen_address configuration  https://review.openstack.org/47212812:36
*** jroll has left #zuul12:52
mordredShrews: if only it worked :)13:00
*** yolanda has quit IRC14:24
jlkmordred: right, it'd take some git activity to figure out what changed, since gerrit doesn't expose it in the data.14:24
*** yolanda has joined #zuul14:28
*** GheRivero has joined #zuul14:36
jeblairSpamapS, pabelanger: can you take a look at https://review.openstack.org/472009 ?14:41
*** dkranz has joined #zuul14:41
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Add a test which exercises a speculative role checkout  https://review.openstack.org/46267714:57
*** hashar has quit IRC15:17
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Add tenant to url formatting.  https://review.openstack.org/46362815:25
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Expose buildset to the executor and url formatter  https://review.openstack.org/46345715:26
jeblairi'm heading out to an appointment, biab.15:49
SpamapSjeblair: reviewing 472009 .. I don't see how the tenant-parser fixture ever gets used.16:00
SpamapSpabelanger: tox-cover doesn't actually copy the coverage report to the logs server btw.16:04
*** isaacb has quit IRC16:07
*** jkilpatr_ has joined #zuul16:33
*** jkilpatr has quit IRC16:36
mordredSpamapS, pabelanger: we have several artifact copying things I think we can do better on :)16:50
SpamapSmordred: that reminds me that we need to spec out the "drop a json file that zuul reads or feeds to dependent jobs" thing16:57
SpamapSI think things like golang will need it16:57
SpamapSso you can build an artifact, drop it somewhere, and then feed that location to the dependent jobs16:58
SpamapSCD will want that too16:58
jlkspeaking of future looking16:58
mordredSpamapS: yes - we do need to do that16:59
SpamapSI want to also get it written down so I can be present-focused and get this stuff done. :-P16:59
* jlk needs to find that presentation he saw regarding azure16:59
mordredSpamapS: speaking of - this: https://review.openstack.org/#/c/471891 is in that general area and is ready for review ;)16:59
mordred(well, and the three ones it depends on)17:01
mordredSpamapS: I mean, it's not actually related - but it's in the area of executing ansible - so it's MILDLY related ;)17:01
jlkhttps://www.linuxfestnorthwest.org/2017/sessions/continuous-delivery-microsoft-azure-docker-through-codeship  was the session, it kind of explained  a bit of how codeship worked, and how resources could be created in one step and used in later steps, somewhat visually. It was an interesting watch.17:04
jlkbut I can't find easy docs that explain it in a quick search.17:04
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Strip not split the untrusted_wrapper  https://review.openstack.org/47206617:07
* jlk peeks at monty's stack17:07
mordredalso - if anybody can spot why patch 5 in that stack doesn't work, I will give you a fatted calf17:07
jlkI feel like "daemon-stamp" is the Unix version of a "tramp-stamp"17:10
mordredjlk: ++17:10
openstackgerritClint 'SpamapS' Byrum proposed openstack-infra/zuul feature/zuulv3: Add coverage artifacts to .gitignore  https://review.openstack.org/47235317:16
clarkbfwiw I really really wish we had a better story for shared storage in $clouds17:16
clarkba manilla filesystem with a bunch of RO clients or even a cinder volume with a bunch of RO attachers would solve these problems fairly neatly if we constraints a "flow" of jobs to a region17:17
SpamapSclarkb: what's your issue with swift?17:17
clarkbSpamapS: it requires a lot more overhead to use and is deployed in clunky ways (like at rackspace)17:17
clarkbSpamapS: all of a sudden to use swift properly you have to figure out dns for every container for example17:17
SpamapSThat overhead is client side, for sure, but it should result in extremely low costs overall.17:17
SpamapSdns for containers wut?17:18
clarkbits also not in every compute cloud17:18
* SpamapS is a little naive on this17:18
clarkbSpamapS: yes that is how rackspace has deployed their swift "public" access requires CDN which requires DNS records17:18
SpamapSI've used rackspace's and softlayers swift primarily.. they both worked about the same.17:18
SpamapSNot in every compute cloud isn't a problem though.17:18
SpamapSI mean it's faster if it's closer.17:18
clarkbSpamapS: it is if someone wants to deploy zuul and they don't have a swift17:19
clarkbgranted manialla and cinder aren't there either17:19
jlkswift is a HUGE cost to implement17:19
SpamapSThere are a few big swifts17:19
SpamapSall with nice fat pipes17:19
SpamapSand low prices17:19
SpamapSalso you can s3 each cheaper17:19
SpamapS(which isn't a terrible idea)17:19
clarkbSpamapS: s3 each cheaper?17:19
SpamapSs/each/even/17:19
clarkbovh is cheaper than s3 fwiw17:19
clarkblike significantly17:20
SpamapSOh that's great to hear17:20
SpamapSI have not looked at their swift17:20
SpamapSbut I imagine their region mix may not be as good as s317:20
clarkbthey are cheaper for compute too :)17:20
SpamapSI knew their compute was cheaper. Which is \o/ btw. :)17:20
clarkbthis message comes to you from a $3.50/month compute instance :)17:20
SpamapSDo they offer native v6?17:21
jlkI should consider OVH when I am forced off of the blue box cloud I have things parked on17:21
clarkbSpamapS: they do17:21
SpamapSbecause I want to v6 my stuff but my current very cheap bro-priced VPC that I run all my stuff on is dragging their feet on v617:21
clarkbSpamapS: its a little weird to setup as its through their legacy dashboard that you get the info17:21
clarkbbut it works17:21
SpamapSand I'm too lazy to make a tunnel :-P17:21
clarkband you have to statically config it on the instance after looking at their dashboard and docs17:22
SpamapSclarkb: that's always a problem for network subnet allocation though, since Neutron doesn't have a "buy more addresses" feature that makes sense.17:22
SpamapSoh17:22
clarkbso clunky but functioanl. I poked them about it in boston as something i'd like to be easier17:22
SpamapSThat weird.17:22
clarkbSpamapS: uh17:22
SpamapSI was hoping it would just get you a v6 subnet to use in neutron.17:22
clarkbneutron absolutely has a featuer that makes sense for that17:22
clarkbits quite awesome17:22
clarkbsubnetpools17:22
openstackgerritDavid Shrewsbury proposed openstack-infra/zuul feature/zuulv3: Correct location of ansible log file  https://review.openstack.org/47235517:22
Shrewsmordred: not sure if that ^^^ affects any work you are doing17:23
clarkbwas just playing with it in citycloud, its such a nice way to set this up17:23
SpamapSin 10 minutes, clarkb has taught me more about the state of OpenStack's APIs than I have learned in 1 year of skimming the ML and docs. ;-)17:23
mordredShrews: it'll conflict with patch 5, but that doesn't work anyway17:23
SpamapSclarkb: that's pretty awesome17:23
clarkbbasically you say "give me a subnet and allocate it from the global ipam"17:23
SpamapSsomebody should shake their fist at OVH and tell them to do that.17:23
mordredyup. it's amazing. we need more people to enable it in their deployments17:23
clarkband neutron hands you back a /24 or /64 or whatever its configured to give out17:23
clarkbthen you add it to a network and a router and bam17:24
mordredShrews: but it shouldn't impact the others17:24
jlkI'd get Blue Box to do that, but WELP.17:25
mordredoh - well, it'll conflict with one of the othres - but in a minor way17:25
mordredsuper easy to fix/align whichever lands first17:25
clarkbanyways using swift is significantly more overhead to use than a filesystem or even a block device imo.17:25
Shrewsmordred: well, your changes conflict with what I have locally, so I'll call it even17:25
clarkbI think its great if you are able to build an entire application about it and need globally distributed redundant files17:25
mordredit's possible that once we get into artifact transfer between jobs that it'll be more useful for us (since it's a targetted use case we totally control) than it was for log publication17:27
SpamapSclarkb: from a node perspective, yes, much simpler to do shared filesystem. From a cloud perspective, much cheaper to support simple object storage like s3/swift/etc.17:27
mordredalthough we _also_ need to have support for simple shared fs so that local zuul deployments don't grow an object store hard requirement17:27
SpamapSLess shared infrastructure, mountains of fault tolerance, and very few guarantees to support.17:27
SpamapSAnd for CI needs, I actually think it's the perfect fit.17:28
clarkbmordred: right thats what I was saying17:28
clarkbbasically can't rely on object storage existing for $user17:28
mordredyup17:28
SpamapSBut if swift providers are standing in their own way... :(17:28
clarkbSpamapS: just double checked ovh swift is half the price of s3 per GB and about the same on network transfer $.011/GB ovh vs $.01/GB s317:28
clarkbI know they have been active with upstream swift dev too so they likely understand the system very well17:29
SpamapSand I do agree that if you have like, one exector and 1 cloud and you just want to scp files between jobs, that should work w/o a swift.17:29
SpamapSexecutor17:29
SpamapSwhich is basically how the jenkins artifacts plugin works17:29
mordredSpamapS: yah. I think the MOST important thing is that we have a good interface for expressing artifacts to base jobs17:30
clarkbanother difficult thing with swift (and maybe I just haven't spent enough time writing tooling to do it :/) is quickly auditing your utilization of the resource17:30
mordredthen if the transfer mechanism is swift or rsync or whatever, its' all good17:30
clarkbyou basically have to maintain your own index for everything production like17:30
SpamapSmordred: yeah, it's more important that we abstract this so you just write a job and put files somewhere and then zuul and the playbooks make artifacts appear. :)17:30
mordredclarkb: utilization in terms of "how much do I have stored?"17:30
mordredSpamapS: EXACTLY17:31
clarkbmordred: how do I have stored, who/what stored it, when will it be expired, etc17:31
clarkbmordred: at a container level you can get really high level aggregate info17:31
mordredclarkb: yup. but for moar deets you need to walk the tree17:31
clarkbbut otherwise you have to basically list every single object, collect the metadata from each, and then do things with it17:31
mordredclarkb: to be fair - youhave to do that with filesystems too17:31
clarkbvs say `find`17:31
clarkbnot really17:32
clarkbat a syscall level you might do the equivalent, but its basically write a one liner in find and done17:32
mordredI mean, we could write a find equiv for swift in short order if we wanted to17:32
clarkbthe hard work is already solved for you17:32
jlkWhat if we just stuff objects as base64 encoded "strings" in zookeeper, so that they can be grabbed by any zoo client?  (I'm not serious)17:32
mordredright. I meant at the syscall level17:32
clarkbmordred: right I'm saying I shouldn't have to :P17:32
SpamapSTravis has a nice mechanism for utilizing S3 for artifacts btw. You just config an environment variable on your github repo and they use it to push to S3. And then you setup an expire policy in S3 for those creds + that bucket and viola! you have a rolling bucket of the last few months of artifacts.17:32
mordredclarkb: sure :)17:32
SpamapSOf course, Travis doesn't have pipelines17:33
SpamapSso those artifacts are for "I wonder why that job failed in that way, I want to look at the binaries / test logs / etc"17:33
mordredSpamapS: I imagine we could set up that exact thing17:33
mordredshould we desire17:33
jlkwe could, that's useful for end user storage and retrieval of artifacts17:33
jlkbut not for system proliferation of artifacts during builds17:33
mordredagree17:33
SpamapSso unfortunate that the words 'swift' and 'container' are not unique to OpenStack's swift :-P17:34
SpamapShttps://docs.openstack.org/developer/swift/overview_expiring_objects.html btw17:34
clarkbSpamapS: how do you browse that though?17:34
clarkbSpamapS: ^ this was the problem we ran into first when we tried swifting all the build artificats17:34
SpamapSclarkb: the bucket is setup for public read access17:34
clarkbits 12TB compressed for ~6 weeks now17:35
clarkbso its basically unbrowsable on its own17:35
mordredSpamapS: browsing/nagivating is the bigger problem - although the auto-expire is cool17:35
clarkb(and we did use auto expire and it was a nice feature indeed)17:35
pabelangerSpamapS: ya, likely need to add the copy report part still. I can look at that shortly17:37
mordredSpamapS: browse is made harder for us because given job uploads its logs independently17:37
mordredSpamapS: so while a job can produce an index for the files it's uploading - there is nothing in a position to do so for browsing all the jobs for a given change17:38
mordredSpamapS: (this is one of those things where notmyname would say "oh, you can just..." and then we'd work on it with him for a bit then he'd be like "oh, gotcha... yah, you're going to have to implement a layer on top"17:38
jlkmordred: I have one immediate theory as to why patch 5 fails, we may be totally unprepared for use of Ansible 2.3 instead of 2.0.0. There's a fair amount of delta between the two. Our module replacements and plugins may be failing.17:40
jlk(I haven't looked at the logs)17:40
SpamapSmordred: interesting17:41
mordredjlk: unfortunately it fails local testing with simple playbooks - so it's more fundamental17:41
jlkk17:41
mordredjlk: the BEST part is that a previous iteration of that patch did work ...17:41
jlkeww17:41
mordredjlk: but when I changed it from using if statements in the class to a class with 2 subclasses to contain the logic differences, it just magically broke17:41
mordredBUT - if I run the remote streamer by hand in the foreground, the code works17:42
mordredmaybe if I come back to it monday it'll magically make sense17:42
jeblairback and catching up on scrollback17:44
SpamapSmordred: I suppose zuul could append each job index to a separate index container as it finds job indexes.. then you'd be able to just list all the indexes relatively easily and cheaply..?17:44
mordredSpamapS: but then zuul would have to scan the containers for content - and without a secondary index that's actually quite expensive - because there is a limit on the number of top-level containers you can use (this doesn't wind up being one-container-per-job or anything)17:45
mordredSpamapS: also, it's not zuul doing any of this - but jobs themselves - so there's still no way for a given job to know "I'm the last job that was executing, I should take on the job of updating the generated index"17:46
SpamapSerr no, not scan. I'm saying, every time it uploads to 'artifacts-container' it just dumps a uniquely named reference to that upload in 'artifacts-index'.17:47
mordredSpamapS: sorry - I was talking about logs17:48
mordredSpamapS: for artifacts I think this is MUCH more straight forward17:48
SpamapSwhat's different about logs that I'm missing?17:48
mordredSpamapS: hyumans need to be able to browse and discover logs17:48
mordredjobs know which artifacts they need17:48
SpamapSthey do? I thought they found logs by reporters?17:48
mordredSpamapS: that is one of the ways - there are other logs that are found by  browsing/navigating17:49
mordredand also in the current system you can work your way back up a level and look at related builds17:49
SpamapSalso.. btw.. this discussion led me to find out that gearmand had been spewing the upload-only S3 keys into every travis job log... so I was hesitant to point out how it worked until now... rotated keys and encrypted in travis now... so I can paste this link and show how artifact uploads work:17:50
jeblairmordred, clarkb: SpamapS had the idea of a "cleanup" job which i think we can implement fairly easily in zuul.  that lets us build swift container pipelines in zuul pretty easily (create a container -> fan out to many jobs -> coalesce to cleanup job and remove container (or make index, or whatever)17:50
SpamapShttps://travis-ci.org/gearman/gearmand/jobs/24004386817:50
mordredSpamapS: for instance: http://logs.openstack.org/91/471891/ shows you both revisions of 47189117:50
mordredSpamapS: and http://logs.openstack.org/91/471891/2/check/ shows you all of the jobs for patchset 217:50
SpamapSmordred: Neat. I've never used that or had occasion to.17:51
SpamapSNot to say I won't now that I know it exists :)17:51
mordredSpamapS: :)17:51
SpamapSI've always found logs by looking in gerrit comments.17:51
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Allow per-repo selection of configuration classes to load  https://review.openstack.org/47200917:51
mordredjeblair: ++17:52
jeblairSpamapS: you were right, i missed 'git add' on the file that added all the new tests ^ :)17:52
mordredSpamapS: but I think th emodel they're doing for artifacts there would also work for us and not be terribly hard17:52
SpamapSjeblair: oh good, I'm not crazy :)17:52
jeblairnot what i said ;)17:53
SpamapS<sigh> so true17:53
SpamapSOh and I just discovered that the artifact repository is not open to global reads.. and I think I decided to do that so that somebody couldn't make a PR that uploads porn.17:53
SpamapSso if somebody wants gearmand artifacts, they have to ask me17:54
* jlk quietly closes his PR17:54
clarkbSpamapS: thats the situation that is hard without additional tooling to handle in swift17:54
clarkbSpamapS: good actors will upload logs and build artifacts and set them to expire appopriately. Bad ones could hide random crap fairly easily and use you as cheap hosting17:55
clarkbbasically oyu need `find` and are stuck writing it yourself :)17:55
SpamapSthere are some ways we could prevent evil artifacting17:56
SpamapSsimple things17:56
SpamapSfile magic checks17:56
SpamapSthis is where the trusted post jobs come in handy17:56
SpamapSan untrusted job can just drop files in the node itself.. but the trusted job is the thing that can push them up to swift. In so doing, we can pre-qualify files.17:57
mordredSpamapS: yup17:57
SpamapSwhitelist and blacklist mimetypes and that would get you pretty far17:57
jeblairmordred: jlk had questions on https://review.openstack.org/47179917:57
* SpamapS snaps back to present day problems17:58
SpamapSmordred: reviewing your stuff.17:58
jeblairpabelanger: i'm ready to dive into getting the server running and then working on jobs with you.17:59
pabelangerjeblair: sure, I think we just need 47236017:59
pabelangerboth zuulv3.o.o and ze01.o.o are running right now18:00
jeblairi'm hoping 472009 will land soon and we'll be able to share with bonny18:00
mordredjeblair, SpamapS, jlk: I'll do a followup real quick to get those taken care of18:00
pabelangerbut ze01.o.o is missing the connection info18:00
mordredjeblair: I'd also love to get logging patches in and live so that iterating on job content can actually see all the job output ;)18:00
SpamapSjeblair: FYI our current task over in Bonny deployment land is shutting down 2.5 and moving all the things to v3 :)18:00
jeblairmordred: yep18:01
jeblairmordred, jlk: interesting question about whether the host is unique; i don't think zuul has any requirement that hosts in a nodeset are uniquely named... does ansible have such a requirement in an inventory?18:02
jlkkinda yea18:03
jlkI don't know what happens if you have two hosts with the same name18:03
jlkundefined behavior18:03
mordredI believe latest wins18:03
jeblairmordred, jlk: maybe we should enforce uniqueness in zuul?18:04
jlkI may have misread the intent of that patch though, I was thinking that it was starting multiple streams per-host, so the logging of just host wasn't sufficiently unique enough to trace what's happening18:04
jeblairthen the host would be a sufficient identifier in the logs, yeah?18:04
mordredyes18:04
jeblairjlk: ah, i believe we guarantee they are serialized within a host18:04
jeblair(we wait for logging of one task to complete before we start the next)18:04
jlkah okay18:04
mordredyes. at this point we should be serialized. however, since that's debug logging, I think adding the info is nice18:04
pabelangerShrews: is there a way to list builds using finger?18:05
pabelangerShrews: it looks like you need to know the build ID today18:05
jeblairmordred: ah, that's for -vvv only.  sounds good then.18:05
Shrewspabelanger: no, not yet18:06
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Log a little extra debug info on log streaming  https://review.openstack.org/47236718:06
pabelangerShrews: okay, that's what I suspected. Thanks18:06
mordredjeblair: should we expose the ability for someone to request their jobs be run with -vvv ?18:06
* SpamapS drops 4 +3's into the gate18:06
SpamapSnow to play with that broken one18:07
SpamapSbtw, I am glad we're pinning to Ansible 2.3. I think we're going to have to start making Zuul capable of using multiple ansible versions at the job level at some point18:08
SpamapSespecially whe Ansible 3 comes out18:08
*** jkilpatr_ has quit IRC18:08
mordredSpamapS: I at least want to get to the point where we're running latest release so that we can run jobs on prs to ansible/ansible and have them not be too wildly divergent/informative18:09
SpamapSmordred: definitely. The problem is going to be when there's just a divergent path and playbooks have to be updated to use newer ansibles.18:09
mordredyup18:10
jeblairmordred: let's not expose -vvv for now.18:10
mordredhopefully we can learn some things there18:10
mordredjeblair: kk18:10
jeblairmordred: in v2.5, an admin can switch that on and off for the executor; we should definitely add that back :)18:10
mordredjeblair: fo sho18:10
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Bail with an error on a non-existent jobroot_dir  https://review.openstack.org/46952418:15
*** jkilpatr has joined #zuul18:15
jeblairmordred, jlk: oh, derp, zuul does have duplicate node detection, just not where i thought it was :)18:16
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Make log streaming to executor per-task  https://review.openstack.org/47179918:16
mordredjeblair: oh good18:16
jeblairi'm cleaning it up to make a better error message18:16
SpamapSmordred: ehhh... so, your test fail18:16
SpamapSmordred: seems like you have a v6 socket, and you're trying to bind it to 0.0.0.018:17
mordredSpamapS: patch 5? yah - it also doesn't work with live execution with a simple playbook18:17
mordredgah. did I miss an 0.0.0.0 somewhere?18:17
SpamapSyerp18:17
mordredblast18:17
mordredthank you18:17
jlkI'm a bit wary of overexposing the underlying ansible to folks18:17
SpamapSmordred: also, why not using super(CustomForkingTCPServer)?18:17
jlkor ever exposing a choice of ansibles18:17
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Strip double-timestamps from output log  https://review.openstack.org/47189018:18
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Update log to include expected data on task results  https://review.openstack.org/47189118:19
SpamapSmordred: (in zuul/ansible/module_utils/log_streamer.py line 235)18:19
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Move log streaming to share with zuul_console  https://review.openstack.org/47192118:19
SpamapSq18:19
SpamapSmordred: oh neat, you found it quick :)18:20
mordredSpamapS: yah - although that still doesn't fix it to actually work  - it's definitely an issue18:20
SpamapSmordred: aw derp, wtf?18:22
* SpamapS is now truly confused18:23
mordredSpamapS: http://paste.openstack.org/show/612042/ is how I'm poking at it, fwiw18:23
SpamapSwait no, it's failing elsewhere now18:23
SpamapSmordred: heh, the new fail is the opposite problem18:24
SpamapSyou have '::' for an AF_INET18:24
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Add friendly error messages and tests for nodeset dupes  https://review.openstack.org/47237018:24
clarkbI thought 0.0.0.0 was supposed to magically work for ipv6 too18:24
jeblairmordred, jlk: ^18:25
mordreddoes it? kk. we had '::' in one place and '0.0.0.0' in another- so I figured just having it be the same would be good18:26
SpamapSmordred: change the AF_INET's to AF_INET6 in that test, and it works18:26
mordredone does at least need AF_INET6 on the socket though18:26
SpamapSthough18:27
SpamapSI get a detached process that spits some stuff on stderr later18:27
SpamapShttp://paste.openstack.org/show/612043/18:27
mordredoh. hrm18:29
SpamapSmordred: in case I wasn't clear, this got the test to pass for me: http://paste.openstack.org/show/612044/18:30
SpamapSbut seems like we may need to be careful about leaving old processes sitting around.18:31
mordredso - I think the issue I'm having with the synthetic test is somewhere related to forking/process management - if I run the remote zuul_console process by hand, the playbook works and everything logs18:31
mordredbut if I have the playbook run the zuul_console task - it hangs waiting for log streaming of the first task18:31
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Move log streaming to share with zuul_console  https://review.openstack.org/47192118:32
mordredSpamapS: agree re: old processes18:32
mordredSpamapS: and that would anecdotaly concur with suppositions about there being wonkiness in the forking/process management18:32
SpamapSyeah, the test is clearly also leaving a streamer waiting for log streaming of something18:33
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Change node 'image' to 'label'  https://review.openstack.org/47237218:33
jeblairmordred, SpamapS, pabelanger, Shrews: ^ i almost forgot, we should land that change before we go hog wild on jobs since it changes the config syntax18:35
jlkOkay I'm going ot pick up the task of creating a cache of github change objects and updating them when necessary.18:36
jeblairjlk: yay!18:37
jlkI think our delta to bonnyci is down to one patch, that jamielennox is working on18:38
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Allow per-repo selection of configuration classes to load  https://review.openstack.org/47200918:38
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Change node 'image' to 'label'  https://review.openstack.org/47237218:38
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Add friendly error messages and tests for nodeset dupes  https://review.openstack.org/47237018:38
jlkmordred: in your spec for multiple zuul inputs, that still uses a single scheduler right? it's not going to tackle trying to scale out schedulers and dealing with shared caches across multiple?18:39
jlk(see also years of nova scheduler scale out issues)18:40
mordredjlk: that is correct18:40
jeblairjlk: multiple schedulers is zuulv418:40
jlkgood deal18:40
jeblairmordred's spec is forward compatible with that :)18:40
jlkat least we'll have already finished the bikeshed over zookeeper18:40
mordredheh18:40
mordredyou're so optimistic18:41
mordredI do not assume that to be true ;)18:41
jeblairwe can absolutely revisit the zookeeper decision for zuul v5.  :)18:41
SpamapSThe problem is that the bikeshed, even painted red, can ALWAYS be repainted.18:42
mordredjeblair: oh - I thought jlk meant the bikeshed about zk v mqtt for ingestors18:42
jlkI know, lets powdercoat the damn thing.18:42
mordredjlk: YES18:42
mordredSpamapS: no matter how many years it has been, I still try to type "git shelve"18:43
jeblairmordred: i have a 'git update' alias18:43
mordredjeblair: :)18:44
*** hashar has joined #zuul18:44
clarkbshelve is the bzr thing like stash?18:45
SpamapSyep18:45
clarkbwhen I'm not lazy I've actually started committing instead of stashing because git stash pop with a conflict is the worst thing ever18:46
mordredclarkb: yah - I tend to do that too18:46
mordredsame how I tend to use reset --hard instead of git checkout18:46
mordredjlk, SpamapS, jeblair, Shrews: I marked https://review.openstack.org/#/c/471921 as WIP beause although it now passes tests, it doesn't actually work live19:24
mordredwhich needs to be fixed - and then preferrably a test that shows the real work/no-work status needs to be added19:24
mordredand if it's not related, we need to figure out the orphaned process issue19:25
jeblairmordred: ok19:26
jeblairmordred: i haven't really dug into it; let me know if you think it's a problem you'd like me to help poke at.19:26
mordredjeblair: I do not think it is an essential patch to land19:26
mordredjeblair: it's a "refactor to share code between finger streamer and node streamer"19:26
mordredso I think we shold do it - but the current landed code has the things we need for actually getting log content19:27
mordredwhich is a long-winded way of saying that I will almost certainly need your help, but there are other much more important things to do currently19:27
jeblairSpamapS: can you re-review 472009 and take a look at 472372?19:43
jeblairSpamapS: bonus change 472370, but i'm okay approving that one as it stands if you're busy19:44
Shrewshow on earth is my 1 line change in merge conflict already? *sigh*19:52
openstackgerritDavid Shrewsbury proposed openstack-infra/zuul feature/zuulv3: Correct location of ansible log file  https://review.openstack.org/47235519:56
*** jkilpatr has quit IRC19:56
mordredShrews: sorry bout that19:57
Shrewsno worries20:01
* SpamapS is just back from lunch now20:04
*** harlowja has quit IRC20:08
jlkSpamapS: so I updated the z8s repo with a few things to help. You can set where to clone zuul from and which branch using shell vars at docker-compose build time, and you can tell it to just volume mount a zuul checkout into the container at docker-compose run time too, and I re-did the pip install so the volume mount over the clone from build just works.20:09
jlkso now it's really fast to spin up a container set running code out of your local zuul clone to test in-flight code20:10
jlkdocker-compose -f docker-compose.yaml -f devel.yaml up zuul-zookeeper zuul-scheduler zuul-executor20:10
*** jkilpatr has joined #zuul20:14
SpamapSjlk: so... now the bad news.. kompose can only convert docker-compose v2 files20:14
SpamapSit does not work with the 3.1 format you're using20:14
SpamapSwhich means we get to hand-convert to k8s20:14
SpamapS(or fix kompose)20:14
Shrewsz8s?20:14
*** jkilpatr has quit IRC20:14
SpamapSZulernetes ;)20:15
SpamapSZuulernetes I should say20:15
jlka repo I'm putting up to track work to get Zuul into kubernetes20:15
jlka journey of sorts.20:15
jlkstarting with docker-compose, then moving onto k8s20:15
SpamapSbtw, the name collision thing is stalled... Netflix Badger don't care. Netflix Badger DGAF  https://github.com/Netflix/zuul/issues/31520:16
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Correct location of ansible log file  https://review.openstack.org/47235520:16
SpamapSjeblair, mordred: Random community thing, but at some point we should talk about possible solutions we could do without the Netflix Zuul team's cooperation, since they seem not to care.20:16
Shrewsso netflix zuul _is_ older20:17
SpamapSehhhhhh20:17
SpamapSthe REPO is older20:17
SpamapSIt may not have been released publicly until after that git commit.20:18
SpamapShttps://medium.com/netflix-techblog/announcing-zuul-edge-service-in-the-cloud-ab3af5be08ee <-- June, 201320:18
SpamapSI've actually been trying _not_ to throw that in their face, to engender cooperation and let THEM point it out. Seems like they DGAF though.20:19
*** hashar has quit IRC20:19
clarkbyes this zuul is older as a public name20:20
clarkbbut I'm also not sure it matters too much?20:20
SpamapSclarkb: it's been mistaken a number of times.20:21
SpamapSThey're both pretty abstract things.20:21
SpamapSso it's easy for a high level journalist review to find the wrong one and kind of go "well ok I ... guess?"20:22
SpamapSwhy wouldn't I use an HTTP routing service to test CNCF's apps?20:22
SpamapSclarkb: In particular, I worry that it will hamper efforts to grow Zuul's community.20:23
Shrewslet's just redirect all of our bug reports to netflix's GH repo, then maybe they'll care after it gets annoying enough  :)20:24
SpamapShonestly20:25
* SpamapS refrains from grumbling about storyboard UI20:26
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Allow per-repo selection of configuration classes to load  https://review.openstack.org/47200920:29
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Add friendly error messages and tests for nodeset dupes  https://review.openstack.org/47237020:32
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Change node 'image' to 'label'  https://review.openstack.org/47237220:34
clarkbSpamapS: this is a problem that exists elsewhere (as you mentioned re swift and containers earlier) I'm not sure there is a good way around it other than being as clear as possible when communicating about the tools? You can always rename on your end until someone else decides to conflict with you and create confusion20:34
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Log a little extra debug info on log streaming  https://review.openstack.org/47236720:35
jlkgeez this is super convenient to just restart the container stack, which picks up the new code in my checkout, and stuff an event through it20:43
SpamapSclarkb: There is that weird phenomenon when HUGE players forget to do due dilligence, or ignore it because they know they can. Golang was the _SECOND_ open source programming language named Go. :P20:49
openstackgerritJames E. Blair proposed openstack-infra/zuul-jobs master: Add initial license, docs, and other config  https://review.openstack.org/47241021:01
* SpamapS adds another gertty subscription21:10
jeblair  File "/usr/local/lib/python3.5/dist-packages/zuul/cmd/executor.py", line 74, in send_command21:28
jeblair    s.sendall('%s\n' % cmd)21:28
jeblairTypeError: a bytes-like object is required, not 'str'21:28
jeblairpabelanger: ^ on ze01, when trying to stop21:28
pabelangerI missed that21:29
jeblairi'll patch21:29
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: UTF8 encode commands sent to executor socket  https://review.openstack.org/47241921:32
jeblairpabelanger: ^21:32
pabelanger+321:33
SpamapSThou shalt utf8 encode thine strings when thou dost send them in thy wire.21:33
jeblairverily and it was good21:38
jeblairpabelanger: i will just kill the running proc and restart it to pick up new connection info21:38
pabelangerjeblair: ok21:38
jeblairThe authenticity of host '[review.openstack.org]:29418 ([2001:4800:7819:103:be76:4eff:fe05:8525]:29418)' can't be established.21:40
jeblairRSA key fingerprint is SHA256:RXNl/GKyDaKiIQ93BoDvrNSKUPFvA1PNeAO9QiirYZU.21:40
jeblairAre you sure you want to continue connecting (yes/no)? no21:40
jeblairpabelanger: looks like we're missing ssh known hosts21:41
pabelangeroops, yes, that is possible21:41
pabelangerI can fix quickly21:41
pabelangerjeblair: I am okay if you want to manually accept for now21:41
pabelangerwe have the puppet code today, just copy pasta for executor21:42
*** adam_g has quit IRC21:42
jeblaircool, will do to keep moving21:42
jeblairpabelanger: /var/lib/zuul/ssh/id_rsa is empty21:43
jeblairer, maybe we should switch this back to -infra, sorry  :)21:43
jeblairwe're out of the zuul bugs woods and into the zuul puppet bugs woods21:43
pabelangerk21:43
*** adam_g has joined #zuul21:43
openstackgerritMerged openstack-infra/zuul feature/zuulv3: UTF8 encode commands sent to executor socket  https://review.openstack.org/47241921:50
jlkThat face when you get all excited because tests pass, and then you realize you checked out the wrong branch.22:19
SpamapShrm22:19
SpamapStranslator is proving a bigger thing than I'd thought22:19
openstackgerritJames E. Blair proposed openstack-infra/zuul-jobs master: Add revoke-sudo role  https://review.openstack.org/47246122:19
SpamapSwhy is it always the day I have afternoon kid stuff planned that I get into an actual fun coding problem? :-P22:21
jlklol, I know that feel22:21
jlkwoo only one failure.22:23
jlkUh oh, brain storm time22:30
jlkWhat things that might change in a github PR should cause a dequeue of something already in the pipeline?22:31
jlkfor gerrit, seems that it only dequeues if the patchset changes.22:31
jlkmaybe that's right for github too, don't worry about votes or statuses or labels or comments22:31
jlkjust the patch set22:31
mordredyah. if someone leaves a blocking vote after a job is already running, we just let the job finish and report but the blocking vote blocks the final merge22:32
mordredsince, at the time it goes to merge, that is no longer satisfyable22:32
jlkthat's the one thing I managed to break with cached changes22:32
mordredoh neat22:32
jlkoh hrm. I think I broke what the "patchset" is...22:32
jlkor this test is really bad. hrm.22:33
mordredSpamapS: were you able to get as far as getting the auto-translation from jjb to playbooks like we're producing in 2.5?22:33
mordredSpamapS: (I'd be happy to share thoughts that have been in my brainhole on that topic - but also happy to just leave you to it :) )22:34
jlkahhhh, the cache is by patchset in gerrit land, I need to do the same in github land.22:35
jlkjeblair: so uh, with the change cache, it doesn't look like anything ever prunes it. So if I were to keep scheduler running for ... months, and it gets lots of changes, wouldn't that memory just grow without bound (until the host runs out of memory)?22:46
jeblairjlk: yeah.  there are some pruning routines in there, but i think we disabled them due to $problems?  (turns out, it's not that much memory).  i'd like to clean that up again though.22:48
jlkyeah that can be tricky.22:49
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Implement a cache of github change objects  https://review.openstack.org/47246822:51
jlkCaching!!  ^^22:52
jlkjamielennox: that should be of interest to you.22:52
mordred\o/22:58
pabelangerdo we use dogpile.cache for that?22:58
jeblairno.  that may be an option; or we may just want to leave this until zuulv4 where, presumably, the cache would be in zk anyway.22:59
pabelanger++23:00
openstackgerritJames E. Blair proposed openstack-infra/zuul-jobs master: Add extra-test-setup role  https://review.openstack.org/47247223:09
jeblairpabelanger, mordred, SpamapS: i'm working on moving over the roles we already have in openstack-zuul-roles into zuul-jobs.  i'm also setting up some a basic documentation framework so we have that out of the gate.23:10
jlkis zuul-base-jobs ?23:10
jlker is zuul-base-jobs used any more?23:11
jeblairan early look at 472472 and parents would be nice.23:11
jeblairjlk: the idea with that repo is for it to hold only one (or a small number) of literal 'base' jobs.  that way sites can use zuul-jobs + zuul-base-jobs if that works for them, or if they have complex base job requirements, they can supply their own 'base' job instead of zuul-base-jobs, and use that with zuul-jobs23:12
jeblairjlk: i don't think we've populated it yet, but we should soon23:12
jeblairjlk: (but all the jobs in zuul-jobs will inherit from 'base', and zuul-base-jobs will define 'base')23:13
openstackgerritJames E. Blair proposed openstack-infra/zuul-jobs master: Add extra-test-setup role  https://review.openstack.org/47247223:14
pabelangerjeblair: sure, I'll start reviewing in the morning23:18
clarkbya they all just took longer23:22
clarkber ww23:22
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Add 'description' field to jobs  https://review.openstack.org/47248323:43
openstackgerritJames E. Blair proposed openstack-infra/zuul-jobs master: Add python unit test jobs  https://review.openstack.org/47248423:48
openstackgerritJames E. Blair proposed openstack-infra/zuul-jobs master: Add documentation to jobs  https://review.openstack.org/47248523:48
*** harlowja has joined #zuul23:57
*** jamielennox is now known as jamielennox|away23:57

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