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