SpamapS | I don't mind if it's slow | 00:11 |
---|---|---|
SpamapS | I just want control of stdout/stdin | 00:11 |
*** harlowja has joined #zuul | 00:11 | |
SpamapS | another problem I have with testr today.. | 00:12 |
SpamapS | as of python 3.5, you have to remove .testrepository every time | 00:12 |
mordred | SpamapS: sigh | 00:13 |
*** lizardgizzardwiz has joined #zuul | 00:14 | |
*** lizardgizzardwiz has left #zuul | 00:15 | |
SpamapS | Seems like testr could do some work to just detect and actually work | 00:15 |
SpamapS | or name its dir .testrepository.gdbm .. etc | 00:15 |
mordred | SpamapS: it works | 00:15 |
mordred | SpamapS: just need to quote the test name | 00:15 |
mordred | oh! wait | 00:15 |
mordred | it doesn't work | 00:15 |
mordred | but I see how to make it wokr | 00:16 |
mordred | I think | 00:16 |
* SpamapS crosses fingers | 00:16 | |
*** hogepodge has joined #zuul | 00:16 | |
mordred | I'm going to grill some meat right now though | 00:17 |
greghaynes | mmmm grilled meat | 00:21 |
greghaynes | did someone mention autobahn? | 00:21 |
greghaynes | I played with it a bit a while ago and it was pretty fun | 00:21 |
mordred | greghaynes: yah - when we get to it, it seemed like the best way to get websockets served from python | 00:30 |
mordred | greghaynes: 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 eventlet | 00:31 |
mordred | greghaynes: but the python3 version seems double-plus nice | 00:31 |
mordred | so yah - autobahn++ | 00:32 |
greghaynes | I've actually been using https://github.com/aaugustin/websockets because I didnt need something as crazy complex | 00:32 |
greghaynes | but autobahn is definitely nice | 00:32 |
greghaynes | the one wierd thing is its basically made for http://crossbar.io/ | 00:32 |
mordred | yah - that websockets lib is also good | 00:32 |
greghaynes | which is a super super neat idea and what I think you actually want BUT | 00:32 |
greghaynes | its AGPL | 00:32 |
mordred | crossbar? | 00:33 |
mordred | yah - that seemed way too much, tbh | 00:33 |
greghaynes | yea. Basically the thinking being - you dont need your app to hold open the websockets | 00:33 |
greghaynes | possibly | 00:33 |
mordred | the complexity level of https://github.com/aaugustin/websockets actually feels more right - if/when we can go fully down the python3 road | 00:33 |
greghaynes | but really its odd to have your app scale out the same way as your frontend servers | 00:33 |
greghaynes | Yea, Ive been using that lib and it works pretty well | 00:34 |
mordred | the only thing we were looking at websockets for is log streaming - so it doesn't need much complexity | 00:34 |
mordred | or shouldn't | 00:34 |
mordred | if it does, we've probably done something wrong :) | 00:34 |
greghaynes | one gotcha is the python testing tooling lacks some needed features for doing asyncio stuff | 00:34 |
SpamapS | jeblair: https://review.openstack.org/393544 | 00:35 |
SpamapS | mordred: ^ | 00:35 |
SpamapS | TextClient and TextJob working in tests | 00:35 |
SpamapS | worker is likely the harder one | 00:35 |
greghaynes | mordred: yea, its a question of how many clients you expect to have really | 00:35 |
greghaynes | mordred: but agreed that its silly to start there | 00:36 |
SpamapS | how many? 1 berzillion | 00:37 |
greghaynes | hehe | 00:37 |
mordred | :) | 00:37 |
mordred | greghaynes: 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 stuff | 00:38 |
mordred | we currently stream stdout/stderr - but if you wrote a playbook yourself, that's going to be weird to get in isolation | 00:38 |
greghaynes | I too would love for you to not burn your house down talking about websockets :p | 00:38 |
mordred | :) | 00:39 |
SpamapS | still | 00:39 |
SpamapS | if you do | 00:39 |
SpamapS | please play the song "Burning Down THe House" and go live on facebook | 00:39 |
mordred | SpamapS: agreed | 00:39 |
auggy | mordred: or Danger High Voltage | 00:40 |
SpamapS | gah, now I have to try to build scenarios on scenarios for functional tests :-P | 00:44 |
SpamapS | and with that.. it's family time | 00:45 |
*** saneax is now known as saneax-_-|AFK | 01:15 | |
auggy | this month's ACM magazine has an article that highlights some different papers on shared state, specifically consensus and non-volatile memory | 02:57 |
auggy | https://usercontent.irccloud-cdn.com/file/SZCxWoxF/p52-bailis.pdf | 02:57 |
auggy | just thought i'd share in case anyone might find it interesting and/or useful :) | 02:58 |
*** abregman has quit IRC | 04:25 | |
*** bcoca has quit IRC | 05:24 | |
*** saneax-_-|AFK is now known as saneax | 05:52 | |
*** hashar has joined #zuul | 06:45 | |
*** bhavik1 has joined #zuul | 08:11 | |
*** bhavik1 has quit IRC | 09:03 | |
*** bhavik1 has joined #zuul | 09:17 | |
*** bhavik1 has quit IRC | 10:12 | |
*** auggy has quit IRC | 10:42 | |
*** zaro has quit IRC | 10:43 | |
*** fungi has quit IRC | 10:44 | |
*** hashar has quit IRC | 10:44 | |
*** hashar has joined #zuul | 10:45 | |
*** zaro has joined #zuul | 10:47 | |
*** openstackgerrit has quit IRC | 10:47 | |
*** openstackgerrit has joined #zuul | 10:48 | |
*** auggy has joined #zuul | 10:56 | |
*** fungi has joined #zuul | 10:58 | |
*** bcoca has joined #zuul | 13:45 | |
*** saneax is now known as saneax-_-|AFK | 14:19 | |
timrc | mordred: Does your grill stream log data (pun definitely intended) and metrics? That's what I want to know | 14:27 |
mordred | timrc: yes - but it's not published to the internet as of yet :) | 14:36 |
pabelanger | mordred: jeblair: looking at the zuul client, it is currently lacking tenant support. No objections on add the --tenant argument where needed? | 14:43 |
pabelanger | jeblair: 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() objects | 15:31 |
pabelanger | maybe create a new ManagementEvent object | 15:37 |
* auggy waves at jasondotstar | 15:42 | |
* jasondotstar waves back | 15:42 | |
auggy | jasondotstar: you had some questions about how to run the zuul tests? | 15:51 |
auggy | maybe some folks here can answer that? | 15:52 |
*** bhavik1 has joined #zuul | 15:53 | |
jasondotstar | sure | 15:57 |
jasondotstar | I'm a newbie to zuul | 15:57 |
jasondotstar | so I wanted to know some info on how the openstack jobs are ran | 15:58 |
jasondotstar | i 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 |
jeblair | pabelanger: 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 |
jeblair | pabelanger: 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 triggerevent | 16:00 |
pabelanger | jeblair: 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 now | 16:02 |
auggy | jasondotstar: 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-gate | 16:04 |
auggy | devstack-gate i think is the part that creates the devstack and runs tempest jobs | 16:05 |
auggy | but 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 |
pabelanger | jasondotstar: 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 |
jeblair | pabelanger: 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 |
jeblair | s/enqueue event/triggerevent/ | 16:06 |
pabelanger | jeblair: okay, I'll confirm things are right by looking at forced_pipelines logic within zuul | 16:07 |
mordred | jasondotstar, 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 it | 16:10 |
mordred | jasondotstar, 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 ansible | 16:11 |
auggy | mordred: 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 |
auggy | oh wait i remember having to add something to jjb | 16:12 |
* auggy 's brain is a little muddy | 16:12 | |
mordred | auggy: yes. that's right - there is a jjb job that basically says "hey, run devstack-gate on this node" | 16:12 |
mordred | and then devstack-gate produces a devstack config and executes devstack | 16:13 |
auggy | ahh right, you tell jjb what you want the job to be and for adding new nova jobs it was usually d-g | 16:13 |
mordred | yah | 16:13 |
mordred | the 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 |
auggy | oh yeah def | 16:14 |
mordred | (if we produced a versoin of zuul that couldn't run d-g, we would have done something horribly wrong :) ) | 16:14 |
auggy | jasondotstar: had been asking specifically what's running tempest et al and that was the first thing that came to mind | 16:14 |
mordred | ++ | 16:14 |
mordred | yah- devstack-gate runs tempest as the default activity after having run devstack | 16:15 |
mordred | also - howdy jasondotstar | 16:15 |
auggy | but for a non-openstack project one could potentially specify a job that just spun up vagrant or something | 16:16 |
jasondotstar | yes, howdy @mordred | 16:16 |
auggy | maybe i'm overthinking this... haha | 16:16 |
mordred | auggy: yes you could totally do that | 16:16 |
mordred | really you can have the job do anything that one can do in a computer :) | 16:16 |
auggy | oh 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 |
auggy | so right now with that workflow, that's why you'd mentioned, jobs need to be complied eacah time | 16:17 |
mordred | yes! | 16:17 |
auggy | whereas the point of nodepool is to provide some kind of cache | 16:18 |
auggy | data cache or whatevs | 16:18 |
mordred | for compiled languages, we either compile many more times than is optimal, or we have to do really wonky dances between jobs | 16:18 |
auggy | yeah | 16:18 |
mordred | although yay for free cloud resources! | 16:18 |
auggy | hrm 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 time | 16:18 |
mordred | java would have the same problem in a zuul world | 16:18 |
auggy | desktop software hehe | 16:19 |
mordred | the main thing is that of our nodes are single-use | 16:19 |
mordred | so if you compile on one machine as one step, then have another job depend on the first job having completed | 16:19 |
mordred | none of the compiled artifacts will be around | 16:19 |
auggy | right | 16:19 |
mordred | we do a dance with releasing software | 16:19 |
mordred | where the first job (the one that makes the tarball) uploads it to tarballs.o.o | 16:19 |
mordred | then the second job downloads it from tarballs.o.o then uploads it to pypi | 16:20 |
mordred | which works ... | 16:20 |
mordred | but is ... well, awkward | 16:20 |
auggy | hrm yeah | 16:20 |
*** saneax-_-|AFK is now known as saneax | 16:20 | |
auggy | i know that was on the zuul-santa wish list anyways hehe but yeah.. | 16:20 |
mordred | I WANT A PONY | 16:21 |
auggy | compiled or interpreted? | 16:21 |
mordred | :) | 16:21 |
auggy | thx for taking the time to explain that!! it's slowly congealing in my brain | 16:21 |
mordred | sure! it's a big beastie of a system | 16:22 |
auggy | yeah def.. although i think i mentioned in bcn after working on nova for the past year man... | 16:22 |
mordred | good point | 16:22 |
mordred | that is also a big beastie of a system | 16:22 |
auggy | maybe zuul has less of a multiple personality disorder | 16:23 |
greghaynes | with 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 |
greghaynes | I kind of wonder how bazel does this... | 16:26 |
clarkb | bazel has asingle distro to deal with so likely not | 16:27 |
greghaynes | womp womp | 16:27 |
greghaynes | because the other option is you go crazy far down the model out your job dependencies rabbit hole | 16:28 |
mordred | greghaynes: 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 |
greghaynes | yea, or build a container / image once and use it in a bunch of jobs | 16:30 |
mordred | yah | 16:30 |
Shrews | what 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 wrong | 16:34 |
mordred | Shrews: yah - I thnk it's meant to be like in progress | 16:42 |
jeblair | Shrews: 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 |
jeblair | s/note/not/ | 16:43 |
mordred | ah! I misunderstaood the question | 16:43 |
Shrews | jeblair: i do not see any other way to set the task to in progress | 16:44 |
Shrews | so maybe a permissions thing | 16:44 |
jeblair | Shrews: what is the one way you do see? | 16:45 |
Shrews | jeblair: the Todo/Progress/Invalid/Merged pulldown | 16:45 |
Shrews | here: https://storyboard.openstack.org/#!/story/2000767 | 16:46 |
jeblair | Shrews: yes, it is likely the case that you don't have permissions to update the board. | 16:46 |
Shrews | i will just delegate through SpamapS. he loves that | 16:46 |
SpamapS | I do | 16:46 |
Shrews | i've heard he writes sonnets about task delegation. they're lovely | 16:47 |
openstackgerrit | Paul Belanger proposed openstack-infra/zuul: [WIP] Add tenant support to zuul client https://review.openstack.org/393850 | 16:50 |
SpamapS | Mostly Haiku | 16:51 |
SpamapS | tasks on the wind delegated | 16:51 |
SpamapS | bah | 16:51 |
*** jamielennox is now known as jamielennox|away | 16:51 | |
Shrews | off-by-1 error | 16:51 |
Shrews | err, 3? | 16:52 |
SpamapS | delegated tasks, blown by wind to my todo, not mine but mine now | 16:52 |
Shrews | bravo | 16:53 |
*** hashar is now known as hasharAway | 16:53 | |
openstackgerrit | Paul Belanger proposed openstack-infra/zuul: Add tenant support to zuul client https://review.openstack.org/393850 | 17:11 |
openstackgerrit | Paul Belanger proposed openstack-infra/zuul: Add tenant support to zuul client https://review.openstack.org/393850 | 17:13 |
pabelanger | okay, should make zuul client and unit tests happy again | 17:13 |
pabelanger | oops | 17:14 |
*** saneax is now known as saneax-_-|AFK | 17:23 | |
openstackgerrit | Paul Belanger proposed openstack-infra/zuul: Add tenant support to zuul client https://review.openstack.org/393850 | 17:30 |
openstackgerrit | Paul Belanger proposed openstack-infra/zuul: Add tenant support to zuul client https://review.openstack.org/393850 | 17:34 |
openstackgerrit | Paul Belanger proposed openstack-infra/zuul: Add tenant support to zuul client https://review.openstack.org/393850 | 17:35 |
*** harlowja has quit IRC | 18:00 | |
*** harlowja has joined #zuul | 18:03 | |
openstackgerrit | Paul Belanger proposed openstack-infra/zuul: [WIP] Re-enable test_client_enqueue_ref test https://review.openstack.org/393887 | 18:07 |
*** harlowja has quit IRC | 18:18 | |
adam_g | can 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_g | ive wrapped my head around how the reporting plumbs together, but dont really grok when/what is expected to be reported | 18:21 |
adam_g | in 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_g | what am i missing? | 18:22 |
*** bhavik1 has quit IRC | 18:25 | |
*** jlk has quit IRC | 18:28 | |
*** jlk has joined #zuul | 18:28 | |
*** jlk has quit IRC | 18:28 | |
*** jlk has joined #zuul | 18:28 | |
*** harlowja has joined #zuul | 18:30 | |
Shrews | lol, https://bugs.launchpad.net/cirros/+bug/1638807 | 18:38 |
openstack | Launchpad bug 1638807 in CirrOS "Improper password to root user" [Undecided,New] | 18:38 |
*** jamielennox|away has quit IRC | 18:38 | |
*** saneax-_-|AFK has quit IRC | 18:38 | |
pabelanger | adam_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 success | 18:43 |
openstackgerrit | Paul Belanger proposed openstack-infra/zuul: [WIP] Re-enable test_client_enqueue_ref test https://review.openstack.org/393887 | 18:51 |
pabelanger | jeblair: 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 function | 18:59 |
*** jamielennox|away has joined #zuul | 19:13 | |
*** jamielennox|away is now known as jamielennox | 19:13 | |
*** saneax-_-|AFK has joined #zuul | 19:16 | |
*** abregman has joined #zuul | 20:14 | |
openstackgerrit | Adam Gandelman proposed openstack-infra/zuul: Re-enable test_new_patchset_dequeues_old* tests https://review.openstack.org/393924 | 20:24 |
adam_g | well... took a while to get to the solution but was a great architectural deep dive | 20:25 |
*** hasharAway is now known as hashar | 20:28 | |
pabelanger | adam_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 |
mordred | adam_g: yay for architecture deep dive! | 20:36 |
adam_g | pabelanger: ack, will do when back from lunch | 20:36 |
*** hashar_ has joined #zuul | 20:46 | |
*** hashar has quit IRC | 20:48 | |
*** hashar has joined #zuul | 20:48 | |
*** hashar has quit IRC | 20:48 | |
*** SotK has quit IRC | 20:48 | |
*** SotK has joined #zuul | 20:48 | |
*** abregman has quit IRC | 21:13 | |
adam_g | pabelanger: oh, it looks like you've already enabled those somewhere in that stack | 22:47 |
pabelanger | adam_g: that might be the case, I know a few of them worked once the single-tenant configuration started building up | 22:49 |
adam_g | yea | 22:51 |
* adam_g abandones | 22:51 | |
openstackgerrit | Paul Belanger proposed openstack-infra/zuul: Enable test_two_failed_changes_at_head test https://review.openstack.org/393950 | 23:06 |
*** hashar_ has quit IRC | 23:13 | |
*** saneax-_-|AFK is now known as saneax | 23:19 | |
openstackgerrit | Paul Belanger proposed openstack-infra/zuul: Re-enable test_merger_repack test https://review.openstack.org/393953 | 23:21 |
openstackgerrit | Paul Belanger proposed openstack-infra/zuul: Re-enable test_file_head test https://review.openstack.org/393956 | 23:29 |
Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!