15:00:13 #startmeeting Ansible Core Meeting 15:00:13 Meeting started Thu Feb 16 15:00:13 2017 UTC. The chair is gundalow. Information about MeetBot at http://wiki.debian.org/MeetBot. 15:00:13 Useful Commands: #action #agreed #halp #info #idea #link #topic. 15:00:13 The meeting name has been set to 'ansible_core_meeting' 15:00:30 hey team 15:00:56 #chair allanice001 allanice001 jimi|ansible jtanner mattclay nitzmahone Qalthos rcarrillocruz ryansb shertel 15:00:56 Current chairs: Qalthos allanice001 gundalow jimi|ansible jtanner mattclay nitzmahone rcarrillocruz ryansb shertel 15:01:05 #chair funzo 15:01:05 Current chairs: Qalthos allanice001 funzo gundalow jimi|ansible jtanner mattclay nitzmahone rcarrillocruz ryansb shertel 15:01:07 morning 15:01:11 * allanice001 waves 15:01:14 o/ 15:01:21 funzo = calfonso 15:01:28 o/ 15:01:34 hello 15:02:02 #info Agenda, feel free to add things, esp if their any proposals you'd like to discuss tohttps://github.com/ansible/community/issues/150 15:02:42 hum, I assume abadger1999 is asleep 15:03:09 Agenda is fairly light, Any proposals people want to discuss? 15:03:21 The proposal process ? 15:03:29 supermeta 15:03:51 #topic Proposal Workflow 15:03:57 #chair allanice001 15:03:57 Current chairs: Qalthos allanice001 funzo gundalow jimi|ansible jtanner mattclay nitzmahone rcarrillocruz ryansb shertel 15:04:03 Thanks gundalow 15:04:17 * nitzmahone lurks 15:04:24 So you can #info as you wish 15:04:28 So I've started refactoring the issue file 15:04:31 #chair jimi_|ansible 15:04:31 Current chairs: Qalthos allanice001 funzo gundalow jimi_|ansible jimi|ansible jtanner mattclay nitzmahone rcarrillocruz ryansb shertel 15:04:35 #info https://github.com/allanice001/proposals/issues/3 15:05:04 Is the latest cut, if you would comment, I will appreciate your feedback 15:05:43 I'll try getting a draft of the process review up ny #next-meeting 15:06:12 do those checkboxes actually work? 15:06:15 yes 15:07:22 The checkboxes work, but a change in the checkbox isn't tracked 15:08:16 Maybe change them to text "Raised in Core meeting 14th Feb 2017" "Agreed (13/15) in Core meeting 16th Feb 2017" 15:08:16 So, I would still suggest using comments as normal, but it can give us an indication of at what point in the workflow a proposal is 15:08:30 Those would be comments / edits 15:08:44 Because the dates are dynamic 15:08:48 Might work well as edits to the main body (rather than a comment) 15:09:32 I'm exploring radio buttons too, will see if I can get it working 15:10:00 So status would be one of list 15:10:09 Not multiple in list 15:10:42 I personally like this style for reporting status. It's easy to update and read (IMHO) https://github.com/ansible/community/issues/150#issuecomment-277025899 15:10:51 Anyway, cool progress thanks :) 15:11:43 Anyone else got any feedback/thoughts? 15:12:27 Question - you prefer my style, or abadgers ? 15:12:28 whats a good example of a (preferably non-committer) proposal to emulate? 15:12:36 ie, what worked 15:13:10 * gundalow looks 15:13:48 alikins, I don't think anything currently "works well" 15:14:18 Is there a roadmap for it, vs community buy in / request 15:14:20 allanice001: Not sure if you've seen https://github.com/ansible/proposals/issues/5 15:14:49 Things that have been implemented https://github.com/ansible/proposals/issues/30 15:15:28 Agreed and WIP: https://github.com/ansible/proposals/issues/48 15:15:35 https://github.com/ansible/proposals/issues/10 15:16:00 #48 is live 15:16:22 We just keeping the proposal open for community feedback 15:16:33 ah, true 15:16:37 But I've hardly seen any usage of the bot 15:16:44 :( 15:16:49 hum 15:17:01 Anything else or should we move onto the next topic? 15:17:05 Again, do we take that into consideration? 15:17:16 How do you mean? 15:17:32 Proposal -> implementation -> adoption 15:17:50 We can keep the meeting moving, and circle back if time left 15:17:57 I don't want to hog the meeting 15:18:11 As long as their is productive discussion I'm happy 15:18:14 ok, next 15:18:25 ................................... 15:18:53 #topic Facts modules not using ansible_fact argument to exit_json #19910 15:18:57 one from ryansb 15:19:04 #link https://github.com/ansible/ansible/pull/19910#issuecomment-278496104 15:20:29 ryansb, you here? 15:21:11 yup 15:21:17 The new azure facts modules are offenders in this area- IIRC in that case it was done purposely. Returning everything as facts automatically pollutes the global namespace and means you're carrying everything and forever that module returns. 15:21:43 #info The new azure facts modules are offenders in this area- IIRC in that case it was done purposely. Returning everything as facts automatically pollutes the global namespace and means you're carrying everything and forever that module returns. 15:21:45 So the question is whether we want to recommend returning as facts for new facts modules 15:22:21 I'm not personally a fan of sticking everything in ansible facts- one more level of indirection for "register" access, and the aforementioned pollution... 15:22:35 +1 to new 15:22:42 new what? 15:22:45 But add a provider tag too 15:22:59 new fact module 15:23:37 $fact[aws][ec2_vpc] perhaps ? 15:24:03 We're talking about arbitrary modules that get state of some resource but do/don't push their output into global facts namespace. 15:24:27 yeah 15:24:31 (as they happen to be named _facts) 15:24:37 Dont pollute global 15:24:51 Instead of _status or whatever. 15:24:56 But do vendor keyed 15:25:19 I don't understand that 15:25:27 Because was, google, azure, and every open stack provider has "security_groups" 15:25:56 How would you discern security group fact 1 from fact 2 15:26:03 As an example 15:26:25 And autocorrect is screwing around again.. 15:26:27 Don't put them in a global namespace at all. :) 15:27:15 maybe a new task keyword (register_facts) to indicate 'take any module_facts and add them to global facts', off by default but easy to flip on? (perhaps auto-namespacing to module name specific name space?) 15:28:45 if we don't automatically put it in facts, users could just use `set_fact` 15:28:52 How is that any less work than using register (esp if you're talking about adding a namespace level of indirection)? 15:29:00 ^that 15:30:29 So it sounds like the best option would be to let people register them, rather than nest in 15:30:36 I'm just not a fan of automatically forcing everyone to haul around the result of any module that doesn't change stuff for the rest of the run. No easy way to zap that. 15:31:17 because as an author, I'd rather do `register: my_vpc` or whatever than have to `aws.vpc.my_vpc` the rest of the playbook 15:31:21 ryansb: that was my contention with the new azure facts mods, which is why house changed them not to nest under ansible facts. 15:32:31 That makes sense. Do we want to document that as the standard for all the facts modules (in developing_modules or similar)? 15:32:49 Because really, you'd kinda want to do both if you did- doesn't make sense w/ register to require someone to prepend ansible_facts to every access. :( 15:32:52 would it be useful to add the setup.py fact related module args to the default set? so any module that returns facts could take/use filter,gather_subset etc? 15:33:01 How would it be enforced for existing modules? 15:33:39 alikins not following 15:34:19 Well, that's a good question. For existing modules that do use ansible_facts, we probably have to leave that but could add a non-fact return that would be easy to use with register 15:34:40 so we don't break playbooks, but still give new playbooks one consistent way to use _facts modules 15:34:58 We have discussed facts plugin a few times as part of issues/PRs and I think it is part of the solution 15:35:03 So now registered stuff uses TWICE as much memory... ;) 15:35:29 nitzmahone, at least its not XML .... 15:35:32 The idea is that users can add facts-plugins to a directory to include them as part of standard facts gathering, but also a way to call individual facts plugins on a need-basis 15:35:54 setup.py module has args for filter, gather_subset, gather_timeout. If those are added to AnsibleModule, they could potentially be used to let all modules use them. To potentially cut down on large sets of facts returned by random modules. And gives modules an option for 'normal/all/none/ludicrous_amount_of_facts' behaviors 15:36:03 which would get rid of most of the facts-modules, which is getting out of hand IMO 15:36:04 WARN when modules do perhaps and then deprecate in a couple of releases? Eventually then there's '1 way to do it'? 15:36:26 How about introduci 15:36:35 Introducing fact-cache 15:36:38 ? 15:36:59 dag: I think the biggest issue there would be getting args to them- even setup needs an ever growing list that we have to smuggle in somehow. 15:37:09 Same idea as fact-plugins library, but a cached copy 15:37:14 nitzmahone: no, most of the plugins would not be enabled 15:37:28 Wow, we're bouncing all over the place here 15:37:34 nitzmahone: and there would be another mechanism for enabling specific facts plugins on a need-basis 15:38:23 (like when you want to register them instead of putting them in the global namespace) 15:38:34 dag: just saying, to be useful, there needs to be a way to get args to auto-run facts modules. Automatic setup is becoming less useful all the time without args. 15:38:56 nitzmahone: sure 15:39:23 a facts_plugin task keyword could let ansiballz select the plugins to include 15:39:28 but setup could become smaller by default in my proposal 15:39:43 I'm all for a way to add to the auto run setup (have discussed at length a couple times), but args to setup needs to be part of that imo. 15:39:43 alikins: yes, that is the idea 15:39:54 Dag: Agreed 15:40:17 Shall I make a proposal of the way I see it ? 15:40:39 (I don't have all the pieces put together yet though) 15:41:07 Dag: Sure, a strawman is always easier to lob arrows at than complete ether... ;) 15:41:12 That'd be a good start 15:41:14 :-) 15:41:17 yes please, also, we have an item for facts refreshing on the roadmap for 2.4. I'd like to know how this discussion is a part of that. 15:41:25 #action dag to write a proposal 15:41:29 Thank you 15:41:34 In the nearest term, I think it would be acceptable to have facts modules coming in that don't register to ansible_facts 15:41:39 does that sound reasonable? 15:41:44 +1 15:41:49 +1 15:41:51 and setup is going to be renamed to "gather_facts" (which I hope we can rename to just "facts" instead) 15:42:27 ryansb: in the near term we don't have to do anything, until we fix it ;-) 15:42:33 (Fine, but we'd need to keep the setup alias around) 15:42:40 obviously 15:43:11 Excellent. So we've got an action, I think we can move to the next topic 15:43:29 cool, thanks 15:43:32 .................................................... 15:44:00 If it's fact caching, I'm going back to bed (< 4h sleep last night birthing Windows exec wrapper) 15:44:19 nitzmahone: Wouldyou like to talk about windows group? 15:44:25 #topic Windows Working Group 15:44:31 haha, keep hem awake ! 15:44:44 #info https://github.com/ansible/community/issues/152 15:44:52 jhawkesworth: You around 15:45:04 yes, for once. 15:45:14 * gundalow doesn't know trondhindenes or jborens93's IRC 15:45:20 jhawkesworth: Hello :) 15:45:21 Sure. Seem to have a rough consensus from most involved that US West Coast morning is an ok time 15:45:22 * alikins ponders a new facts namespace that follow python module/package naming, so facts['system.hardware.processor.cores'] means include fact plugin at lib/ansible/facts/system/hardware/processor/cores.py 15:45:41 hello. Sorry to keep you up nitzmahone! 15:46:00 Looks like I'd be running it for the foreseeable future, so selfish on that while trying to accommodate most community folks 15:46:09 jborean likely asleep 15:46:17 jhawkesworth: ah, OK 15:46:22 Yep, that ones a bummer 15:46:24 https://github.com/ansible/ansible/pull/18445 15:46:42 ^ alikins 15:46:47 But he doesn't really overlap with European working hours at all iirv 15:47:20 So with good use of #info, #action and minutes generally I think you will manage 15:47:39 You can always do one meeting a (say) month at a different time 15:47:56 jhawkesworth: we could switch between WC morning and WC evening on a weekly basis ? 15:49:03 I'm not opposed to that, but others have griped about switching times in the past 15:49:14 I'd suggest just giving it ago and see what works 15:49:25 sure. I'll have to be 'best endeavors' at the moment anyway, but two possible times to hit makes 1 more likely 15:49:33 (and I'm not going more than once a week to start) 15:49:38 sure, there's a long list with things we could do (and a lot of things have happened recently) 15:49:56 Once a week is enough, gives people time to progress stuff 15:50:08 WC morning on Monday, WC eve on Friday ?? 15:50:28 gundalow: +1 15:50:33 Even if it's only 30 minutes or so 15:50:36 WC eve on friday means the weekend in some parts of the world :) 15:50:54 Just an idea to accommodate the TZ issues 15:50:57 And basically no working time before WC morning Monday 15:51:19 ansible is about getting your weekends back :-) 15:51:21 WC eve Monday, WC morning Friday then ... 15:51:30 jhawkesworth: :) 15:51:42 Not doing twice a week 15:51:56 every other week 15:52:10 nitzmahone: agreed not enough of us to sustain I think 15:52:16 Ah, yeah, I guess that'd be ok. 15:52:19 but I think if we could do a few weekly meetings, the need to have more weekly meetings will disappear 15:52:45 dag: I think that's true. lots to talk about which will tail off as stuff gets agreed/done 15:52:55 I am quite positive that once we have a process and guidance, we can get through bugs/PRs and get to cleanup stuff 15:53:02 Just makes the schedule harder. Maybe we say odd weeks Friday morn, even Monday Eve 15:53:16 fine for me 15:53:36 fine me too. do we want to start now (during bugfixing) or wait til 2.3 shipped? 15:53:46 * bcoca wonders why people need to schedule visits to the Water Closet 15:53:53 bcoca :) 15:54:01 Also, as a suggest, announce your next meeting in your agenda 15:54:02 (I'm thinking of what you are juggling at the moment nitzmahone ) 15:54:10 Or #info it in your meeting 15:54:19 Is 0830 Pacific workable for you western Europeans? I have to walk my kid to school (could drive her on meeting days I guess) 15:54:51 just let that creepy guy that hangs out by the park take them 15:55:08 If people are willing to work on stuff and not just complain at me for not doing their pet projects, I'm ok starting now. ;) 15:55:13 * dag doesn't deal well with timezones 15:55:23 * bcoca lives in BCS time 15:55:27 Thats 16:30 UTC 15:55:27 (I worry about that) 15:55:33 * jhawkesworth trying to find that tz convertor gundalow linked to the other day 15:55:38 hmm, 5:30 AM 15:56:05 hmm PM ? 15:56:07 https://www.timeanddate.com/worldclock/meetingtime.html?day=14&month=2&year=2017&p1=47&p2=202&p3=16&iv=0 15:56:15 that's perfect ! 15:56:21 I can manage 0800 every other week, just have to drive the kid instead of walking 15:57:01 you walk, kid takes meeting from phone 15:57:11 problem solved 15:57:22 nitzmahone: 9AM or 10AM works for me as well 15:57:24 jtanner :) 15:58:09 Meeting would be focused on Disney princesses and monsters a lot 15:58:24 You picked a time yet? 15:58:30 Ansible-fact-pixar ?? 15:58:58 0800 PT is fine, again, sorry bout stupid DST... 15:59:42 0800 PT Monday odd weeks, 1700 PT even Fridays? 15:59:42 at the moment I am often travelling after 8:40 PST - 0800 would be better for me although still during $dayjob 16:00:09 08:00 PST == 16:00 UTC 16:00:44 Except DST, right? My head explodes on timezones and stupid acts of Congress 16:00:45 17:00 PST == 01:00 UTC 16:00:49 jhawkesworth: 9AM PST or 10AM PST is also possible if the aim is leisure hours 16:01:16 Your new best friend - http://worldtimebuddy.com/ 16:01:33 That would be fine with me as well- I'd like to do whatever will encourage the most participation from you guys. :) 16:02:06 10AM would be better than 9AM, put kids to bed 16:02:07 train -> eat with kids -> put kids to bed usually eats 16:40 -> 20:00 UTC for me 16:02:17 Also, keep in mind that PST has another variation even 6 months, called PDT 16:02:22 If later is better, works for me, but earlier than 0800 is harder (getting kid out the door) 16:02:35 Guys, you can change it in the future 16:02:42 yup, next item 16:02:54 wait_for_connection ? :) 16:03:07 #action nitzmahone to find a dice and pick a meeting time 16:03:11 I'll try to review in the next few days, but love it 16:03:31 yeah I want wait_for_connection too 16:03:33 #info Steps needed to setup a meeting https://github.com/ansible/community/issues/152#issuecomment-280371152 16:03:36 OK 16:03:39 ......................... 16:03:40 ......................... 16:03:40 ......................... 16:03:42 (wait_for_connection) 16:03:58 #topic wait_for_connection ansible/ansible#20011 16:04:07 #info https://github.com/ansible/ansible/pull/20011 16:04:58 the module is based partly on win_reboot, to ensure that Ansible recovers from a system that is not responding 16:05:22 I need it because we build new systems and we want to wait until the transport works correctly 16:05:40 for SSH that's less of an issue than it is on Windows (and possibly other transports) 16:06:18 the current implementation (much like win_reboot) does 2 tests, one is a transport test (making a connection) and a ping test (running ping/win_ping remotely) 16:06:37 so each transport can implement it's own transport test (but it is not required, if there's none) 16:07:05 it just gives you a better idea when the transport is working, and when running modules starts to work 16:07:22 currently I implemented transport tests for ssh, paramiko_ssh, winrm and accelerate 16:08:16 (kids just got back home) 16:09:46 so what would we want to change in the mechanism 16:10:11 its a nice idea and looks better than trying to hack something with wait_for: etc. Just a little shy of +1 as it touches the connection plugins 16:10:50 jhawkesworth: at first it didn't touch connection plugins, but I think it's much better if the transport-test is part of the connection plugin 16:11:22 and if this is accepted (in one form or another) I plan to modify win_reboot to use the same test 16:11:43 so that in the future it works identically with SSH+Powershell out-of-the-box 16:12:17 nice. 16:12:36 i like the idea. 16:12:55 Is there any way to do a remote-callback ? 16:13:17 I guess some tests would give a bit of confidence, although I haven't dug into the test framework enough to know if it would be able to support testing wait_for_connection 16:13:19 So remote calls ansible-master when transport is avai 16:13:22 lable 16:14:09 now win_reboot is remotely running whoami.exe 16:14:44 jhawkesworth: we could do this, but I assume mattclay wants to see individual tests 16:15:21 Not sure on the background, though we need the tests to be in a directory that matches the name of the module so we run the correct tests 16:15:34 You can put symlinks in if they are common tests 16:19:14 dag: worth asking mattclay - I think any kind of integration test that exercises it would be worth doing, just to prove it out for each connection type. 16:19:20 * jhawkesworth afk 16:19:54 #action dag / jhawkesworth to adk mattclay about integration tests 16:20:03 * gundalow isn't sure what else of the above needs recording 16:21:17 Will close in a few minutes 16:22:21 * jhawkesworth back 16:22:37 can I ask if 2.3 is closed for features now? 16:23:18 #topic Open Floor 16:23:25 to my knowledge - core is in code freeze, modules will freeze in two weeks 16:23:28 jhawkesworth: Module freeze is in 2 weeks 16:24:07 thanks gundalow - still time for me to review dag's many windows PRs. 16:24:17 Yup :) 16:24:37 Anything else 16:24:39 could really do with 1 more windows module reviewer. 16:24:53 jhawkesworth: Something to discuss in your first Windows meeting :) 16:24:54 (please check down the back of sofas/ under carpets for one :-) 16:24:56 Core freeze is slushy right now, held up on me. 16:25:10 Should be announced officially tomorrow atm. 16:25:34 I'll be reviewing all once exec is merged 16:25:40 can see nitzmahone is working on good good stuff, want to keep you free for that 16:26:28 Jordan might be up for it too, he's been watching stuff (he also just submitted ntlm encryption to pywinrm, woot) 16:26:51 oh nice. 2.3 will be full of windows goodness! 16:27:03 Yeeeeah 16:28:43 * allanice001 gotta run to a meeting 16:28:48 anyway.... gotta go and buy back my car from the shop. 16:28:58 Thnx all, see you next time 16:29:05 * jhawkesworth waves 16:29:35 cool 16:29:45 Anyone got anything else? 16:30:02 dag: jhawkesworth Testing Working Group is in 30 minutes, if you want to chat more about stuff then 16:30:09 #endmeeting