18:00:10 #startmeeting Ansible Community Meeting 18:00:10 Meeting started Wed Aug 4 18:00:10 2021 UTC. 18:00:10 This meeting is logged and archived in a public location. 18:00:10 The chair is felixfontein. Information about MeetBot at http://wiki.debian.org/MeetBot. 18:00:10 Useful Commands: #action #agreed #halp #info #idea #link #topic. 18:00:10 The meeting name has been set to 'ansible_community_meeting' 18:00:10 #topic Agenda https://github.com/ansible/community/issues/539 18:00:10 abadger1999 acozine andersson007_ baptistemm bcoca briantist cyberpear cybette dericcrago dmsimard felixfontein geerlingguy gundalow gwmngilfen ikhan_ jillr jtanner lmodemal misc nitzmahone resmo samccann tadeboro cidrblock thaumos zbr: ping! 18:00:14 #info Agenda: https://github.com/ansible/community/issues/539 / Topics: https://github.com/ansible-community/community-topics 18:00:17 #topic Updates 18:00:17 o/ 18:00:20 #chair dmsimard gwmngilfen-work cidrblock[m] briantist 18:00:20 Current chairs: briantist cidrblock[m] dmsimard felixfontein gwmngilfen-work 18:00:39 o/ 18:00:53 hello 18:01:06 #chair tadeboro abadger1999 18:01:06 Current chairs: abadger1999 briantist cidrblock[m] dmsimard felixfontein gwmngilfen-work tadeboro 18:01:16 o 18:01:21 o/ 18:01:24 #chair cyberpear 18:01:24 Current chairs: abadger1999 briantist cidrblock[m] cyberpear dmsimard felixfontein gwmngilfen-work tadeboro 18:01:29 o/ 18:01:51 #chair samccann 18:01:51 Current chairs: abadger1999 briantist cidrblock[m] cyberpear dmsimard felixfontein gwmngilfen-work samccann tadeboro 18:02:09 #info Ansiblefest registrations are opened, sign up to attend september 29-30th 18:02:23 #undo 18:02:23 Removing item from minutes: INFO by dmsimard at 18:02:09 : Ansiblefest registrations are opened, sign up to attend september 29-30th 18:02:29 #info Ansiblefest registrations are opened, sign up to attend september 29-30th: https://www.ansible.com/ansiblefest 18:03:30 will check in but can't make it to the full meeting today :( 18:03:32 #info Contributor summit registrations will be available soon, current plan is https://hackmd.io/@ansible-community/contrib-summit-202109 18:03:37 I just want to make sure that IRC/Matrix bridge works and I'll be happy and take my time to slowly consider moving someday :D — as it is I have too many chat things open and at least my IRC client only uses like 30 MB of RAM. 18:03:51 * geerlingguy also needs to get cranking on 'Fest presentation 18:03:55 speaking of ansiblefest / contributor summit, the community team is trying to organize a sprint / hackathon. We'll have more info in the coming weeks. 18:04:13 geerlingguy: +1 18:04:30 #chair geerlingguy dericcrago 18:04:30 Current chairs: abadger1999 briantist cidrblock[m] cyberpear dericcrago dmsimard felixfontein geerlingguy gwmngilfen-work samccann tadeboro 18:04:55 geerlingguy: no rush, IRC and matrix will continue to be available side-by-side for the foreseeable future https://xkcd.com/1782/ :) 18:05:13 #info ansible-4.4.0 scheduled for next Tuesday. If you have collections to release, do so before then (or let me know and I'll wait a few hours for you to get a release out on Tuesday) 18:05:20 #undo 18:05:20 Removing item from minutes: INFO by abadger1999 at 18:05:13 : ansible-4.4.0 scheduled for next Tuesday. If you have collections to release, do so before then (or let me know and I'll wait a few hours for you to get a release out on Tuesday) 18:05:33 #info ansible-4.4.0 scheduled for next Tuesday. If you have collections to release, do so before then (or let abadger1999 know and he will wait a few hours for you to get a release out on Tuesday) 18:05:38 o/ 18:05:49 #chair acozine 18:05:49 Current chairs: abadger1999 acozine briantist cidrblock[m] cyberpear dericcrago dmsimard felixfontein geerlingguy gwmngilfen-work samccann tadeboro 18:06:01 any more updates? :) 18:06:21 abadger1999: That reminds me we didn't set up a topic to chat about a revised release schedule for ansible 5, we can do that today if it's not last minute 18:06:37 wfm 18:06:42 is there already a proposal for a revised schedule? 18:06:56 Not AFAIK, hence my note 18:07:03 ok, let's start with matrix :) 18:07:04 #topic Proposal: Ansible Community to accept Matrix as an equal partner to IRC 18:07:07 #info Discussion: https://github.com/ansible-community/community-topics/issues/36 18:07:10 #info Proposal to vote on: https://github.com/ansible-community/community-topics/issues/36#issuecomment-892738232 18:07:34 * dmsimard quickly creates topic for ansible 5 18:07:52 are there more discussions/question folks have? 18:08:09 happy to answer them, as acozine said, it's important folks are heard 18:08:20 with the current wording, I think it's good 18:08:38 also worth restating, this is not once-and-done, I'll be gathering feedback as we go 18:08:57 since we support both IRC and Matrix, this should accomodate both existing IRC users as well as new users who prefer Matrix over IRC 18:09:14 I agree with the sentiment that there is a distinction between first choice and default (vs potentially deprecating IRC) 18:09:37 felixfontein: thats the plan - the test of the conferencing yesterday cemeted that we can include both sets of users 18:09:47 *cemented 18:09:55 * acozine looks at current docs 18:09:57 dmsimard: yep, i've updated the wording 18:10:38 o/ sorry I'm late (catching up on scrollback...) 18:10:42 #chair jillr 18:10:42 Current chairs: abadger1999 acozine briantist cidrblock[m] cyberpear dericcrago dmsimard felixfontein geerlingguy gwmngilfen-work jillr samccann tadeboro 18:10:54 ok, if nobody has further questions, should we vote? 18:11:19 * gwmngilfen-work is excited 18:11:30 voting sounds good 18:11:50 let's have two votes, for both parts of https://github.com/ansible-community/community-topics/issues/36#issuecomment-892738232 18:11:57 I'm ready :) 18:12:02 VOTE: We accept Matrix as an official chat platform (alongside IRC) 18:12:08 +1 18:12:09 +1 18:12:10 +1 18:12:11 +1 18:12:12 +1 18:12:14 +1 18:12:17 +1 18:12:20 +1 18:12:23 +1 18:12:28 +0 18:12:32 (we have a +1 from gundalow on GH too) 18:12:37 +1 18:13:40 +1 18:13:52 geerlingguy: you voting? 18:14:53 he said he won't be around all the time 18:14:58 ah, I missed that 18:14:59 #agreed We accept Matrix as an official chat platform (alongside IRC) 18:15:23 yay! 18:15:27 VOTE: We update our docs, etc, to promote Matrix as the first-choice chat option *for new community members* (in particular, IRC is not deprecated) 18:15:29 w00t! 18:15:34 +1 18:15:37 +1 18:15:38 I added the last sentence to make sure that nobody gets the wrong idea here :) I hope it's ok? 18:15:41 +1 18:15:43 +1 18:15:46 felixfontein: fine with me 18:15:58 +1 18:16:08 +1 18:16:09 +1 18:16:14 +1 18:16:22 +1 18:16:33 I can have a docs PR for this change done in a day or two 18:16:41 +1 18:16:55 acozine: i'm looking at https://docs.ansible.com/ansible/latest/community/communication.html#communication in particular, happy to do the legwork if you wish 18:17:11 #chair 18:17:11 Current chairs: abadger1999 acozine briantist cidrblock[m] cyberpear dericcrago dmsimard felixfontein geerlingguy gwmngilfen-work jillr samccann tadeboro 18:17:17 there's probably other places and things to write, it's next on the list :) 18:17:27 gwmngilfen-work: thanks, there are some other things I wouldn't mind updating on that page as well 18:17:38 * gwmngilfen-work is distracting from the vote though 18:17:41 There's a bunch of other places that refernece irc channels too. I have a PR that updated those from freenode to libera that you can use to find all the places 18:17:48 -1 I think IRC should stay primary, but 18:18:00 abadger1999 thanks 18:18:01 cyberpear: oh interesting, why? 18:18:45 You don't have to create any kind account at all to participate. 18:19:14 I was going to say +0, for a similar reason, in that I don't necessarily see why we need to promote one or the other as a first choice. But I don't feel very strongly about it either. 18:19:28 gwmngilfen-work: https://github.com/ansible/ansible/commit/80e7e1a17cb6aaf10e289e671fc382a614018e6e 18:19:30 I can tell someone, "go to webchat and ask you question there" 18:19:31 that's a good point, we can definitely include that in the docs about how to communicate by real-time chat 18:20:01 is this something that can be solved by the matrix guest feature? 18:20:06 help people understand the tradeoffs of using one technology or the other 18:20:07 But is this really true? I know I had to register my nick for quite a few ansible-related channels. 18:20:09 thats fair, however many channels (including this one iirc) have registrations required 18:20:13 (I remember that gwmngilfen-work mentioned it is currently broken tough) 18:20:18 yeah, what tadeboro said. 18:20:41 guest accounts were a thing, and I hope will be a thing again, yes 18:20:58 And registering a nick is not fun if you come from a land of discord ... 18:21:21 tadeboro: precisely 18:21:27 registering isn't fun when using matrix to connect to some ansible channels either :) 18:21:27 it's more "what kind of inconvenience do you prefer" I'd say 18:21:27 yeah, apparently this channel requires registration... I'm generally opposed to that except when actually experiencing spam, etc 18:21:55 ok, back to the vote - any more votes, or vote changes? 18:22:40 right now I think we have a majority (of council members) for +1 (with 6 votes), and one -1 18:22:44 felixfontein: i hope i can standardise a bridge exception to that, its what we have here 18:22:59 gwmngilfen-work: that would be awesome :) 18:23:17 there's 25 rooms to do though, so I've been putting it off 18:23:33 I countd +10, -1 right now. 18:23:46 any chairs who haven't voted? 18:23:58 tadeboro: that's correct (if you count everyone) 18:24:22 Ahh, OK, forgot we can count things in two different ways ;) 18:24:56 I assumed it's clear that there's a large majority of people who voted for it anyway :) 18:25:04 yep 18:25:20 #agreed We update our docs, etc, to promote Matrix as the first-choice chat option *for new community members* (in particular, IRC is not deprecated) 18:25:26 thanks everyone! and especially thanks to those with doubts for the trust - I'm always happy to have more feedback on what's working or not in the future. 18:25:39 ok, great, since nobody had further votes, I think we can stop with this topic (at least for today) :) 18:25:59 I'm going to celebrate with something that only really works on Element, but I promise not to do this too often :P 18:26:02 thanks for all your work on it gwmngilfen-work! 18:26:04 * gwmngilfen-work sends fireworks 🎆 18:26:05 thx Gwmngilfen for all the work you've done. exciting stuff 18:26:10 dmsimard: abadger1999: do you want a quick discussion on the Ansible 5 schedule? 18:26:16 wow there's actual fireworks 18:26:19 :D 18:26:37 the fireworks show on irssi, and I kind of like them :) 18:26:49 felixfontein: If there is nothing else to discuss, I created a placeholder topic https://github.com/ansible-community/community-topics/issues/37 18:26:54 hmm I don't see them, but I have some trouble with unicode :) 18:27:07 in element there were actual fireworks across the window, not just the emoji 18:27:09 i'll stop being so exclusionary now :P 18:27:24 Basically, slip final to 2021-11-30 to account for ansible-core slipping their final release by two weeks. 18:27:42 i have to go put kids to bed, as usual at this time. thanks all. felixfontein do I need to update the topic? 18:27:53 #topic Revise planned schedule for the release of Ansible 5 18:27:53 #info Discussion: https://github.com/ansible-community/community-topics/issues/37 18:28:12 gwmngilfen-work: if you find it wasn't updated by tomorrow, please do :) 18:28:14 (I'm updating the schedule to slip other release dates, too... but that takes a little more work... I don't have it ready just yet) 18:28:17 I'll try to do it afterwards 18:28:26 perfect. later everyone! 18:28:36 if someone has some specific comments on the schedule, add them now, or to the issue 18:28:56 otherwise we can continue with 'Collection requirements: expanding the section on best practices', respectively talk about how we should proceed on that one 18:29:15 (since I'm not sure we'll ever manage to finish that discussion ;) ) 18:29:39 #topic Collection requirements: expanding the section on best practices 18:29:42 #info Discussion: https://github.com/ansible-community/community-topics/issues/33 18:29:43 I suggest we put a proposed update for the schedule together and formalize it at the next meeting 18:30:12 dmsimard: sounds good! 18:30:21 tadeboro just wrote a good summary on the discussion: #topic Collection requirements: expanding the section on best practices 18:30:23 I promised a summary and I delivered it ... 5 seconds ago because I forgot to copy it from vim to GitHub ;) 18:30:25 #info Discussion: https://github.com/ansible-community/community-topics/issues/33 18:30:29 gna 18:30:31 https://github.com/ansible-community/community-topics/issues/33#issuecomment-892878272 18:30:36 copy'n'paste is hard... 18:30:54 #info Current state of discussion https://github.com/ansible-community/community-topics/issues/33#issuecomment-892878272 18:32:43 #action abadger1999 to put together an update to the ansible-5 schedule for next meeting 18:33:20 do you have an example of a resource module ? 18:33:47 on the current discussion, I'm not really familiar with resource modules (i.e. I never used any), so it's hard for me to really comment on the open question 2 (in tadeboro's summary) 18:33:56 same 18:34:10 https://docs.ansible.com/ansible/latest/network/user_guide/network_resource_modules.html 18:34:10 I would say that we should at least decide what to do with the networking-related resource modules since this decision impacts the inclusion process of trendmicro.deepsec 18:34:19 dmsimard: https://github.com/ansible-collections/trendmicro.deepsec/blob/main/plugins/modules/deepsec_apikey.py 18:34:34 https://www.ansible.com/blog/getting-started-with-bgp-global-resource-modules 18:35:18 tadeboro: since trendmicro.deepsec is not a network collection, but a security collection, how does solving the question for network help with it? 18:35:20 ah, so "state: gathered" 18:36:17 the resource module pattern is in use in security as well, eg https://www.ansible.com/blog/deep-dive-on-cisco-asa-resource-modules 18:36:40 i feel as though that encourages people to do whatever they want with state, aside from present/absent. but that's a dead horse at this point 18:36:42 felixfontein: For some reason, I had in my mind that that collection is part of networking. Do not ask me why. 18:37:04 tadeboro: maybe it is also related to networking, but it looked more like security to me - at least on the first glance :) 18:37:33 many security appliances function in a similar fashion to network appliances, so aiui the decision was to write many of them as resource modules 18:37:33 present/absent would have never worked for list or resources, encouraging off box SOT 18:37:41 makes sense to me from that perspective 18:37:41 #chair jtanner 18:37:41 Current chairs: abadger1999 acozine briantist cidrblock[m] cyberpear dericcrago dmsimard felixfontein geerlingguy gwmngilfen-work jillr jtanner samccann tadeboro 18:37:42 * present/absent would have never worked for list of resources, encouraging off box SOT 18:37:49 I just saw people from networking working on it and I guess assumed this is part of the networking. 18:37:52 and that's fine ... 18:38:21 @jil 18:38:46 but if the state setting becomes it's own language for every module with no bounds on what the choices are ... it's not really a "state" anymore imo. 18:39:05 * jillr: yeah, security policy, ACL, sec ops not that different from networking in some areas 18:39:33 I am +1 for network resource modules to follow the guidelines in https://docs.ansible.com/ansible/latest/network/user_guide/network_resource_modules.html . Probably should move them into the collection overview and have future changes to them be approved here. -1 for doing that elsewhere. 18:39:49 if the state setting in those cases is consistent with the appliance/remote api/vendor standard/etc I think there's a good argument for deviating from ansible's standards 18:40:09 I can see that managing (some?) security appliances is similar enough to managing network devices, but is that really everything that "security" does? resp. the only aspect of security that resource modules are used for? 18:40:22 rather than trying to shoehorn something into our model that really doesn't intend to function that way 18:40:53 "security appliance" could be defined perhaps and then network_resource_module could be scope changed to be "networked_appliance" or something. 18:40:53 The doc that abadger1999 linked provides some of the potential values for state: merged, replaced, overridden, deleted, gathered, rendered and parsed (no present or absent?) 18:40:57 Maybe the question is, should the resource module pattern be one of 2 possible approaches for developing modules 18:41:11 assuming there's a documented, "this device works in this way" and not just "I didn't feel like writing modules that way" 18:41:27 jillr: I don't see how separating out something that's already separated is really shoehorning... just splitting. 18:41:37 # 1 being basic absent/present, #2 being resource mgmt (eg lists of resources etc) 18:41:43 * # 1 being basic absent/present, #2 being resource mgmt (eg lists of resources etc) 18:42:06 I don't think anyone is proposing your #1 18:42:18 kk 18:42:23 *shrug* I shared my opinion but I know that people are gonna do whatever they want and justify it any way possible, so it doesn't really matter to me. Happy unbounded state definitioning to you all 18:42:38 there are modules which configure stuff without having state=present and absent 18:42:40 what's being proposed is that info and facts are returned via separate modules. 18:43:29 abadger1999: the network facts modules do that 18:43:30 jtanner: thanks for participating and sharing your thoughts, it is not in vain :) 18:43:48 a module could implement state=merged/deleted/overridden and still be okay. (they just can't combine with info and facts) 18:43:58 * abadger1999: the network facts modules do that (in addition to the gathered state in the resouce modules, gather_facts is another route) 18:43:59 abadger1999: exactly 18:44:06 *can't combine with things that belong in the territory of info and facts 18:44:47 cidrblock[m]: so what's the advantage of using state=gathered over using a _info module? I think I still don't understand that :) 18:45:23 convenience more than anything. each resource module has a very specific scope, and the facts shape == the argspec 18:45:49 it's the 1 module to go round trip 18:46:00 convenience for the user or for the developer ? 18:46:03 (or both) 18:46:09 user 18:46:21 facts shape can still == argspec in a separate module. 18:46:49 which would let you continue to roundtrip data. 18:46:55 abadger1999: yes, but why the need for the 2x the modules? 18:47:09 and 2x the docstrings 18:47:29 2x the docstrings in RETURN is the only argument I can fully accept :) 18:47:37 in the playbook, it's very simple and intuitive........... eg ios_bgp => gathered 18:47:44 the original discussion a while back, was largely around intent and definition of the `state` parameter 18:47:58 there's some PR by bcoca which will allow to simplify this in the future, but it will take a long time until we can really use it everywhere 18:48:00 since gathered doesn't fit in the definition of a resource state 18:48:05 the resource modules specify the doc string is the return value 18:48:41 https://i.imgur.com/79s7WNk.gif 18:48:42 state was used to depict the state of the resource configuration 18:48:44 but in the resource modules, I think you already have the repetition that the same data structure has to be documented both in DOCUMENTATION *and* RETURN 18:48:57 * sivel slinks back into the depths of his tormented mind 18:48:57 (not to suggest any operational state) 18:49:29 sivel: Heh. I thought that was going to be a screenshot of previous discussion. 18:49:38 haha 18:49:41 You missed the opportunity to rickroll me ;-) 18:50:34 the resource module state can be ||'ed to HTTP methods....... where one endpoint supports GET, PUT, POST, PATCH, DELETE etc 18:50:43 (somewhat) 18:51:01 hmm, is it normal that resource modules like https://github.com/ansible-collections/trendmicro.deepsec/blob/main/plugins/modules/deepsec_apikey.py do not document RETURN? 18:51:47 it kind of does under examples 18:52:02 no..... that's a miss. It should be https://docs.ansible.com/ansible/latest/collections/cisco/ios/ios_interfaces_module.html#return-values 18:52:14 "The configuration returned will always be in the same format of the parameters above." 18:52:39 it helps to separate out things that do not change state into modules with their own naming convention so that users can have some expectations about what the module will or won't do from the name. 18:53:08 (answering what having two modules is god for) 18:53:37 cidrblock[m]: that documentation doesn't mention how `before` and `after` look; I would expect that the documention at least says that the output format is exactly as the input format for `config` 18:54:09 It should "The configuration returned will always be in the same format of the parameters above." 18:54:31 cidrblock[m]: ah, I overlooked the sample :) 18:54:59 it can also be helpful for developers to do the right thing with for ansible features like check_mode where an info module should return the same values in check mode as normal mode whereas a conglomerate module might have to be skipped in check mode because of things it does in some of its state-changing actions 18:55:11 https://github.com/ansible-network/cli_rm_builder/blob/main/roles/scaffold_resource_module/templates/module_directory/network_os/network_os_resource.py.j2#L23 If the source for resource modules........ if that explanation is missing it's a miss 18:56:32 felixfontein: side note, the return value for resource modules is actually passed through the argspec on the way out.... 18:57:17 cidrblock[m]: I think you already mentioned that last week - but that's not a reason why it needs to be in the same module :) (only if you want to avoid having the argspec in module_utils) :) 18:57:22 to guarantee the "before" payload can be used for a rollback 18:58:04 cidrblock[m]: https://github.com/ansible-network/cli_rm_builder/blob/main/roles/scaffold_resource_module/templates/module_directory/network_os/network_os_resource.py.j2#L26 should be `when I(state) is C(merged), C(replaced), ...` 18:58:19 I() is for options, C() for values 18:59:04 felixfontein: thx, will log an issue 18:59:10 hmm, ok, we're almost out of time again 18:59:17 and still not really closer to resolving this :) 18:59:23 #topic open floor 19:00:13 does anyone have something quick before we close? 19:00:17 (i.e. in 1-2 minutes)? 19:00:27 nothing from me 19:00:50 nope, thanks felixfontein 19:01:33 thx all! 19:01:37 #endmeeting