15:01:16 #startmeeting Core Public Meeting 15:01:16 Meeting started Thu May 12 15:01:16 2016 UTC. The chair is jimi|ansible. Information about MeetBot at http://wiki.debian.org/MeetBot. 15:01:16 Useful Commands: #action #agreed #halp #info #idea #link #topic. 15:01:16 The meeting name has been set to 'core_public_meeting' 15:01:54 hi! 15:02:30 #chair jtanner|t420 abadger1999 bcoca alikins Qalthos ryansb Shrews nitzmahone 15:02:30 Current chairs: Qalthos Shrews abadger1999 alikins bcoca jimi|ansible jtanner|t420 nitzmahone ryansb 15:02:42 Yo 15:03:02 #topic Ansible 2.1 - pending issues for RC2 15:03:05 * bcoca is in 2 meetings right now, so might need prodding sometimes 15:03:20 bcoca: just let us know if there's anything outstanding for rc2 15:03:33 assuming you had not made any progress on the signal thing? 15:03:36 not right now 15:03:44 i think i know the issue, not sure though 15:03:56 k, is that a blocker to releasing 2.1? 15:04:09 not in my view, but Tower folk might disagree 15:04:28 ^ this has been broken before for long periods 15:04:58 ok, i'd say follow up on it tonight, and if you can fix it great, otherwise we'll release rc2 as planned tomorrow 15:05:04 current theory: dsiplay and ziploader multiprocess Lock is not being released so it keeps 'master' until they can be freed 15:05:07 assuming nothing else is blocking of course 15:05:48 ^ in 'installer framework meeting' al day (also will need to let in water main workers a few times) so not sure if i'll get any work done today 15:06:16 I think we'll probably want rc3 but no objections to rc2 tomorrow... I think there's a few p2s still open and quite a few smaller bugfixes that add up to a lot. 15:06:16 no problem, tomorrow morning if possible, like i said i won't hold up the rc2 release for it 15:06:35 abadger1999: yeah i'm digging back through my list of notifications, fixing things i see as i go 15:06:35 * bcoca really did not want a view to neighbour's port-a-potty nor knowledge of their usage schedule ... but right out my window 15:06:43 i've got a few patches in devel which i have not merged to 2.1 yet 15:07:22 jimi|ansible, i think the tower guys are going to want a fix for the sftp batch mode (in whatever form it is fixed) 15:07:42 but they have clear workaround, disable that setting 15:07:58 jtanner|t420: that's another bug which has been long-standing, isn't it? 15:08:00 ^ if they can confirm that works, we should not need to rush it 15:08:04 jtanner, is there a ticket for that one? 15:08:06 i'm all for getting the fix in, if it's ready 15:08:10 ditto 15:08:26 otherwise it can wait until 2.1.1 15:08:44 newtMcKerr, re-opened https://github.com/ansible/ansible/issues/13401 15:09:15 jtanner|t420: did you check with users that toggling that config solves the issue? 15:09:35 which users, which config 15:09:56 DEFAULT_SFTP_BATCH_MODE: 15:10:00 ticket/tower users 15:10:40 ansible.cfg [ssh_connection]sftp_batch_mode or ANSIBLE_SFTP_BATCH_MODE env var 15:10:57 ^ have them set to false and check if issue goes away 15:11:38 * bcoca really needs to get ansible-config dump/list working 15:14:12 jimi|ansible, bug has been open for a while, but now surfaces in tower because adhoc commands are wrapped with proot and they disabled all ssh args to make that work 15:14:56 easy test, they just need to set ANSIBLE_SFTP_BATCH_MODE=False 15:17:04 ok, so moving on 15:17:29 jtanner|t420: please have the tower team test that, and have any patches to fix it ready by tomorrow 15:17:48 they/he have been notified to test via slack 15:17:58 i've moved all P2 issues on the stable-2.0 milestone to the 2.1.0 milestone, of which there are now 16 15:18:58 https://github.com/ansible/ansible/issues/15745 has a PR which looks good, just giving it a quick once-over to make sure 15:19:12 https://github.com/ansible/ansible/issues?utf8=✓&q=is%3Aopen+milestone%3A2.1.0+label%3AP2+ 15:19:21 ^ meant to share that first 15:19:33 starting with the oldest: 15:19:35 https://github.com/ansible/ansible/issues/11311 15:20:15 ^ this one seems to be very old? 15:21:16 * gundalow waves 15:22:20 (just idleing here) 15:25:07 looking at 11311, i believe that's fixed 15:25:36 looks like dupe to me, but not trusting my RAM right now 15:26:40 well, maybe not 15:27:05 i had a reproducer from when that was originally opened and i just checked it, still seems to use the same variable regardless 15:27:29 i don't think that's necessarily a P2 though, so i'm going to bump that to 2.2 and remove the P2 label 15:27:56 abadger1999: this is yours: https://github.com/ansible/ansible/issues/12255 15:28:09 ^ also not a P2, and I believe this is/should be a proposal? 15:28:18 this is pretty much the loop_control idea we came up with 15:29:10 a bit diff 15:29:27 lookup plugins have 3 or 4 ways of parsing params, we need to 'normalize' the interfaces 15:29:28 yeah, actually that's not just for loops even 15:29:31 not having to do with loops 15:29:49 jimi|ansible: yes to proposal -- opened in 2015 before proposals were around. Very different from loop_control. 15:29:58 since we want to decouple lookups and the new 'loop' .. this will become more relevant 15:30:07 sorry to go back, but 13401: tower crew says, not critical but would like fixed in 2.1 if possible. 15:30:21 newtMcKerr: does the config setting fix it for them? 15:30:38 they said they have a workaround, I assume that’s it 15:30:51 so consider it not a blocker for 2.1 15:30:51 confirmation would be nice before we change the code 15:30:58 ok 15:31:04 the first workaround was scp_if_ssh 15:31:09 they confirmed that worked 15:31:22 newtMcKerr, bcoca: also -- there's two different config settings. I believe they may be using scp_if_ssh as their workaround instead of the other one. 15:31:32 bcoca / abadger1999: well, passing as params to a method is the way to do it there, loop_control would be used to create a standard way of passing those into lookups used within a loop 15:31:33 we might still want to test the other config as not all users can use scp 15:32:10 jimi|ansible: this issue/proposal is only about a single loop. 15:32:10 jimi|ansible: lets make it easier, loop JUST takes lists, you can use lookups|filters|whatever to provide them 15:32:25 ^ decoupling makes loops MUCH easier and explicit, will prevent soo many issues/errors 15:32:26 anyway, we'll move that to a proposal 15:32:47 bcoca: we can figure that out, that would be a big change 15:32:54 jimi|ansible, proposal++ 2.1RC-- 15:33:09 jimi|ansible: new var 'loop', with_ will still be there for a while 15:33:15 s/var/directive/ 15:33:23 to match the new 'loop_control' 15:33:29 ^ better loops 15:35:02 bcoca: this was marked as P2, not sure if it really is, but it's kind of feature-ish: https://github.com/ansible/ansible/pull/13623 15:35:38 13401: confirmed they are using scp_if_ssh 15:36:31 jimi|ansible: feature idea, no p2, push to 2.2 15:36:41 ^ we had dif rules when that was created 15:36:56 newtMcKerr: still need to confirm when using sftp and the other setting 15:37:10 k 15:37:48 scp_if_ssh bypasses the whole code, the sftp_batch_mode affects the SPECIFIC part of the code that is being looked at 15:39:21 bcoca: thoughts? https://github.com/ansible/ansible/issues/14914 15:39:34 i haven't heard anything else about that from other users, so not sure what the deal is there 15:39:48 i don't believe i had ever tried to reproduce it 15:40:51 no, i would expect the issue if localhost ansible_ssh_host=129.424.43.34 15:41:11 i can try the repro 15:41:30 ok. let’s punt 13401 for now. I’ll follow up with those guys about it. 15:42:08 bcoca: hrm, i think that error may actually be the setup task failing... 15:42:35 * abadger1999 thinks 13401 should be in 2.1 final.... lots of people running across it and jtanner|t420 has a fix... just needs testing and tweaking. 15:42:41 yeah, if i add `gather_facts: no` to his example, it works fine 15:42:44 ^ jtanner|t420 15:42:53 probably, jsut error is truncated 15:42:58 ^ but that is probably it 15:43:55 abadger1999, if there's more test scenarios suggested, i'm willing to try ... i went through all the ones i could think of 15:45:06 jimi|ansible, yep, seeing same behavior. Testing all versions now. 15:45:41 jtanner|t420: just to be clear, which same behavior? 15:45:47 that he reported or that i reported 15:45:58 abadger1999: we have toggle that can already work as fix, that is why im not pushing for it in 2.1 15:45:59 jtanner|t420: Thinking mainly the "confirmation from a user" that we were talking about above. I'll try to poke at your PR after meeting... I'd probably be for merging for rc2 on the theory that it's highly desirable that a fix is in final so the more testing the better. 15:47:03 jimi|ansible, appears to have never worked 15:47:03 bcoca: if we change the default then it's fix, otherwise it's a workaround ;-).... not sure about changing the default as that seems to regress the original bug report. 15:47:20 abadger1999: that is why i'm saying we add 'smart' instead of just bypassing toggle 15:47:27 ^ but would like confirmation on fix before that 15:47:52 since toggle is specific to that line of code ... lets test taht, using scp instead is not a good test 15:48:04 jimi|ansible: 13623 -- we need to discuss. 15:48:39 jimi|ansible: I made it p2 because gce is broken right now. 15:48:50 jimi|ansible: we have to merge or we have to revert changes to the gce module. 15:49:18 did he fix the PR? last i looked it still had issues, if still true we should revert 15:50:13 jimi|ansible, nevermind, might be pebkac ... retesting 15:50:35 jimi|ansible: the gce module changes went in in December. 15:50:42 abadger1999: ahh, ok 15:50:55 I on-site fixed this for a customer last year with like a 2 line code change 15:50:56 bcoca: yeah, he did... asked for re-review 15 hours ago. 15:50:56 he did address the issues, so if that looks ok go ahead and merge it 15:50:59 almost tempted to merge and fix pending issues myself 15:51:02 (always meant to PR it) 15:51:26 hmm, he did not fix import issue ... 15:51:31 wtf did he change? 15:52:07 The existing path will accept JSON as well IIRC on newer versions of libcloud, so you don't actually have to change that. 15:52:57 hah 15:53:00 ^ import libcloud will throw exception that won't be caught by module and not display friendl exit_json 15:53:04 bcoca: he didn't fix it... but it was pre-existing. 15:53:20 so he probably didn't understand what you meant because of that. 15:53:34 fine, lets just fix after merge ... 15:53:52 i did give specific instructions and even pointer at ec2.py as example ... 15:53:54 wfm, I'll do that since you have a ton of other stuff. 15:54:09 15:54:16 abadger1999: got gce creds to test? 15:54:21 right now i'm terrrified at RH meeting ... some very sane people, but others .... 15:54:34 ^ you can easily get 500 credit test creds 15:54:48 (was just going to say I do, if you want) 15:55:21 nitzmahone: I don't I figured that the PR had already been tested? 15:55:41 It's a pretty simple change, looks like it *should* work 15:56:19 and schwidt from irc had tested earlier. 15:56:56 nitzmahone: if you're willing, I'll ping you after I merge? 15:57:16 sure 15:57:24 We've got a plan :-) 15:57:52 Looking more closely, he *is* using the same target arg anyway, just added a second version of it and checking to see if it's json first. 15:58:46 abadger1999: you cherry-picked that gce thing? 15:58:56 jimi|ansible: I'm in process of cherry-picking now 15:59:16 Qalthos: https://github.com/ansible/ansible/pull/15134 16:01:29 ^ the submitter says they've rebased, so please re-review that one and merge if good 16:01:51 I'm... not entirely sure why this got sent to me. It seems reasonable, but I'm not sure of the ramifications of getting this in vs the generic solution bcoca is working on 16:02:19 ok, if this falls under the more generic path thing, which is still outstanding, we can consider that, but i'm not sure it's ready yet either 16:02:50 nope, still trying to figure out how not to change lookup api 16:03:06 ^ i do have the action_plugin case working .. but they should match 16:06:01 I didn't think it was ready, but this seems like a band-aid compared to the full fix, and I'm not sure how to handle that. Do we merge this and remember to take it out when the real thing is ready? 16:07:08 Qalthos: It is a bandaid but we're not going to have the full fix for 2.1 16:07:21 Qalthos: so it's to you to see if the band-aid is okay. 16:07:47 we'll do that for 2.1 if it is okay, then look at something more generic for 2.2. 16:08:11 so, yes. if it's an okay bad-aid -- we merge it now and remember to take it out later. 16:09:21 abadger1999: alright, I can work with that 16:12:07 Cool. 16:12:33 jimi|ansible, updated 14914 ... wfm 16:16:10 meeting over? 16:17:50 ^ current 'main' behaviour is 'find in roles dir' which is far from correct but will work for most people 16:18:11 ^ that fix is 'find in current role or roles that depend on me' which is the correct way 16:18:25 ^ both also fallback to playbook_dir 16:19:37 jimi|ansible: gce cherry-picked and bcoca's comments addressed. 16:19:50 nitzmahone: gce with fix now in devel and stable-2.1 head. 16:20:04 noice- I'll poke at it in a bit 16:20:25 abadger1999: ++ 16:20:59 thanks 16:24:15 jtanner|t420: sorry got distracted by other stuff (kids coming home from school) 16:24:53 jtanner|t420: want to look at this one? https://github.com/ansible/ansible/issues/15126 16:25:04 ^ i hadn't tried to reproduce that either, it's been on my list for a while 16:25:05 sure 16:25:54 ^ pointer, fetch changes to slurp when using sudo, so it is all in memmory 16:25:59 so if swapping .... 16:26:39 yeah could be bad 16:26:47 bcoca: https://github.com/ansible/ansible/issues/15548 16:26:55 ^ i'm thinking that's probably correct? 16:27:15 include_vars goes into the non-persistent fact cache, which is higher priority than static vars like those specified on tasks 16:27:52 i dont disagree on facts ... but i would want it to work as user expects 16:28:12 ^ under fine tuning variable precedence 16:28:23 nothing i think we should work on right now, mebbe 2.2 16:28:29 ^ if we decide to change or not 16:29:37 i think from our precedence rules it's correct as-is 16:30:00 if we change it now, it could break others playbooks 16:30:29 set_fact/include_vars > vars/vars_files 16:32:33 i thought facts < vars 16:32:40 * bcoca needs to reread those 16:32:53 all_vars = combine_vars(all_vars, self._vars_cache.get(host.get_name(), dict())) 16:32:54 all_vars = combine_vars(all_vars, self._nonpersistent_fact_cache.get(host.name, dict())) 16:32:57 ^ those are done almost last 16:33:20 include params, extra vars, and magic variables are the only higher precedence things 16:40:13 bcoca: closed that one 16:43:20 ok 16:50:18 abadger1999: willthames squashing stuff, it looked ok to me: https://github.com/ansible/ansible/pull/15657 16:50:23 anyone else have an opinion 16:50:24 ? 16:50:44 jimi|ansible: we talked about it last night. 16:51:13 was the corner case issue resolved? 16:51:17 o rly? apparently i missed that 16:51:18 i missed last nights convo 16:51:20 I made some more new testcases and fixed the original traceback will merge those today. 16:51:32 talked about in IRC i guess? i wasn't watching it 16:51:36 ok, really want to remove squashign in new 'loop' 16:51:48 I think that would retarget his PR to 2.2 16:51:57 yeah -- let me get my PR. 16:51:59 abadger1999: there was your PR and will's, are you merging both? 16:52:15 jimi|ansible: no, just mine. 16:52:46 jimi|ansible: I should summarize what will and I talked about into the ticket too. 16:52:52 so many things to do... 16:52:54 k 16:53:43 https://github.com/abadger/ansible/compare/5c2ca5403929...c1995a5c224e 16:53:56 https://github.com/ansible/ansible/pull/15825 16:55:04 gist of the discussion was that I didn't think that the test case changes were all correct. I proposed new testcases but fixing some of them would require a lot more work on willthames's PR. 16:55:25 So I made this change which fixes the original bug but doesn't implement any of will's cleanups. 16:56:33 I'll merge my PR now unless someone would like to review first. 17:00:19 abadger1999: that looks simple enough 17:00:25 the diff i mean 17:01:48 abadger1999: you drop this line bit: https://github.com/ansible/ansible/pull/15825/files#diff-76ffc0551f8cf3d6255500316568e60bL237 17:01:59 jimi|ansible, i see a "hang" without sudo on a 9.6GB file. I don't believe it's a problem with the connection though because a python pid on the controlhost is churning @23%CPU in a D state. It may be the final checksum calculation that is not-optimized for large files. 17:02:01 ^ when is _squash_items() ever called internally? 17:02:26 the fetched file is complete (based on size) 17:03:12 just finished 17:03:37 jimi|ansible: when it matches list of modules + one of the listed options is also present in task 17:03:40 so it didn't hang, it just took a while (due to slurp) 17:03:48 ^ jtanner|t420 17:04:14 if "slurp" is to blame for checksum calc, then yes? 17:04:28 bcoca / abadger1999: ok, just want to make sure it really is squashing things for yum, etc. 17:04:32 the -vvvv log doesn't really show that the xfer is done 17:04:36 ^ toshio fixed checksum to be chunked, check if slurp/fetch are not using their own function 17:04:41 jtanner|t420: could be 17:04:53 jimi|ansible: it should as long as they did not override config and remove yum from list 17:04:58 k 17:05:00 gonna dig some more, after i get some food 17:05:03 jimi|ansible: Oh oops... bad changing of earlier attempt at fix (putting the try except at the callpoint) 17:05:04 i'll assign ticket to me 17:05:06 I'll fix that. 17:06:22 huh, could have sworn i fixed this: https://github.com/ansible/ansible/issues/15697 17:06:49 * jimi|ansible looks at that one 17:09:21 abadger1999: gce updates work fine for me 17:15:17 nitzmahone: excellent. Thanks :-) 17:21:40 well i think we're officially past time, so i'll wrap it up 17:21:42 #endmeeting