14:00:54 #startmeeting Ansible PR review day 14:00:54 Meeting started Thu Nov 14 14:00:54 2019 UTC. 14:00:54 This meeting is logged and archived in a public location. 14:00:54 The chair is gundalow. Information about MeetBot at http://wiki.debian.org/MeetBot. 14:00:54 Useful Commands: #action #agreed #halp #info #idea #link #topic. 14:00:54 The meeting name has been set to 'ansible_pr_review_day' 14:01:03 Who's around? 14:03:06 nobody it seems ... no PRs merged today i guess 14:03:09 =) 14:03:45 I know others are joining later 14:04:22 #topic Reviewing needs_repo 14:04:59 #info pr_day open: 18, pr_day closed: 126 14:05:40 Hi, gundalow jtanner. 14:05:43 #info https://github.com/ansible/ansible/labels/needs_repo these are PRs where the branch (or repo) no longer exists in the PR authors repo. Possibly an indicator that they are no longer around 14:05:47 #chair xuxiaowei0512_ 14:05:47 Current chairs: gundalow xuxiaowei0512_ 14:06:41 Added sudo user if using become method sudo for synchronize https://github.com/ansible/ansible/pull/21531 14:08:47 21531: from Feb 2017, no updates since July 2017. Funzo asked for a toggle and to not change default behavior 14:08:58 I'll close (just finding my default close message) 14:12:04 found it, closed 21531 14:12:34 iptables: chain creation and deletion https://github.com/ansible/ansible/pull/32158 14:15:11 32158 author has come back 14:15:53 Windows Facts: add WinSystemLocale https://github.com/ansible/ansible/pull/32930 14:16:42 32930 is progressing 14:16:59 Support for actions available in ALB https://github.com/ansible/ansible/pull/46369 14:23:05 46369 no updates in over a year 14:25:26 47535: no comment from author since January and last CI run failed 14:25:44 adds possible fix to allow additional search filters #47535 14:25:47 #chair agaffney 14:25:47 Current chairs: agaffney gundalow xuxiaowei0512_ 14:25:52 Morning :) 14:26:49 58768: simple module docs PR that is probably fine to merge after CI re-runs 14:27:23 47535 closed 14:28:13 yup, did you trigger CI again? 14:28:21 Add advice how to prevent jinja2 warning #60594 14:28:47 60594: simple docs PR with pending suggested wording change 14:29:23 though source branch doesn't exist so can't apply it. I (or someone else) can create a fresh PR for that 14:29:37 fix(mysql): fix underscored privileges #63086 14:30:18 63086 new contributor, pr created and branch deleted in same day. I'll close 14:31:01 Added production flag to npm ci install command #63296 14:31:18 I did trigger CI again 14:31:41 agaffney: excellent, thanks :) 14:31:53 is it not possible to merge a PR with a missing source branch? I'd think it would still be mergeable with the code still available in the PR 14:32:05 agaffney: ah, yes, we can merge 14:32:17 just can't apply suggestions, though that could always be follow up PR 14:32:22 which is probs easiest 14:33:15 Added production flag to npm ci install command #63296 14:33:22 (first time contributor) 14:33:30 One line change 14:35:49 agaffney: I see Add advice how to prevent jinja2 warning #60594 has passed CI, I'll merge 14:37:05 #topic small_patch 14:37:11 #info https://github.com/ansible/ansible/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3Asmall_patch+-label%3Abackport 14:38:12 (from the top) 14:38:35 * gundalow ignores PRs by Core Team or modular-magician (GCP) as they have commit powers 14:38:45 consul_acl: allow setting rules for *_prefix where supported #64809 14:39:34 Looks sensible, though only open for 16 hours so maintainers haven't had a chance to look yet 14:39:46 ssh: Properly close stdout and stderr. #64785 14:40:37 64785 hum, connection/ssh.py 14:42:57 Improved message for unarchive. #64594 14:43:29 64594 CI restarted 14:43:50 oh, it's just a error message fix 14:44:55 235 small patches... 14:45:02 yup 14:45:24 hum, I guess we could remove needs_revision and see how many of those could be merged, what do you think agaffney ? 14:46:08 that's down to 143 14:47:46 cool, lets do that 14:48:01 #info https://github.com/ansible/ansible/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3Asmall_patch+-label%3Abackport+-label%3Aneeds_revision (ignoring needs_revision) 14:51:11 Add default value to 0 for disk in nova_flavor module #64749 14:51:25 64749 comment added, though needs review from openstack people 14:54:02 rabbitmq_policy support version 3.8.0 #64512 14:55:59 30467: comment added 14:56:21 64512 asked for reviews on related PR 14:57:05 agaffney: oh, forgot to say earlier, could you please add `pr_day` label on anything you look at. Helps us track 14:58:21 noted 14:58:52 :) 15:00:35 jillr: Do you think https://github.com/ansible/ansible/pull/64283 could be merged (Just looking at random PRs) 15:04:11 it's early for her 15:04:20 phx time 15:04:21 nod, for later 15:06:20 Update RDS snapshot info to use DBClusterIdentifier #64253 15:09:10 non-contributor has confirmed the fix 15:10:46 pinged in #ansible-aws 15:11:01 Idempotency for yarn #64061 15:14:06 mysql_user: make sure current_pass_hash is a string before using it in comparison #64059 15:16:54 (half in another meeting, so going a little slower) 15:17:52 64059 looks good, just needs changelog so it can be backported 15:22:59 Adjust conditional for disabling alert email #63951 15:24:01 63951 has shipit from maintainer, will merge 15:32:51 Updated rhn_register module to use the provided transport in server_url #63587 15:32:59 Looks sensible 15:33:07 hi 15:33:31 hey resmo, currently doing PR review day 15:33:49 gundalow: +1 15:38:26 oh, one for resmo (as you previously commented on this) https://github.com/ansible/ansible/pull/63573/files did you do full review, or just spot typo? 15:40:22 postgresql_privs module now allows SCHEMAS for valid values of objs pr… #63275 15:41:39 hum, first time contributor, so might not know how to add how to do that. I'll ask maintainer if they are happy to take as is 15:45:36 Add timeout to jenkins_script CSFR requests #62850 15:45:40 shipit from maintainer 15:50:38 gundalow: just a typo for now, but I would give it a -1 (even if implemented as an option) 15:51:22 resmo: ah, fair enough, could you be able to add that & your reasoning to that 15:51:30 on that PR 15:52:15 gundalow: ack. 15:57:16 Update redhat_subscription.py #62846 15:57:16 I *think* this is right 15:59:04 Update mongodb.py #62802 16:12:51 passwordstore: Improve userpass splitting #62590 16:16:37 * gundalow is going to take a break for a bit 16:17:02 at the top of https://github.com/ansible/ansible/issues?page=3&q=is%3Aopen+label%3Asmall_patch+-label%3Abackport+-label%3Aneeds_revision&utf8=%E2%9C%93 if anyone is still following at home 17:30:21 o/ 17:39:06 I'm going to grab some food, then will look at the docs-related PRs from that list 17:39:08 https://github.com/ansible/ansible/pull/60781/files 17:39:35 #chair acozine 17:39:35 Current chairs: acozine agaffney gundalow xuxiaowei0512_ 17:39:50 is the first one . . . if folks have suggestions for improving the comment per sivel's request, post them here 17:40:07 #topic Docs PRs 17:40:09 acozine: all yours :) 17:40:29 gundalow: I need some food in my system before I can drive for realz 17:40:51 be back in 20-30 minutes 17:40:58 cool 17:40:58 and I'll be looking at https://github.com/ansible/ansible/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3Asmall_patch+-label%3Abackport+-label%3Aneeds_revision+label%3Adocs 18:19:30 okay . . . so of the 6 PRs in the list ^^^ 18:19:34 1 is still WIP 18:19:43 the next one is 60781 18:41:04 okay, I've pushed an update to that PR - take a look, folks 18:41:05 https://github.com/ansible/ansible/pull/60781/files 18:44:45 looking at https://github.com/ansible/ansible/pull/62314/files next 18:45:57 what do folks use for testing environments? 18:46:10 venv? docker? 18:46:52 ansible-test --docker ... 18:49:19 agaffney: cool, so for "You must first setup your testing environment" you'd do `$ pip3 install --docker --requirements`? 18:49:35 that looks wrong to me . . . but I'm not sure what it should be instead 18:49:53 this would be for https://github.com/ansible/ansible/pull/62314/files#diff-603488f66953449a982f74ed952014e6R269 18:49:58 no, I mean use the --docker flag with ansible-test so that I don't need to setup any local environment 18:51:15 oh . . . so if you run ansible-test with `--docker` you don't need to set up your testing environment 18:51:31 I'm not sure what's meant by that comment in that PR 18:51:38 me neither 18:52:22 it depends on what's meant by "testing environment". I don't use a particular venv or anything to run ansible out of the git repo. I just 'source hacking/env-setup' and run ansible, and I use the --docker flag with ansible-test to run unit/integration tests locally 18:53:26 does running `ansible-test` in docker ensure that all dependencies are installed? 18:53:33 for the tests you need to run? 18:53:59 ansible-test will *start* a docker instance and install dependencies when you call `ansible-test WHAT --docker` 18:55:43 hey! sorry, I'm a bit late and a lot afk right now... 18:55:45 something got in the way 18:58:13 felixfontein: It's all good :) 18:59:41 okay, so is this close? 19:00:08 https://www.irccloud.com/pastebin/MueicMmg/draft%20replacement%20for%20Unit%20Tests%20section%2C%20see%20PR%2062314 19:01:05 or does the `ansible-test --docker`` command take a path to particular tests instead of just the module name? 19:01:12 acozine: it's better to write `--docker default` because otherwise the next argument will be interpreted as the name of a container 19:01:25 felixfontein: excellent, thanks 19:01:27 i.e. `ansible-test --docker default <...everything else...>` 19:01:57 so what all goes in `< . . . everything_else . . . >`? 19:02:21 is it the name of the module? a path to a directory full of tests? something else entirely? 19:02:35 yes yes yes 19:02:57 I always have to check that... I think it's the module's name, but I'm never sure 19:03:11 I usually use CI for that ;) 19:03:12 heh, then we definitely need to document it better ;-) 19:03:22 yep 19:03:34 ansible-test integration yum 19:03:34 ansible-test integration lib/ansible/modules 19:03:34 ansible-test units lib/ansible/modules 19:03:34 ansible-test units test/units/playbook/ 19:04:49 ah, great . . . so since this is the section about unit tests within the page about developing a module, we probably want `ansible-test --docker default units path/to/MY_MODULE` 19:04:51 are all valid 19:05:06 or just `ansible-test --docker default units MY_MODULE` 19:05:11 there's also `units` missing in the command line 19:05:18 oh, yes, good spot felixfontein 19:06:12 #chair felixfontein 19:06:12 Current chairs: acozine agaffney felixfontein gundalow xuxiaowei0512_ 19:06:21 I need to drop off for 30 minutes or so 19:06:38 * acozine waves 19:09:13 so what does the `--requirements` flag do? is it necessary with `--docker`? with `--venv`? only when running outside of a container or virtual machine? 19:09:15 `bin/ansible-test units --docker default luks_device` works 19:09:30 excellent! 19:09:32 (I should try a module which actually has unit tests the next time when trying to figure the command out... that will help a lot :D ) 19:09:38 heh 19:10:01 I always got stuff like `ERROR: Target pattern not matched: ` 19:10:07 that was because there was no unit tests for that module... 19:10:36 I guess that's better than a bogus "all tests are passing" message if there are no tests to run 19:11:20 definitely! 19:11:43 okay . . . so now I have this for the "Unit Tests" section: 19:12:25 https://www.irccloud.com/pastebin/0UbWC4dd/Second%20revised%20edition%20for%20PR%2062314 19:12:49 is the `venv` example correct and complete? 19:13:04 or does it have extra args too? 19:13:33 also, just to confirm, both of those commands will install any requirements in the container before running, right? 19:14:01 `--docker default` needs to be after `units` 19:14:17 (and probably same for --venv) 19:14:29 must things should already be installed, but it should install everything that's missing 19:15:16 hmmm, looking at the example in the sanity tests section further up the page, it includes `--python 2.7` 19:15:50 do the unit test examples need to specify the Python version? Is 3.5 the default for `ansible-test`? 19:15:51 that restricts the amount of tests run (to the python 2.7 tests) 19:15:57 ohhh, I see 19:16:03 if you don't specify --python, it will just run tests with all Python versoins 19:16:18 that's not about "which python do I use to run the utility", it's about "which tests should I run" 19:16:20 gotcha 19:16:21 thanks! 19:16:27 it is definitely faster if you specify a specific version though 19:17:53 I can't get `ansible-test units` to work for non-modules 19:22:18 felixfontein: that makes sense to me 19:22:23 what other unit tests would we have? 19:22:39 do we have unit tests for module utils? 19:22:50 module_utils, plugins, ... 19:24:51 huh, so we have those but they won't run with `ansible-test units` 19:24:55 that's weird 19:25:45 they run somehow, I just always forget how.... 19:28:06 updated with what i know so far: https://github.com/ansible/ansible/pull/62314/files 19:28:28 reviews, comments, additions, corrections welcome! 19:28:56 I'll take a close look, but that'll have to wait a bit, I'm currently busy with other stuff, sorry... 19:36:40 np 19:37:11 heh, oops, the link I used for the ansible-test docs is wrong 19:37:39 * acozine scolds self for letting a PR about testing fail our test suite 19:39:27 huh, we don't actually have a page for the `ansible-test` utility 19:42:37 * acozine removes that bit 19:44:33 hm, and when I try these commands, I get errors 19:48:16 I pushed one fix and will wait for comments on the updated PR for 62314 19:48:22 next on the list is https://github.com/ansible/ansible/pull/62802 19:48:34 who has mongodb experience? 19:49:52 i do, but not with that lookup 19:50:17 does the lookup return a single string? ... if so, that new example would make sense 19:50:45 or with_mongodb: "{{ [ mongodb_parameters ] }}" 19:50:54 I don't know . . . it looks like the old example just passed the parameters directly in the `vars` section 19:50:59 so I'm not sure why it was failing 19:51:28 oh, does it need the square brackets? 19:51:38 well, that may not work either 19:51:46 someone probably just needs to try it out 19:52:06 yep . . . someone who has an actual mongodb, preferably 19:58:06 #63725 is addressing a similar concern to #62314, with the same blocker - the old instructions for running tests shows installing requirements from a path that no longer exists, but instead of just updating the path, we should update the instructions to use venv or docker, as that is the current preferred method 19:59:53 last Big PR Day docs PR is https://github.com/ansible/ansible/pull/64041/files 20:01:49 this change would convert any dashes that exist in an IPv4 IP address with underscores 20:03:10 it's not dashes in IPv4 addresses (there are none), but in interface names 20:03:11 so that an IP address like `tap2f186e31-b8` would work 20:03:21 felixfontein: ah, right 20:03:50 that isn't an IP address, but the interface name associated with an IP address 20:04:52 I don't know how common interface names with dashes are 20:05:33 I don't know either, but this change would let interface names without dashes work as before, right? 20:05:43 yes 20:05:51 so . . . mostly harmless? 20:06:14 I wonder whether it's better to add a note that for interface names with dashes this should be used (i.e. keep the old example and add this somewhere below), or whether this should be the default version 20:06:22 yes, except that it looks more complicated now ;) 20:06:49 hm, yeah 20:06:59 it's part of the FAQ entry `How do I access a variable name programmatically?` 20:08:36 which is a more generic question than the answer we've given there 20:09:10 however, I think the more detailed discussion belongs in the User Guide 20:09:31 I've been thinking about adding a section about "working with data" 20:09:52 that would be good. 20:10:13 we could do better at explaining how to use return values generally 20:11:42 in 64041 I'd probably prefer to keep the old example, but add the extended example as a note 20:11:52 sounds reasonable 20:12:50 I've added a comment 20:18:25 felixfontein: https://github.com/ansible/ansible/pull/64041/files - does that do what you had in mind? 20:19:19 acozine: I'm wondering whether it's better to move that after the next paragraph, because that's a big part of the answer 20:19:35 when you're at it: `'inventory_hostname'` two lines below should have double backticks and not single quotes 20:19:53 heh, the floodgates open . . . 20:20:01 :) 20:21:59 final offer ;-): https://github.com/ansible/ansible/pull/64041/files 20:23:06 added a suggestion 20:23:14 WDYT? 20:23:58 looks good, but I can't commit to this other person's repo 20:24:04 so I'll recreate it on my branch and push 20:24:27 but how did you added commits then? 20:25:23 pulled the branch, added my commits on top, pushed back 20:25:32 ah ok 20:25:36 I have no idea why the one approach works and the other one doesn't 20:26:48 heh, now Shippable is refusing to run - I can't blame it, I've kicked it off 3-4 times in 5 minutes 20:26:51 no idea... 20:27:01 hmm 20:27:08 sometimes it takes a minute 20:27:30 there it goes 20:27:31 phew 20:27:41 and we're at time for the Big PR Review Day 20:28:05 thanks felixfontein agaffney gundalow and everyone else who participated earlier! 20:29:59 thanks gundalow and acozine and everyone else for doing this! 20:30:10 (and sorry again for really not being around...) 20:30:22 hey, you were definitely around felix! 20:30:34 I promised to be around earlier ;) 20:30:36 and more actively 20:30:46 #info pr_day 36/135 (open/close) 20:30:49 well, we're going to do this pretty often now, I think 20:30:55 so you'll get more chances! 20:31:14 ah, that's cool! 20:31:15 I previously said I'd run this every two weeks 20:31:26 great! 20:31:27 That hasn't happened 20:31:35 not yet :D 20:31:39 #info Thank you everybody 20:31:43 #endmeeting