Friday, 2016-11-04

SpamapSI don't mind if it's slow00:11
SpamapSI just want control of stdout/stdin00:11
*** harlowja has joined #zuul00:11
SpamapSanother problem I have with testr today..00:12
SpamapSas of python 3.5, you have to remove .testrepository every time00:12
mordredSpamapS: sigh00:13
*** lizardgizzardwiz has joined #zuul00:14
*** lizardgizzardwiz has left #zuul00:15
SpamapSSeems like testr could do some work to just detect and actually work00:15
SpamapSor name its dir .testrepository.gdbm .. etc00:15
mordredSpamapS: it works00:15
mordredSpamapS: just need to quote the test name00:15
mordredoh! wait00:15
mordredit doesn't work00:15
mordredbut I see how to make it wokr00:16
mordredI think00:16
* SpamapS crosses fingers00:16
*** hogepodge has joined #zuul00:16
mordredI'm going to grill some meat right now though00:17
greghaynesmmmm grilled meat00:21
greghaynesdid someone mention autobahn?00:21
greghaynesI played with it a bit a while ago and it was pretty fun00:21
mordredgreghaynes: yah - when we get to it, it seemed like the best way to get websockets served from python00:30
mordredgreghaynes: the biggest downside to it with python2 is that the two main backends for it are twisted and eventlet - both of which are ... well, twisted and eventlet00:31
mordredgreghaynes: but the python3 version seems double-plus nice00:31
mordredso yah - autobahn++00:32
greghaynesI've actually been using https://github.com/aaugustin/websockets because I didnt need something as crazy complex00:32
greghaynesbut autobahn is definitely nice00:32
greghaynesthe one wierd thing is its basically made for http://crossbar.io/00:32
mordredyah - that websockets lib is also good00:32
greghayneswhich is a super super neat idea and what I think you actually want BUT00:32
greghaynesits AGPL00:32
mordredcrossbar?00:33
mordredyah - that seemed way too much, tbh00:33
greghaynesyea. Basically the thinking being - you dont need your app to hold open the websockets00:33
greghaynespossibly00:33
mordredthe complexity level of https://github.com/aaugustin/websockets actually feels more right - if/when we can go fully down the python3 road00:33
greghaynesbut really its odd to have your app scale out the same way as your frontend servers00:33
greghaynesYea, Ive been using that lib and it works pretty well00:34
mordredthe only thing we were looking at websockets for is log streaming - so it doesn't need much complexity00:34
mordredor shouldn't00:34
mordredif it does, we've probably done something wrong :)00:34
greghaynesone gotcha is the python testing tooling lacks some needed features for doing asyncio stuff00:34
SpamapSjeblair: https://review.openstack.org/39354400:35
SpamapSmordred: ^00:35
SpamapSTextClient and TextJob working in tests00:35
SpamapSworker is likely the harder one00:35
greghaynesmordred: yea, its a question of how many clients you expect to have really00:35
greghaynesmordred: but agreed that its silly to start there00:36
SpamapShow many? 1 berzillion00:37
greghayneshehe00:37
mordred:)00:37
mordredgreghaynes: I'd actually love to have a deeper conversation about log streaming when I'm not also grilling - because I think we may need to step back and think about it some in a context where we're running people's ansible vs. the converted jjb stuff00:38
mordredwe currently stream stdout/stderr - but if you wrote a playbook yourself, that's going to be weird to get in isolation00:38
greghaynesI too would love for you to not burn your house down talking about websockets :p00:38
mordred:)00:39
SpamapSstill00:39
SpamapSif you do00:39
SpamapSplease play the song "Burning Down THe House" and go live on facebook00:39
mordredSpamapS: agreed00:39
auggymordred: or Danger High Voltage00:40
SpamapSgah, now I have to try to build scenarios on scenarios for functional tests :-P00:44
SpamapSand with that.. it's family time00:45
*** saneax is now known as saneax-_-|AFK01:15
auggythis month's ACM magazine has an article that highlights some different papers on shared state, specifically consensus and non-volatile memory02:57
auggyhttps://usercontent.irccloud-cdn.com/file/SZCxWoxF/p52-bailis.pdf02:57
auggyjust thought i'd share in case anyone might find it interesting and/or useful :)02:58
*** abregman has quit IRC04:25
*** bcoca has quit IRC05:24
*** saneax-_-|AFK is now known as saneax05:52
*** hashar has joined #zuul06:45
*** bhavik1 has joined #zuul08:11
*** bhavik1 has quit IRC09:03
*** bhavik1 has joined #zuul09:17
*** bhavik1 has quit IRC10:12
*** auggy has quit IRC10:42
*** zaro has quit IRC10:43
*** fungi has quit IRC10:44
*** hashar has quit IRC10:44
*** hashar has joined #zuul10:45
*** zaro has joined #zuul10:47
*** openstackgerrit has quit IRC10:47
*** openstackgerrit has joined #zuul10:48
*** auggy has joined #zuul10:56
*** fungi has joined #zuul10:58
*** bcoca has joined #zuul13:45
*** saneax is now known as saneax-_-|AFK14:19
timrcmordred: Does your grill stream log data (pun definitely intended) and metrics? That's what I want to know14:27
mordredtimrc: yes - but it's not published to the internet as of yet :)14:36
pabelangermordred: jeblair: looking at the zuul client, it is currently lacking tenant support. No objections on add the --tenant argument where needed?14:43
pabelangerjeblair: looking at the management queue we are using today for enqueue and promote, I think we might need to also expose the tenant name to the TriggerEvent object, since there is no good way to map a project back to a tenant. However, I don't believe we need to set a tenant name for gerrit TriggerEvent() objects15:31
pabelangermaybe create a new ManagementEvent object15:37
* auggy waves at jasondotstar15:42
* jasondotstar waves back15:42
auggyjasondotstar: you had some questions about how to run the zuul tests?15:51
auggymaybe some folks here can answer that?15:52
*** bhavik1 has joined #zuul15:53
jasondotstarsure15:57
jasondotstarI'm a newbie to zuul15:57
jasondotstarso I wanted to know some info on how the openstack jobs are ran15:58
jasondotstari understand that jobs get farmed out to nodepool, but is nodepool using something like devstack to stand up an openstack instance? then, is it using something like tempest to conduct integration/functional tests?15:58
jeblairpabelanger: i do think we will need to add --tenant to the cli, but i don't think we need to put the tenant in the triggerevent --15:59
jeblairpabelanger: i think that in rpclistener, we should use the value of the tenant argument to look up the correct project and pipeline and use that to create the triggerevent16:00
pabelangerjeblair: Right, that's what I've done today. The issue I am running into is with _doEnqueueEvent() in scheduler.py. Will need to determine which project the event was checked against.  Trying to figure that out now16:02
auggyjasondotstar: so i'm still not sure how all the pieces fit together but for actually running things, i know there's a tool called devstack-gate16:04
auggydevstack-gate i think is the part that creates the devstack and runs tempest jobs16:05
auggybut i could be totally wrong, i think nodepool is just creating the instances to run d-g on... is that accurate or am i totally off base?16:05
pabelangerjasondotstar: nodepool today requires a cloud, that could be devstack or a public provider like Rackspace / OVH. Once the instance is online, zuul then uses ansible to connect via SSH to the remote node to run a job.16:06
jeblairpabelanger: oh i see.... yes, i think you are right we will need the tenant on the enqueue event.  but probably only set by the rpclistener (like 'forced_pipeline' is).16:06
jeblairs/enqueue event/triggerevent/16:06
pabelangerjeblair: okay, I'll confirm things are right by looking at forced_pipelines logic within zuul16:07
mordredjasondotstar, auggy: yah - to follow up on what pabelanger - in the instance of zuul/nodepool Infra runs in production, nodepool gets VMs from pre-existing clouds that we have accounts on. Once a node is allocated for a job, that job can run anything on the node it wants to - whether that's a pep8 test or installing devstack and running tempest against it16:10
mordredjasondotstar, auggy: in openstack's current version, the job content is written using jenkins-job-builder, then translated to ansible which is run on the node in question. In v3, the content will be written directly in ansible16:11
auggymordred: ah ok.. so in the case of say nova gate jobs, that job happens to be setting up all the dependencies to run d-g, is that right?16:12
auggyoh wait i remember having to add something to jjb16:12
* auggy 's brain is a little muddy16:12
mordredauggy: yes. that's right - there is a jjb job that basically says "hey, run devstack-gate on this node"16:12
mordredand then devstack-gate produces a devstack config and executes devstack16:13
auggyahh right, you tell jjb what you want the job to be and for adding new nova jobs it was usually d-g16:13
mordredyah16:13
mordredthe d-g part of the picture is very openstack specific, so isn't a part of the zuul story ... other than being able to run something like devstack-gate is clearly a use case for zuul :)16:14
auggyoh yeah def16:14
mordred(if we produced a versoin of zuul that couldn't run d-g, we would have done something horribly wrong :) )16:14
auggyjasondotstar: had been asking specifically what's running tempest et al and that was the first thing that came to mind16:14
mordred++16:14
mordredyah- devstack-gate runs tempest as the default activity after having run devstack16:15
mordredalso - howdy jasondotstar16:15
auggybut for a non-openstack project one could potentially specify a job that just spun up vagrant or something16:16
jasondotstaryes, howdy @mordred16:16
auggymaybe i'm overthinking this... haha16:16
mordredauggy: yes you could totally do that16:16
mordredreally you can have the job do anything that one can do in a computer :)16:16
auggyoh yeah so in bcn we talked about jobs that required compiling...16:17
mordred(although to that specific point, since the VMs are all single use, _actually_ using vagrant is likely not a great choice)16:17
auggyso right now with that workflow, that's why you'd mentioned, jobs need to be complied eacah time16:17
mordredyes!16:17
auggywhereas the point of nodepool is to provide some kind of cache16:18
auggydata cache or whatevs16:18
mordredfor compiled languages, we either compile many more times than is optimal, or we have to do really wonky dances between jobs16:18
auggyyeah16:18
mordredalthough yay for free cloud resources!16:18
auggyhrm i wonder how java solves that problem, this is all new to me btw, the compiled workflows i worked on in the past as a release engineer compiled each time16:18
mordredjava would have the same problem in a zuul world16:18
auggydesktop software hehe16:19
mordredthe main thing is that of our nodes are single-use16:19
mordredso if you compile on one machine as one step, then have another job depend on the first job having completed16:19
mordrednone of the compiled artifacts will be around16:19
auggyright16:19
mordredwe do a dance with releasing software16:19
mordredwhere the first job (the one that makes the tarball) uploads it to tarballs.o.o16:19
mordredthen the second job downloads it from tarballs.o.o then uploads it to pypi16:20
mordredwhich works ...16:20
mordredbut is ... well, awkward16:20
auggyhrm yeah16:20
*** saneax-_-|AFK is now known as saneax16:20
auggyi know that was on the zuul-santa wish list anyways hehe but yeah..16:20
mordredI WANT A PONY16:21
auggycompiled or interpreted?16:21
mordred:)16:21
auggythx for taking the time to explain that!! it's slowly congealing in my brain16:21
mordredsure! it's a big beastie of a system16:22
auggyyeah def.. although i think i mentioned in bcn after working on nova for the past year man...16:22
mordredgood point16:22
mordredthat is also a big beastie of a system16:22
auggymaybe zuul has less of a multiple personality disorder16:23
greghayneswith the compiled stuff you probably want the extra compilation. I'm thinking of the case where I have a ubuntu and fedora job, I want to know that my app builds in both places as well as runs (I might link against completely different libs, even)16:25
greghaynesI kind of wonder how bazel does this...16:26
clarkbbazel has asingle distro to deal with so likely not16:27
greghayneswomp womp16:27
greghaynesbecause the other option is you go crazy far down the model out your job dependencies rabbit hole16:28
mordredgreghaynes: yah - I agree with that example - but there's another one that the fedora guys gave that I think should be supportable - that's "build the rpm once, then install in 20 different configurations to test that all of the install paths work properly"16:30
greghaynesyea, or build a container / image once and use it in a bunch of jobs16:30
mordredyah16:30
Shrewswhat does "Progress" (versus, say, TODO) mean on a storyboard task? I would have thought this would change it to "In Progress", but I am apparently wrong16:34
mordredShrews: yah - I thnk it's meant to be like in progress16:42
jeblairShrews: the worklists/boards are note (generally) speaking automatically connected to the stories.  so, er, i think you need to set the task to 'in progress'.  then go move the box in the board to 'progress'.16:42
jeblairs/note/not/16:43
mordredah! I misunderstaood the question16:43
Shrewsjeblair: i do not see any other way to set the task to in progress16:44
Shrewsso maybe a permissions thing16:44
jeblairShrews: what is the one way you do see?16:45
Shrewsjeblair: the Todo/Progress/Invalid/Merged pulldown16:45
Shrewshere: https://storyboard.openstack.org/#!/story/200076716:46
jeblairShrews: yes, it is likely the case that you don't have permissions to update the board.16:46
Shrewsi will just delegate through SpamapS. he loves that16:46
SpamapSI do16:46
Shrewsi've heard he writes sonnets about task delegation. they're lovely16:47
openstackgerritPaul Belanger proposed openstack-infra/zuul: [WIP] Add tenant support to zuul client  https://review.openstack.org/39385016:50
SpamapSMostly Haiku16:51
SpamapStasks on the wind delegated16:51
SpamapSbah16:51
*** jamielennox is now known as jamielennox|away16:51
Shrewsoff-by-1 error16:51
Shrewserr, 3?16:52
SpamapSdelegated tasks, blown by wind to my todo, not mine but mine now16:52
Shrewsbravo16:53
*** hashar is now known as hasharAway16:53
openstackgerritPaul Belanger proposed openstack-infra/zuul: Add tenant support to zuul client  https://review.openstack.org/39385017:11
openstackgerritPaul Belanger proposed openstack-infra/zuul: Add tenant support to zuul client  https://review.openstack.org/39385017:13
pabelangerokay, should make zuul client and unit tests happy again17:13
pabelangeroops17:14
*** saneax is now known as saneax-_-|AFK17:23
openstackgerritPaul Belanger proposed openstack-infra/zuul: Add tenant support to zuul client  https://review.openstack.org/39385017:30
openstackgerritPaul Belanger proposed openstack-infra/zuul: Add tenant support to zuul client  https://review.openstack.org/39385017:34
openstackgerritPaul Belanger proposed openstack-infra/zuul: Add tenant support to zuul client  https://review.openstack.org/39385017:35
*** harlowja has quit IRC18:00
*** harlowja has joined #zuul18:03
openstackgerritPaul Belanger proposed openstack-infra/zuul: [WIP] Re-enable test_client_enqueue_ref test  https://review.openstack.org/39388718:07
*** harlowja has quit IRC18:18
adam_gcan anyone shed some light on the asserts around self.reported here at https://git.openstack.org/cgit/openstack-infra/zuul/tree/tests/test_scheduler.py?h=feature/zuulv3#n2080 ?18:21
adam_give wrapped my head around how the reporting plumbs together, but dont really grok when/what is expected to be reported18:21
adam_gin that test, i would have assumed that the dequeued change would only have 1 report for completed check jobs, not 2 like the other merged (a started + gate jobs)18:22
adam_gwhat am i missing?18:22
*** bhavik1 has quit IRC18:25
*** jlk has quit IRC18:28
*** jlk has joined #zuul18:28
*** jlk has quit IRC18:28
*** jlk has joined #zuul18:28
*** harlowja has joined #zuul18:30
Shrewslol, https://bugs.launchpad.net/cirros/+bug/163880718:38
openstackLaunchpad bug 1638807 in CirrOS "Improper password to root user" [Undecided,New]18:38
*** jamielennox|away has quit IRC18:38
*** saneax-_-|AFK has quit IRC18:38
pabelangeradam_g: I believe it is 2 because, the gate job would have left a message about it being started, then, new patch uploaded and check pipeline then reported success18:43
openstackgerritPaul Belanger proposed openstack-infra/zuul: [WIP] Re-enable test_client_enqueue_ref test  https://review.openstack.org/39388718:51
pabelangerjeblair: when you have free time, would be interested in a review on ^. Specifically, I had to update make_merger_item() in zuul/launcher/client.py and having trouble understanding why.  From what I see, both Ref and Change objects are handled by that function18:59
*** jamielennox|away has joined #zuul19:13
*** jamielennox|away is now known as jamielennox19:13
*** saneax-_-|AFK has joined #zuul19:16
*** abregman has joined #zuul20:14
openstackgerritAdam Gandelman proposed openstack-infra/zuul: Re-enable test_new_patchset_dequeues_old* tests  https://review.openstack.org/39392420:24
adam_gwell... took a while to get to the solution but was a great architectural deep dive20:25
*** hasharAway is now known as hashar20:28
pabelangeradam_g: you might want to rebase atop of 393494, that is my latest stack of tests that have been enabled. Looks like your is conflicting.20:35
mordredadam_g: yay for architecture deep dive!20:36
adam_gpabelanger: ack, will do when back from lunch20:36
*** hashar_ has joined #zuul20:46
*** hashar has quit IRC20:48
*** hashar has joined #zuul20:48
*** hashar has quit IRC20:48
*** SotK has quit IRC20:48
*** SotK has joined #zuul20:48
*** abregman has quit IRC21:13
adam_gpabelanger: oh, it looks like you've already enabled those somewhere in that stack22:47
pabelangeradam_g: that might be the case, I know a few of them worked once the single-tenant configuration started building up22:49
adam_gyea22:51
* adam_g abandones22:51
openstackgerritPaul Belanger proposed openstack-infra/zuul: Enable test_two_failed_changes_at_head test  https://review.openstack.org/39395023:06
*** hashar_ has quit IRC23:13
*** saneax-_-|AFK is now known as saneax23:19
openstackgerritPaul Belanger proposed openstack-infra/zuul: Re-enable test_merger_repack test  https://review.openstack.org/39395323:21
openstackgerritPaul Belanger proposed openstack-infra/zuul: Re-enable test_file_head test  https://review.openstack.org/39395623:29

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