19:01:43 #startmeeting ansible core public irc meeting 19:01:43 Meeting started Tue May 26 19:01:43 2020 UTC. 19:01:43 This meeting is logged and archived in a public location. 19:01:43 The chair is bcoca. Information about MeetBot at http://wiki.debian.org/MeetBot. 19:01:43 Useful Commands: #action #agreed #halp #info #idea #link #topic. 19:01:43 The meeting name has been set to 'ansible_core_public_irc_meeting' 19:01:59 #topic https://github.com/ansible/proposals/issues/178 19:05:28 so 19:05:33 sorry, my wlan was a bit unstable 19:05:50 the proposal is about making version numbers work better with collections 19:06:24 this is both for genreated documentation (html or ansible-doc), and about deprecation version numbers displayed during runtime (feature will be removed in version x.y.z) 19:07:03 the problem is that due to shared code and doc fragments, these version numbers must not have any connection to the module (or plugin) currently being run 19:08:58 seems like a very good problem to solve to reduce confusion 19:09:11 I think so too :) 19:09:30 for version_added and deprecation of plugin options and deprecation of modules, Ansible knows where the version number belongs to 19:09:49 the problem already existed, but only affected plugins distributed via roles 19:10:00 for deprecations in code (which are all feature deprecations for modules, since argument spec is constructed by code) Ansible cannot know without a lot of 'magic' 19:10:03 true 19:10:21 but now we have collections, and code shared between collections, and between collections and ansible-base 19:10:40 like all the modules using the `files` doc fragment and the AnsibleModule constructor flag 19:11:00 worse, the ones using the fragment w/o the constructor 19:11:08 true. 19:11:15 these are probably beyond all hope though 19:11:31 my aim is to at least try to solve this in the cases where it is possible to solve it with a reasonable amount of work 19:12:20 I've tried to write this down in the proposal: automated version source tracking where possible (i.e. in doc fragments and YAML doc strings), and explicit tagging where it is not possible (i.e. in code) 19:14:09 I've also prepared a PR which implements this for ansible-base 19:14:20 https://github.com/ansible/ansible/pull/69680 19:14:42 which now needs a little update after the routing PR got merged :) 19:16:04 so.. any opinions on this? :) 19:16:35 s/ansible-base/ansible/ ... since that will also affect adjacent/roles display 19:16:44 and it wont really be 'true' 19:17:51 felix: slightly off topic but has that dep by date PR been merged yet? 19:18:10 jborean93: no, nobody has reviewed it for quite some time now 19:19:14 darn, will need to look into that quickly, do you have a link for that? 19:19:41 https://github.com/ansible/ansible/pull/68177 19:20:00 thanks 19:20:03 jborean93: could you please re-trigger CI first, I hope they still work with the routing PR merged, but who knows :) 19:20:33 sure 19:27:37 bcoca: what would you change? 19:29:23 ^ said already 19:30:12 do you mean that deprecation versions in version_added and doc fragments in library/ will be treated as being part of ansible-base? 19:31:18 otherwise I'm not sure what you mean 19:33:48 basically, also roles 19:34:07 why more generic 'ansible' might be better in that state 19:34:37 where are role versions shown in ansible? 19:34:58 they aren't .. been proposing those for years ... 19:36:34 In general, I like this approach. I would maybe nitpick over `ansible.builtin` in favor of `anisble-base` or just `ansible` for deprecations that relate to core code and modules included with `ansible-base`. 19:37:29 The error message may read a bit better if it is "deprecated in ansible:2.11". 19:37:52 I'm still wading back into this after being gone for a few months... 19:38:24 Role versions are displayed by `ansible-galaxy role list` but only if there is a `/meta/.galaxy_install_info` file that contains the version information. 19:38:37 It's not nearly as defined/enforced as collection version information. 19:38:39 sdoran: I've been pondering about that as well :) I finally decided for ansible.builtin since it is also a collection name 19:39:11 currently the error message will be `will be removed in Ansible-base 2.11` 19:39:34 Ok. 19:39:47 see https://github.com/ansible/ansible/pull/69680/files#diff-b433171851ee6e9ab6c4f98f233678b5L260 19:40:20 it's only in ansible-doc right now that the short notation is used (`version_added: ansible.builtin:2.10`) 19:40:43 Ok. I've been looking through that PR and there's a lot going on. :) 19:40:50 there definitely is! 19:41:53 I have to adjust one (hopefully) part (in cli/doc.py) so that it works with the routing PR 19:42:32 i just started writing that part for listing 19:42:37 also , routing was renamed 19:42:44 ansible_builtin_runtime .... 19:42:55 I suppose I am mostly in favor of this approach. 19:43:24 But I haven't been deep in the weeds of collections like others, so I wouldn't put a ton of weight of my vote at this point. 19:43:43 bcoca: true, but the PR was called 'routing PR' by most people :) 19:43:56 in collections its meta/runtime.yml now 19:45:19 also it was called tombstoning by most people for months before that, but .. moving on 19:45:23 true :) 19:50:30 does nobody else have an opinion on the proposal (or PR)? 19:50:55 they probalby wont till after it is merged ... 19:53:32 the main change for collection authors this PR adds is that deprecation versions have to be adjusted. though most of them (at least in community.general and community.network) have to be adjusted anyway 20:03:43 so... 20:04:03 IMO the change for deprecation versions only really makes sense if it is merged before the freeze 20:04:09 is there any chance for this? 20:04:14 idk 20:04:42 I think it would really make 2.10 more complete if version references would make more sense 20:06:12 felixfontein: I'd agree on both counts 20:10:01 k, we are already over time, so going to close this now, but think more people should really read up and get a vote on it 20:10:04 #endmeeting