Friday, 2017-02-17

openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Add support for roles in zuul  https://review.openstack.org/43517900:48
jeblairmordred: ^ you'll want to give that one a gander, i reckon.  tomorrow.  :)00:49
jeblairi hope we can land that before the ptg; it will make things much more interesting.  :)00:49
mordredmeh. who needs tomorrow. we've got tonight00:49
jeblairwoo, drunk reviewing!00:50
mordredjeblair: remind me again what "while" means?00:55
mordredjeblair: also - I find that in zuul patches I almost always want to review code with the files in a different sort order than they sort alphabetically (since tests sorts before zuul and I like to read the code then the tests)00:57
jeblairmordred: i'm not sure of the context of the 'while' question...01:09
jeblairmordred: i think if you set diff.orderFile in your git-config for a given repo, you can specify the order in which files will show up in a git diff, and that will affect gertty.01:11
jeblairhttps://git-scm.com/docs/git-config#git-config-difforderFile01:11
*** jamielennox is now known as jamielennox|away01:18
openstackgerritIan Wienand proposed openstack-infra/nodepool master: Add a HTML status page  https://review.openstack.org/43518501:23
*** jamielennox|away is now known as jamielennox01:25
mordredjeblair: oh neat!01:48
mordredjeblair:  the while question was a joke intended to be read as a response to "woo, drunk reviewing!"01:48
openstackgerritIan Wienand proposed openstack-infra/nodepool master: Add image-list.json webapp target  https://review.openstack.org/43520102:53
openstackgerritIan Wienand proposed openstack-infra/nodepool master: Add a HTML status page  https://review.openstack.org/43518503:00
*** deepbook5broo has joined #zuul03:58
*** deepbook5broo has left #zuul03:58
*** bhavik1 has joined #zuul06:21
*** saneax-_-|AFK is now known as saneax06:22
*** bhavik1 has quit IRC06:32
*** Cibo_ has quit IRC07:30
*** Cibo_ has joined #zuul07:32
*** Cibo_ has quit IRC07:46
*** Cibo_ has joined #zuul08:00
*** bhavik1 has joined #zuul09:09
openstackgerritTobias Henkel proposed openstack-infra/zuul master: Enhance mutex to counting semaphore  https://review.openstack.org/38652009:30
*** bhavik1 has quit IRC10:24
*** Cibo_ has quit IRC10:28
*** Cibo_ has joined #zuul10:32
*** yolanda has quit IRC11:36
*** yolanda has joined #zuul11:39
*** Cibo_ has quit IRC11:53
*** Cibo_ has joined #zuul12:04
*** hashar has joined #zuul12:44
*** abregman has joined #zuul13:59
*** abregman has quit IRC14:05
Shrewspabelanger: ugh, we're hitting that test_image_upload_fail race quite often14:32
pabelangerShrews: let me get a patch up now14:32
pabelangeror we can disable14:32
*** Cibo_ has quit IRC14:37
openstackgerritPaul Belanger proposed openstack-infra/nodepool feature/zuulv3: Disable test_image_upload_fail  https://review.openstack.org/43547714:45
pabelangerShrews: ^ disable for now, but I'll work on a patch today14:45
pabelangerthen recheck it a bunch of times14:45
Shrewspabelanger: k14:46
openstackgerritDavid Shrewsbury proposed openstack-infra/nodepool feature/zuulv3: Fix possible race with node request handling  https://review.openstack.org/43512814:48
mordredpabelanger: fwiw, if you need to skip tests again, testtools has a method "self.skipTest('some reason this is skipped')" - no need to import skip decorator from unittest - (I landed the patch, just thought I'd point it out if you didn't know it was there)15:03
openstackgerritPaul Belanger proposed openstack-infra/nodepool feature/zuulv3: Disable NodeCleanupWorker() for test_image_upload_fail  https://review.openstack.org/43548115:03
pabelangerShrews: what about something like ^15:04
pabelangermordred: Ah, good to know15:04
openstackgerritPaul Belanger proposed openstack-infra/nodepool feature/zuulv3: Disable NodeCleanupWorker() for test_image_upload_fail  https://review.openstack.org/43548115:05
Shrewspabelanger: umm, it's the builder's cleanup thread you'd need to disable :)15:10
*** Cibo_ has joined #zuul15:10
*** Cibo_ has quit IRC15:15
pabelangerOh, haha15:16
pabelangercopy / paste error15:17
*** Cibo_ has joined #zuul15:17
*** saneax is now known as saneax-_-|AFK15:24
pabelangerOh, ya. I just did this wrong from the start15:25
openstackgerritMerged openstack-infra/nodepool feature/zuulv3: Disable test_image_upload_fail  https://review.openstack.org/43547715:28
openstackgerritMerged openstack-infra/nodepool feature/zuulv3: Fix possible race with node request handling  https://review.openstack.org/43512815:29
openstackgerritPaul Belanger proposed openstack-infra/nodepool feature/zuulv3: Disable CleanupWorker thread for test_image_upload_fail  https://review.openstack.org/43548115:48
openstackgerritPaul Belanger proposed openstack-infra/nodepool feature/zuulv3: Disable CleanupWorker thread for test_image_upload_fail  https://review.openstack.org/43548115:50
pabelangerwe should disable osic-cloud1 more often15:54
pabelangerto expose more race conditions :)15:54
mordredpabelanger: hah16:09
*** Cibo_ has quit IRC16:36
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Add support for roles in zuul  https://review.openstack.org/43517916:40
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Add support for roles in zuul  https://review.openstack.org/43517916:53
jeblairmordred: that update is a 3 line fix for the only test remaining that failed ^16:53
pabelangerjeblair: Shrews: let me know your thoughts on 435481, I'll keep rechecking for a failure16:54
mordredjeblair: doh16:54
*** hashar has quit IRC17:30
*** hashar has joined #zuul19:05
jesusaurjeblair: do you have some time for a few questions? i spent some time yesterday trying to figure out the job json data (both the data model and also the path it takes through the code), and I'm confused about the relationship between the Job object and the BuildSet object -- and by extension, what the purpose of the RepoFiles object is.19:11
pabelangerhttps://review.openstack.org/#/c/435481/ looks to be stable now19:23
Shrewsjesusaur: did you see the datamodel.rst file? that may help19:32
*** herlo has quit IRC19:39
jeblairShrews: ++; jesusaur: yes, i'm happy to help!19:42
jesusaurShrews: no, that doesn't help very much; I'm still not sure why per-project job config is stored in a BuildSet rather than a Job19:43
jeblairjesusaur: thanks, i'm starting to see what's missing from that doc :)19:43
jeblairjesusaur: a job is a representation of configuration state.  it's what should be run.  in essence, it's an abstract concept.19:44
jeblairjesusaur: a build is a single execution of that job.  it's concrete.19:44
jeblairjesusaur: a buildset is a collection of builds (so, a set of concrete executions of multiple jobs)19:44
jeblairjesusaur: in light of all that, the docstring for repofiles is terrible.  i wrote it, i'll own that. :)19:45
jeblairjesusaur: repofiles doesn't really have much to do with these ideas (but you'd never guess that from the docstring)19:46
jeblairjesusaur: it's basically so that we can cache .zuul.yaml files for use with dynamic in-tree configuration19:47
*** herlo has joined #zuul19:48
jeblairjesusaur: if you think about how zuul stacks up changes together for testing -- you go through the pipeline and add each change's commits to its git repo, and you check out the result and that's what you run19:49
jeblairjesusaur: we need to do the same thing for zuul's configuration19:49
jeblairjesusaur: and just like at any point, a failing change would pull that change out of the series of changes tested together19:49
*** herlo has left #zuul19:49
jeblairjesusaur: a failing change that touches .zuul.yaml would need to pull that .zuul.yaml out of the configuration used to test those changes19:50
jeblairjesusaur: so we have to keep the .zuul.yaml files for every item around, so that if any of them fail, we can recalculate zuul's config19:50
jeblairjesusaur: we happen to store that on the buildset, since that's the part of the queue item that changes each time zuul shuffles the queue19:51
jeblairjesusaur: all of that to say, this shouldn't really affect the thing you're working on19:52
jesusaurjeblair: aha, so the RepoFiles object refers to the .zuul.yaml files and not to the files in the repo being tested19:52
jeblairjesusaur: yep19:52
jeblairjesusaur: you mostly want to attach project names to Job objects, then pass that through to the launcher; you can pretty much ignore builds and repofiles for that19:52
jesusaurjeblair: so, at a high level, I already understood the basics of Jobs, Builds, and BuildSets; but then seeing the RepoFiles object made me question the details of how those objects interact19:53
jeblairjesusaur: it's not too different in spirit to the roles change i just wrote: https://review.openstack.org/43517919:53
jesusaurjeblair: but I also didn't realize how complex building the .zuul.yaml config is19:53
jeblairjesusaur: that had a bit of extra stuff in it, but seeing how the roles are plumbed through should be instructive19:53
jeblairjesusaur: yeah, it's erm, not easy.  :)19:53
jeblairjesusaur: definitely falls into the "we would have done it before now if it were easy" category.  :)19:54
jesusaurjeblair: so I have a couple small changes to model.py and configloader.py to parse 'repos' from the job config; but how does that json data move through the launcher server and client?19:54
jeblairjesusaur: that's the fun part -- just spit out some json into the gearman packet we send to the launcher: https://review.openstack.org/#/c/435179/3/zuul/launcher/client.py19:56
jeblairjesusaur: i've been adding toDict methods to model objects that get serialized like that19:57
jeblairjesusaur: then all the action happens over in the launcher, where we're going to want to do something similar to what i do to roles there --19:57
jeblairjesusaur: go over the 'items' which are included in the build and see if we've checked out one of the requested repos already.  if so, we're done.  if not, check them out into the git dir for the job19:59
jeblairjesusaur: (eventually, we'll probably want to make sure the branch fallback logic from zuul cloner is in there too, but we can start with the naive implementation and add that)20:00
jesusaurjeblair: awesome, thanks20:00
jeblairjesusaur: np; i'll work on some doc updates :)20:01
jesusaurjeblair: btw, in a couple hours I'm leaving for a long weekend, so if you really need the change for the PTG on Monday, feel free to write up your own change, otherwise I should have something on Tuesday :)20:01
jeblairjesusaur: i think we'll have plenty to do without it, thanks!20:02
jeblairjesusaur: (and if it shows up on tuesday, maybe we can play with it later in the week :)20:02
jesusaurcool :)20:03
*** hashar has quit IRC21:59
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Correct playbook requirement logic  https://review.openstack.org/43456422:00
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Reload tenant configuration on change merged  https://review.openstack.org/42643322:01
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Add support for roles in zuul  https://review.openstack.org/43517922:01
dmsimardjeblair: I wonder how relevant is https://review.openstack.org/#/c/435179/ considering end users can use roles from within playbooks in their project repos ?22:19
dmsimardTrying to understand the use case22:19
dmsimardi.e, https://docs.ansible.com/ansible/include_role_module.html22:20
dmsimardthat's at the task level, not a role directive22:20
pabelangerYa, that is going to be fun to use next week22:26
rbergeronjeblair, mordred: do we know of these kind humans? http://zuul.opencontrail.org22:26
rbergeronor is that third-party magic22:28
pabelangerhttps://review.opencontrail.org looks to be a thing, which is setup to use zuul / jenkins22:31
pabelangerdoesn't look like they are using nodepool, so static jenkins slaves22:32
dmsimardrbergeron: we do third party with RDO https://review.rdoproject.org/zuul/ :)22:33
rcarrillocruzniiice22:42
rbergerondmsimard: oh, i totes know that :)22:58
rbergeronpabelanger: almost looks like its just.... juniper23:00
rbergeronthough perhaps the larger community is also that, lol23:02
jeblairdmsimard: it's so that users can use external roles that aren't in their project repos23:38
jeblairdmsimard: eg, so that we can define some common roles (eg, "set up multinode network bridge") and any project can use those by declaring a dependency on the repo with that role23:39
jeblairdmsimard: also, we'll build on that to install galaxy roles that people request too23:39
jeblairdmsimard: there's more detail in the last part of this section of the spec: http://specs.openstack.org/openstack-infra/infra-specs/specs/zuulv3.html#ansible23:40
jeblairdmsimard: (starting with "All of the content...")23:40
*** saneax-_-|AFK is now known as saneax23:51

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