08:27:08 #startmeeting Ansiblefest London 08:27:08 Meeting started Wed Jun 21 08:27:08 2017 UTC. The chair is abadger1999. Information about MeetBot at http://wiki.debian.org/MeetBot. 08:27:08 Useful Commands: #action #agreed #halp #info #idea #link #topic. 08:27:08 The meeting name has been set to 'ansiblefest_london' 08:28:07 @abadger1999 is in control! 08:28:19 #chair jimi|ansible misc j00bar nitzmahone gregdek gundalow thaumos dag_ jlk mikedlr rbergero1 08:28:19 Current chairs: abadger1999 dag_ gregdek gundalow j00bar jimi|ansible jlk mikedlr misc nitzmahone rbergero1 thaumos 08:28:28 The power is yours! 08:28:41 come on @abadger1999 yell it out He-man style 08:28:49 I HAVE THE POWER 08:28:49 by the power of zodbot! 08:29:06 He-man vs Captain Planet. Fight! 08:29:54 ahem :) 08:31:09 still trying to get audio working for the conference... 08:31:21 I can hear something :) 08:31:33 is it gundalow doing tests? 08:31:51 it may be that they're having trouble getting it routed to the speakers in the room 08:34:34 It's trouble getting it routed to the bluejeans of course. 08:35:03 it was working a minute ago 08:36:33 #topic Ansiblefest London: Agenda: https://public.etherpad-mozilla.org/p/ansible-summit-june-2017-agenda 08:36:39 abadger1999: can haz chair 08:36:45 oh, you have 08:36:54 Hello everyone! 08:36:59 hi Toshio 08:37:01 Hello Everyone 08:37:04 hey 08:37:04 o/ 08:37:06 * jimi|ansible waves 08:37:08 o/ 08:37:11 #chair willthames akasurde jborean93 08:37:11 Current chairs: abadger1999 akasurde dag_ gregdek gundalow j00bar jborean93 jimi|ansible jlk mikedlr misc nitzmahone rbergero1 thaumos willthames 08:37:11 hey :) 08:37:12 o/ 08:37:17 #info Agenda https://public.etherpad-mozilla.org/p/ansible-summit-june-2017-agenda 08:37:18 #chair square1 fale 08:37:18 Current chairs: abadger1999 akasurde dag_ fale gregdek gundalow j00bar jborean93 jimi|ansible jlk mikedlr misc nitzmahone rbergero1 square1 thaumos willthames 08:37:19 ó/ 08:37:26 #chair ttomecek 08:37:26 Current chairs: abadger1999 akasurde dag_ fale gregdek gundalow j00bar jborean93 jimi|ansible jlk mikedlr misc nitzmahone rbergero1 square1 thaumos ttomecek willthames 08:37:50 ô/ 08:38:05 #chair trishnag mordred 08:38:05 Current chairs: abadger1999 akasurde dag_ fale gregdek gundalow j00bar jborean93 jimi|ansible jlk mikedlr misc mordred nitzmahone rbergero1 square1 thaumos trishnag ttomecek willthames 08:38:26 o/ 08:38:45 #info Blue jeans (video conference) meeting link: https://bluejeans.com/3008457278/ 08:38:46 o/ 08:39:02 #chair trishnag flaper87 08:39:02 Current chairs: abadger1999 akasurde dag_ fale flaper87 gregdek gundalow j00bar jborean93 jimi|ansible jlk mikedlr misc mordred nitzmahone rbergero1 square1 thaumos trishnag ttomecek willthames 08:39:16 #topic Summary of work accomplished since last year 08:39:35 #info New irc channels for vmware and windows 08:39:37 don't forget #ansible-windows! 08:39:45 #info core extras merge 08:39:58 don't forget #ansible-container either 08:40:19 #info ansible-container irc channel as well 08:40:21 #topic contributor docs 08:40:38 #info gundalow spearheading putting all the documentation for contributing into one place. 08:41:11 greg saying that there are many things that make it hard to figure out how to contribute to ansible. 08:41:25 core engine deep dive documentation: https://github.com/ansible/ansible/commit/fa31043e7ee2a9fc74ccc39ddeb43587c2fea6d3 08:41:31 Contribution mechanisms have grown ad hoc as we add new things (like ansibullbot) 08:41:57 So first simple step is to look at all the documentation and putting it into a single place so there's a one-stop-shop 08:42:26 Docs are currently spread around multiple places and don't link. The plan is to get the docs all into one place 08:42:32 We "sorta have processes for some of these but they're scattered all over the place." 08:42:43 ohai 08:42:46 #info core engine deep dive documentation: https://github.com/ansible/ansible/commit/fa31043e7ee2a9fc74ccc39ddeb43587c2fea6d3 08:43:00 #chair pabelanger 08:43:00 Current chairs: abadger1999 akasurde dag_ fale flaper87 gregdek gundalow j00bar jborean93 jimi|ansible jlk mikedlr misc mordred nitzmahone pabelanger rbergero1 square1 thaumos trishnag ttomecek willthames 08:43:32 #link https://public.etherpad-mozilla.org/p/ansible-summit-june-2017-core 08:43:34 maybe also include git basics references, not everyone is used to working with high activity repo's like Ansibles 08:43:36 crap! 08:43:56 * jimi|ansible note taking 08:44:14 py3 is progressing! 08:44:14 #topic Python 3 08:44:25 py3 is progressing! 08:44:27 #info python 3 progressing along nicely 08:44:39 #info integration and unit tests are working on py3 08:44:39 #info py3 has integration tests and unit tests coverage in the core engine. Some tests still missing 08:44:52 #info serverless architectures on AWS begin to be supported. Lambda there / API gateway added in devel. More can come soon. 08:45:26 #info no official data on users running modules on py3, but bugs are being fixed quickly as they're reported 08:45:31 #info toshio getting about 5 tests a week 08:45:49 #info toshio getting about 5 bugs a week 08:45:58 o_O 08:46:06 #info mordred. does not matter. 08:46:09 :) 08:46:12 #undo 08:46:14 optional callback feature to report back platform information? 08:46:15 :) 08:46:19 * rbergeron needs a chair 08:46:20 #info py2.6 is not going away any time soon 08:46:25 because my nick changed. i guess. 08:46:32 #chair rbergeron 08:46:32 Current chairs: abadger1999 akasurde dag_ fale flaper87 gregdek gundalow j00bar jborean93 jimi|ansible jlk mikedlr misc mordred nitzmahone pabelanger rbergero1 rbergeron square1 thaumos trishnag ttomecek willthames 08:46:58 #info integration tests on AWS now work and many run during CI with mattclay's new work 08:47:32 #topic Certified modules 08:47:52 #info introducing thaomos aka dylan irl! 08:47:58 Working on "Certified modules" aka curated modules 08:48:25 #info Working with partners on this new process and getting them to sign up to this 08:48:42 #info working on partner / vendor modules with daddy shadowman -- getting vendors to sign up for a process that they'll need to follow so they don't become vaporware 08:48:52 Train hell, will be on site in about 5 minutes 08:48:59 jhawkesworth_: ack 08:49:00 #info sla, X # of maintainers required, unit tests, integration tests, etc. 08:49:24 jhawkesworth_: awesome, we are on the 2nd floor of the hotel when you get here (not in the giant ballroom that you'll also see outside) 08:49:44 yep just follow the signs, we're kind of the last meeting room on the 2nd floor 08:49:47 warren is dutifully holding a sign in the lobby; plz praise his awesomeness for doing that :D 08:49:58 (also yay see you soon) 08:50:12 Will do. Thanks 08:50:45 * misc connect 08:50:54 #info once the initial work with modules is worked out, will try to expand it to other plugins/roles etc (this is far future) 08:51:16 #info ppl are expecting us to be grown-ups, vendors want to know how to get their modules "certified" ; hopefully this will be generalize-a-bull 08:51:19 #info working on a generalized process for this 08:51:38 #info ansible is the shizz 08:51:55 #info we have a ton of modules; thaumos thinks we can't test them all; mordred and rbergeron disagree but it's a detail to get to later :DDDDDDDD 08:52:09 * jimi|ansible agrees with thaumos 08:52:12 I already regret not being there 08:52:32 We just need more cloud, then we can test them all. 08:52:34 hyperized: there's always next year :) (or this year, if you want to fly to SF) 08:52:45 @rbergeron :wink 08:52:51 #info this is acknowlegment that Ansible is partially a platform for people to write and support their modules on. Need to make it easier for people/organizations to get involved that way. 08:53:00 jlk: i wish we could just rub more cloud on the problem to make it go away 08:53:03 #topic Questions? 08:53:12 i wish i knew about the contributors summit before i booked ansiblefest london 08:53:15 what was the question? 08:53:16 i would have come for both days 08:53:19 square1: +1 08:53:20 #info All new network modules in 2.4 (core or from community or partner) have to include tests 08:53:43 square1: literally booked the nonrefundable flight 1 hour before I found out there was a 2nd day 08:53:46 is there a process being discussed for how a vendor contributes to and certifies a community contributed modules for one of their products/projects? 08:53:48 square1: i'll make sure our marketing team hears that, so we advertise it more upfront 08:54:02 jimi|ansible: perfect, thanks 08:54:19 the audio from people who aren't greg is very bad 08:54:23 tima: is that your question or is that you repeating a question 08:54:32 mine. 08:54:37 inaudible mumbles 08:54:53 I can hear abadger, not much robyn 08:54:56 yes it really helps 08:54:56 yes, it help 08:54:57 yep 08:55:00 monty is loud and clear 08:55:14 willthames: mordred is loud 08:55:16 :P 08:55:18 loud at least :) 08:55:22 hahahaha 08:55:22 flaper87: ^5 08:55:30 misc: i was just calling out that ... people coulnd't hear so i didn't move to say that into the mic :) 08:55:37 i am mostly trying to type and pay attention here :D 08:55:44 thanks rbergeron :) 08:55:54 #action abadger1999 to review documentation on docs for swapping between py2/py3 08:56:07 +1 to py3 08:56:13 flaper87: are there any times I'm not loud? 08:56:16 doh I had joined in screen share only mode .. more coffee 08:56:33 also good to have more about required_if, required_one_of, etc. 08:56:34 mordred: when i'm telling you to shut up because it's my turn to talk, sometimes you are less loud then :D 08:56:58 Future proofing sounds great, but how about past proofing? 08:57:04 #info willthames thinks more info about required)if, require_of_of, etc. 08:57:07 all the bugs I encounter come from the past... 08:57:09 multiple timeline proofing 08:57:14 #info except with ... bettter testing of my typing 08:57:14 Any other questions? 08:57:19 worst timeline proofing 08:57:58 (I mean, in the land of Doctor Who, you have to speak of timeline proofing) 08:58:33 #info Tima has question on certified modules: how to handle "certified modules" from the community 08:58:34 #info has there been discussion of vendors who want to maintain modules but a module already exists that has been contributed by a community contributor. 08:59:07 raise your hand if you've enjoyed a synchronize bug. 08:59:09 o/ 08:59:17 ;_; 08:59:28 #info tima was just outed as the synchronize module guy. :D IN THE CORNER FOLKS :) 08:59:30 #info gregdek saying that it will be case by case basis. 08:59:33 lol 08:59:49 open source is open source, don't make a vendor controled project like Java please 09:00:03 "Don't pull a left-pad" 09:00:06 what about bug fixes for "certified" modules/what if a vendor is slack 09:00:22 if a vendor wants certification they need to contribute CI? 09:00:23 hyperized: it's not about that, it's about vendors that want to fix bugs in their modules being able to do so more easily 09:00:49 have them add additional an additional CI check before accepting a PR? 09:00:51 in the cases where the module was not written by them 09:00:55 * rbergeron nods 09:01:08 well, more easily than community might not be the best way to express it :) 09:01:30 well, the vendor is part of the community :) 09:01:35 true 09:01:37 ^^^^^ 09:01:39 they are 09:01:41 so no more easy nor hard than any other part of the community 09:01:47 also, there will be cases where they are modules for open sourcde projects where there are possible multiple vendors and we may just want to work with that upstream community 09:01:53 * rbergeron looks at openstack for example 09:02:30 #info people making vague references and inaudible sarcasm relating to third-party CI in the room 09:02:37 gregdek says many different scenarios: "community author doesn't have time to continue so everyone is happy with the vendor taking over maintenance", "community author is actively maintaining, talk with vendor about working with the community member to see what resources they can bring to *help* the community maintainer" 09:02:41 my biggest fear is what happen if 1) vendor have shitty code 2) vendor decide to silently change priority but we do not notice :/ 09:03:05 "inaudible sarcasm" is my progrock jam band. 09:03:06 or the vendor still stears a new feature away if it threatens their business model 09:03:11 *steers 09:03:12 rbergeron using notes to subtweet conversations :) 09:03:35 misc: I think that's part of the "make it as generic as possible" -- i think that includes the deprecation / unpleasant maintainer process 09:03:36 hey greg 09:03:51 hyperized: nah, that never happen :p 09:03:54 which probably needs to be fleshed out 09:04:28 #action gundalow to pull his finger out and finish https://github.com/gundalow/ansible/blob/docs-argspec/docs/docsite/rst/dev_guide/developing_modules_general.rst#main-and-ansiblemodule-argument-spec 09:04:33 ok, I guess all it takes is vigilance 09:04:35 #info gundalow working on update to contributor docs (yay) (i think probably a proposal and things) 09:04:42 oh there oh dear that's a long link 09:05:26 hyperized: vigilence, and I guss process to report, decide what happen, etc 09:05:33 i have always been in favor of forcing CI tests for modules that are at least core supported, but i believe i'm somewhat in the minority on that 09:05:47 CI can be light weight (aka: no swear words in the code) 09:05:57 if it is not tested, it is broken :) 09:05:58 +1 for more CI 09:06:09 we already have light weight CI for everything 09:06:20 it requires that you determine the 'red lines' 09:06:21 we test syntax :) 09:06:24 hyperized: what jimi|ansible said -- this about their resources being able to do stuff more easily. If they want to quickly release new features or bug fixes and they have to wait for a community contributor to get around to looking at and approving their PR... their going to start getting frustrated. 09:06:35 well, that's very light weight misc :) 09:06:43 #info mordred explaining the story from other open source projects about vendors and CI and testing and crazy hardware + drivers 09:07:02 #info sometimes difficiult for companies until they learn from a bizdev perspective 09:07:12 tima: it supports eachother .. if something doesnt build / work why would the maintainer look at it, other than to support the contributor? 09:07:33 requiring CI is easy to say too, but how do we do CI on a lot of 3rd party services if they don't want to give us accounts to test things? 09:07:48 maybe that should be the commitment of said vendor? 09:07:58 We have a session on testing later on today: https://public.etherpad-mozilla.org/p/ansible-summit-june-2017-testing 09:08:04 ok 09:08:09 but testing != ci 09:08:12 I think where it gets very fuzzy for *us* is when there are mulitiple vendors for the same set of modules in a community 09:08:18 hyperized: +1000000000000000000 09:08:23 hyperized: again easy to say, but if the module came from the community at large and not the vendor, it's hard to sometimes convince that vendor to let us test things cheaply 09:08:26 @jimi|ansible that's part of my point 09:08:39 if we don't have access, how do we get them to filter it back to us 09:08:40 have a process to setup the CI system for 3rd party also helps greatly. A standard doc for people to run and report public results back to central server 09:08:46 and yeah i say CI in place of testing a lot 09:09:15 because CI is just automated running of the tests 09:09:41 its about acceptence .. tests (in the technical shape) is just one checkbox 09:10:00 Will be moving onto the next topic shortly 09:10:00 what about minor PRs to modules without existing tests 09:10:18 willthames: nightmare, but thats where the maintainers can step in 09:10:21 hyperized: not sure i'm following your point. thinking we are on slightly different pages. 09:10:30 that's fine, this might not be the right time for this :) 09:10:32 for things where we need login rights, perhaps a more robust API mocker could be used 09:10:36 and the quality of the tests depends on the quality of the mocker. 09:10:36 #info Contributor Involvement 09:10:41 #topic Contributor Involvement 09:11:02 #link https://public.etherpad-mozilla.org/p/ansible-summit-june-2017-contributor-involvement 09:11:28 #info (inaudiblenoise as jmckerr walks in and gregdek expects donuts) 09:11:40 hyperized: the vendors are most concerned about getting support for the latest version of software/services into our releases quickly. 09:12:07 #info question: how's thing's goin for y'all? (says gregdek) 09:12:16 QUESTION: How are we doing? How are things specifically for you, what are the pain points 09:12:19 gregdek: biggest one for me is people leaving the project because we haven't merged their PRs 09:12:23 gregdek is asking contributors here (in room, on irc, etc) how are we doing? Are there pain points you need to get addressed? 09:12:25 issues + PR list seems _huge_ 09:12:30 loads of old PRs that are now just legacy 09:12:37 feels like my issues might not be imporant enough 09:12:43 Mention that PRs need feedback 09:12:45 but really useful to have in future 09:12:49 (not saying they are, but it sends a bad signal) 09:12:58 ANSWERS: Merge my PRs 09:13:07 Mention that PRs can stack up (contribute but not being merged) 09:13:14 #info tomas just submitted his first PR; hasn't gotten any feedback. 09:13:19 ANSWER: someone raised a PR and didn't get any feedback about what to do next 09:13:33 #info jlk needs more direction on how to do bot commands / labelling 09:13:40 #info jlk indicates labels / process / etc. for new folks (esp on modules) could be way more clear. Some of that is moved into the docs for the bot itself 09:14:09 flaper87: how's YOUR new module going? 09:14:20 our folks here use issue + PR count as a quality indicator for OSS projects 09:14:30 and for Ansible it looks bad :P 09:14:39 that's fairly ridiculous hyperized 09:14:43 ANSWER: Not clear how to approve PRs. What do people do: Shipits, GitHub reviews 09:14:59 really at best PRs that are waiting on maintainers rather than waiting on contributor might be a metric 09:15:01 hyperized: i agree, the better metric is how long it takes to get things merged 09:15:10 willthames: yup. 09:15:11 wow, that seems... naive . 09:15:15 if a PR needs_revision, what can we do 09:15:26 any large project is going to have a ton of open PRs/issues 09:15:37 ANSWER Bot added labels, though it wasn't clear what to do next 09:15:38 Mention that documentation for how to contribute is not obvious. 09:15:42 go look at kubernetes for instance :) 09:15:48 yeah. it's time to fix / time to change / time to merge 09:15:55 which PR # is being discussed? 09:16:10 tima: Process in general 09:16:12 we get 10-20 new issues/PRs per day on average, and usually we close about that many 09:16:12 Does someone have a URL to it? 09:16:25 tima: it's from ttomecek -- i will look 09:16:26 Mention: Need to have a doc about the workflow for PRs. 09:16:47 The bot needs to be friendly 09:16:55 tima: yeah need to ask tomas(z?) 09:17:07 maybe have the bot link back to a document that outlines the usual workflow? 09:17:12 I also think we have people who are new to opensource and those that aren't (and kinda know what happen) 09:17:17 that clears up both the bot behavior and the process 09:17:19 ANSWER Bot needs to be more friendly, clearer what the next steops are 09:17:33 and since we want to bring more vendor, lots of people might be new to FLOSS 09:17:36 #info resmo is saying that maintainer of module has less power in the new workflow (because the bot needs more than just the maintainer to approve PRs) 09:17:44 #info make the bot more friendly, and make sure it's always posting links to bot documentation 09:17:49 ^ jtanner 09:18:20 for those who don't know, jtanner (or jctanner) maintains the bot, and there is a github repo for it 09:18:33 and we all love him for it 09:18:40 #info a number of processes have gone from explicit to implicit 09:18:42 https://github.com/ansible/ansibullbot 09:18:52 jimi|ansible: We should probably take action items to ping people... Currently ~5AM east coast. 09:19:05 abadger1999: right, i wasn't sure if he was up, but looks like not 09:19:29 ttomecek: I am guessing this was a PR to ansible-container 09:19:30 #todo jctanner - make the bot more friendly, and make sure it's always posting links to bot documentation 09:19:33 encourage the use of thumbs up instead of +1'ing :D? 09:19:34 and not to ansible/ansible? 09:19:59 question: do we have consistent botting across all the ansible repos? 09:20:14 or does ansible-container not have the same PR / commenting process 09:20:17 hyperized: i think a lot of people nowadays have gotten used to the thumbs up system in github 09:20:24 i don't see too many people leaving +1 comments anymore 09:20:30 fair enough 09:20:49 #action gregdek and gundalow to loop jtanner into the discussions around contributor docs and process docs so that the bot can be updated 09:20:54 i'm sure it still happens, but thanks for github finally building that into the issue/PR system :) 09:20:56 jimi|ansible: #action 09:21:10 #action jctanner - make the bot more friendly, and make sure it's always posting links to bot documentation 09:21:18 yep, forgetting my bot commands 09:22:05 rbergeron: we do not. And in fact, I'm hoping to hijack ansible-container as an early user of BonnyCI for this, which will be a different workflow than the bot. 09:22:05 maintaining maintainers is hard 09:22:39 #info gregdek wishes for more of a way to have a structure for special interest groups 09:22:45 hyperized: especially when you have like 1000 of them :) 09:22:48 greg saying that we are at the point where we need to figure out how to create ansible special interest groups. 09:22:50 hey, what's the difference between and SIG and like, an official ansible project :D 09:22:55 jimi|ansible: do they go missing a lot? 09:23:29 hyperized: well, a lot of modules have individual maintainers outside of the core team, plus the general # of contribs to core itself 09:23:41 rbergeron: a official project would produce some code, I guess 09:23:45 like isolated code 09:23:46 over the life of the project, we've averaged about 1.5 new contributers per day to the project 09:23:52 is Gitlab at any point considered, they are further ahead with tooling? 09:23:57 (atleast, that's how I would understand) 09:23:58 #action gregdek and nitzmahone to look at how to better use the new GitHub permissions. For example ping @ansible-bsd group 09:24:09 misc: well, I think the idea greg is referring to is sort of ... more of an intersection between "group of people who care about X" which... users and the maintainers? 09:24:20 So that things like BSD knowledgable contributors can get together and share knowledge and together test and submit PRs and get the PRs merged. 09:24:25 hyperized: we have not considered moving to them 09:24:35 maybe something to at least consider? 09:24:37 rbergeron: yeah 09:24:52 i mean there's lots of ways to consider how to do it -- i think ways that encourage not-just-module-writers to participate is useful. 09:24:57 but I think SIG would be useful, I may have missed the discussion details 09:25:00 hyperized: maybe? i think it would cause a lot of work for an unclear benefit 09:25:01 hyperized: We have thought about moving to pagure or gitlab, etc... and have decided against it in the past. 09:25:07 #info gregdek types into etherpad things he could type here 09:25:13 lol 09:25:27 hyperized: we use gitlab.com at work, and it kinda do not scale that well :/ 09:25:38 #info Nested groups and read-only collaborators in Github might be super useful to help with the "BSD" problem (spread out modules that aren't well namespaced but need a group of collaborators to help fix) 09:25:45 #info robyn cuts and pastes for greg 09:25:49 there's considerations to consider, but it seems like we're just waiting for Github to move 09:26:26 #info improvements to github continue to be nice. but then it also makes us need to rereview the entirety of everything every single time something changes 09:26:31 hyperized: we do, and that annoy me on a philosophical level :) 09:26:35 and then they change the API to v4 09:26:41 and then we cry. :D 09:26:53 hyperized: ansibullbot has been our answer to github limitations. 09:26:55 we always cry, we are in IT 09:26:57 and they still don't document a lot of rate limits, which makes jctanner cry 09:27:18 * rbergeron passes out automated ansible kleenex to everyone 09:27:18 abadger1999: having a fixed slot to reconsider the tooling say anually would be nice 09:27:43 #idea having a fixed slot / time of year to reconsider / rereview tooling would be nice (from hyperized) 09:27:56 hyperized: It's mostly that github is adding features and we might be able to do things in a more integrated fashion now. 09:28:03 hyperized: one of the biggest problems any project of size has is momentum - changing things like tooling once a year is not a great idea 09:28:15 it worked for shifting the repo :D 09:28:18 maybe the bot could ping people when someone say "bsd" or "aix" :) 09:28:28 hyperized: that is not an example of something that worked 09:28:33 maybe something that we survived 09:28:37 Tags, now you have 500 problems. 09:28:41 #info gregdek types into etherpad: (how do we make sure this is the bat signal and not the "everybody gets pinged all the time" thing) (https://github.com/blog/2378-nested-teams-add-depth-to-your-team-structure) 09:28:49 jhawkesworth_: yeah, i don't ever want to do that again 09:29:23 #info discussion about having github alias/group/etc that is a directed quesetion "We need someone with expertise in XXX to look at this issue" rather than "Here's a XXX bug that you might be interested in" 09:29:38 to answer to greg, the rust community do automatically assign people at random for review, maybe we can do that too 09:29:48 #link history lesson: https://www.redhat.com/archives/fedora-advisory-board/2006-April/msg00220.html 09:29:49 ie, rather than ping X persons, we ping 1 09:31:07 wikis are where information goes to die 09:31:16 better to have no documentation to outdated documentation 09:31:22 http://sarah.thesharps.us/2016/11/17/impact-of-bots-on-github-communities/ 09:31:31 #info wiki = where information kills itself 09:31:43 wait, not the right link 09:31:57 Comment was: I think the Windows Group should use SharePoint 09:32:17 wikis work when information has a deadline 09:32:19 actually, thatmailing list link is a history lesson from jlk and gregdek 09:32:36 so information only lives for say X months and then has to be reviewed and approved 09:32:57 geez, 2006. 09:33:15 what greg says 09:33:16 rbergeron: I thikn that's Jeremy Katz, not me. 09:33:20 jlk: but yet, so relevant in some ways 09:33:50 ohh, you're right 09:33:58 even more valid points 09:34:14 ooh greg is going to satisfy needs 09:34:19 gundalow: don't say the s word 09:34:24 when running cobbler, which was 100th of the size of ansible, the wiki still got wildly out of date and i moved it to documentation which was versioned 09:34:38 which is what ansible does, and it's infinitely better 09:35:05 Sounds like what they're needing is less long living documentation, and more short living collaborative editing space 09:35:18 yeah 09:35:37 yes, which we're using issues/prs for in ansible/community 09:35:47 better docs + versioned history might be enough for the average use .. community tools should be seperated 09:35:55 here is the etherpad 09:35:56 https://public.etherpad-mozilla.org/p/Ansible_Windows_Community_Plan 09:36:09 #info hey neat, best practices for a SIG 09:37:12 we could do that AND have cross-repo testing too :) 09:37:20 * rbergeron shuts up and runs away 09:39:05 #info gregdek proposing that ansible/community be setup as a repo that contains sig information. 09:39:22 documentation / workflow / community have overlap but have different documentaiton needs 09:39:39 #info Model ansible/community after kubernetes/community for a place to create and manage SIGs. Enable Wiki on ansible/community. 09:39:43 hyperized: yup 09:39:44 following, all good 09:39:45 #action gregdek to copy k8's community into ansible/community 09:39:48 #info gregdek proposing giving out commit on ansible/community to anyone who asks. 09:39:58 (basically) 09:40:00 if we want to turn the wiki on for community, i'm not opposed to it 09:40:26 #action plagiarize kubernetes for sigs and wikis 09:40:30 heh 09:41:56 #info gregdek proposing turning on wiki in the ansible/community space. (Identify owners for wiki spaces who are responsible for cleaning up old pages) 09:42:15 huh, apparently ansible/community already has the wiki turned on 09:43:04 I'm confused, what would this wiki serve.. community meeting reports or actual development documentation (or both?) 09:43:09 "multiple people mumbling" 09:43:15 someone time traveled to turn it on ? 09:43:36 hyperized: I think different people want different things.... Currently, dag is talking about needing something that helps a SIG coordinate tasks. 09:43:56 ok 09:44:14 yes, it's for new people to find a working group (or SIG) and see what we are working on 09:44:47 and for the SIG to collaborate better than: https://public.etherpad-mozilla.org/p/Ansible_Windows_Community_Plan and https://github.com/ansible/community/issues/153#issuecomment-286751848 09:45:07 This table has reached it's Jesse limit. 09:45:43 another option which might work, is to use Github Pages instead of the wiki, that way the info would at least be contained within the repo and could be updated via PRs a bit more easily by outside contributors? 09:45:52 #chair hyperized dag 09:45:52 Current chairs: abadger1999 akasurde dag dag_ fale flaper87 gregdek gundalow hyperized j00bar jborean93 jimi|ansible jlk mikedlr misc mordred nitzmahone pabelanger rbergero1 rbergeron square1 thaumos trishnag ttomecek willthames 09:46:34 jimi|ansible: if I could speak for dag for a moment, PRs + reviews + merges + live is a bit longer of a work loop than a simple wiki edit. 09:47:02 true, but if you don't have commit access to the repo can you update the wiki? 09:47:20 #info greg defining what he thinks a SIG is: lightweight body that allows people to collaborate on common interests together. 09:48:03 'special' interest group 09:48:30 jimi|ansible: I don't know if Wiki's is going to be the ultimate experience, but Etherpad and Issues currently is problematic 09:48:57 oh wait. yeah 09:48:59 yeah issues are getting a bit silly... i had originally been doing a new issue per meeting to avoid that endless updating/strikethrough stuff 09:49:05 not really better 09:49:05 let's see how this works, and evaluate, it's going to make our work easier 09:49:22 Yeah- you end up manually moving stuff between tickets which is also a PITA 09:49:39 dag: Sounds kinda like we need a free trello type thing. 09:49:50 but could make do with a wiki for now. 09:50:04 yeah since we moved away from using trello at all internally 09:50:42 as is, i get confused with the "lightbulb" term and my hue demo... 09:50:52 +1 to survey, it's been a while since we've done one 09:51:30 make it recurring 09:51:43 that way you can tell progress :) 09:51:57 jimi|ansible true though to my knowledge the Ansible training program started using "lightbulb" first. 09:51:58 we used to do them somewhat periodically, like twice a year back in the day 09:52:04 as a "elder" contributor, my experience of how to become a contributor is likely worthless given all the process change since I started. Instead of a survey, we need to do a "shoulder surf" of somebody new trying to become a contributor for the first time. 09:52:08 so action thing? 09:52:14 Shoulder surf but do not help/guide at all. 09:52:28 The "official" lightbulb is here: https://github.com/ansible/lightbulb 09:52:40 easyfix is degenerating, it can be a big problem to a reporter 09:53:00 Django has a #lowhangingfruit tag for issues and a shortcut filter for it. 09:53:07 It works pretty well. 09:53:22 tags ok, but watch phrasing 09:53:36 the problem i always see with these, is that the experienced devs end up just fixing them because they are easy fixes 09:53:46 The next major topic we are starting to take on is Extending Ansible. That will cover modules and a bit of plugin development primarily and eventually roles to start. 09:54:19 tima: cool, i know i got an internal presentation on that shared with me 09:54:22 usually the people who ask that, need to go through the contributing to Ansible part which can be a slow process 09:54:28 since i was planning on doing more talks on that vein 09:54:33 jimi|ansible: is that a bad thing, that things get fixed? 09:54:35 #action write up onboard for each SIG 09:54:44 like, we don't have to leave broken things around just for somebody new to pick up 09:54:52 Always open to expanding that as long as its consistent with the philosophy. 09:54:57 jlk: well that point of those i thought was to get starter devs working on something that's easy to fix to get experience 09:55:05 and instead experienced devs fix them 09:55:17 jimi|ansible: they are useful for that, but we don't necessarily have to ignore them to let newbies pick it up 09:55:31 experienced devs often need some quick wins, either due to time concerns or burnout. 09:55:39 right 09:55:45 jimi|ansible: That (devs fixing) can be a social problem that we change, though. 09:55:46 jlk: +1 09:55:51 qualify all documentation as easyfix also cheapen the work of documentation writer :/ 09:55:51 jimi|ansible: if we want to do easyfix. 09:55:58 but even something i think might be easy to fix can still end up sucking 4-8 hours of my time away 09:56:26 Glad I'm not the only one that happens to. :) 09:56:36 jimi|ansible: Just tell devs, write up what you think someone should do but don't actually fix it. 09:56:42 maybe: non-technical vs program sort of tags instead? 09:56:48 easyfix should be a change that is obvious what to do, simple to test, and impacts no more than 5 lines of code. 09:56:53 not at all, which is why i generally focus on things labeled "bug_report" only, because those are generally the hard things to tackle on github 09:57:00 code and/or docs. 09:57:23 j00bar: i've had more 1 line "fixes" break things in subtle ways than 100 line changes 09:57:52 jimi|ansible: that's what test suites are for. 09:58:33 sure, easyfix and friends are just a quick assumptive labeling. 09:58:35 it's not going to always be true 09:58:51 lunch for me, see you guys later 09:59:00 and that's okay, for somebody to pull it off the stack, look at it a bit, discover it's way harder, and document their findings and put it back into the stack 09:59:15 ...................... 09:59:16 ...................... 09:59:16 ...................... 09:59:16 ...................... 09:59:16 ...................... 09:59:18 ...................... 09:59:19 gundalow: You've given me 5 invalid commands within the last 60 seconds; I'm now ignoring you for 10 minutes. 09:59:49 gundalow: looks like you are taking a 10 minute break 10:03:16 nope, that's the meetbot part 10:03:29 the regular bot (linmora) match on . 10:03:31 .fasinfo 10:03:32 misc: (fasinfo ) -- Return information on a Fedora Account System username. 10:03:36 .fasinfo misc 10:03:37 misc: User: misc, Name: None, email: misc@zarb.org, Creation: 2010-02-02, IRC Nick: None, Timezone: None, Locale: None, GPG key ID: None, Status: active 10:03:40 misc: Approved Groups: proventesters cla_fedora cla_done fedorabugs cla_fpca gitfedorareview +packager fi-apprentice 10:11:18 jborean93: do you fancy doing 5-10 minutes on Contributor Summit tomorrow night? I might mention it either way 10:11:44 willthames: sure, I'll try and put something together 10:15:27 * rbergeron 10:15:30 woops 10:16:42 #link https://public.etherpad-mozilla.org/p/ansible-summit-june-2017-backlog 10:19:02 grows like a kid on a milk farm 10:21:05 greg: "Expectations are killing OSS developers" 10:21:38 #chair 10:21:38 Current chairs: abadger1999 akasurde dag dag_ fale flaper87 gregdek gundalow hyperized j00bar jborean93 jimi|ansible jlk mikedlr misc mordred nitzmahone pabelanger rbergero1 rbergeron square1 thaumos trishnag ttomecek willthames 10:21:39 greg: whole bunch of people in the last few months saying that they don't have time for all the responsibilities I've taken on. This is making me burn out. 10:22:05 #action gundalow to speak to jtanner to see if we can get the stats he collects public 10:22:31 greg: Things that we (paid to work on it) hold ourselves accountable to may not be the same things that community should hold itself to. 10:22:47 i remember when we averaged 10/day... 10:22:53 or 2 10:23:30 greg: setting expectations appropriately for both the job that we're doing and the job that the contributors are doing. 10:24:08 jimi saying: raw number count not as important as average time to close. 10:24:23 not all PRs are equal 10:24:25 #info the average time for a PR to work through the process is an important stat 10:24:30 I have jtanner's module stats URL 10:26:03 gregdek: that is how we approach triage, PRs higher priority (bug PRs > feature) 10:26:49 can't hear whoever is talking now 10:26:56 greg: saying that PRs are higher priority 10:27:11 jimi and gundalow saying that we have 9 external committers, 36 total committers. 10:27:18 * jlk whispers that we just need more people the bot considers "approvers", so that the bot can put the appropriate review/label on the PR that allows the CI system to merge the thing. 10:27:21 not including BOT 10:27:27 #chair bcoca 10:27:27 Current chairs: abadger1999 akasurde bcoca dag dag_ fale flaper87 gregdek gundalow hyperized j00bar jborean93 jimi|ansible jlk mikedlr misc mordred nitzmahone pabelanger rbergero1 rbergeron square1 thaumos trishnag ttomecek willthames 10:27:52 greg: should we ad more committers? 10:28:12 jlk: Saying could bot do this? 10:28:37 Answer: Bot already does this for modules 10:28:41 #ingfo bot currently allows for contributors to a file to approve PRs for that file. 10:28:49 #info bot currently allows for contributors to a file to approve PRs for that file. 10:29:03 gregdek: we are already in process of that, in 2.4 adding docs to other pugins, including metdata 10:29:03 assuming the commit is directly to a plugin/module_utils, but a lot of times code external to those files is touched as well 10:29:05 #info current Bot maintainers https://github.com/ansible/ansibullbot/blob/master/MAINTAINERS.txt 10:29:07 say to the Base class 10:29:09 maintainers file that lists permissions per file or per directory that the bot bases off of. 10:29:11 or utils 10:29:20 and also assuming the module is community, not committer 10:29:31 Currently contains information for modules. Could work for other file paths as well. 10:29:46 #info I think there are too many committer modules (particularly in aws, as an example I'm most familiar with) 10:29:55 #info We are currently working on adding docs and metadata to other plugins 10:30:09 willthames: How do you mean? 10:30:39 modules that can't have community shipits and need committer shipits 10:30:42 rbergeron: from like an hour ago -- the PR ttomerek was talking about: https://github.com/ansible/ansible/pull/25734 10:31:59 gundalow - supported_by in metadata 10:32:03 #info modules that have a specific committer then do not fall under group maintainance. 10:32:30 abadger1999: a specific *maintainer* isn't it? 10:32:38 willthames: Ah yeah. 10:32:40 #undo 10:32:40 Removing item from minutes: INFO by abadger1999 at 10:32:03 : modules that have a specific committer then do not fall under group maintainance. 10:32:49 #info modules that have a specific maintainer then do not fall under group maintainance. 10:32:49 but your point otherwise stands abadger1999 :) 10:33:48 there's also a lot of bugs/prs that are out of date and need some pruning 10:34:39 but can github delegate triage ? 10:34:45 jborean93: we have internally started a backlog meeting where we go through old issues like that 10:34:52 with the bot we can delegate a lot 10:34:54 #info greg talking about potential to create a triage sig 10:34:55 doing that more in public as a SIG would be nice 10:35:03 using commands like needs_info etc 10:35:10 true 10:35:14 that was originally my intention with the community IRC meeting 10:35:26 but then we started doing proposals, etc. and it's become its own thing 10:35:36 but yeah, GH does make it tricky by not having good permissions 10:36:33 #info Getting reproducers from issues is one of the biggest problems. 10:36:40 Perhaps that can be a specific effort by community folks, to trawl the issues that do not have reproducers, and create them? 10:37:15 That would be really helpful 10:38:17 who is speaking now? 10:38:25 before the current person :) 10:38:31 mikedlr 10:38:36 jlk: I was thinking that a good thing to try would be to get a PR for a test that reproduces associated with a bug. Then merge that PR once it goes green in CI. 10:39:00 abadger1999: yeah, that's a nice test driven development thing 10:39:09 #idea Have a metrics SIG if there are people who care about metrics and want to use math to start figuring ot what the sources of problems are rather than bikeshedding? :) 10:39:11 i would love that 10:39:19 ^ what abadger1999 said 10:39:45 * rbergeron notes there are varying opinions on metrics (vanity vs. using it as source of noticing whether things are going to hell in a handbasket) 10:39:48 only problem is that the PR for the test would not be contained in the PR to fix the issue, and you'd have to rebase the test PR? 10:39:48 etc. 10:39:53 and uh, make them public 10:40:02 louder please 10:40:09 good is having a written reproducer. Better is having a git repo that has a reproducer written into it. Best is having an ANsible PR with the failing test as the reproducer. 10:40:31 jlk++ 10:40:32 jimi|ansible: well, depends on your CI 10:40:35 jimi|ansible: some CIs will test the content of the PR merged to the target tip 10:40:38 jimi|ansible: yes, we can't escape having to rebase older PRs. If the issue is fixed quickly then we wouldn't have to. 10:40:47 abadger1999: you can escape that, with a better CI :D 10:41:09 automation fixing the automation project 10:41:11 hmmmmm 10:41:14 jimi|ansible: The problem is not having an association between bug and test PR that makes the merge automatic. 10:41:15 :D 10:41:19 jlk: right we do have the tests rebase against devel (or whatever branch) currently on shippable, however if they test and fix are in different PRs i'm not sure if that's easy to deal with? 10:41:22 But perhaps it could be a bot command? 10:41:26 #info shipit_on_tests_passing might be a useful bot flag :) 10:41:35 ansible_test_pr: #1111 10:41:37 i know zuul kind of does that, but won't it fail the early test? 10:41:38 well 10:41:58 it'll fail at submission, as intended 10:42:15 like, PR X comes in with the test and then PR Y comes in with the fix, zuul would test them combined and i think it'd work? 10:42:28 but if there's a long lag time between X and Y, i'm not sure how zuul deals with that? 10:42:31 jimi|ansible: The fix-pr should not fail. Then the next time the test PR is run through ci it should succeed. 10:42:32 if a fix goes in, the fix can mention the PR, which will either cause a human or a bit to drop a "retest" like comment in the original PR 10:42:35 upon re-test, if the fix has merged, it should pass 10:42:52 jimi|ansible: the problem is that we wouldn't be testing the fix-pr with the test-pr before merging. 10:43:00 jimi|ansible: zuul handles it well if you drop a "Depends-On" somewhere on the failing test 10:43:16 but that means you have to know that the "fix" PR has been created so you have a target for 'Depends-On' 10:43:23 alternatively 10:43:25 abadger1999: right that's what i'm saying 10:43:28 it would help to identify ones that the issuer opened and aren't looking at anymore and can be closed 10:43:30 now this is really fun 10:43:40 the fix pr won't fail, but if we merge the test PR in first it'll make all other PRs fail until the fix is in 10:43:48 n/m, strike that. 10:43:59 ah ah 10:44:07 so 10:44:10 zuul handles that 10:44:10 lol 10:44:33 in the FIX pr, you say "Depends-On: test-PR" 10:44:44 zuul tests them together, MERGES them in succession 10:44:48 Question, does ansible have a bug / PR maintainer? Somebody who actively tries to move a long stalled reviews? 10:44:58 ok cool, so it just depends on a comment in the commit 10:44:59 does not break subsequent things. 10:45:18 jlk: we do have some time on the afternoon schedule for zuul chat in the general testing section, though it's mostly "limit monty to 10 minutes of update, no squirrels" but ... we could explain more. (plus we have the deeper zuul thing after) 10:45:23 so no more issues, open PRs with reproducers only :) 10:45:30 jimi|ansible: right, this is fresh code as far as github is concerned, it's driven by commit messages in the commits in the PR. Could be extended to also read comments on the PR 10:45:55 yeah, there's a lot to educate on zuul. 10:46:05 nah no need to do that, just read the PR comment i mean 10:46:19 #info Discussion about how the bot can discourage a submitter because the bot will autodetect problems and make the contributer do things. But then if the maintainer (core or community) isn't actually looking at the PRs then the submitter did all this work for no apparent end ability to merge. 10:46:36 #info zuul will fix everything 10:46:38 :) 10:47:00 probably pinging all maintainers on a regular basis e.g. every 4 months? just too see if they are sill willing? 10:47:20 or got under the bus? 10:47:23 resmo: that's noise, i already have a huge queue of messages from github on things i've been assigned/mentioned on 10:47:26 jimi|ansible: well.... in gerrit land it keys off of the commit message, not any comments in the gerrit change. We're keeping that as a compatibility on github side. 10:47:49 jlk: right that's all i'd expect 10:47:53 gotcha. 10:47:57 ping all seemingly inactive maintainers? 10:48:01 jimi|ansible: not pinging you, but the module maintainers 10:48:03 re current topic 10:48:05 :) 10:48:14 comments on the issue/PR i'd leave in the domain of the bot 10:48:33 I know that Fedora had done many things to "detect" inactive maintainers. Did that actually help in any measurable way? 10:48:37 resmo: ahh, yeah still could be noise but that's up to the module maintainers 10:48:54 jimi|ansible: zuul _does_ respond to PR comments, such as "retest", which just re-enqueues the change into the pipeline. 10:48:57 maybe something module maintainers could opt-in to? 10:49:07 jlk: ahh well neat :) 10:49:19 do we care about responses to issues vs. prs? 10:49:36 jimi|ansible: if a maintainer thinks that is noise it should not be a maintainer 10:49:41 rbergeron: probably not? comments on issues don't generally trigger anything other than labeling for the bot 10:49:50 * rbergeron nods 10:49:55 i don't think any CI/CD mechanism needs to care about comments on issues 10:50:03 resmo: well, the problem is also that there isn't much filtering github side 10:50:18 (at least on the web interface) 10:50:24 oh, i wasn't saying it had to be related to CI / CD, wqas just saying "does a crapton of issues == inactive maintainer" 10:50:54 again, inactive/active i think is irrelevant 10:50:55 rbergeron: maybe? depends on if any of those comments were from the maintainer themselves? 10:50:58 This all feels like trying to apply some machine learning to github data. 10:51:02 having 'enough' is more important 10:51:16 jlk: yeah 10:51:43 inactive maintainer detection is targeting a symptom, not the problem 10:51:51 jimi|ansible: comments or issues? (do you mean # of comments in issues?) 10:51:55 problem being a selection of PRs/Issues are getting ignored/backed up 10:52:25 #info greg assembling a list of questions, stats to gather, and some ideas of policy in the etherpad https://public.etherpad-mozilla.org/p/ansible-summit-june-2017-backlog#lineNumber=67 10:52:26 rbergeron: issues or prs? just looking for a large # of comments doesn't really indicate anything to me 10:52:47 Jlk admitting the problem is first step 10:53:02 https://docs.ansible.com/ansible/honeybadger_deployment_module.html 10:53:59 honey badger don't care 10:54:41 jimi|ansible++ 10:55:18 jtanner! 10:56:43 greg: communication is key. 10:57:37 #idea add labels to all module PRs 10:57:49 #action stats - more, and more public 10:58:06 ALL: Any other action ideas in here? 10:58:06 to help find other PRs in the same area but also count PRs/issues by module 10:58:09 jlk: Does the point you make about the real problem need to be called out to the room? Does it change anything on greg's list in the etherpad? 10:58:13 #action stats - see in-room discussion in etherpad for specific stats 10:58:49 abadger1999: I think it's fine. 10:58:55 k 11:00:00 willthames: what label(s)? there's already module + topic + subtopic labels 11:00:15 jtanner I guess specific module 11:00:34 the only reason i haven't done that already is that it means 1200+ new labels 11:00:38 willthames: we do already have stats per module, that's pretty easy (though it is broken at the moment apparently...) 11:00:59 jtanner: I did have that thought, I wasn't sure *how* problematic that would be 11:01:02 https://ansible.sivel.net/byfile.html 11:01:06 labelling through the UI might be harder 11:01:14 but the bot would cope 11:01:19 lunch ! 11:01:31 it's easy to figure out from the file path for the bot/stats reports, don't need a label for that when it's a module 11:01:50 but it's why i started doing the component labels for the core engine bits, to figure out where the hotspots are 11:02:08 jimi|ansible: for me, as a maintainer, it's the ability to say this is a new PR, what other PRs are open that might clash/conflict/be better 11:02:36 ahh yeah, that'd make things easier to spot via the github ui itself 11:02:50 at the moment I'm doing long reviews, suggesting big improvements, and only later realising - oh I should have noticed this huge clash earlier 11:03:03 ALL 11:03:07 ONE HOUR BREAK 11:03:18 willthames: yeah, that happens to me a fair amount 11:03:23 especially if contributor actually makes that change, could be wasted work 11:03:43 off for a run now, enjoy lunch, I'll be a little over an hour 11:14:52 willthames: i use the linke above (sivel's page) mostly to find other PRs against same files, does not scale well when more than 2-3 files are involved 11:17:32 Github's graphql and search API should work well for that 11:17:47 hmm, 2 'easyfix' bugs over a year old ..i think that is either mislabled or really unappealing 11:18:09 jlk: not really, not for 'pending PRs in conflict with this one' 11:18:32 oh, there's a missing bit of GraphQL covering that 11:18:35 ^ sivel's page uses the api to get that list 11:18:44 I filed an issue on it already. With the Rest API you can get files in each PR commit 11:18:53 it's missing in GraphQL, hopefully it'll be added soon 11:19:05 then you can get it all in one API call instead of an iteration of REST calls 11:19:09 tat would be awesome 12:03:29 #link https://public.etherpad-mozilla.org/p/ansible-summit-june-2017-testing 12:03:36 nitzmahone…CAB ping? 12:05:00 can everyone hear gundalow okay? 12:05:05 Yup 12:05:06 yep 12:05:30 #info gundalow giving out information about testing. 12:06:03 awesome, thanks :D 12:07:02 #info 2.3 => devel, large percentage increase in coverage for both integration and unit tests. But we started from a low number of tests to begin with so still a large amount to do 12:07:13 #info problems to overcome: test instability 12:07:41 #info tests that talk to external resources that go away (like installing packages from external package resource) 12:08:43 can't hear the questions, so if you could repeat them before answering that'd help lots 12:08:48 +1 12:09:01 Questoin was: How do we support the macos hosts? 12:09:09 thanks abadger1999 12:09:34 we drive to starbucks and hijack the machine of the guy writing 'the next big play' 12:09:50 hackintohs 12:10:00 did someone already dockerize macos :D? 12:10:00 the chance that Windows instances not coming up has dramatically decreased in the past few months which is great 12:10:02 #info macos hosts for shippable are taken care of by spinning up a virtual mac box via a hosting service. 12:10:49 ^ same with windows 12:11:16 #info want to select some tests as good examples in various categories (standar, network, aws, windows) 12:11:21 until MS allows Windows to run inside a container not running on Windows as a host 12:11:42 #info zuul working on reference implementation tests for themselves as well. 12:12:23 maybe a commitment that can be asked from MS? 12:12:47 I don't think MS will support a Windows container on a non-windows host 12:12:50 anytime soon 12:12:55 #action mordred and gundalow/mattclay to talk about reference implementations for tests that will help with both zuul and ansible 12:13:08 jborean93: I'd like to assume things too D: 12:13:14 containers dont really work when you need to change kernels 12:13:19 its always going to be VMs 12:14:23 reference tests should show things like check/diff mode, parsing variables and not be too complex 12:14:29 reference modules* 12:14:33 #info for reference implementations, also looking for good modules (esp. windows) 12:20:34 #action gundalow to look for both simple and complex examples for reference integration tests. 12:22:05 Would it be wrong to just write "fixed by zuul" in all these problems? :D 12:22:17 #info stale_ci label: added to tickets if ci hasn't been run in ~7 days. meant to tell committers to trigger a new ci run before merging. 12:23:16 jlk: We wanted to avoid getting out the whip and saying "code faster!" to ya'll ;-) 12:23:27 hahah. No worries. 12:23:52 Gitlab allows you to restart CI :D 12:24:03 * hyperized goes back into the corner 12:24:21 #chair mattclay 12:24:21 Current chairs: abadger1999 akasurde bcoca dag dag_ fale flaper87 gregdek gundalow hyperized j00bar jborean93 jimi|ansible jlk mattclay mikedlr misc mordred nitzmahone pabelanger rbergero1 rbergeron square1 thaumos trishnag ttomecek willthames 12:24:32 gundalow: ask the bot to auto rebase to trigger ci :) 12:24:32 it's not a hard problem, it's just a "agree on a method" problem. 12:24:55 its not that simple as shippable api is involved, not just github 12:24:56 #info if picking a word to feed the bot, please pick "recheck" -- Monty 12:25:00 #info mattclay says that it is a known feature request to add a bot command to rerun ci but it hasn't been written yet. 12:26:16 #info note: features need to be available in shippable's API in order to implement. 12:26:35 there's PRs open for changelog .. should those not exist then? 12:26:40 or used exclusively? 12:27:38 #info remember, 2.3 needs python-2.4 module-side compat. 12:27:51 use the mics people! 12:28:02 my bad 12:28:21 jlk and i were talking about if you can block direct commits to a branch via branch protection 12:30:05 hyperized: At this moment, it would be core team will probably just update the changelog directly. Others will add changelog entries via PRs. 12:30:49 ok 12:31:05 hyperized: We've found that github's merge button uses a different merge strategy which makes it hard to manage changelogs without conflicts (merging from the git cli is possible due to setting a merge strategy for the changelog that makes that work without as many conflicts) 12:31:30 So PRs for changelog can be a bit painful. 12:31:52 The merge button has 3 strategies now 12:32:11 hyperized: if you see PRs that are just for changelog entries, we probably should prioritize getting those merged (as they need rebase so frequently) 12:32:16 none of which are totally great :) 12:33:06 jlk: We have "CHANGELOG.md merge=union 12:33:17 abadger1999: what other projects do is have a compiled changelog using a directory full of snippits, so that they don't conflict. 12:33:33 in our .gitattributes. but none of the github UI utilizes that. 12:33:52 is there a feature request for that? 12:33:55 jlk: Yeah --we've looked at reno and not enough of hte right peole got on board. 12:33:58 the least that can be done is asking 12:34:20 upstream pyhthon also has a tool (not quite released) that I'd like to look at. 12:34:53 hyperized: I don't believe we've opened one. Would be good to have that asked for. 12:35:09 it seems like a good feature overall 12:35:48 we do have a git setting on changelog to be 'less fussy' about conflicts, but it is not absolute 12:36:00 and has created dupe entries in past 12:36:21 bcoca: I mentioned that above. (And that it works for git cli but not for github's merge button) 12:36:32 ah, did not know that! 12:36:36 pain: shippable and then not actually being shipped (happened on two issues I follow) 12:36:57 pain: not being informed when it'll be included in a release (bot maybe?) 12:37:16 #info question about how to run tests: see a tox file and it doesn't work. See a make test and it doesn't work. etc. 12:37:53 there is a PR for that 12:37:58 I hope someone can voice my concern, i'm not in the room :) 12:38:14 12:38:18 https://github.com/ansible/ansible/pull/25915 12:38:35 (fred is sitting next to yanis, who just speak) 12:38:37 spoke 12:39:07 about current speaker: https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/blob/master/CONTRIBUTING.md :) 12:39:17 example of it working pretty well 12:39:29 would be good to know the process around dealing with external dependencies or binary files. How do we get them easily accessible in our integration tests 12:39:30 what was just said in the room? i didnt understand what he was talking about 12:40:24 #info jeblair mentions that openshift writes a shell script to do all the setup for making a test environment. 12:40:45 can people speak louder ? 12:40:51 (or more in the mic) 12:40:53 #info gundalow says that ansible-test has a --requiremenets cli that can help with that for pypi packages. 12:41:07 (I can hear if I focus, but people are speaking next to me in french :/ ) 12:41:08 #link https://docs.openstack.org/infra/bindep/ 12:41:23 ansible-test is the solution to all of this 12:41:32 misc: fixed 12:41:34 https://docs.openstack.org/infra/bindep/readme.html#examples 12:41:40 gundalow: thanks :) 12:41:47 #info monty mentions that there's a further file that they have (bindep) that helps install non-pypi things. 12:41:55 #link https://docs.openstack.org/infra/bindep/readme.html#examples 12:42:05 * misc is now reaching for his nerf to shoot on coders in the openspace 12:42:06 #action monty to ping gundalow with information about bindep. 12:42:40 hyperized: What's the first pain you mentioned (shippable and then not actually[...]) 12:43:05 tagged, but not actually included 12:43:16 how is the bot supposed to know? 12:43:22 side note, gregdek and I are writing a Fiddler on the Roof alternative entitled "If I were a gentoo man" 12:43:47 feels like I gotta chase after bugs sometimes, that shouldnt be neccesary 12:44:06 hyperized: do you mean tagged "backport"? Or "not knowing if it was cherrypicked or not"? Or "not knowing what release a cherry-pick will actually show up in?" 12:44:34 define "chase after" 12:44:43 no @ backport, not knowing what happens if something is tagged ship_it 12:45:08 jtanner: yeah looking for an example 12:45:18 shipit is a pathway to devel merge ... it doesn't have scope beyond that 12:45:48 hyperized: if it gets tagged shipit, then it should get merged to devel eventually... which means next major release. Says nothing about previous major reeleass (so right now, would get put into 2.4 but doesn't get into 2.3) 12:45:55 well then that's probably the best voiced part, as a issue reporter I am mostly just interested in when I can get it to work again on my platform 12:46:15 even if the bot does the cherry picks, it doesn't get to decide when stable branches get cut to new releases 12:46:16 #action gundalow to add "when cherry picking to detail what release will be released in. Also must do cherry pick -x 12:46:53 yeah skip that question 12:46:53 hyperized: cpould you explain that one? 12:46:56 its pretty much covered 12:47:00 TIL about cherry-pick -x 12:47:06 thanks 12:47:13 willthames: :D 12:47:15 ^ i use git cp (which is alias to -x) 12:47:39 we need -x for tracking back to devel commit 12:47:57 re: testing ... we need a VM based testing solution 12:48:08 beause our scope in containers is limited 12:48:14 it is in our internal 'git workflow doc' 12:48:28 make tests-nonet 12:48:30 make tests 12:49:27 The plan is to remove most of the make targets for testing, except for tests which aren't supported by ansible-test yet. 12:49:43 #info want to start pushing people to ansible-test as the Makefile is going to stop working as we add more things to makefile 12:50:18 I'm not referring to `make test`, but the test/integration/Makefile targets. 12:50:44 ok, those i dont care 12:50:46 #action gundalow to speak to Mattclay about deleting the old old win_groups.yml 12:50:57 #info mattclay says we can leave the toplevel make test but will get rid of the test/integration/Makefile targets. 12:51:40 #info If anyone has trouble with ansible-test (usage, argcomplete not working, etc.) please ask me on IRC 12:51:46 mattclay: Anything you'd like to give an update on yet 12:52:39 more PRs :D 12:53:11 gundalow: I think you've covered the highlights pretty well. 12:53:21 #info Code Coverage https://codecov.io/gh/ansible/ansible/ 12:54:00 wondered if we could give some rating to PR based on metrics 12:54:09 like "increase code coverage" +1 12:54:13 add a test +2 12:54:25 contains references to cats +3 12:54:27 and then sort them for review based on the score 12:54:52 huh, interesting. So get bumped up the review queue by having more tests 12:55:01 yeah 12:55:02 helps triage :) 12:55:05 misc: Eventually, yes. It's more difficult than it might seem since we the tests we run are dependent on the contents of the PR. 12:57:16 mattclay: codecov is cool, thanks for doing the integration with the service :) 12:58:24 coverage is one thing .. is static analysis another? 12:58:31 is there even such a thing for Python? 12:58:45 there is bandit, but that's focus on security 12:58:51 there is pyflake/pylint and others 12:58:54 it can solve legit bugs 12:59:05 or at least hilight them 12:59:07 hyperized: there is. mattclay are we just using a subset of pylint or are we doing a subset of pylint and a subset of pyflakes? 12:59:50 https://github.com/ansible/ansible/pull/25962 <- fixes one issue for running tox the first time on a local system 12:59:55 who ever was asking for that 13:00:12 ok I have a meeting now, won't probably be able to join back but I'll be on-site tomorrow :) hoping to see some of you guys there 13:00:41 pabelanger: https://github.com/ansible/ansible/pull/25915 13:01:09 #info mikedlr pointing out that the module coverage won't account for things like code which could raise multiple exceptions and we're only testing that it catches one of those. 13:01:31 #info testing working group, gundalow, mattclay are points of contact. 13:01:36 #undo 13:01:36 Removing item from minutes: INFO by abadger1999 at 13:01:31 : testing working group, gundalow, mattclay are points of contact. 13:01:42 #info testing working group, gundalow, mattclay are points of contact for more testing questions 13:01:44 spredzy: cool 13:02:52 hyperized: see you tomorrow :) 13:03:01 PR that I mentioned which aims to centralise the exception handling code so that the coverage problem is reduced: https://github.com/ansible/ansible/pull/25780 13:03:27 #topic 10 minute overview of zuul 13:03:52 #info zuul is a "gating engine" from openstack. Used for CI. 13:04:07 mikedlr: mostly against centralized errors as they give very little useful data to users, it is much better when they are handled locally and developer gives context with a useful error message 13:04:14 #info jobs in zuul v3 are written in ansible. 13:04:53 centralized errors normally just give 'api lib error' which does not tell a user what the module was attempting nor with what info and if user can possible remediate or if it is out of their hands 13:05:01 bcoca: His Pr is good. It centralizes the code; not hte catching. 13:05:01 bcoca: this is handled in our case in two ways: the call to the cental exception takes a string which says what you were doing 13:05:19 #info Zuul v3 is alive 13:05:30 and b) the AWS exceptions are pretty good about explaining what went wrong so we simply pass through that string. 13:06:08 boto is generally good, but not across the board, soo basically you are just making another version of jail_json? 13:06:25 so you get "deleting RDS instance: Exception AWS call timed out" or something similar pluss a prpper traceback. 13:06:49 jail_json: the BSD way to isolate failures 13:06:52 bcoca: yes - fail_json_aws("this is what I'm doing", exception) 13:06:59 well, timeouts are the easy part (500s etc) the issue is more when incompatible/incorrect data is supplied 13:07:04 #link https://softwarefactory-project.io/sf/welcome.html 13:07:19 actually aws_module.fail_json_aws(...) 13:07:42 #info software factory stuff, plus ... 13:07:43 *ALL* Can people that are attending (especially those on IRC) please "sign in" at the end of https://public.etherpad-mozilla.org/p/ansible-summit-june-2017-agenda 13:07:44 #link https://github.com/softwarefactory-project/software-factory 13:07:46 will look at code , but it seems redundant 13:08:10 Thanks in advance 13:08:51 might be useful to also paste on the bjn chat ? 13:09:05 #info zuul does multi-repo dependencies (commit to one repo can trigger CI runs for other repos) 13:09:16 misc: done 13:10:54 #info to rollout for ansible: 13:11:08 #info Enable a github app "openstack Zuul" 13:11:34 #info Run zuul's test suite on PRs to Ansible. 13:11:48 #info run shade's test suite on PRs to Ansible Openstack Modules 13:12:20 #info Then spin up "Ansible Zuul" github App which runs ansible tests when commits are made. 13:15:06 "I don't know how to stop sharing" -- Robyn. 13:15:24 i was wondering 13:16:03 i know how to stop, i just dont want to! 13:19:09 mattclay: raise your hand please ! 13:20:24 #topic INTRODUCTIONS 13:22:03 everyone is introducing themselves. 13:22:08 not everyone works on openstack. 13:22:27 * jimi|ansible changing business title to "introducing bugs as a service" 13:25:08 in fact, we have others windows people at RH 13:26:12 there are dozens of us, DOZENS! 13:27:28 lol 13:31:42 zuul track: "NOTE: NEED SOME CORE TEAM FOLKS HERE. DESPERATELY. Save jlk from being sad at weird hacky things. Please!" 13:33:52 Hi all. I'm heading to AnsibleFest London tomorrow. 13:33:59 Anyone else going? 13:34:50 lots of people already are going, yes 13:35:38 jborean93 (and anyone else interested in Windows): bluejeans link posted in etherpad 13:35:56 nitzmahone, thanks opening it up now 13:37:26 rbergeron: zuul bluejeans hasn't started ... not sure if that's expected 13:40:00 can i get link to active sessions? 13:47:45 bcoca: zuul https://bluejeans.com/2413805790/ 13:47:51 others are in main etherpad 13:48:11 https://public.etherpad-mozilla.org/p/ansible-summit-june-2017-agenda 13:48:19 Ansible Container: https://bluejeans.com/3008457278/ 13:48:19 Windows: https://redhat.bluejeans.com/6841238455/?src=meet_now 13:51:44 thnx shertel 13:53:27 #endmeeting