18:02:34 #startmeeting new-modules 18:02:34 Meeting started Wed Apr 6 18:02:34 2016 UTC. The chair is gregdek. Information about MeetBot at http://wiki.debian.org/MeetBot. 18:02:34 Useful Commands: #action #agreed #halp #info #idea #link #topic. 18:02:34 The meeting name has been set to 'new-modules' 18:02:43 ping bcoca jimi|ansible 18:03:33 So I think we have one to argue about straight off the bat. :) 18:03:38 lol 18:03:40 #topic Kubernetes module 18:03:46 #chair rbergeron 18:03:46 Current chairs: gregdek rbergeron 18:03:49 https://github.com/ansible/ansible-modules-extras/pull/1264 18:04:37 * gregdek will wait for jimi|ansible to show, since we really need his input on this one 18:05:14 While we wait... :) 18:05:21 yo 18:05:25 Ah! 18:05:26 Let's have a dance. 18:05:29 oh 18:05:29 OK, so. :) 18:05:33 Side note: When we started last week we had 101 pull requests that needed our attention. I might be nice to track stats, number at start of meeting, number at end of meeting, burn rate. 18:05:54 MichaelBaydoun: I would be satisfied if we could get one new module reviewed a week, frankly. 18:06:04 Still seems like we're wrestling with process. 18:06:08 so since Eric is the GCE maintainer and he has addressed the issues, i believe that 1264 is a 'shipit' 18:06:18 That would be a start, though it would take 2 years to get to my module 18:06:59 jimi|ansible: GCE and kubernetes... aren't the same thing? 18:07:20 or is this just only kubernetes in GCE 18:07:39 rbergeron: if so yeah i think it'd be k8s in gce, akin to ECS being docker in EC2 18:08:57 https://cloud.google.com/container-engine/docs/clusters/operations 18:09:19 jimi|ansible: what about bcoca's comments, which could be interpreted as -1? 18:09:30 Which brings me to the larger question: 18:09:37 And, I think, the critical question: 18:09:41 yeah, okay. i think my brain defaulted to thinking this was just the straight-up kube module 18:09:55 i thought eric addressed the concerns here? https://github.com/ansible/ansible-modules-extras/pull/1264#issuecomment-181563692 18:09:55 Is it ok to give -1 in the absence of specific guidelines saying "this is bad so don't do it"? 18:10:12 Ah, you're right. 18:10:17 I missed that he ripped that out. 18:10:19 there is a straight up kube module rbergeron 18:10:22 OK, so shipit it is! 18:10:42 i'll do a quick scan on it and merge if it looks sane 18:11:15 Sounds good. 18:11:26 that's funny they call it GKE (google cluster engine) 18:11:40 it is indeed :) 18:12:00 Kluster! 18:12:05 So. 18:12:15 Here's a thing I'd like to propose: 18:12:50 Someone who shows up to this meeting to say "please review my module" gets preference. 18:13:01 for the *new module* meeting, to be specific? 18:13:10 That may, at some point, mean that dozens of people show up saying "review my new module!" 18:13:13 (rbergeron yes) 18:13:18 unless they have something old and festering and they come to the old module meeting :) 18:13:21 But I'm ok with that class of problem. 18:13:29 gregdek: +100 18:13:29 Good problem to have 18:13:34 We have a bot to deal with old modules, LOL 18:13:35 (abstaining) since I'm one of those people 18:13:59 Well, jimi|ansible gave it +100, and in the absence of a countervailing -100, I think we'll go with that. :) 18:14:24 #action gregdek to create notes on standing meeting and how to show up to get help with your new module 18:14:59 I have two #1868 and #1907 18:15:33 OK, that's now an issue: https://github.com/ansible/community/issues/68 18:15:36 Let's turn to MichaelBaydoun. 18:15:43 Which one would you like to discuss first? 18:15:48 1868 18:15:55 links are nice :) 18:16:02 https://github.com/ansible/ansible-modules-extras/pull/1868 18:16:07 ;) 18:16:54 No response from author of duplicate module btw 18:17:18 And that one is 1337 18:17:42 correct, duplicate is 1337 (leet) and written in boto2 18:17:43 Yep, I see no response on that one. 18:17:50 And it's boto2, correct. 18:17:51 So. 18:18:29 Given no response there *and* it's in boto2, I say we close that one with a nice "thank you sorry" and focus on 1868. Any objection? 18:18:31 the other module write doesn't seem to be very active (11 commits over 12 months), so I don'tthink they are in the shortlist 18:19:07 * gregdek waits a moment in case anyone objects, in the meantime people can start looking at 1868 18:20:15 #action gregdek will close extras/1337 as dup of extras/1868 18:20:19 OK. 18:20:33 So: testing 1868. 18:20:51 The biggest bottleneck we have is that we want someone besides the module submitter to test. 18:21:04 @gregdek, should we at least link the other two prs linked to 1868, since they are still relevant? 18:21:06 Are we committing to testing this module right now? 18:21:13 I can help with testing :-) 18:21:19 Other *two* PRs? I only see the one...? 18:21:28 @gundalow volunteered to help test (I believe) 18:21:51 sure :) 18:21:56 OK, so thaumos and gundalow can you both commit to testing extras/1868 within the next week? 18:22:00 Second comment on 1337 reference https://github.com/ansible/ansible-modules-extras/pull/1338 and https://github.com/ansible/ansible-modules-extras/issues/1339 18:22:06 gregdek: yup :) 18:22:06 * gregdek looks 18:22:07 I can 18:22:24 #action gundalow and thaumos will test extras/1868 within the next week 18:22:43 Hooray, progress. We'll see next week whether that actually worked. :) 18:22:52 no presure! 18:22:53 :) 18:22:57 My second pr is https://github.com/ansible/ansible-modules-extras/pull/1907 18:23:01 wait 18:23:05 are we happy with the code 18:23:12 @MichaelBaydoun, can we hit you up for any questions offline? 18:23:17 from a line-by-line review? 18:23:19 certainly 18:23:53 gundalow: do we want to do a code review now or test it first? A bit of chicken/egg, or one could do code review and the other could do testing...? 18:24:08 This really is kind of a hole in our process, tbh 18:24:10 can we rename that amazon_vpg maybe? 18:24:15 that is quite a lot to type 18:24:46 I started with ec2_vpg, but read module guidelines that said don't invent new acroynms 18:24:49 thaumos: it seems that 1338 and 1339 are related but not dependent...? 18:24:51 gregdek: I'd suggest someone that's happy with Python spends upto 5 minutes looking at it then we I'll do some manual testing 18:25:05 MichaelBaydoun: is that not what it's called in AWS? 18:25:29 logging in 18:25:38 correct @gregdek, but I figured to have them at least referenced to show interest still. Since that’s what the original maintainer did as well. 18:26:20 It;s called a "Customer Gateway", in the VPC Dashboard 18:26:23 Looks like 1338 and 1339 are both boto2 also...? If so, we should put them in needs_revision and say "new modules should be written in boto3"? 18:26:37 +1 to boto3 18:26:55 does that need to go into the guidelines? 18:27:07 how about amazon_vpc_gateway? 18:27:41 that could be confused with virtual private gatway (my other pull request) 18:27:42 it already is in the guidelines 18:27:47 https://github.com/ansible/ansible-modules-extras/blob/devel/cloud/amazon/GUIDELINES.md 18:27:56 and VPC is already spelled out in the guidelines as well. 18:28:01 https://github.com/ansible/ansible-modules-extras/blob/devel/cloud/amazon/GUIDELINES.md 18:28:09 "vpc, elb, etc. are fine." 18:28:26 ok we'll keep that name then 18:28:28 the question is whether or not people are reading the amazon modules guidelines 18:28:43 "Since Ansible 2.0, it is a requirement that all new AWS modules are written to use boto3. 18:28:46 It's a good question. 18:28:46 " 18:29:22 I did read the guidelines, but it was my first module. I can see someone that wrote previous modules not reading them again 18:29:49 MichaelBaydoun: did you read the amazon guidelines, or just the regular guidelines? 18:29:56 just curious if you knew they existed or not 18:30:12 that way we know if we need to more prominently show that information somewhere 18:30:23 Module guidelines first, then stumbled on the cloud/amazon guidelines by accident 18:30:28 I commented in 1338 and 1339 and put them into needs_revision 18:30:34 Yeah, that's a problem. :) 18:30:39 MichaelBaydoun: awesome, thanks for that -- useful to know. 18:31:30 #action gregdek will file a ticket to make AWS guidelines more prominent 18:31:39 #undo 18:31:39 Removing item from minutes: ACTION by gregdek at 18:31:30 : gregdek will file a ticket to make AWS guidelines more prominent 18:31:49 Hm? 18:31:54 #info new ticket created to make AWS guidelines more prominent 18:31:55 #link https://github.com/ansible/community/issues/69 18:31:59 Ah. :) 18:32:08 ok! 18:32:35 So. 18:32:57 I'm also thinking that this meeting is a *good* place for syntax review, and a *bad* place for PR testing. 18:33:21 The problem is that our current new_module review process doesn't make that distinction. We had it, then we ditched it. Maybe we should bring it back again. 18:33:53 Maybe it's two labels that are unique to new modules: "passes_guidelines" and "worksforme" (which is, coincidentally, what we had last time.) 18:34:17 I don't like this because it's different than the process for existing modules... but the process *is* different and needs more rigor. 18:34:31 If we made that change... 18:34:42 @gregdek, for clarification. Should we take the testing offline, and just report back and assign the testing? Or are you suggesting the assigning / reporting is not meant for here. 18:34:57 I think that's right. Testing can be time consuming, much more than syntax checking. 18:35:07 thaumos: yeah offline, leave a comment and we can merge it later 18:35:17 I agree, this isn't the place for hands on testing. 18:35:20 assuming the testing went well of course 18:35:22 roger that jimi 18:35:26 agreed to testing offline 18:35:30 makes more sense 18:35:31 thaumos: comments and any issues go into Github issue/PR 18:35:35 yep 18:35:57 :) 18:36:29 So if we made that process change, we could also have better reporting to the community. "Hey, these are the new modules that pass guidelines but need testing!" "Hey, these are the new modules that were tested, but need to be checked for adherence to guidelines!" 18:36:42 Which might encourage people to do the right things. 18:36:42 Any thoughts on that? 18:36:44 DO IT 18:37:00 gregdek: I thought we weren't asking for passes_guidelines remarks anymore? 18:37:00 different people have different skills. And those skills depends on the module 18:37:04 (i.e. we'd create labels and bot process to support that) 18:37:10 oh, you 18:37:11 rbergeron: I know. I'm proposing going back to it. 18:37:13 already 18:37:14 yeah. 18:37:15 SOOOOORY 18:37:18 I missed that line 18:37:19 :) 18:37:20 carry on 18:37:31 So a +1 from gundalow... :) 18:37:38 any other thoughts from anyone? 18:37:54 So - I know we had thought a bit about having automated testing for guidelines 18:37:59 I like the idea of someone writing (or labeling) THIS_PASSES_GUIDELINES, I_LIKE_THE_CODE, I_HAVE_RAN_THIS_AND_IT_WORKED 18:38:06 rbergeron: We have some of that. 18:38:14 Travis already does some of that for us. 18:38:32 I like the idea of automation for basic guideline checks 18:38:33 And I'm working on getting Travis to do more of that 18:38:38 I think some of the little corner cases may need help (esp. the "naming convention" type stuff) but that's a simple "sorry, needs revision" 18:38:52 RETURN is not null, etcetera 18:39:03 and it could probably check for "if boto2, just say no" 18:39:37 rbergeron: oh, good point 18:39:39 but is there stuff that isn't covered by siel's linter? 18:39:44 gundalow: we'd basically have "passes guidelines" gives "passes_guidelines" label, "worksforme" gives "worksforme" label, and "needs revision" would put it back into needs_revision. We'd need to work out details about how to take away passes_guidelines or worksforme labels. 18:39:45 should I raise an issue in https://github.com/sivel/ansible-testing 18:39:51 sivel's linter can be expanded. 18:39:52 * gundalow hifives rbergeron 18:40:32 if there are ideas for new things to have the linter do, then submit issues 18:40:43 gregdek: i do like the idea of passes_guidelines as a "first contribution" type of thing, though 18:40:44 hey sivel :) 18:40:47 I think that's what gundalow is doing right now :) 18:40:51 yup 18:41:02 I don't know what all of those things are :) 18:41:11 but i don't like the idea of providing any more confusing blockers 18:41:16 I know. 18:41:31 and I am still working on getting ownership transferred, but still dealing with legal process 18:41:33 I like the simplicity of "shipit", but for new modules, it's just not descriptive enough. 18:41:53 agreed 18:42:12 agreed to that 18:42:16 jimi|ansible: thoughts? Do you care? :) 18:42:30 if shipit means I've personally checked everything (guidelines, syntax review, ran the module) I think it's a bit too wider label 18:42:55 gundalow: that breadth is ok for modules that already exist, when there is a maintainer of record, and we can trust the maintainer to do that. 18:43:05 But I think that breadth does not work for new modules. 18:43:12 ah, yes for modules that already exist that's fine 18:43:44 so, what would be better? 18:43:51 Good question. 18:44:11 multiple labels? passes_docs, passes_code_review.. etc? 18:44:18 Maybe. 18:44:33 It would allow us to see more granular progress. 18:44:56 Or be more obvious to people who want to come and do reviews of one type or another. 18:44:58 Final review before merging is always done by a person (Final Reviewer), I think one of the questions is "How can they ensure that all the boxes have been ticked" 18:45:00 Which would in turn encourage people. "Hey, this one is almost done! If you test it, the other works has been done and checks out!" 18:45:24 yup 18:45:35 let it be written, let it be done 18:45:43 jimi|ansible: :) 18:45:48 Does that mean +1? :) 18:45:51 Lets try it out for a bit and see how it works 18:46:11 ok. 18:46:24 I'll write this all up before next meeting. 18:46:59 It will entail some pretty big bot changes, so it may be a while before all this takes full effect. 18:47:35 sure, though if the labels exist people with powers can just add them manually 18:47:52 gundalow and thaumos, thanks for agreeing to test MichaelBaydoun's module. 18:47:53 ? 18:47:58 gundalow: yes, that's true. 18:48:11 You are welcome sir 18:48:30 We need to make the bot more robust to detect when a PR has had its label changed and Do The Right Thing (tm). 18:48:40 (notify, etc.) 18:48:59 The current workflow, while better, is still quite brittle in places. 18:49:10 Anyway. 18:49:22 11 minutes left 18:49:30 #action gregdek to write up new new module guidelines before next meeting 18:50:06 Shall we try our new process in the remaining 11 minutes and code review a new module PR? 18:50:34 I'm game 18:51:04 How about this poor soul? 18:51:05 https://github.com/ansible/ansible-modules-extras/pull/35 18:51:50 version_added is clearly wrong (a very common problem and one we should consider) 18:51:54 (and yes that meant +1) 18:52:04 oh, I know people at Couchbase, I think some of them have used Ansible. I'll poke it in there direction 18:52:04 (since people cannot predict when their module will be merged) 18:52:13 Great! Thanks gundalow 18:52:19 agreed, version added is just a guess 18:52:34 Then when it's not added, the docs are wrong, and someone tries to use it 18:52:42 Then a pull request comes in to fix the docs 18:52:55 Yeah. 18:53:14 This is a problem not only for new modules, but for new features in existing modules. 18:53:21 And should probably be part of the build process. 18:54:09 jimi|ansible: do we have any kind of mechanism to add {{current_release}} and have this data populated at release time? 18:54:20 Might we want such a mechanism? 18:54:51 Because we could just ask people to put in a placeholder, and Travis checks for the existence of the placeholder. 18:55:47 Release automation would need to do a one time variable substitution and merge into the code base 18:56:23 aye, it's part of the merge in process 18:56:40 gundalow: it is now? 18:56:46 Or it should be? 18:56:52 should be 18:57:11 sorry, that was terrible english 18:57:23 irc isn't always great for that lol 18:57:45 As the British deligate, I feel like I should do better 18:58:21 "delegate" 18:58:24 LOL 18:58:31 (sorry couldn't resist) 18:58:41 anyway. we're out of time. 18:58:52 when talking about spelling, always make at least one missstake 18:58:54 anwyasy 18:59:00 #action gregdek will propose current_release placeholder 18:59:10 Some progress. This meeting's a tough one. :) 18:59:12 Thanks all. 18:59:17 #endmeeting