18:00:25 #startmeeting new-modules 18:00:25 Meeting started Wed May 18 18:00:25 2016 UTC. The chair is gregdek. Information about MeetBot at http://wiki.debian.org/MeetBot. 18:00:25 Useful Commands: #action #agreed #halp #info #idea #link #topic. 18:00:25 The meeting name has been set to 'new-modules' 18:00:25 ...? 18:00:34 I guess I was lagging. :) 18:00:34 * gundalow waves 18:00:37 #topic roll call 18:01:30 role call! oh wait 18:01:35 wrong thing 18:02:08 * rbergeron is here 18:02:11 hey rbergeron :) 18:02:13 (in case that wasn't obvious) 18:03:14 https://github.com/ansible/community/issues/96 18:03:19 #info Agenda at https://github.com/ansible/community/issues/96 18:04:15 oh, and "nitzmahone> #accepted - we will use tested_working and meets_guidelines as comment tags 18:04:18 " 18:04:27 from yesterdays core meeting (apparently 18:04:31 Yes. The bot needs to be made to do this, though. 18:04:32 * gundalow adds to '96 18:04:42 * abadger1999 hereish 18:04:43 Which was already an open ticket, iirc :) 18:04:47 cool 18:04:50 #95 18:05:05 * sivel is also hereish 18:05:10 should we use those new comments now, or wait for bot to be updated 18:05:51 We really need to wait for the bot, because most people won't have any way of knowing what the protocol is until the bot tells them. 18:05:59 gregdek: ACK 18:06:00 yup. 18:06:34 OK, let's go through the agenda. 18:06:56 #topic extras/1987 18:07:26 just waiting for core to merge 18:07:40 https://github.com/ansible/ansible-modules-extras/pull/1987 18:08:02 Oh, yeah, it's in shipit. 18:08:02 Next: 18:08:15 #topic extras/1988 18:08:22 https://github.com/ansible/ansible-modules-extras/pull/1988 18:09:00 * gundalow adds a shipit (rather than meets_guidelines) 18:09:01 * MichaelBaydoun is here but late 18:09:13 Yep. 18:09:20 Two shipits = shipping. :) 18:09:21 oops. Right, meeting. 18:09:28 hey MichaelBaydoun and ryansb 18:09:41 * bcoca is lurking 18:10:24 * MichaelBaydoun waves at gundalow 18:10:27 gregdek: Looks like a number of these got a second shipit since I added them to the Agenda. I added them to the Agenda so we could (if needed) get an extra set of eyes on them to get them over the line 18:10:35 yep. 18:10:38 which looks like it's already been done for the first two 18:11:14 Well, this is as good a time as any to officially put them in shipit if that's what's required. :) 18:11:14 Moving on: 18:11:21 :) 18:11:36 #topic extras/2208 18:11:39 https://github.com/ansible/ansible-modules-extras/pull/2208 18:12:12 Lots of disagreement. It's in needs_revision. I think that's safe for now. 18:12:34 aye, lots of updates in the last couple of hours, 18:12:41 plenty of discussion still going on, indeed 18:12:49 move on :) 18:12:50 don't think anything we need to poke for now 18:12:52 So let's let it simmer! 18:12:52 :) 18:12:56 Next: 18:13:13 "Enforce pep8 for new modules". 18:13:17 ¯\_(ツ)_/¯ 18:13:22 -1 18:13:25 * gundalow hides 18:13:27 ^^^ 18:13:29 not strict pep8 18:13:37 the pep8 that we have in the make with specific exclusions 18:13:43 I think is the "ask" 18:13:49 So "not strict pep8" immediately brings us the question "what subset of pep8 and how is that documented and enforced"? 18:13:55 pep8 as defined in Makefile but with the E402 exception 18:13:56 Which... 18:13:59 ¯\_(ツ)_/¯ 18:14:05 for imports not being at the top 18:14:15 I am +1 18:14:28 gundalow: we should change that one now. 18:14:40 So we say "must conform to this makefile, this is our version of pep8 compliance"? 18:14:41 Imports can and probably should go to the top for new modules 18:14:41 abadger1999: Hello Mr Ziploader :) 18:14:46 ;-) 18:14:52 there is too much inconsistency in modules as it is. any consistency we can improve upon I think is better 18:14:53 * bcoca would add many exceptions 18:15:09 i have not seen 1 module in which 'style' is a problem 18:15:15 I mean we have modules with like 500 characters in a line 18:15:17 sivel: I am right in thinking ansible-validate-modules knows the version_added, we could add it there 18:15:58 My reasons (and we've talked about this a bit before in here and Communtiy Meeting) is if we have a clean start we can keep it clean. 18:16:05 we didn't enforce pep8 historically, not because it is BS, largely because we were trying to lower the barier to contribute 18:16:24 but we need to draw the line hard on PRs that only address formatting and pep8 18:16:40 I'm currently only talking about new modules 18:16:49 yeah, just adding that 2 cents 18:16:52 sivel: :) 18:17:00 another thing I'd like to see for new modules -- no more wild card imports. 18:17:15 abadger1999: I can address that as well in ansible_testing 18:17:25 Cool. 18:17:32 I'll add that as an issue 18:17:34 I was asked to make my recent module pass pep8 checks, and didn't see it as a burden, fwiw 18:17:37 sivel: you mean hard line against, right? 18:17:46 (against format-only changes) 18:17:47 so for the last few dozen modules I've reviewed I've checked them for pep8 (with the previous mentioned -Ennn exceptions) and everyone had happily fixed them 18:17:49 ryansb: yes 18:17:58 ok, +1 for that 18:18:01 Only one person asked why this wasn't documented 18:18:08 which is a far question 18:18:12 It's not a standard if it isn't documented. :) 18:18:33 gregdek: Correct. It's just me making random requests when reviewing stuff 18:19:00 at least, i beg, no 80 col limit 18:19:05 I am +1 as long as we document, what exceptions, only for new, and no formatting changes for old modules (unless specifically granted) 18:19:09 That's well scoped. :) 18:19:09 So I'm proposing that all *new* modules should be pep8 as per the Makefile+E402 18:19:10 bcoca: I think we have it set at like 160 18:19:23 ^ that HAS created problems 18:19:35 Makefile+E402+160col limit? 18:19:52 Er... pep8+E402+160col limit == what's in the Makefile currently? 18:19:54 I think we need to confirm 160. I don't have proof in front of me right now 18:19:56 * abadger1999 notes that in addition to the makefile stuff, there's also an exception list in tox.ini 18:19:58 --ignore=E501,E221,W291,W391,E302,E251,E203,W293,E231,E303,E201,E225,E261,E241 is the Makefile 18:20:09 Ah. Well, that's more. 18:20:12 But that's okay! 18:20:16 ah yes, tox.ini specifies max-line-length = 160 18:20:16 ^ yes add those 18:20:36 havin (a, b) vs (a,b) i also find ridiculous ... but not going to fight on it 18:21:16 So. Should we just say "we enforce a flavor of pep8, see this Makefile for exceptions"? 18:21:20 Do we have any hard objections to this for new modules? 18:21:20 I don't mind going above 80 columns but there is a limit... reading diffs (especially on github with a phone) becomes impossible with columns too long. 18:21:44 dont do diff review on phone .... 18:21:45 abadger1999: agreed. I think 160 is still a bit much 18:21:48 I do not object. 18:21:49 bcoca: +1 18:21:49 18:21:55 pep8 actually says 99 if you need it 18:21:59 or im going to complain you don't 'fill' my 50" monitor 18:22:07 Eh -- sometimes, you are somewhere and you take a look at your email. 18:22:20 See something interesting and want to review it then and there. 18:22:28 I'm happy to compromise on character limit. 18:22:29 Well if we have 160 in tox.ini, I guess we don't want higher than 160 18:22:35 ¯\_(ツ)_/¯ 18:22:58 meh, someone just pick a number. Whatever we pick people will have issue 18:22:58 ... it is okay to increase the nominal line length from 80 to 100 characters (effectively increasing the maximum length to 99 characters) ... < pep8 18:23:32 abadger1999 / bcoca what do you feel about max? Personally 160 seems huge to me still 18:23:33 gregdek: Getting an approved set of X style rules is better than no approved set of style guidelnes. 18:23:46 160 is 1/5th of my screen, but fine 18:23:51 lmao 18:23:53 ok! 18:24:03 Our character limit is 160. 18:24:04 sivel: I can go lower. I set it to double 80 columns to try to compromise with bcoca ;-) 18:24:05 160 works 18:24:09 abadger1999: also, set phone in landscape! 18:24:26 bcoca: I can't read 500 chars even in landscape ;-) 18:24:28 ... yes, because development on mobile is important. 18:24:29 ok, I'll concede with abadger1999 18:24:36 #agreed new modules will adhere to a subset a pep8, as defined and documented in the Makefile. 18:24:45 scroll! 18:25:05 we enforce strict pep8+pyflakes here, so 160 makes me crazy :) 18:25:11 bcoca: github dosn't scroll horizontally in mobile (or didn't used to or something). 18:25:16 And this will go into rbergeron's document! 18:25:27 And into the current module guidelines. 18:25:31 lol 18:25:43 I'll update module quidelines 18:25:45 gundalow: We're going to check that tox and Makefile agree? 18:25:49 uidelines* 18:25:52 ffs 18:26:12 #action gundalow will update quidelines / uidelines 18:26:18 abadger1999: we do need to 18:26:22 * gregdek watches from the sidelines 18:26:27 * MichaelBaydoun feels it should be mentioned here http://docs.ansible.com/ansible/developing_modules.html 18:26:29 we'll just force gundalow to do that too 18:26:34 yay! 18:26:36 ;-) 18:26:38 sivel: :) 18:26:43 * dharmabumstead lurks. 18:26:45 MichaelBaydoun: that's what we mean by "existing module guidelines" 18:26:46 what random number did we pick 160? 18:26:52 Yes. 160. 18:26:54 yes 160 18:27:05 for now anyway, until I can get bcoca a smaller monitor 18:27:17 #info We all agreed 160 chars. 18:27:25 hum, am I chair? 18:27:28 sivel: i will just use it to extend existing desktop 18:27:34 #chair gundalow 18:27:34 Current chairs: gregdek gundalow 18:27:39 #info We all agreed 160 chars. 18:27:41 #chair rbergeron 18:27:41 Current chairs: gregdek gundalow rbergeron 18:27:42 Thanks 18:27:53 * gregdek hands gundalow the gavel ;) 18:28:04 IT'S YOUR MEETING NOW BUDDY 18:28:13 sivel: Wait long enough and his eyesight will start to go. 18:28:38 bcoca will look stunning with bifocals and a cardigan sweater. 18:28:45 jesus, I can fit 460x141 on my screen 18:28:52 gregdek: how did you know what im wearing?!?! 18:29:04 don't ask. 18:29:06 ANYWAY: 18:29:30 I'll update the docs and push it via people here for review 18:29:42 thx! 18:29:45 Next: 18:30:03 Oh, that's it for our agenda. Great! 18:30:15 open the floor? 18:30:25 Sure! 18:30:26 nitzmahone: ansible_setup_plugin proposal? 18:30:29 #topic Open Floor 18:30:52 Will be writing it this afternoon (after win_msi bugfix that's holding up rc3) 18:32:13 Python3 opinions: how do people feel about requiring new modules be python3-syntax compatible? (*maybe* for 2.3 making that even more strict -- runnable under python3). 18:32:22 +1 18:32:32 (especially once we can verify in PR) 18:32:36 py2.4 to py3.5? 18:32:46 that can be super hard, unless you are only referring to syntax 18:32:46 sivel: yep. 18:32:49 and not operability 18:32:53 Right now, only syntax. 18:33:02 both, unless other dep requires them not to be 24 18:33:16 We'll have to be really good about providing/documenting the common gotchas 18:33:17 Maybe for ansible 2.3 making it operate but I'm not sure yet. 18:33:27 Have to see just how much pain that will be for contributors. 18:33:58 Could get ugly with stuff that has questionable deps 18:33:59 operability is going to be really really tough on the network side for 2.3 i suspect 18:34:01 I mean I have some code supporting py2.4 through 3.5 and I have 156 lines of try/except import statements 18:34:02 (operation, anyway) 18:34:07 network is very slow to move 18:34:40 Does network really need 2.4 support though? Would think you're usually working from local, so 2.6+ 18:34:52 yeah 2.6+ is fine 18:34:56 nitzmahone: jump host is rhel5 18:34:58 (eg, no RHEL5 jump box) 18:35:01 ^ that scenario 18:35:26 Something tells me we're not actually testing that though 18:35:38 (and that we shouldn't support it for something this new) 18:35:56 except ... many network devices exist in very old corp setups 18:35:58 We may drop python-2.4 support in a few releases too... it might be better to wait on operability until then. 18:36:05 ^ our main user base 18:37:05 But the operability question is still very unknown... I'm just wondering how people feel about syntax for now. 18:37:38 +1 on syntax, keeping modules 'same' will make it easier on review 18:37:47 agreed +1 on syntax 18:37:55 easier to spot issues and easier for people to standarize 18:39:02 if we want to do python3 syntax for new modules, the compileall tasks should use exclusions rather then inclusions (unless it already does that) 18:39:40 sivel: Its currently using inclusions but we only started work on python3 compileall testing this weekend. 18:39:59 ^ lets not flip that switch yet, got a lot to go over first 18:40:05 yeah, so if we do py3 for new modules, switch to exclusions, but we may want to wait a bit 18:40:05 but agreed on enabling that 18:40:33 What I'm thinking is that we have started including whole directories. 18:42:07 which means that contributors to those directories will see python3 syntax breakage but if we haven't decided that that's a rule yet, there will be debate as to what the right thing to do is. 18:42:58 I can switch it to an exclusion today if we decide this is an okay rule and people think it's a prequisite. 18:43:15 I am ok with it 18:45:02 Okay, sounds like a plan then. 18:45:17 a chair can record that as an action for me if htey like. 18:45:38 And I suppose adding it to the module checklist as well? 18:45:53 abadger1999: What do you want me to record? 18:46:05 sorry, I was updating PRs 18:46:24 np 18:46:33 #chair abadger1999 18:46:33 Current chairs: abadger1999 gregdek gundalow rbergeron 18:46:39 YOU ARE EMPOWERED 18:47:42 #action abadger1999 to update module tests to check new modules are valid python3 syntax and add an item to module guidelines that modules should be valid python3 syntax. 18:53:30 cool 18:53:34 7 minutes left 18:53:38 Anymore for anymore? 18:56:12 nope. 18:56:15 :) 18:57:33 endmeeting? 18:58:07 #endmeeting 19:00:00 #endmeeting