Friday, 2017-03-17

jamielennoxpabelanger: quick question, https://github.com/openstack-infra/zuul/blob/feature/zuulv3/playbooks/base-post.yaml any reason you use a synchronize in one place and a copy in the other?00:00
jamielennoxthey would seem to be doing the same jo00:00
jamielennoxb00:00
Shrewsjamielennox: actually, hrm... we'd have to get to the Node that fails in order to test that00:00
pabelangerjamielennox: yes, it is mostly a hack right now00:00
pabelangerwe should add a fat warning on the copy00:00
Shrewsnot quite sure how to do that offhand00:00
pabelangerbecause, we are actually modifying code outside the job DIR00:01
pabelangerfrom an untrusted job00:01
jamielennoxpabelanger: right, there's a few things i'm discovering here where trusted vs untrusted is going to be an interesting problem00:01
pabelangerjamielennox: tl;dr, it should be synchronize, but the job is untrusted and it will fail to run on executor00:01
jamielennoxpabelanger: wait, why will one fail and the other succeed ?00:02
pabelangerjamielennox: that is also going to change once we add our ssh keys to logs.o.o00:02
pabelangerjamielennox: first syncs to jobdir00:02
pabelangerwhich we allow00:02
pabelangerif you sync outside of it, we don't allow that00:02
jamielennoxpabelanger: oh, right, i see, the copy is a local copy which is the equivalent of place it on a web server somewhere00:02
pabelangerjamielennox: right, but we are going to block (plug) that. just haven't done so yet00:03
jamielennoxso publish logs will become something else00:03
pabelangercorrect00:03
pabelangerwe'll sync to a remote host00:03
jamielennoxit's really interesting to have that section in a user-modifiable ansible00:04
jamielennoxsimilar to success-url and failure-url, i can see no reason i would want that to be user modifiable00:04
pabelangermost of these playbooks will move to trusted, we just have them untrusted for now to iterate faster00:05
jamielennoxis there a way to specify running pre and post on every job?00:06
jamielennoxsome of the prepare-workspace stuff would seem like you wouldn't want a user job to have to parent base to get that information00:07
jeblairjamielennox: inherit from base is the way00:07
jamielennoxjeblair: is pre and post something overridable from an untrusted job?00:08
jeblairjamielennox: the vision is that the site admin configures the base job with pre and post playbooks that do all this.  most of this should also be in zuul's stdlib, so that site admins don't even have to write it either.  i'd like success/failure url to be populated by the log publishing playbook, but we haven't plumbed that yet.00:08
jeblairjamielennox: you can't override pre/post within an inheritance hierarchy, only add to them.  if you don't want a parent's pre/post, then you have to avoid inheriting from it.00:09
jamielennoxjeblair: yea, i'm aware that everything i'm playing with atm is still a moving target - just in some places i'm trying to distill the vision form the progress00:09
jamielennoxjeblair: oh, nice - excellent00:09
jeblairjamielennox: yeah, so generally, i would expect every job to have a single base job as the ultimate parent.00:10
jeblairjamielennox: i'd also expect some prototypical parent jobs too; like: base -> tox -> python2700:11
jeblairjamielennox: (where base has git repo copy and log copy; tox adds on to that installation of deps and subunit log processing, etc)00:11
jamielennoxthat makes sense, and it's really not an impediment  to users creating jobs to have to specify a parent to get basics like log publishing00:12
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Revert "Configure regional mirrors for our jobs"  https://review.openstack.org/44678600:13
Shrewsk, n-l running better now00:16
pabelangercool00:16
Shrewsjeblair: if you're interested, i'm still seeing IN_USE nodes that are locked w/o requests (0000000856 and 0000000861)00:17
Shrewsthere are currently no requests at all00:17
jeblairi will look00:18
Shrews856 allocated to 100-0000002522, 861 allocated to 100-000000252400:18
pabelangersorry for the pending noise00:18
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Create run-cover role  https://review.openstack.org/44133200:18
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Create zuul_workspace_root job variable  https://review.openstack.org/44144100:18
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Organize playbooks folder  https://review.openstack.org/44154700:18
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Rename prepare-workspace role to bootstrap  https://review.openstack.org/44144000:18
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Add run-docs role and tox-docs job  https://review.openstack.org/44134500:18
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Add net-info to bootstrap role  https://review.openstack.org/44161700:18
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Add revoke-sudo role and update tox jobs  https://review.openstack.org/44146700:18
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Create tox-tarball job  https://review.openstack.org/44160900:18
Shrewsnode AZs are populated now  \o/00:19
* Shrews calling it an evening00:19
jamielennoxpabelanger: aww, i just spent a day or two emulating all that :)00:20
jeblairShrews: locked and in use seems pretty normal, yeah?00:21
jeblair2017-03-17 00:13:41,588 INFO zuul.ExecutorClient: Execute job tox-cover (uuid: f722dcbc76274a9b9e7aa88741995c8e) on nodes <NodeSet OrderedDict([('ubuntu-xenial', <Node 0000000856 ubuntu-xenial:ubuntu-xenial>)])> for change <Change 0x7f1e1830e450 446785,1> with dependent changes []00:21
jeblairShrews: zuul thinks it's currently running a job on it00:22
jeblair2017-03-17 00:21:51,977 INFO zuul.nodepool: Returning nodeset <NodeSet OrderedDict([('ubuntu-xenial', <Node 0000000856 ubuntu-xenial:ubuntu-xenial>)])>00:22
Shrewsjeblair: hrm, yeah. maybe i expected the request to exist still. that seems wrong00:22
Shrewsthings are progressing now00:22
Shrewsjeblair: sorry00:22
jeblairShrews: oh, zuul deletes the req as soon as it is fulfilled00:22
jeblairnp00:22
jeblair"everything's fine" are the best bugs to find00:23
Shrewsright?00:23
Shrewsimma REALLY leave before we find more bugs  :)00:23
Shrewsnight00:23
jeblairhey this is fun to watch00:23
jeblairShrews: goodnight!00:24
Shrewsyeah, i been watching it all day! :)00:24
pabelangerjamielennox: I'll look at 446749 tomorrow, I've see that locally too00:24
jamielennoxpabelanger: yea, i went down a bit of an ansible rabbit hole looking for a better way to do that00:25
jamielennoxbut it probably doesn't matter until we have a way of user specifying ansible groups00:25
jamielennoxagain, it's working in my install - but i've no idea how to write a test for that00:26
pabelangerremote:   https://review.openstack.org/446791 Bump nl01.o.o to 10 servers00:28
jeblairjhesketh: i just noticed that the individual job progress bars at http://zuulv3-dev.openstack.org/ don't popup the times when you mouseover them00:29
pabelangerjeblair: Shrews: if you think we are ready^00:29
jeblairpabelanger: that's what we reserved, right?00:29
pabelangerjeblair: yes, total server is 100, and nodepool.o.o is using 90 ATM00:29
jeblairpabelanger: tbh, i wouldn't mind spending a bit more time in our artificially constrained capacity.  we found some good bugs that way.00:30
jheskethjeblair: that looks like a regression, yes... will take a look00:30
pabelangersure, that's fine with me too00:30
jamielennoxpabelanger: is there some way to template things into project-config from the host?00:41
jamielennoxpabelanger: so example, my use case is i don't want to put the equivalent of logs.o.o into project-config because it makes it harder to replicate that environment for testing00:41
jamielennoxis there a way we can like -e @/etc/host-data.yml in plays that we can inject deployment specific stuff into project-config?00:42
jamielennoxor something out of the executor specific config ?00:43
jheskethjeblair: mind if I rebase your sql forward port that is in merge conflict00:52
* jhesketh assumes it's okay00:58
openstackgerritJoshua Hesketh proposed openstack-infra/zuul feature/zuulv3: Port SQLAlchemy reporter to v3 driver structure  https://review.openstack.org/44211400:58
openstackgerritJoshua Hesketh proposed openstack-infra/zuul feature/zuulv3: Remove more swift configurations  https://review.openstack.org/44605600:58
openstackgerritJoshua Hesketh proposed openstack-infra/zuul feature/zuulv3: Move alembic into sql driver  https://review.openstack.org/44212400:58
openstackgerritJoshua Hesketh proposed openstack-infra/zuul feature/zuulv3: Port SQLAlchemy reporter to v3 driver structure  https://review.openstack.org/44211401:13
openstackgerritJoshua Hesketh proposed openstack-infra/zuul feature/zuulv3: Remove more swift configurations  https://review.openstack.org/44605601:13
openstackgerritJoshua Hesketh proposed openstack-infra/zuul feature/zuulv3: Move alembic into sql driver  https://review.openstack.org/44212401:13
openstackgerritJamie Lennox proposed openstack-infra/zuul feature/zuulv3: Re-add the ability to set username on zuul-executor  https://review.openstack.org/44630801:24
SpamapSjamielennox: you're saying you want variables that vary by.. what? Node provider?01:26
jamielennoxSpamapS: no, by deployment01:26
jamielennoxso i'm doing a POC now that basically just lets you add an additional file to the ansible run01:27
jamielennoxso that we can say something like "{{ log_host }}" in the project-config playbooks01:27
jamielennoxbut have "{{ log_host }}" point to logs.o.o only on a production deploy01:28
jamielennoxand i don't know logs-testing the rest of the time01:28
jamielennoxwill let us do things like actually test log publishing in vagrant deploys01:28
jamielennoxusing real project-config files01:28
SpamapSjamielennox: ew, vagrant. :-P01:29
jamielennoxwell vagrant as an example, but in our case most of us have spun up some form of dev environment and we need to be able to override the logs url by environment01:30
jamielennoxpreviously we did that by templating layout.yaml, but that doesn't work anymore01:30
SpamapSAnyway, so what you want is a well tested set of standard jobs, that hey customized by local site configs?01:30
jamielennoxwell put, yes01:30
SpamapSs/hey/get/01:30
SpamapSI think you can just do that now, call it std-py27 and then on site have py27 inherit std-py27, no?01:32
jamielennoxSpamapS: there's no where i can see to inject the site configs though01:32
SpamapSAnd have most of it in roles with defaults, but the py27 role would depend on std-py27 with values for the site01:33
jamielennoxzuul writes out a vars file with job_vars and it looks like you can add to that via individual job configuration, but not per site01:33
SpamapSRoles is where you'd inject the site bits01:33
SpamapSOr if you can add to them in the job config, just do it in the site specific one?01:34
jamielennoxSpamapS: modifying roles still means making project-config aware that you run different things in different environments though right?01:35
SpamapSBut it might be a good idea to be able to override at the site level rather than have to make a new site specific job01:36
jamielennoxSpamapS: i'm not sure if we're on the same page01:38
jamielennoxSpamapS: i'll see if my POC works and then point you at it to show you what i'm trying to accomplish01:38
SpamapSK01:38
SpamapSI should probably follow along via laptop instead of phone01:38
*** jamielennox is now known as jamielennox|away01:56
*** jamielennox|away is now known as jamielennox02:01
jamielennoxSpamapS: ok, so using https://github.com/jamielennox/zuul/commit/eb9a63ca342f64c6a973b15b06a9e36789f19a5504:12
jamielennoxi made an /etc/zuul/site-variables.yaml containing: http://paste.openstack.org/show/603046/04:12
jamielennoxthen my project-config looks like: https://github.com/jamielennox/project-config/blob/master/playbooks/roles/base/tasks/post.yaml#L1204:13
jamielennoxthe idea is simply to split some things that are site specific vs those that are job/specific so we can reuse the job definitions across multiple sites04:14
openstackgerritJamie Lennox proposed openstack-infra/nodepool feature/zuulv3: Split webapp into its own nodepool application  https://review.openstack.org/44567504:27
openstackgerritJamie Lennox proposed openstack-infra/nodepool feature/zuulv3: Refactor nodepool apps into base app  https://review.openstack.org/44567404:27
openstackgerritJamie Lennox proposed openstack-infra/nodepool feature/zuulv3: Allow loading logging config from yaml  https://review.openstack.org/44565604:41
*** bhavik1 has joined #zuul04:53
*** bhavik1 has quit IRC05:15
SpamapSjamielennox: kk, I think this deserves a wider discussion because variables and ansible make me go o_O05:39
jamielennoxSpamapS: yea, i very much expect for it to be a widerdiscussion, there are questions about trusted/untrusted etc as well and whether you publish that file with the logs05:40
SpamapSjamielennox: if I weren't using Zuul, and just running ansible on multiple sites, I'd have my inventory set group vars.05:43
SpamapShttp://docs.ansible.com/ansible/intro_inventory.html#group-variables05:43
SpamapSjamielennox: but since Zuul generates inventories, seems like it's going ot have to take the reigns on this anywa.05:45
SpamapSy05:45
jamielennoxSpamapS:  the problem here is that because we're cloning project-config independent of our deploy scripts there's really no way you could distinguish between the groups05:47
jamielennoxlike if i want to re-use that project-config between a dev/prod environment i would still need some way of informing the ansible what environment we are in05:47
SpamapSAgreed, though you can have multiple config repos05:49
SpamapSso you can have a common-config and then prod-config and dev-config05:49
SpamapSbut I'm still not sure how that would actually work here :-P05:50
jamielennoxyep, but event then dev- is still one person's dev so you basically end up having to replicate the job for everyone who actually does a custom install05:59
SpamapSjamielennox: replicate?  'inherit: jobname' ?06:03
jamielennoxSpamapS: we can do this later, but the problem isn't the running, it's that publishing is part of the same ansible06:08
jamielennoxand publishing is deploy specific not job specific06:10
jamielennoxlike i shouldn't need to recreate or reinherit or anything the tox job because the parent: base log ip has changed06:11
SpamapSjamielennox: i wonder if that could then be handled by a setting in the base job?06:18
jamielennoxSpamapS: right, that's what https://github.com/jamielennox/project-config/blob/master/playbooks/roles/base/tasks/post.yaml#L19 is, a way to set log ip in the base task06:21
jamielennoxand bonnyci job inherits from that base: https://github.com/jamielennox/project-config/blob/master/zuul.yaml#L2406:22
jamielennoxso now i need something that's not defined in project-config that lets me change that settings06:22
jamielennoxhence the site specific variables file06:24
*** yolanda has joined #zuul06:45
*** Cibo_ has joined #zuul07:56
*** hashar has joined #zuul08:17
*** Cibo_ has quit IRC08:57
*** bhavik1 has joined #zuul09:04
*** bhavik1 has quit IRC09:10
*** jesusaur has quit IRC09:13
*** jesusaur has joined #zuul09:15
*** rcarrillocruz has quit IRC11:00
*** zaro has quit IRC12:21
*** zaro has joined #zuul12:24
openstackgerritMerged openstack-infra/nodepool feature/zuulv3: Refactor nodepool apps into base app  https://review.openstack.org/44567412:51
*** rcarrillocruz has joined #zuul12:51
tobiash_hi12:57
tobiash_just noticed that nodepool-builder in my environment creates md5sum and sha256 sum of the images12:58
tobiash_are these used somewhere in nodepool?12:59
Shrewstobiash_: shade uses those to check for duplicate images. I don't *think* nodepool uses it anywhere else13:05
tobiash_Shrews: my images are approaching 30gb and take a bit for checksumming. So I thought if it would break things to inhibit that.13:06
Shrewsi'm not sure what would happen, tbh. it would probably allow you to upload duplicate images, at least13:09
Shrewstobiash_: actually, i think shade is going to calculate those values anyway13:11
tobiash_Shrews: ok, then I'll leave it as is and maybe give the nodepool-builder more ram :)13:12
Shrewsyeah13:12
Shrewsjeblair: mordred's https://review.openstack.org/297950 lgtm, but giving you another chance to review13:28
Shrewsactually, nm. that's failing the dsvm jobs13:30
pabelangertobiash_: if you remove DIB_CHECKSUM: '1' from nodepool.o.o, diskimage-builder will stop creating them.  However, shade will just create it. And if you are uploading to more then 1 provider, its better just to create the checksum files with DIB, then shade (since shade does it for each provider)13:35
tobiash_pabelanger: thanks, then I'll leave it on as checksumming has to be payed anyway13:39
openstackgerritPaul Belanger proposed openstack-infra/nodepool feature/zuulv3: Rename NodeCleanupWorker to DeletedNodeWorker  https://review.openstack.org/44664914:07
openstackgerritPaul Belanger proposed openstack-infra/nodepool feature/zuulv3: Split DeleteNodeWorker into two threads  https://review.openstack.org/44665114:07
openstackgerritPaul Belanger proposed openstack-infra/nodepool feature/zuulv3: Create BaseCleanupWorker class  https://review.openstack.org/44665014:07
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Add ansible-lint to tox (pep8)  https://review.openstack.org/43827614:36
mordredShrews: maybe we should just give up on that patch for master15:01
Shrewsmordred: that's your call15:02
mordredShrews: I think we should probably just get the shim done so that v3 can be master15:03
*** bhavik1 has joined #zuul15:28
SpamapSjamielennox: yeah, I'm just suggesting you have one more base between base and bonnyci, and that is what varies per site.15:44
pabelangerSpamapS: mordred: jeblair: Do we want to try and land topic:zuulv3-ansible today? I that gives us a good base of tox jobs to maybe think about include nodepool into zuulv3 testing too.15:50
jeblairmordred: i like that.15:52
jeblairSpamapS, jamielennox: note that the "git" driver i recently added may be useful here.  that lets you put a local git repo into your configuration without needing it to be in github/gerrit/etc.15:54
jeblairSpamapS, jamielennox: so you can add a low-overhead site-local config repo15:55
jeblairpabelanger: i'd like to review that stack when i finish up the current problem i'm on15:56
SpamapSjeblair: yeah that's what I was thinking. Maybe jamielennox didn't realize that.16:03
SpamapSI haven't looked closely, but if I pointed two projects at the same git repo, would it freak out?16:04
jeblairSpamapS: it's kind of muddled now.  i think i have a proposal to clarify things a bit.  with that in place, you shouldn't be able to do that (project == repo and is globally unique)16:06
* jeblair digs16:07
jeblairSpamapS: http://lists.openstack.org/pipermail/openstack-infra/2017-March/005208.html16:07
SpamapSjeblair: because I can see a situation where for dev I just want to use what's in my tree for base and for site, but then in prod I obviously want site-specific things in their own repo16:10
SpamapSbut that likely wouldn't work anyway16:10
* SpamapS unwinding things in my head16:10
pabelangerfor example (single playbook), you could set up a reasonable default in your playbook (maybe testing mode), then from your job definition in .zuul.yaml assign production variables. Then do a variable check in your playbook to setup variables in playbook is passed them, otherwise just setup using testing vars.16:18
SpamapSjeblair: so this is more a question about the model of inheritance than anything else. If I have two jobs, say tox-py27 and tox-py35, that both inherit from base, I have to edit base to change anything for both jobs.16:19
SpamapSSo that behooves me to make all my jobs inherit from a job in the middle.. site-base16:20
SpamapSAnd I need to be able to replace site-base relatively easily.16:20
pabelangeryou could edit both tox-py27 and tox-35 playbooks to add the same code16:20
pabelangeror update base16:20
SpamapSpabelanger: I could, but that wouldn't exactly scale to 1000 jobs and 5 sites.16:20
pabelangerright, if all jobs need the same update, base is the place for it16:21
SpamapSExcept I want to test base as-is because I'm testing changes to my source repo.16:21
pabelangerright, I think this is where you need to look at setting some vars in .zuul.yaml16:22
pabelangerI see some potential magic using set_fact too16:24
SpamapSI can't set anything in .zuul.yaml16:25
SpamapSI have 1000 users16:26
SpamapSwith their own .zuul.yaml16:26
SpamapS(hypothetically)16:26
SpamapSBut I want to be able to run a zuul in a new region, with a new logs server, and have their jobs work.16:26
SpamapSI think a layer between base, and all-jobs, is necessary.16:27
clarkbcouldn't you use your nodepool var data for that?16:27
pabelangergroup vars in ansible too16:27
*** bhavik1 has quit IRC16:27
clarkbthat gives you az region provider16:27
SpamapSso just name my logs server after the region always?16:28
clarkbnot necessarily (yay DNS)16:28
clarkbyou could have txt records, CNAMEs whatever16:28
clarkbbut ya if you need per region data then using the per region data supplied seems like a good place to start16:29
SpamapSalso when I'm doing dev testing of the playbook..16:29
SpamapSwe should probably let jamie explain the problem he's trying to solve16:29
SpamapSbecause I still don't think I understood it16:29
jeblairSpamapS: regardless of all the other ideas, it seems that 'base' and 'site-base' would be a way of solving the problem you describe.  do you foresee a problem with that?16:31
SpamapS17:41 <jamielennox> pabelanger: is there some way to template things into project-config from the host?16:32
SpamapS17:41 <jamielennox> pabelanger: so example, my use case is i don't want to put the equivalent of logs.o.o into project-config because it makes it harder to replicate that environment for testing16:32
SpamapS17:42 <jamielennox> is there a way we can like -e @/etc/host-data.yml in plays that we can inject deployment specific stuff into project-config?16:32
SpamapSthat's jamie's description of the problem16:32
jeblairi read it :)16:32
SpamapSok good16:32
pabelangerthe -e@ /etc/host-data.yaml would be the vars section from zuul.yaml, so that part is covered16:33
SpamapSExcept what Jamie was wanting to test, I think, was "Run zuul with all the jobs in all the .zuul.yamls, but on my laptop zuul"16:34
pabelangerI'm not sure I understand the 'template things' part for project-config16:34
SpamapSor s/laptop/private cloud tenant/16:34
jeblairthis is a big conversation that is starting to feel like it's going in circles.  SpamapS, i was asking you if you saw any problems with the scenario you were were constructing with the base and site-base construct.  i asked that because a bunch of people threw out ideas, all of which are valid and interesting.  but it diverted the conversation from the very specific suggestion of multiple git repos.16:35
jeblairso i'm just trying to figure out if i can mentally close that out, or if there's some engineering on that which still needs to be done.  :)16:35
SpamapSjeblair: sorry for going in circles. I'm worried I haven't characterized the original issue well.16:35
jeblairSpamapS: no need to apologize, i'm just trying to keep thing straight in my head.  and i think you have put forth an issue that's worth considering whether or not it's the same one as jamielennox16:36
SpamapSjeblair: I think multiple git repos was me thrashing toward quick fixes before I really understood the problem.16:36
SpamapSI'm going to set it aside and let jamielennox write up a clear use case so we can all get on the same page16:37
SpamapS(BTW IIRC this came up because jamielennox is deploying v3 in our cloud so yay for that)16:38
jeblaircool. i don't think the config syntax is quite ready for this kind of thing yet; the stuff in my email as well as some other things we need to do to make it safe for the 'third-party ci' case are probably going to be necessary before we start making very complex config structures.16:39
jeblairother than mental exercises, we should probably not push it too much further than the somewhat simple things we've done so far16:40
jeblairbut the mental exercises are good, so we can say ("once this is done, we should be able to ...")16:40
jeblairthe third-party-ci stuff i'm referring to is basically that we need to update the main config file to allow a user to specify what top-level objects should be read from a given repo.  that way a third-party ci can point their zuul at openstack-infra/devstack and get the job definitions but *not* the project definitions.16:41
jeblairthat sort of thing may be useful here as well.  solutions to these kinds of problem may involve something like "point your dev zuul at this repo to get the jobs but not the projects, then point it at this repo to get the projects"16:42
SpamapSOh I like that.16:48
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Decrypt secrets and plumb to Ansible  https://review.openstack.org/44668816:48
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Serve public keys through webapp  https://review.openstack.org/44675616:48
* SpamapS goes back to getting the current implementation done16:48
*** Cibo_ has joined #zuul16:56
openstackgerritClark Boylan proposed openstack-infra/zuul master: Check ssh keyfile readability up front  https://review.openstack.org/44706616:58
*** nt has quit IRC17:15
*** nt has joined #zuul17:15
openstackgerritClark Boylan proposed openstack-infra/zuul master: Close paramiko connections explicitly  https://review.openstack.org/44706617:25
openstackgerritClark Boylan proposed openstack-infra/zuul master: Close paramiko connections explicitly  https://review.openstack.org/44706617:34
*** Cibo_ has quit IRC17:37
*** hashar has quit IRC17:46
openstackgerritMerged openstack-infra/zuul master: Close paramiko connections explicitly  https://review.openstack.org/44706617:46
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Isolate encryption-related methods  https://review.openstack.org/44708718:12
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Augment references of pkcs1 with oaep  https://review.openstack.org/44708818:12
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Create tox-db jobs  https://review.openstack.org/44708918:13
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Create tox-db jobs  https://review.openstack.org/44708918:14
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Create tox-db jobs  https://review.openstack.org/44708918:25
clarkbpabelanger: re ^ weren't we moving away from tox-db and just going to run the setup script if found?18:26
pabelangerclarkb: for JJB ya, but I think we could make it into a playbook18:27
pabelangerI'm just testing things at this point, to see what it would look like18:27
pabelangerbut easy to add a role for the test script way18:28
clarkbpabelanger: well I think in general we didn't want to have a separate set of JJB configs (or playbooks) for running unittests18:28
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Create tox-db jobs  https://review.openstack.org/44708918:29
pabelangerclarkb: sure, don't have a preference currently, execpt to maybe more away from bash scripts18:29
pabelangeralso possible the job for zuul, could have a pre-run to for tox-py27 variant for this18:30
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Create tox-db jobs  https://review.openstack.org/44708918:47
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: [WIP] Create tox-db jobs  https://review.openstack.org/44708919:04
jeblairpabelanger: i don't see a reply to jhesketh's comment on 44144019:12
pabelangerjeblair: looking19:13
pabelangeroh, we talked in channel about that. Let me find it19:14
pabelangerjeblair: http://eavesdrop.openstack.org/irclogs/%23zuul/%23zuul.2017-03-15.log.html#t2017-03-15T20:41:14 is some discussion about it19:15
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: [WIP] Create tox-db jobs  https://review.openstack.org/44708919:17
jeblairpabelanger: hrm.  i remain unconvinced.  :)  i feel like roles should have descriptive names.19:18
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Create run-cover role  https://review.openstack.org/44133219:18
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Add run-docs role and tox-docs job  https://review.openstack.org/44134519:20
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Isolate encryption-related methods  https://review.openstack.org/44708719:24
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Augment references of pkcs1 with oaep  https://review.openstack.org/44708819:24
Shrewspabelanger: jeblair: Not asking for it right now, but a good next phase for testing nodepool-launcher would be to add a second provider. We could do that, yeah?19:27
Shrewsseems to be performing well right now. might need to shake things up soon19:27
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Create zuul_workspace_root job variable  https://review.openstack.org/44144119:30
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Organize playbooks folder  https://review.openstack.org/44154719:30
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Add net-info to bootstrap role  https://review.openstack.org/44161719:30
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Add revoke-sudo role and update tox jobs  https://review.openstack.org/44146719:30
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Create tox-tarball job  https://review.openstack.org/44160919:30
jeblairpabelanger, Shrews: we can probably siphon some off of vanilla?19:30
Shrewswow, that produced a lot of requests19:30
pabelangerjeblair: Shrews: no objection here19:31
jeblairthey're adding more jobs :)19:31
Shrews21 from those 519:31
pabelangerLet me make changes to nodepool.o.o19:31
Shrewsneat19:31
pabelangerpropose*19:31
pabelanger447108 and 447109 for when we are ready for another cloud19:37
Shrewspabelanger: umm, i thought we were using different provider names b/w production and v3?19:40
pabelangerShrews: not now.  nodepool-id in v2 allows us to keep the provider name the same19:42
pabelangerotherwise, if we change provider name, we need to upload images too19:42
pabelangerShrews: should we be using a different provider name?19:43
Shrewsthe only reason we aren't seeing production instances as leaked v3 instances is b/c v3 looks for the provider name in the nodepool_provider_name instance meta, which thankfully doesn't exist in19:44
Shrewsproduction19:44
Shrewsnodepool_id support is not in v3 yet19:44
Shrewsthat's yet to be merged from https://review.openstack.org/#/c/445325/1/nodepool/nodepool.py19:44
Shrewsjhesketh's master merge19:44
Shrewsso production would delete v3's nodes, but v3 could totally delete production's if the meta changed in production19:45
Shrewsproduction wouldn't* delete v319:46
Shrewsunless i've missed something somewhere19:46
jeblairnodepool_id *was* needed when v3 was creating json data19:46
jeblairnow that it isn't anymore, the fact that v0 uses json and v3 uses plain means they don't see each other19:47
Shrewsright, but if we had merged mordred's change into master...19:47
jeblairso that's yet another reason not to merge mordred's change to master :)19:47
jeblairyeah that ):19:47
Shrewsi think he may have decided to abandon that19:48
pabelangerokay, cool. Cause I was going to ask why we haven't had issues yet :)19:49
jeblairpabelanger, clarkb, fungi: mordred has reviewed the job tree -> graph change.  do one of you have a few minutes to look it over?  i'd like to merge it asap, because i'm about to write a bunch of code that has conceptual conflicts with it.19:51
jeblairhttps://review.openstack.org/443973 and https://review.openstack.org/44405519:51
Shrewspabelanger: changes looked good, i just -1'd the first so no one merges it for a bit19:51
jeblairmy plan is to squash them after review but before merge.  but i can squash now if you prefer.19:52
pabelangerShrews: sure, merge when ready19:52
clarkbjeblair: as long as its follows the specs I reviewed I'm happy :)19:52
clarkb(currently distracted by kernel samepage merging in an effort to make gate testing more reliably by reducing memory consumption)19:52
jeblairi think so :)19:53
fungiooh, that reminds me, i have some zuul v3 spec updates to approve19:54
jeblairclarkb, fungi, pabelanger: okay, unless you or someone else speaks up in a few minutes, i'll go ahead and assume mordred's code review + everyone else's spec review is sufficient and then squash and self-approve.19:56
fungii'm taking a look in moments, just skimming back over the specs real quick19:56
jeblairfungi: ok cool, thanks :)19:57
pabelangerya, just looking too19:57
jeblairi'll go ahead and rebase my secrets work on it then19:57
fungithe main spec update is approved, jhesketh has a suggestion on the clarification change https://review.openstack.org/445022 which could either go in a new patchset or another follow-on change19:59
jeblairi've generally left "report on this error condition" out of the spec as being unecessarily detailed (it's quite long enough).  but the implementation already does include that.  i'll leave a response for the record.20:01
fungicool, with that review comment i'm happy to approve it now20:01
fungias for 443973...20:01
fungijeblair: the edit in doc/source/zuul.rst doesn't match the example it's commenting on. did you intend to adjust the example along with it?20:02
fungilooks like the example is still the old-style yaml dep tree, and the project-final-test job (which was intended to demonstrate having multiple dependencies) isn't there at all20:04
jeblairfungi: the docs are all wrong and need a rewrite anyway.  that's a partial carryover from the original patch, which did update the jobs, but with the old syntax.  i didn't want to spend time correcting an example which would still be wrong without much more work, but i also didn't want to lose that bit of prose which i thought would be useful.20:05
fungiokay, just so long as it was intentional ;)20:06
jeblair(my feeling, btw, is that we're probably a couple weeks out from being worthwhile to start working on docs)20:07
fungimakes sense20:07
fungijeblair: the unsquashed pair have my +1 (which when added together, conveniently make a +2!)20:13
jeblairfungi: hah!20:15
*** yolanda has quit IRC20:26
*** yolanda has joined #zuul20:26
*** Cibo_ has joined #zuul20:29
*** Cibo_ has quit IRC20:35
*** Cibo_ has joined #zuul20:36
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Decrypt secrets and plumb to Ansible  https://review.openstack.org/44668820:49
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Isolate encryption-related methods  https://review.openstack.org/44708720:49
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Add secret top-level config object  https://review.openstack.org/44615620:49
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Improve job dependencies using graph instead of tree  https://review.openstack.org/44397320:49
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Augment references of pkcs1 with oaep  https://review.openstack.org/44708820:49
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Associate secrets with jobs  https://review.openstack.org/44668720:49
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Add per-repo public and private keys  https://review.openstack.org/40638220:49
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Serve public keys through webapp  https://review.openstack.org/44675620:49
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Add support for job allowed-projects  https://review.openstack.org/44713420:49
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Add support for job allowed-projects  https://review.openstack.org/44713421:01
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Add 'allow-secrets' pipeline attribute  https://review.openstack.org/44713821:01
jeblairthat's the "Secrets" part of the spec implemented \o/21:02
jeblairand it collided with executor rename21:04
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Decrypt secrets and plumb to Ansible  https://review.openstack.org/44668821:05
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Add 'allow-secrets' pipeline attribute  https://review.openstack.org/44713821:05
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Isolate encryption-related methods  https://review.openstack.org/44708721:05
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Add secret top-level config object  https://review.openstack.org/44615621:05
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Improve job dependencies using graph instead of tree  https://review.openstack.org/44397321:05
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Augment references of pkcs1 with oaep  https://review.openstack.org/44708821:05
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Associate secrets with jobs  https://review.openstack.org/44668721:06
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Add support for job allowed-projects  https://review.openstack.org/44713421:06
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Add per-repo public and private keys  https://review.openstack.org/40638221:06
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Serve public keys through webapp  https://review.openstack.org/44675621:06
openstackgerritJamie Lennox proposed openstack-infra/nodepool feature/zuulv3: Split webapp into its own nodepool application  https://review.openstack.org/44567521:20
openstackgerritMerged openstack-infra/nodepool feature/zuulv3: Rename NodeCleanupWorker to DeletedNodeWorker  https://review.openstack.org/44664921:26
openstackgerritJamie Lennox proposed openstack-infra/nodepool feature/zuulv3: Allow loading logging config from yaml  https://review.openstack.org/44565621:27
openstackgerritMerged openstack-infra/nodepool feature/zuulv3: Create BaseCleanupWorker class  https://review.openstack.org/44665021:28
openstackgerritMerged openstack-infra/nodepool feature/zuulv3: Split DeleteNodeWorker into two threads  https://review.openstack.org/44665121:30
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Improve job dependencies using graph instead of tree  https://review.openstack.org/44397321:33
openstackgerritK Jonathan Harker proposed openstack-infra/zuul feature/zuulv3: Reenable test_build_configuration_conflict  https://review.openstack.org/44627522:07
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Create zuul_workspace_root job variable  https://review.openstack.org/44715222:17
jeblairpabelanger: ^ i made an alternative suggestion22:18
pabelangerjeblair: sure I'll look in a bit22:19
pabelangerjeblair: left a comment on 441441 but have to run away. I am sure we'll take about it more :)22:42
jeblairpabelanger: goot chat :)22:56
jeblairgood chat even22:56
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Simplify the log url  https://review.openstack.org/43802823:11
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Remove url_pattern config parameter  https://review.openstack.org/44716523:11
jeblairSpamapS, jhesketh: ^ i gave that a fresh pass.23:12
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Port SQLAlchemy reporter to v3 driver structure  https://review.openstack.org/44211423:18
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Remove more swift configurations  https://review.openstack.org/44605623:18
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: [WIP] Create tox-db jobs  https://review.openstack.org/44708923:18
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Move alembic into sql driver  https://review.openstack.org/44212423:18
SpamapSjeblair: are you around?23:19
SpamapSjeblair: I'm trying to understand the stuck jobs test.. I don't really understand how or when gate-noop gets enqueued.23:19
jeblairSpamapS: sure!23:20
SpamapSas I typed that I realized I haven't actually watched the 2.5 test run23:20
jeblairSpamapS: it's because of the reconfiguration with the second config file23:20
jeblairSpamapS: the first config file says "run project-merge in gate", so we start that (we don't get very far because we pause it in queue)23:21
jeblairSpamapS: the second config says "run gate-noop in gate".  notably, it *does not* say to run any other jobs, such as project-merge23:21
SpamapSjeblair: ok, what has me confused is, when we reconfigure and add gate-noop, there's no new event that would enqueue it that I see23:21
jeblairSpamapS: so the reconfiguration handler works out the difference and says "i have an item in the pipeline; i need to stop any jobs which don't exist anymore [project-merge]".23:23
jeblairSpamapS: as for starting -- that will happen as long as the, erm, NNFI handler runs (it always tries to run as many jobs as it can)23:23
jeblairSpamapS: so presumably something in the reconfiguration process triggers that; let me look up the exact path23:23
SpamapSI think what I was missing was that the item would still be pending somewhere23:23
SpamapSI guess I thought once all the current jobs were enqueued, the item was handled and we wouldn't go back and re-evaluate it on reconfiguration.23:24
jeblairSpamapS: ah, it stays in the pipeline until it's reported, and anything in the pipeline is subject to reconfiguration.  so yeah, things can change mid-stream for a change.23:25
SpamapScool ok, this is my first time stumbling into that reality. :)23:26
SpamapSreading through the 2.5 test output logs now to get some sense of how it was when the test worked :)23:26
SpamapSanybody else use ccze (or another colorizer) to look at test logs? :)23:27
SpamapSI find it helps me to break it up visually23:27
jeblairSpamapS: the event that causes NNFI (processQueue in manager/__init__.py) is actually the reconfiguration admin event.  the scheduler runhandler runs nnfi on every pipeline after every event is handled, including those.23:28
jeblairSpamapS: so basicaly, the reconfigure is going to re-enqueue everything, cancel any obsolete jobs, then run the pipeline queue manager on all the pipelines which will start any new jobs23:28
jeblair(the 'run the pipeline queue manager bit' is in Scheduler.run)23:29
SpamapS  1764 stuck.nodates.txt23:29
SpamapS   524 stuckv3.nodates.txt23:29
SpamapSv3's tests are less chatty23:29
SpamapSbtw, stripping off the date/time stamps and vimdiffing the test outputs actually works pretty well23:31
SpamapSdejavu23:31
SpamapSI've said that before :-P23:32
clarkbvimdiff is one of the best things ever23:32
SpamapSjeblair: so in v2.5, we get this after reconfiguration:23:33
SpamapSzuul.Scheduler                   DEBUG    Re-enqueueing changes for pipeline gate23:33
SpamapSzuul.DependentPipelineManager    DEBUG    Re-enqueing change <Change 0x7f2b1c1455d0 1,1> in queue <ChangeQueue gate: org/project>23:33
SpamapSbut in v3...23:33
SpamapSzuul.Scheduler                   DEBUG    Re-enqueueing changes for pipeline gate23:33
SpamapSzuul.DependentPipelineManager    ERROR    Unable to find change queue for project org/project23:33
SpamapSzuul.Scheduler                   WARNING  Canceling build <Build f59e40cdf6954d2dbc461d0cc70a99e9 of project-merge on <Worker Unknown23:34
SpamapSoh23:34
SpamapShaha23:34
SpamapSdo we need a queue: integrated?23:34
SpamapSI bet we do23:34
SpamapShrm no23:35
SpamapScommon-config doesn't have a queue: for org/project23:35
jeblairthat's fine since there's only one project involved23:35
jeblaircanceling the build is correct.... i'm not sure about that error line...23:36
SpamapSmay be something missing in layout-no-jobs pipelines23:37
* SpamapS checking now23:37
SpamapSOne tiny difference is we trade a success-message for a failure-message23:39
SpamapSzomg23:39
SpamapSjeblair: n/m23:39
SpamapSlayout-no-jobs has...23:40
SpamapSno jobs23:40
SpamapSbad name23:40
SpamapSit's not no-jobs23:40
jeblairSpamapS: aha, yeah, that would explain that error23:43
SpamapSbut now doesn't seem like the job is getting released correctly23:45
* SpamapS still on it23:45
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Port SQLAlchemy reporter to v3 driver structure  https://review.openstack.org/44211423:47
SpamapSaaaand no valid playbook23:47
SpamapShrm23:48
SpamapSaha! because commitLayoutUpdate only commits zuul.yaml changes23:49
* SpamapS hopes you all enjoy seeing inside his brain23:49
jeblairSpamapS: i guess we can add the gate-noop playbook to the standard config repo?23:54
jeblair(which has a striking similarity to needing to add the job to gearman in the old version :)23:54
SpamapSI got it done in commitLayoutUpdate23:56
SpamapSbut I don't love it23:56
openstackgerritClint 'SpamapS' Byrum proposed openstack-infra/zuul feature/zuulv3: Re-enable test_stuck_job_cleanup  https://review.openstack.org/44678323:56
SpamapShowever, hard stop now23:56
SpamapSjeblair: ^^ that passes for me23:56
SpamapSno idea if it breaks other tests ;)23:57

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