18:00:12 <felixfontein> #startmeeting Ansible Community Meeting 18:00:12 <zodbot> Meeting started Wed Mar 30 18:00:12 2022 UTC. 18:00:12 <zodbot> This meeting is logged and archived in a public location. 18:00:12 <zodbot> The chair is felixfontein. Information about MeetBot at https://fedoraproject.org/wiki/Zodbot#Meeting_Functions. 18:00:12 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic. 18:00:12 <zodbot> The meeting name has been set to 'ansible_community_meeting' 18:00:12 <felixfontein> #topic Agenda https://github.com/ansible/community/issues/645 18:00:12 <felixfontein> 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:16 <felixfontein> #info Agenda: https://github.com/ansible/community/issues/645 / Topics: https://github.com/ansible-community/community-topics 18:00:19 <felixfontein> #topic Updates 18:00:20 <cyberpear> o/ 18:00:21 <dmsimard> o/ 18:00:22 <andersson007_> o/ 18:00:23 <jillr> o/ 18:00:35 <felixfontein> #chair cyberpear dmsimard andersson007_ jillr 18:00:35 <zodbot> Current chairs: andersson007_ cyberpear dmsimard felixfontein jillr 18:00:36 <gundalow> Thanks 18:00:40 <felixfontein> #chair gundalow 18:00:40 <zodbot> Current chairs: andersson007_ cyberpear dmsimard felixfontein gundalow jillr 18:01:39 <felixfontein> #info The collection link feature is active on the devel docsite! 18:02:16 <felixfontein> #info ansible-core created the stable-2.13 branch and bumped devel to 2.14.0.dev0 18:02:18 <gundalow> o/ 18:02:19 <samccann> o/ 18:02:20 <cybette> o/ 18:02:36 <felixfontein> #chair samccann cybette 18:02:36 <zodbot> Current chairs: andersson007_ cyberpear cybette dmsimard felixfontein gundalow jillr samccann 18:03:30 <felixfontein> #info Contributor Summit is in two weeks! \o/ 18:03:32 <felixfontein> any other news? 18:03:53 <dmsimard> felixfontein: maybe include a link to https://hackmd.io/@ansible-community/contrib-summit-202204 18:04:04 <dmsimard> no particular updates from me 18:04:12 <briantist> o/ 18:04:59 <felixfontein> #chair dmsimard 18:04:59 <zodbot> Current chairs: andersson007_ cyberpear cybette dmsimard felixfontein gundalow jillr samccann 18:05:14 <felixfontein> #info Community Summit infos: https://hackmd.io/@ansible-community/contrib-summit-202204 18:05:17 <gundalow> #chair briantist 18:05:17 <zodbot> Current chairs: andersson007_ briantist cyberpear cybette dmsimard felixfontein gundalow jillr samccann 18:06:15 <cybette> thanks felixfontein dmsimard , I just got back to my desk and wasn't fast enough with the contrib summit info :) 18:08:08 <cyberpear> glad to see the IRC info at the bottom for those not on matrix 18:08:08 <felixfontein> so, dmsimard suggested to talk about https://github.com/ansible-community/community-topics/issues/84, and there's of course also the collection removal topic we could continue from last time 18:08:17 <felixfontein> (there's a PR for it btw: https://github.com/ansible-collections/overview/pull/201) 18:08:49 <felixfontein> cyberpear: indeed! 18:08:51 <cyberpear> definitely in favor of not pinning patch versions 18:09:25 <felixfontein> cyberpear: there's a big difference IMO between pinning (`==`) and specifying a lower version (`>=`) 18:09:39 <felixfontein> #topic Dependency of Ansible on ansible-core 18:09:44 <felixfontein> #info Discussion: https://github.com/ansible-community/community-topics/issues/84 18:10:06 <dmsimard> specifying a lower version when that version is the latest is kinda sorta pinning :p 18:10:13 <cyberpear> perhaps, rather "ratcheting" 18:10:16 <dmsimard> like >=2.12.3 but there's no 2.12.4 18:10:17 <felixfontein> #info Old decision was made in https://meetbot.fedoraproject.org/ansible-community/2020-07-01/community_working_group_meeting.2020-07-01-18.04.html, see also https://github.com/ansible-community/antsibull/issues/94 18:10:34 <felixfontein> dmsimard: it's only pinning now, until a new one comes out 18:11:20 <dmsimard> right, and I wonder to what extent it is necessary since >=2.12.0 has essentially the same effect 18:11:26 <felixfontein> we have several aspects here that are different from other package dependencies: a) correctness of the Ansible combined changelog, b) correctness of the Ansible docsite 18:11:50 <dmsimard> /me reads antsibull#94 18:11:57 <felixfontein> dmsimard: it does not, see briantist's and mine comments 18:13:32 <felixfontein> I suggest to also read the old discussion (https://meetbot.fedoraproject.org/ansible-community/2020-07-01/community_working_group_meeting.2020-07-01-18.04.log.html) 18:14:05 <andersson007_> Nice pr https://github.com/ansible-collections/overview/pull/201 felixfontein , thanks! added couple of comments, thanks for reminding 18:14:34 <dmsimard> felixfontein: to be clear, I mean that if you're doing a fresh installation with pip, whether the requirement is >=2.12.3 or >=2.12.0, you'll still end up with 2.12.3 (if that is the latest) 18:15:02 <remindbot[m]> @cybette:ansible.im cyb-clock chimes every 15 minutes during the community meeting 18:15:44 <samccann> not following it all, but at the high level - Ansible 5.5.1 needs to be the same whether I do a pip install or something else from Fedora etc. If the package has the same version on different distros, it should be the same versions for all the underlying bits and bobs (core, collections, etc) 18:15:52 <dmsimard> felixfontein: thanks for hunting back that old discussion, it predates my arrival so I need to catch up on it 18:16:14 <felixfontein> dmsimard: that's true. but if you installed Ansible 5.0.0 when it came out, and now do `pip install ansible==5.5.0`, you end up with ansible-core not being upgraded with your proposed dependency relation 18:16:54 <cyberpear> same discussion; my opinion hasn't changed since then... can't believe it's been over 1.5 years since then! https://meetbot.fedoraproject.org/ansible-community/2020-07-01/community_working_group_meeting.2020-07-01-18.04.log.html#l-50 18:17:09 <felixfontein> samccann: since we don't pin the ansible-core dependency, it's not really true either... if I do `pip install ansible=5.0.0` now after having had installed Ansible 5.0.0, ansible-core will not be downgraded 18:17:55 <felixfontein> cyberpear: indeed, in a couple of months it will be two years of the new Ansible community package :) 18:18:11 <samccann> given we've combined both the docs and the changelog, that sounds problematic felixfontein . 18:18:42 <felixfontein> samccann: it is... 18:19:27 <felixfontein> I wonder whether we should decouple Ansible and ansible-core more. if there wouldn't be the ansible.builtin collection, it would probably a good solution, but the existence of ansible.builtin complicates things a lot. 18:19:35 <samccann> it was unpopular at the time, but we can split them up. (core docs in one place, collection index/guides in another 18:20:00 <felixfontein> what will happen to the ansible.builtin docs? 18:20:13 <samccann> they would be in core. 18:20:47 <samccann> oh I see.. .so the 'collection index' docsite wouldn't include builtin unless we pulled it in specially. And again, we'd hit the same problem of potential mismatch 18:21:13 <felixfontein> yes, and the list of all plugins/modules would also skip ansible.builtin then 18:21:37 <felixfontein> that would probably be the most painful part of it, at least for me personally :) 18:21:37 <samccann> and yeah, search wouldn't find them either (site search) 18:22:01 <dmsimard> I have some homework to do to read past discussions, we can move on to another topic if you'd like :p 18:22:28 <felixfontein> in any case, there are some complicated UX related things that need to be solved first before the packages can be properly split apart :) 18:22:50 <briantist> kinda related thought I've had lately (and was probably discussed before I was so involved), but I wish all of the `ansible.builtin` stuff was actually maintained as its own collection. The collection could be `ansible.core`, and it will still be pulled into core and included as `ansible.builtin`, but it would allow updates to those modules and plugins that are faster than core's release cycle, and could be optionally 18:22:50 <briantist> called as `ansible.core.whatever`. 18:22:55 <samccann> it's hard for me to know how many users face this potential mismatch of core vs Ansible version 18:23:34 <briantist> (of course it would have to exclude things that are not true modules/plugins and work in the executor, like `include_role` and such) 18:24:14 <dmsimard> Worth noting that there's nothing preventing users from installing whatever version of ansible-core and then picking whichever versions of collections -- there's users "stuck" on ansible-core 2.11 (due to py38) and using collections from ansible 5, for example 18:24:26 <dmsimard> samccann: ^ 18:24:52 <felixfontein> dmsimard: true, but these users should not expect that the Ansible docsite gives them an accurate image of their installation :) 18:24:59 <dmsimard> yeah, fair 18:25:27 <samccann> yeah what Felix said. 18:26:14 <samccann> Depending on how often we think this sort of thing happens though, is where we decide whether it's worth trying to fix or provide a way for users to find what they have locally reflected in docs 18:26:14 <gundalow> If someone wants to raise a dedicate issue for moving `ansible.builtin` into it's own collection, then we can use that for discussion with Core Team. There maybe technical reasons why it might be difficult though. 18:27:02 <briantist> yeah, I imagine the most pushback will be around testing, since it will have to be special-cased one way or another 18:27:06 <felixfontein> I think the core team already had lots of discussions about this, and I think some of the arguments have already been documented in random places (probably mostly IRC discussions) 18:27:15 <briantist> as a user, I would really appreciate it though 18:27:43 <briantist> felixfontein: I don't doubt that :) I imagine there were many hours burned on that and that probably nobody wants to revisit it haha 18:29:45 <gundalow> yup, I'm sure there has been discussion, though if we could get something in GH, they we can point to that in the future 18:30:05 <felixfontein> yep, something referencable would be nice :) 18:30:08 <remindbot[m]> @cybette:ansible.im cyb-clock chimes every 15 minutes during the community meeting 18:30:12 <felixfontein> (maybe we already have that and forgot about it though...) 18:31:28 <andersson007_> briantist: to recall tough memories:) 18:32:26 <felixfontein> ok, should we talk about collection removal? or something else? 18:34:15 <felixfontein> (or documented ansible installation mechanisms, future of the ansible package, ...) 18:35:14 <felixfontein> we could also talk about splitting up the antsibull package 18:35:49 <gundalow> for future of the package, we've received lots of feedback via https://www.reddit.com/r/ansible/comments/tjfbqx/future_of_ansible_package/ 18:36:23 <felixfontein> ah, I tihnk we should link that from the discussion 18:36:30 <felixfontein> I wasn't aware of that reddit discussion for example 18:36:39 <dmsimard> I did link to it in one of my replies though it may be non-obvious 18:37:40 <gundalow> I can abuse my powers and edit the initial post and put it there? 18:38:02 <felixfontein> dmsimard: ah, now I see... the link title wasn't long enough ;) 18:38:25 <dmsimard> no worries, it's ok to link to it explicitly 18:39:08 <felixfontein> I wonder whether we should make it easier to create your own package with exactly the collections you want 18:39:34 <dmsimard> felixfontein: would it require more than a fork of ansible-build-data ? 18:39:40 <andersson007_> gundalow: do you mean on reddit or the issue. If it's about the issue, feel free to edit of course. 18:40:01 <gundalow> On the issue, will do, thanks andersson007_ 18:40:11 <felixfontein> the main issue with that is that we need to care more about dependencies then, right now we basically enforce by contract that all dependent collections are around - and somtimes fail, see community.kubevirt :) 18:40:12 <andersson007_> cool, thanks! 18:40:44 <felixfontein> dmsimard: not really, just start with an ansible.in file and list the collections you want to have 18:40:44 <dmsimard> felixfontein: I think that is the intent for https://github.com/ansible-community/antsibull/pull/270 though it never pan out 18:40:48 <bcoca> the ltrim dillema! 18:41:42 <felixfontein> dmsimard: that was more a kind of sanity check I think. to allow users to specify their own collections we'd probably need some more complete dependency resolution, like `ansible-galaxy collection install` does it 18:41:43 <dmsimard> (wow that issue is exactly one year old) 18:42:02 <dmsimard> s/issue/PR/ 18:42:56 <dmsimard> felixfontein: could/should we run "ansible-galaxy collection install" instead of the home made downloader, then ? 18:44:32 <felixfontein> dmsimard: last time I tried that, it was **a lot** slower (since it had to do all the dependency resolution, and galaxy's API is sloooooooooow) 18:45:01 <remindbot[m]> @cybette:ansible.im cyb-clock chimes every 15 minutes during the community meeting 18:45:54 <bcoca> felixfontein: be careful, that way lies 'resolvlib' 18:46:00 <felixfontein> also for our use-case - building Ansible - it's a huge overkill, since we basically require that no dependency resolution needs to be done if we always pick the latest versions 18:46:26 <felixfontein> bcoca: I didn't say I want to implement it, I'm only saying we'd have to implement it, where "we" can be someone else ;) 18:48:10 <bcoca> not royal We but commoner 'we' 18:48:26 <bcoca> or is it the other way around ? 18:48:35 <dmsimard> there's a saying in french about "we" typically excluding the person who speaks :p 18:48:47 <felixfontein> lol, I like that :D 18:48:53 <dmsimard> I'm running a test install on https://raw.githubusercontent.com/ansible-community/ansible-build-data/main/5/galaxy-requirements.yaml just out of curiosity 18:48:55 <briantist> hahah 18:49:03 <briantist> French has such great idioms 18:49:05 <felixfontein> so "we made a mistake" means "someone else screwed up, not me!" 18:49:19 <bcoca> we will take responsibliity 18:49:26 <felixfontein> lol 18:49:32 <briantist> "we care" 😆 18:49:38 <felixfontein> I also like the passive form, "a mistake has been made" 18:50:10 <dmsimard> I looked it up and I lied, it's more complicated than I remember (but french is also full of complicated grammar) https://vlf.clg.qc.ca/index.php/2017/01/23/le-pronom-on-exclut-il-la-personne-qui-parle/ 18:50:31 <dmsimard> meanwhile, 150s for "ansible-galaxy collection install -r galaxy-requirements.yaml" 18:50:41 <dmsimard> I would say that around half is spent doing dependency resolution 18:51:07 <bcoca> he, tha tis with simple deps ... make a complicated chain and you can be up to 90% 18:51:23 <bcoca> specially if any recursivity is involved 18:51:46 <dmsimard> in comparison, looking at the 5.5.0 build, downloading the collections took ~73s 18:51:59 <dmsimard> which seems like it just takes the dependency resolution timing out of the equation 18:53:14 <dmsimard> we kind of veered slightly off topic, should we take some time to discuss collection removal ? 18:53:37 <felixfontein> I wonder how much time of the dependency resolution is spent on fetching the required metadata from galaxy 18:54:05 <felixfontein> since we only have 6 minutes left, I don't think it makes much sense to switch to that topic now 18:54:07 <dmsimard> felixfontein: I don't know, maybe I can tell if I add a bit more verbosity in there 18:54:15 <felixfontein> let's do an open floor instead. also feel free to comment on the WIP PR :) 18:54:27 <felixfontein> #topic open floor 18:55:12 <dmsimard> --verbose doesn't seem to add much output :/ 18:55:58 <felixfontein> you probably have to add some print() statements :) 18:56:11 <andersson007_> :) 18:56:32 <dmsimard> ¯\_(ツ)_/¯ 18:57:22 <dmsimard> hmm, but this one finished in 100s instead of 150s -- I guess there's some caching involved 18:57:44 <felixfontein> yeah, ansible-galaxy does some caching 18:57:52 <felixfontein> because galaxy is so slow ;) 18:58:09 <felixfontein> ~/.ansible/galaxy_cache/ 18:59:58 <gundalow> `community.google` went from 29,433 to 30,599 Downloads over the past week 19:00:47 <felixfontein> that's a lot more than I thought 19:00:56 <felixfontein> though I wonder how many of these were CI runs in antsibull... 19:01:27 <jborean93> The cache lasts about a day as well 19:01:41 <gundalow> Can we disable that somehow (remove it from the collection list)? 19:02:22 <gundalow> I can ask the Galaxy Team if we can get any details of the downloads, not sure what we log 19:02:40 <felixfontein> there were 35 CI runs in the antsibull repo since then, each downloads it twice (since two versions of Ansible are built), so 70 downloads come from there 19:03:17 <gundalow> so 1096 other downloads 19:03:29 <felixfontein> there were 6 CI runs in ansible-build-data, so 6 downloads from there 19:04:14 <felixfontein> it looks like there were a lot more downloads this week than in a random previous week 19:04:23 <felixfontein> maybe we sparked some interest in it ;) 19:04:44 <felixfontein> anyway, time's over! 19:04:47 <felixfontein> #endmeeting