09:01:34 #startmeeting Ansible Community PR Review 09:01:34 Meeting started Wed Dec 19 09:01:34 2018 UTC. 09:01:34 This meeting is logged and archived in a public location. 09:01:34 The chair is gundalow. Information about MeetBot at http://wiki.debian.org/MeetBot. 09:01:34 Useful Commands: #action #agreed #halp #info #idea #link #topic. 09:01:34 The meeting name has been set to 'ansible_community_pr_review' 09:01:40 Who's here for PR review? 09:02:05 * akasurde waves 09:02:38 i'm here, currently doing work stuff but i'll follow along and join in when i'm available 09:03:02 #chair bob_cheesey 09:03:14 im here - first timer, not sure how useful... 09:03:23 robertgwilliam, welcome 09:03:29 #chair robertgwilliam 09:03:42 thanks 09:04:06 #chair akasurde bob_cheesey robertgwilliam xenlo 09:04:06 Current chairs: akasurde bob_cheesey gundalow robertgwilliam xenlo 09:05:09 bartmon: Hi, you here for the PR review? 09:05:11 gundalow, Can paste GitHub PR list link which are going to refer for this session ? 09:05:15 Sure 09:06:20 #info For the general community PR review days we will be ignoring anything that has a Working Group (https://docs.ansible.com/ansible/devel/community/communication.html#working-groups) as through 2019 we will have dedicated Working Group review sessions 09:06:21 gundalow, just curious, really. not planning on doing reviews since i'm at work. 09:06:53 bartmon: Sure. People are always welcome to idle. Please do shout out if you want any more info on anything 09:06:55 #chair bartmon 09:06:55 Current chairs: akasurde bartmon bob_cheesey gundalow robertgwilliam xenlo 09:07:16 gundalow++ 09:07:16 akasurde: Karma for gundalow changed to 1 (for the current release cycle): https://badges.fedoraproject.org/tags/cookie/any 09:08:20 #info This is all very informal. Please do ask questions, if you are confused by something, chances are others are. We will go through PR by PR and we will use the MeetingBot to track what needs merging. This allows other people to add comments through the day 09:08:34 fridim: Hi, you here for the PR review session? 09:08:45 yes :) 09:09:02 #info Thank you all that are here, for our second big PR review days. Today we will be focusing on `bugfix` PRs. 09:09:13 fridim: Welcome :) 09:09:15 #chair fridim 09:09:15 Current chairs: akasurde bartmon bob_cheesey fridim gundalow robertgwilliam xenlo 09:09:18 morning :) 09:09:25 #chair winem_ 09:09:25 Current chairs: akasurde bartmon bob_cheesey fridim gundalow robertgwilliam winem_ xenlo 09:09:53 #topic pr:bug `is:pr is:open -label:backport -label:support:core -label:support:curated -label:networking -label:new_module -label:aws -label:azure -label:docker -label:linode -label:vmware -label:windows label:bug -label:aws -label:azure -label:docker -label:linode -label:networking -label:vmware -label:windows` 09:10:08 #info Starting with https://github.com/ansible/ansible/pulls?utf8=%E2%9C%93&q=is%3Apr+is%3Aopen+-label%3Abackport++-label%3Asupport%3Acore+-label%3Asupport%3Acurated+-label%3Anetworking+-label%3Anew_module+-label%3Aaws+-label%3Aazure+-label%3Adocker+-label%3Alinode+-label%3Avmware++-label%3Awindows++label%3Abug+-label%3Aaws+-label%3Aazure+-label%3Adocker+-label%3Alinode+-label%3Anetworking+-label%3Avmware+-label%3Awindows 09:10:09 * jhawkesworth_ is lurking 09:10:24 influxdb_user: Fixed unhandled exception on invalid login credentials #50134 09:10:27 #chair jhawkesworth_ 09:10:27 Current chairs: akasurde bartmon bob_cheesey fridim gundalow jhawkesworth_ robertgwilliam winem_ xenlo 09:10:34 jhawkesworth_: Morning :) 09:11:02 hey. will try to tune in a bit but $dayjob is priority 09:11:07 jhawkesworth_, morning 09:11:09 jhawkesworth_: Sure :) 09:11:35 Would people like me to paste in the URL, or is `influxdb_user: Fixed unhandled exception on invalid login credentials #50134` OK (number at the end is the PR 09:11:40 https://github.com/ansible/ansible/pull/50134 09:12:25 So we can see from the PR description that 50134 fixes 50131, reported and fixed by the same person 09:12:31 the headline and PR # is fine for me 09:12:38 same 09:12:43 Thanks, that does make it a bit easier for me, thanks 09:13:34 oh, didn't want that. let's use urls ;) 09:14:01 50134: Thoughts? 09:14:06 So it just adds "influx.exceptions.InfluxDBClientError" to the catch ? 09:14:45 fridim: Yup, and if you look at the original bug report, last line of the code block in https://github.com/ansible/ansible/issues/50131 you can see `raise InfluxDBClientError(response.content, response.status_code)` 09:15:42 This is a good example of a module not having being tested with invalid input (negative testing) 09:15:59 Let me take a look at the tests for that module 09:16:46 #info Use GitHub to provide feedback so it's tracked. IRC is for general discussion 09:18:03 Update `Unknown error` to specific error message #50129 09:18:21 #50134 What if another exception than the 2 listed is thrown ? Shouldn't we have a general 'except' ? 09:18:46 fridim: Good question. We generally avoid general exceptions 09:18:49 ok 09:18:50 * gundalow looks to find the docs 09:19:39 it would be nice to have a test for it, but overall that seems a reasonable fix - it'll be obvious to the user what's happened 09:19:53 bob_cheesey, I agree 09:20:20 fridim: https://docs.ansible.com/ansible/devel/dev_guide/developing_modules_best_practices.html#handling-exceptions-bugs-gracefully 09:20:28 > Avoid catchall exceptions, they are not very useful unless the underlying API gives very good error messages pertaining the attempted action. 09:20:56 #action merge and backport 50134 09:21:05 (I'll do the merge and backports tomorrow) 09:21:13 ----- 09:21:24 Update `Unknown error` to specific error message #50129 09:21:46 50129 fixes 49713, issue and PR by same person 09:22:15 Morning all 09:22:35 #chair shaps 09:22:35 Current chairs: akasurde bartmon bob_cheesey fridim gundalow jhawkesworth_ robertgwilliam shaps winem_ xenlo 09:22:38 Morning :) 09:23:44 Morning all, joining for first time 09:23:49 #chair navalkp 09:23:49 Current chairs: akasurde bartmon bob_cheesey fridim gundalow jhawkesworth_ navalkp robertgwilliam shaps winem_ xenlo 09:23:52 hi navalkp 09:23:53 navalkp: Welcome :) 09:24:43 50129: Looks like we have active maintainers (see 49713), given it's only been a day I'll leave that to the maintainers. Though if people have comments please add them to the PR 09:24:53 davegarath: Hi, you here for the PR review? 09:25:01 #50129 is to_text(e) mandatory here ? Would str(e) work ? 09:25:17 Good question, akasurde ? 09:25:44 fridim, generally we prefer to_text or to_native 09:25:55 to_text is supposed to be py2/3 compatible 09:25:58 as it handles unicode related text 09:25:59 Hi gundalow, I'm here just for lurk :P I haven't so much time to be present but I'll try to follow something 09:26:20 davegarath: Cool. Feel free to shout out at anypoint 09:27:12 gundalow, did you already shared link with the list of PR that are object of review ? 09:27:36 davegarath: https://github.com/ansible/ansible/pulls?utf8=%E2%9C%93&q=is%3Apr+is%3Aopen+-label%3Abackport++-label%3Asupport%3Acore+-label%3Asupport%3Acurated+-label%3Anetworking+-label%3Anew_module+-label%3Aaws+-label%3Aazure+-label%3Adocker+-label%3Alinode+-label%3Avmware++-label%3Awindows++label%3Abug+-label%3Aaws+-label%3Aazure+-label%3Adocker+-label%3Alinode+-label%3Anetworking+-label%3Avmware+-label%3Awindows 09:27:56 ty 09:28:56 50129 uses `to_text` 09:29:10 So that a +1? 09:29:27 I can never remember if it is to_text or to_native to be used, they have the same end result 09:29:36 to_text should be fine in anycase, so +1 from me 09:31:20 Cool, could you add that on the PR 09:31:44 perhaps something like `Not used redfish_facts, though to_text is the right thing` 09:32:38 yes sorry, still bit slow 09:32:44 #info Giving details of what you've tested, or what type of review comments you've given allow an informed decision to be made 09:33:02 openssh_keypair: prevent error when path includes no path #50106 09:34:21 50106 is a good example of a one-lint (7 char) fix that may cause issues 09:35:04 For example, does this change backwards compatibility? 09:36:25 Wonder if it would be worth updating the docs for `path` to make this clearer. 09:36:35 * gundalow adds that as a comment 09:36:46 same here 09:36:48 it does change the behavior a bit, although I don't think it's a bad thing 09:36:52 I also miss an update on the documentation for the path attribute 09:36:58 +1 to the docs update 09:37:11 oh, gundalow said that already, sry :) 09:37:42 winem_: It's cool, means we are thinking similar things :) 09:38:10 VMware: Don't think all files are valid cause libs present #50103 09:38:28 path is required isn't it sufficient 09:38:49 #action gundalow 50103 update BOTMETA for inventory 09:39:06 navalkp: how so? 09:39:27 +1 for 50103, Ok if someone take another look 09:39:28 navalkp, with the change path is actually not required anymore 09:39:53 got it 09:40:05 gundalow, I will add backport for 50103 once merged 09:41:02 +1 50103 09:41:33 akasurde: Thanks. We will do the merging tomorrow. Last review day I merged stuff then people smarter than me pointed out things that need fixing 09:41:59 #action merge 50103, request backport 09:42:16 os_security_group_rule proper module exit when deleting rule #50076 09:42:54 50076 fixes 50057 (reported by different user) 09:44:52 50076 added a comment asking for a changelog 09:45:03 #action 50076 merge once it's got a changelog 09:45:41 Update os_client_config to use openstacksdk #50046 09:46:10 50046: Thoughts? 09:48:18 just having a nosey at 50046 09:48:32 spotted a couple of things - i'll comment on them 09:48:38 Thanks :) 09:50:54 The change of Python lib makes me wonder if this isn't suitable for backport 09:52:30 it's fairly breaking behaviour to introduce outside of a major release (when it can be mentioned in the porting guide) 09:52:58 from memory, the two are independent and so you may not have the newer lib 09:53:14 (i could be wrong in that though, it's been a while) 09:54:18 nod 09:54:29 * gundalow doesn't know all the openstack libs 09:55:18 #info Being mindful of user experience (backwards compatibility) is an import thing in reviews 09:55:23 Shall we move to the next PR? 09:55:24 Debian appears to package os-client-config as depending on python-openstacksdk, but not sure about other distros 09:56:19 but Ubuntu doesn't - i think that's possibly messy depending on where you install the package from (pip, repos etc) 09:56:44 oh, that's good info. Could you add it as a comment, perhaps as a reply to mine? 09:56:55 yep sure 09:58:56 Put in documented default for gcp_compute filters #50025 10:00:35 Needs changelog 10:03:24 #action 50025 merge + backport once changelog added 10:04:19 shell & multiline YAML free form: add integration test #49993 10:04:29 Something different, an integration test 10:07:10 So, what do people think this is doing/ 10:09:41 Integration tests generally playbooks that do something then use the `assert` module to check certain conditions have been met 10:10:04 Filter DNSimple request by record name. #49981 10:12:44 49981 What they are doing looks sensible though I've never used that module 10:14:35 Do not load user kube config if path specified #49952 10:14:52 49952 has +1 from maintainers 10:15:02 #action merge 49952, ask for backport inc changelog 10:15:20 Fix netbox url with string concat #49943 10:16:17 So some concerns that `self.api_endpoint + "/api/dcim/platforms/?limit=0"` might cause `//` 10:19:03 just taking a look at the integration test (49993) 10:19:12 just verified that netbox will fail if // are used - so that's a valid concern (imho) 10:19:41 winem_: oh, nice test, would be worth adding that as a comment 10:23:51 #action gundalow inventory scripts (and plugins) are not getting labels, or pinging authors 10:24:25 Added organization in the scm_credential get #49884 10:24:28 oh, one from Shaps 10:25:04 done 10:26:42 Thanks :) 10:27:37 shaps: Could you please add a changelog fragment to your 49884 10:28:42 #action 49884 merge once it's got a changelog (and possibly backport) 10:29:12 Fix broken urpmi module #49881 10:31:22 the `label:owner_pr` tells us that the PR has been raised by the maintainer 10:33:16 icinga2_host: A lot of fixes after extensive use in production #49789 10:35:10 hum, this PR isn't that readable due to the DOCUMENTATION block being reordered 10:37:09 gundalow, I will comment to add testcase 10:37:16 :) 10:37:25 I have a question to the icinga2 PR 10:37:27 gundalow, I already did - https://github.com/ansible/ansible/pull/49789#issuecomment-446468146 10:37:38 winem_: sure 10:37:44 what about the commit messages? I was checking them because I hoped to get an idea about the changes from the messages 10:38:25 https://xkcd.com/1296/ 10:38:33 but we have 4 add and delete service for example and a message like "lot of fixes". how much do we / does the ansible core team care about it? 10:38:54 hahaha, gundalow 10:39:12 We squash+merge 10:39:52 gundalow, 49789, will wait till author adds testcases 10:39:57 ok :) 10:41:09 akasurde: Thanks, could you please add a negative review comment 10:41:32 ok 10:41:39 Katello: Added product to the dict choices #49776 10:42:53 Katello moved to foreman repo / it is deprecated from ansible repo 10:43:22 nod, closed 10:43:24 #info https://github.com/theforeman/foreman-ansible-modules 10:43:50 List correctly current PV in "lvg" module: fix lvg reduce #49731 10:45:33 * gundalow has to step out for a bit and will leave you in akasurde's care :) 10:45:57 gundalow, thanks 10:47:24 not sure about LVG functionality, anyone want to take a stab ? 10:51:56 any views on 49731 ? 10:52:14 i've used LVM a bit - will need to get my head around the module as a whole though first 10:53:14 ok then we can move on to next then 10:53:28 #action 49731 need to look code as whole and then merge 10:53:47 Handle 'latest' version when installing plugin for first time #49723 10:57:12 Code LGTM, added request for unit test 10:58:02 #action 49723 requested for unit test, code LGTM 10:59:27 Update os_image.py 10:59:34 #49705 11:04:18 gundalow, sorry had to go out for a bit, will add changelog and backport 11:04:43 shaps, gundalow is away 11:04:46 shaps, ok 11:08:26 #action 49705 added a note for updating documentation fragement 11:08:43 Added npm ci command 49664 11:13:25 any opinion about 49664 11:15:00 Read above as 49665 instead of 49664 11:18:30 hi - i've not got involved before, but thought i'd put my nose in. I worry a little about that because it seems that you'd turn "ci" on for "use package-lock" but unexpectedly I think state="absent" ci="true" would stop it uninstalling 11:19:34 michaelkaye, Thanks for stepping-in, could you please add your comment on PR itself so that author can address it 11:22:05 #action 49665 added comments for PR author to address 11:22:47 next one - Provide both service state and status when possible in service_facts #49618 11:25:54 49618 looks good to me 11:27:20 any views for 49618 ? 11:27:54 * gundalow returns, thanks for keeping it moving akasurde :) 11:28:46 gundalow, no problem 11:29:15 michaelkaye: All are welcome, thanks for joining in. If during today's session you you just spot one things and add a comment that's a success in my books. Could you please add that as a comment on the PR? 11:30:11 gcp_compute: Add vars_prefix to prefix host_vars #49601 11:32:03 Hum, another inventory PR where the bot doesn't know about labels or to ping maintainers 11:33:39 gundalow, I think this will break old things as now 'gcp_' is added as prefix 11:35:23 gundalow, added my comment on PR 11:38:45 terbolous: rbarlik Hello, are you here for the Community PR review day? 11:39:21 @gundalow yes, indeed :) 11:39:36 rbarlik: Excellent, welcome. How did you hear about this? 11:39:49 We are goin through https://github.com/ansible/ansible/pulls?utf8=%E2%9C%93&q=is%3Apr+is%3Aopen+-label%3Abackport++-label%3Asupport%3Acore+-label%3Asupport%3Acurated+-label%3Anetworking+-label%3Anew_module+-label%3Aaws+-label%3Aazure+-label%3Adocker+-label%3Alinode+-label%3Avmware++-label%3Awindows++label%3Abug+-label%3Aaws+-label%3Aazure+-label%3Adocker+-label%3Alinode+-label%3Anetworking+-label%3Avmware+-label%3Awindows 11:40:09 oh, just on Page 2 now, looking at: 11:40:23 IBM_Storage: fix host_add_ports #49420 11:41:10 I'm just trying to get a glimpse of how this works :-) 11:41:19 akasurde: I see some comments have been added to 49420 11:41:29 I'll see if any of the PRs is something I'm able to review 11:41:31 #chair rbarlik terbolous 11:41:31 Current chairs: akasurde bartmon bob_cheesey fridim gundalow jhawkesworth_ navalkp rbarlik robertgwilliam shaps terbolous winem_ xenlo 11:42:28 terbolous: Welcome. We are working through the above GitHub query. It's all very informal so feel free to ask questions at anypoint. Part of today is about reviewing PRs, part of it is about educating *how* to review 11:43:26 gundalow, fix seems to be very odd to me 11:45:07 gundalow: do you test the code or is it just a visual review? 11:45:44 rbarlik: a mix 11:46:36 Someone may find a PR they are interested and test it in the background, in this Channel we may have go forward 10 PRs. Then someone says "PRx does/doesn't work due to X, I've added comments on the PR" 11:47:14 okay, thanks 11:47:52 rbarlik, general documentation may not require testing as well 11:49:16 rbarlik: https://github.com/ansible/community/issues/407 have a look at `Before you start` for a list of hopefully helpful guides on how to review 11:49:47 Feedback on any of those docs is welcome, especially from people that are newer to this as no doubt we've missed things out, or could improve them 11:50:07 akasurde: you OK to add some comments on 49420 11:50:07 gundalow: just reading it :) 11:50:44 :) 11:50:52 ovirt add sync_networks #49298 11:51:36 49298 comments already added, doesn't look close to merge yet 11:51:51 add conditional checks for mysql8 compatibility #49251 11:52:07 just to return to #49731 (the LVG module) - I'm pretty confident the filter list building is now correct - i've tested it on multiple systems and it always returns all the devices now (whereas it may not before) 11:52:16 sorry, got sidetracked by work 11:53:09 bob_cheesey: No need to apologize for that. Thanks for adding comments to the PR 11:55:53 49251 (MySQL) lots changed here 11:56:31 Needs someone that uses MySQL8 to test this 11:58:02 gundalow, i have added the changelog, I'll backport once merged 11:58:28 sorry, that was re- #49884 11:59:55 49251 I've pinged some other people that have worked on that module 12:00:02 bob_cheesey, could you add your findings on 49731 12:00:02 #info MySQL needs some maintianers 12:01:18 shaps: I've merged 49884 thanks 12:01:41 pam_limits.py: Fixes #49130 Allow negative number on value parameter #49137 12:01:43 great, thanks 12:03:26 49130 looks like we are waiting on apenney re-review 12:04:09 mongodb_user: Add new API for user management #49074 12:04:13 Any mongo users here? 12:11:00 [WIP] digital_ocean_tag_facts - Fix KeyError problems #49037 12:11:04 49037 seems to be in hand 12:11:25 nmcli: fix NetworkManager-glib package obsoleted #48870 12:13:19 Lunch time 12:21:29 48870 is waiting on contributor I am taking care of that 12:21:58 lunchtime here too 12:45:30 * gundalow waves, who's around? 12:49:50 join ansible-devel 12:53:51 Fix lastpass lookup error #48804 12:54:05 hum, need Toshio to rereview that 13:07:30 re 13:08:10 * resmo waves 13:16:02 #chair resmo 13:16:02 Current chairs: akasurde bartmon bob_cheesey fridim gundalow jhawkesworth_ navalkp rbarlik resmo robertgwilliam shaps terbolous winem_ xenlo 13:16:05 afternoon :) 13:16:39 rabbitmq_binding: Fix using empty routing key #48597 13:17:05 shaps: I think you're comments have been addressed in 48597 13:17:18 resmo: going through https://github.com/ansible/ansible/pulls?page=2&q=is%3Apr+is%3Aopen+-label%3Abackport++-label%3Asupport%3Acore+-label%3Asupport%3Acurated+-label%3Anetworking+-label%3Anew_module+-label%3Aaws+-label%3Aazure+-label%3Adocker+-label%3Alinode+-label%3Avmware++-label%3Awindows++label%3Abug+-label%3Aaws+-label%3Aazure+-label%3Adocker+-label%3Alinode+-label%3Anetworking+-label%3Avmware+-label%3Awindows&utf8=%E2%9C%93 13:18:04 gundalow, yes looks good, adding comment 13:18:20 #action review and maybe merge 48597 13:20:18 I'll give it a +1, even though I would have preferred a check for falsy not for emtpy string. but good enough 13:24:51 #action gundalow remove afternburn https://github.com/ansible/ansible/pull/48558#issuecomment-446642255 13:25:19 Fix Pacman regex for unmatched Arch package name #48558 13:25:26 Anyone here use `Arch Linux`? 13:31:46 * resmo <- nope 13:34:15 * bob_cheesey waves 13:34:41 xfconf: "get": don't set changed flag, don't require value #48331 13:34:49 i'll take a nosey at the Pacman PR 13:34:59 bob_cheesey: Thanks :) 13:35:25 gundalow: https://github.com/ansible/ansible/pull/50134 merge? 13:36:34 #action merge 50134 13:36:36 resmo: Thanks 13:37:07 resmo: FYI, I'm not merging anything today as during the previous PR review I was merging then few minutes/hours later people were adding comments 13:37:24 gundalow: roger that 13:38:08 48331 confused why `.lower` is being used rather than bool 13:39:11 oh, are they using a general str that could be anything or a bool 13:40:26 value could be anything of int bool, float and string it seems 13:40:33 nod 13:41:44 hmm if we don't default the value to be type="str" wouldn't ansible handle this smartly? 13:42:41 gundalow: #48558 lgtm 13:43:20 in other words, wouldn't ansible cast it into the "right" type? 13:46:00 i don't think anyone should expect ansible to guess at the type, reliably 13:46:33 jtanner: yeah, good point ;) 13:48:16 the argspec in that module imples the arg can be int/bool/float/string and the user must supply the type. if this module was accepted with that design, we need to either tell the author to deprecate the interface and redesign it, or we accept whatever patches they send to fix up the after-the-fact casting mess that they have created 13:55:40 Update openshift version pin to latest working release #48311 13:56:28 needs updating 13:56:57 fix grafana_dashboard KeyError when create new dashboard #47119 #48299 13:59:12 * gundalow adds comments in the hope of getting it unstuck 13:59:41 48285 waiting on author 14:00:05 Skip non-management Packet IP addresses #48168 14:03:07 Not used packet.net, though change looks sensible 14:05:08 thedoubl3j: hey :) 14:06:04 #action merge 48168 14:08:18 re 48168 - i looked through the api docs but they're a bit bare in places :( 14:08:25 seems a sensible change though! 14:08:40 Update proxmox_kvm.py #47979 14:08:44 I'm confused by this 14:10:54 state: running isn't an a listed choice - that is odd 14:11:26 yup 14:11:40 running is exposed as a status _from_ proxmox, maybe that's where the confusion has arisen? 14:11:41 And it's not in their example playbook in last reply 14:12:16 https://github.com/ansible/ansible/blob/013f69477a37a2b353a4680deaa118fa8ecd3d35/lib/ansible/modules/cloud/misc/proxmox_kvm.py#L575 14:12:38 yeah that makes no sense at all really 14:13:57 * gundalow composes a reply 14:14:22 module_utils/mysql: Fixing unexpected keyword argument 'cursorclass' error after migratio… #47809 14:20:19 Comment added on https://github.com/ansible/ansible/pull/47979#issuecomment-448611780 I hope that's clear 14:21:40 yeah i think that spells it out nicely 14:22:20 Thanks :) 14:25:02 pam_limits: properly support nice and priority limits #47680 14:29:37 about mysql: I somehow vaguely remember that there was a difference between pymysql and the other (forgot its name) by which way to connect was used by default. I think the old connector tried to connect via unix sockets by default, while the new one tries to connect via tcp/ip by default. I don't remember in which issue/PR that discussion went (or was it IRC?), but maybe that's related to 14:29:43 the problem 14:30:41 if the default user (root) is configured that connection via socket is ok, but via tcp/ip not, then the command line mysql tool will connect, the old connector will connect, but pymysql not (IIRC) 14:31:03 felixfontein: the other 'big' difference is one uses libmysql (C lib) and the other is pure python implementation (sloooooooooooooow) 14:32:34 #chair felixfontein bcoca 14:32:34 Current chairs: akasurde bartmon bcoca bob_cheesey felixfontein fridim gundalow jhawkesworth_ navalkp rbarlik resmo robertgwilliam shaps terbolous winem_ xenlo 14:32:39 bcoca: Morning :) 14:32:41 bcoca: yes, that too. installing PyMySQL is much easier though (especially when your mysql runs in a docker container and you don't have libmysql installed) 14:33:30 most of my hardware servers dont have mysql installed ... 14:34:19 but if you are using mysql, it is a lot more likely you have the C client installed, including the lib, using the pure python for production is not something i've seen (nor recommend) 14:38:25 we're running MySQL in a docker container, so we'd like to avoid having libmysql installed (the CLI tools can be run via docker as well, so Ansible is the only thing which requires something installed for this on the host machine) 14:38:53 and for making sure a user or DB exists, the python connector should be fine :) 14:42:40 #action merge 48558 14:46:28 icinga2_host: fix use_proxy option #47671 14:46:46 > icinga2_host uses standard set of url parameters including use_proxy, which is documented as an paramter to this module. However, parameter is not passed to fetch_url resulting in proxy beeing used all the time (when defined in environment) 14:50:45 hmm, so every module using url_argument_spec() must take care to pass all these parameters manually to fetch_url()? 14:51:47 I guess that the icinga2_host author assumed (incorrectly) that fetch_url() fetches default values from the module parameters if they are defined in url_argument_spec() 15:01:51 Who's still around? 15:02:10 I might take a break for this and update BOTMETA for inventory scripts 15:03:23 I'm only partially here; I'll be more active later 15:03:30 sorry slightly distracted today due to company being bought 15:03:59 gundalow - more or less still here, i finish at 1600 though 15:05:43 felixfontein: at that point you can execute module on any of the clients .. also, iirc most packaging tools include the client as dependency when installing server 15:05:49 since admin tools require it 15:09:58 jhawkesworth_: i know that feeling 15:17:30 gundalow, sorry, a customer accidentally restored a old vm snapshot instead of deleting them and that fucket up the 16 node prod cluster... slightly distracted due to that :/ 15:20:18 winem_: customers! 15:22:14 yep.. and we have redis running as db and our own stuff for the cluster sync thingy which is actually quite awesome (sorry to say that). unless you restore a node with an old format where we stored values in strings and switched to a binary format later.. so the worst possible-fuckup here. stuff on the snapshot was even too old to be identified as "obsolete" by the security mechanisms in place here 15:22:17 meh, back to ansible :) 15:25:45 replication works great ! ... oh wait .. we added crap data! 15:25:51 its replicated perfectly! 15:26:00 ^ old 'RAID 1/5 joke' 15:26:20 aka, start of presentation titled 'replication is not backup' 15:30:40 bcoca can you tell some of my customers that please? i've gotten bored of saying it 15:35:04 a reply in one of the recent calls on this topic a guy said something like "why do we have to enable backups? don't they just happen?" were talking about vm backups 15:35:15 bob_cheesey: i've been saying that for 20yrs ... very few actually listen 15:35:16 looks like they all need a bcoca :) 15:35:43 and i only know cause i had a grey beard tell me 20yrs ago 15:36:04 also, backups don't exist/work unless you have restore (and test it) 15:36:23 winem_: at least you know restore works! 15:36:53 test it is the crucial point. just having backup set up (but forgot to enable it) doesn't help either ;) 15:37:16 oh, that's actually my fave. the saying that I don't care about any backups as long as they have proven me that the restore works.. some do and some people don't care / get it.. 15:37:28 had a coworker, she opened my eyes to that, you don't really have backups until you verify restoration 15:37:32 winem_: yes of course, we back your stuff up for free 15:37:51 tested out my backups last night when i blitzed my vscode dir by mistake :/ 15:38:02 ouch 15:39:04 hmm... what about the PRs? if it's ok to stay a bit off topic I would like to share a question that I have in my head for a while and I would like to hear others opinions before I put the effort into a PR... 15:42:31 winem_: go for it :) 15:42:42 I'm in another meeting 15:43:22 hmm, I will need some minutes to take al ook at the code. am a bit unprepared and forgot the stuff I found out already. thx :) 15:44:49 ah got it :) 15:46:48 so, when we use the copy or template modue for example with backup: true we find a backup of the file next to the new one with the date extension. this is nice, but can also become a bit messy. so I thought "ha, wouldn't it be cool to have a backup_store attribute which is a folder where you store the backups?". sounded quite smart in the first place, but... what if the folder does not exist? do we create it or not? what if we do not have to 15:46:48 backup a file but directoy instead? could we limit this feature to files? 15:47:53 I think this is not "undoable". it's basically the backup_local in module_utils/basic.py that would be extended here... but I see a whole bunch of pitfalls here.. first one is that there are a multiple modules using the backup_local function 15:48:26 my current workaround would be to register the task output and get the backup file from that one 15:49:05 but this leads to duplicate code or requires a module / helper / whatever.. what do you guys think about that? 15:52:15 -workaround 15:52:47 right i'm out, thanks for running today gundalow and akasurde :) 15:57:34 bob_cheesey: Thank you for your time 16:00:52 o/ 16:08:57 #chair acozine 16:08:57 Current chairs: acozine akasurde bartmon bcoca bob_cheesey felixfontein fridim gundalow jhawkesworth_ navalkp rbarlik resmo robertgwilliam shaps terbolous winem_ xenlo 16:08:58 Hi 16:09:42 Add support to urls util for special characters in proxy username and password #47346 16:18:37 #topic Docs PRs 16:18:39 Remove misleading statement passwords must be same #49798 16:23:33 re: ^^^ are folks using multiple passwords with vault? anybody have a good example from a playbook/role where you use one password for multiple files or multiple password? 16:24:01 * gundalow personally has only used a single vault pw 16:24:03 I think the vault docs could use more examples to flesh out the descriptions 16:24:47 * acozine rarely uses vault because all my playbooks run on Vagrant on my laptop 16:26:09 I'd also appreciate use cases for vault - what problems are folks solving with multiple passwords? 16:26:10 acozine: minor comment added though I think it's OK 16:31:07 thanks gundalow 16:31:18 acozine: perhaps since repo of roles & secrets though different permissions. ie vault file/pw for dev. Different one for production? 16:38:45 acozine: what's next on your list? 16:39:53 I see a few new ones I haven't looked at yet 16:40:30 not sure why this is marked docs . . . have you already looked at https://github.com/ansible/ansible/pull/50109? 16:40:42 (collective "you") 16:42:14 I marked it "docs" because all other labes fit even less :) 16:42:30 *labels 16:43:34 heh, makes sense felixfontein 16:43:51 additional perspectives welcome on https://github.com/ansible/ansible/pull/48587 16:44:38 do folks find that overrides need a warning? 16:46:09 acozine: is there a way to disable the warning? 16:46:21 rbarlik: I don't know, actually 16:46:24 hmm, I guess a warning is a good idea, but a) how expensive is this w.r.t. runtime (see bcoca's comment), and b) aren't the galaxy people working on role namespaces? (or was it module/plugin namespaces?) this might conflict with what they are working on 16:49:54 all namespaces 16:50:01 but 'traditional roles' would still work 16:50:45 i would look more to a new 'include_role/import_role' option that triggers warning about 'role already used' include_role: name=x warn_dupe=yes 16:51:43 or just do 'when: x not in role_names' .. since you already have the roles for the play listed 16:52:23 here's another one - is anybody using `hashi_vault`? I'd appreciate some testing and review on https://github.com/ansible/ansible/pull/46423/files. 16:53:01 without "before and after" output, it's tough to evaluate this change 16:56:37 I don't think that change is any good. "secret=secret/hello:value" is no valid Jinja2 syntax. maybe it should be "secret='secret/hello:value'"? 16:59:22 (just added a comment) 17:01:48 thanks felixfontein for adding a suggestion to the PR 17:03:46 here's one that's failing CI, so we can't merge it as is - but I'd like feedback on how useful it would be if fixed and merged 17:03:55 https://github.com/ansible/ansible/pull/45396 17:04:06 would folks use a `duplicate` filter? 17:05:32 isnt that the same as intersection? 17:06:03 ah, no single list 17:06:22 well ... (list|unique)|difference(list) 17:06:54 though that might not be exaclty same ... 17:15:52 this one looks like a quick test to confirm would let us merge it: https://github.com/ansible/ansible/pull/40073/files 17:23:54 hmm, that PR looks strange 17:24:14 first, it talks about /g, but uses \g 17:25:30 and I think the comment is pretty misleading; I think the point is that the replacement text which is added behind the backreference starts with digits 17:26:19 ah, okay, not so simple then 17:26:27 how about this one: https://github.com/ansible/ansible/pull/49953? 17:27:14 maybe we should consider https://github.com/ansible/ansible/pull/31452 first (which seems to supersede https://github.com/ansible/ansible/pull/40073), after all gundalow promised that it will get reviewed 17:28:10 felixfontein: excellent 17:28:56 it's a pretty long PR, though 17:29:49 and contains some logic changes (besides tests) 17:32:19 it changes the meanings of the before and after options, I think 17:32:36 #49953 contains some logic errors 17:34:27 hmm, the replace situation seems like quite some mess 17:37:37 gundalow: did you ask someone to review #31452 ? 17:43:28 bbl 17:48:57 felixfontein: I see gundalow's note that he would find someone to review 31452, but no review on the PR yet 17:50:36 * acozine => lunch 17:50:59 I don't know how late the PR-a-palooza goes today 17:51:09 * gundalow is nearly done for the day 17:51:20 though happy for people to continue using this channel 17:51:27 and just do `#action merged 1234` 18:05:49 cool 18:05:55 well, I need to grab some lunch 18:31:07 Anyone got anything they've like to get reviewed? 18:32:51 my cough, its getting worse ... 18:35:32 do you have a PR for that? 18:35:48 `state: absent` 18:36:00 * gundalow is heading off in ~30 minutes 18:55:32 #info Thanks everybody! 18:55:34 #endmeeting