ansible_core_public_irc_meeting_https:github.comansiblecommunityissues528
LOGS
19:01:11 <jillr> #startmeeting Ansible Core Public IRC Meeting https://github.com/ansible/community/issues/528
19:01:11 <zodbot> Meeting started Tue Mar 17 19:01:11 2020 UTC.
19:01:11 <zodbot> This meeting is logged and archived in a public location.
19:01:11 <zodbot> The chair is jillr. Information about MeetBot at http://wiki.debian.org/MeetBot.
19:01:11 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic.
19:01:11 <zodbot> The meeting name has been set to 'ansible_core_public_irc_meeting_https://github.com/ansible/community/issues/528'
19:01:59 * cyberpear waves
19:02:04 * felixfontein also waves
19:02:05 <jillr> not sure if @giner is here this week?
19:02:08 <jillr> hey folks  o/
19:03:22 <jillr> I'll ping @giner in github and see if we can find out what their irc nick is
19:03:54 <jillr> cyberpear: you still looking for reviews on https://github.com/ansible/ansible/pull/65381 ?
19:04:15 <cyberpear> yes
19:04:20 <jillr> #topic https://github.com/ansible/ansible/pull/65381
19:04:44 <cyberpear> or just "get it merged" so folks can run ansible on Windows, though I understand devel is still frozen
19:05:13 <felixfontein> it's still missing a changelog fragment
19:05:36 <cyberpear> I'll ask them to add it
19:05:45 <cyberpear> (sorry, not actually my PR, just one I'd like to see progress.)
19:06:01 <jillr> jborean93: would you be able to add https://github.com/ansible/ansible/pull/65381 to your queue? relates to packaging for windows
19:06:17 <jillr> very unlikely he's online at this hour, but hopefully that can get some eyes on it
19:06:34 <jillr> thanks cyberpear
19:06:55 <jillr> #topic https://github.com/ansible/ansible/pull/66650
19:07:21 <jillr> bcoca: you wanted to make a decision on TRANSFORM_INVALID_GROUP_CHARS ?
19:07:37 <cyberpear> -1\
19:07:46 * jillr reading pr
19:08:02 <jborean93> jillr: there's not much I can do there, there's a whole bunch of other reasons why installing != using
19:08:31 <cyberpear> I've seen zero community members in support of #topic
19:08:33 <jillr> jborean93: ack, can you suggest who would be the right reviewer?
19:08:34 <jborean93> doesn't hurt to have but the decision is probably up to whoever is maintain it
19:08:44 <cyberpear> my understanding was that it come down from on high at RH support
19:08:46 <jborean93> whoever is in charge of releases
19:09:05 <jillr> kk
19:09:12 <felixfontein> I added a review
19:09:29 <cyberpear> there's a really long thread w/ folks decrying the TRANSFORM_INVALID_GROUP_CHARS if anyone really wants to see all the opposition
19:09:46 <felixfontein> oh, already next PR
19:10:04 <felixfontein> many people like having - in group names, in particular
19:10:06 <cyberpear> (not my topic, but I do have strong feelings on it)
19:10:11 <cyberpear> also dots
19:10:15 <jillr> thanks felixfontein, apologies I didnt think there were any other cores around so moved ahead
19:10:47 <felixfontein> jillr: no problem, Windows also isn't anything I'm using, and I got carried away a bit when researching os.path
19:11:13 <felixfontein> cyberpear: hmm, I never used dots in groups, but I guess people also want to use that (like use domain name with TLD as a group)
19:11:34 <cyberpear> exactly: TLD stg.example.com, dev.example.com, etc
19:12:00 <jborean93> my personal belief is if someone wants to shoot themselves in the foot just let them but I have no sway on this decision
19:12:17 <felixfontein> I don't mind re-allowing them (even though I already removed all uses of "-" in our group names)
19:13:18 <felixfontein> I don't know how many support requests arrived because people tried to do stuff like `groups.my-group` in a template
19:13:54 <felixfontein> I think that was the main (or even only?) motivation to disallow everything that makes a group name not a Python identifier
19:14:25 <felixfontein> I have seen a lot more people complain about this change than support requests because people did things wrong. but I'm also biased :)
19:14:38 <jborean93> yea a big drive was doing just that wouldn't work and you had to do `{{ groups['my-group'] }}`
19:15:22 <felixfontein> jborean93: do you know how often people had problems because of that?
19:15:37 <cyberpear> I mean, why not forbid it in inventory_hostname because `hostvars.my-host` is bad, too?
19:15:40 <sivel> I've got to say, that brining this topic up all the time isn't a good use of time
19:15:52 <cyberpear> bcoca nominated it
19:16:07 <felixfontein> I think the aim was to solve this once and for all (like, again :) )
19:16:29 <cyberpear> since bcoca is not here, move on to next topic?
19:16:34 <sivel> honestly, I don't think this is going to be the right forum to make a decision on this
19:16:45 <jillr> +2 moving on
19:16:47 <cyberpear> sivel: what's the correct forum?
19:16:55 <felixfontein> sivel: what is the right forum for making that decision?
19:17:02 <cyberpear> "declaration from Red Hat On High"?
19:17:15 <sivel> I'm going to abstain on that, but this project is not a democracy
19:17:16 <cyberpear> -1 to "declaration from Red Hat On High"
19:17:24 <sivel> too many cooks in the kitchen distract
19:17:45 <sivel> We know the arguments at this point
19:17:59 <sivel> anywho, next topic
19:18:02 <felixfontein> I'm happy with any decision as long as the option stays and people can enable both settings without deprecation warnings
19:18:08 <jillr> #topic https://github.com/ansible/ansible/pull/68177
19:18:26 <felixfontein> this is about deprecation in collections, mainly
19:18:38 <cyberpear> on the "deprecate by date" idea, my only concern is that users not see a different deprecation warning from the same code based on thedate
19:18:51 <cyberpear> so maybe "deprecated by date of release"
19:19:02 <felixfontein> it allows modules to declare that an option or alias is deprecated and will be removed at a date, as opposed to at a version (which is confusing if it's unclear *which* version)
19:19:38 <felixfontein> (*which* version => version of *what*)
19:19:38 <sivel> I'm in favor of this, I see no issues with it.  I think we're going to just need more eyes on it, which I understand is the goal here, but were are of short on participation due to other things that are going on
19:19:57 <cyberpear> so maybe, it should say something like "this module will be removed in any releases of this collection made after date 2020-03-16"
19:20:13 <felixfontein> cyberpear: I don't mind changing messages or something, my main purpose is that this should get implemented not too far in the future :)
19:20:25 <sivel> It should attempt to stay consistent with what is in https://github.com/ansible/ansible/pull/67684
19:20:41 <felixfontein> also, I'd vote for backporting a change like this to stable-2.9, to allow collections to start using this form *now* instead of having to wait until Ansible 2.10 is out and everyone uses it
19:20:50 <sivel> so don't run down the path on one, without making sure the other is in sync
19:21:19 <sivel> https://github.com/ansible/ansible/pull/67684/files#diff-cb51550dcfdbd27a3f224be2de15e2e8R137
19:21:23 <felixfontein> (I really need to look at that PR in more detail, I didn't really have time yet)
19:22:37 <felixfontein> that link doesn't probably work because GitHub folds the changes in loader.py away
19:22:50 <felixfontein> (i.e. unfold that to see where it really points to)
19:23:15 <cyberpear> felixfontein: yeah, I missed that... looks fine
19:24:23 <felixfontein> does anyone mind making sure that dates are in ISO format (i.e. YYYY-MM-DD)?
19:25:03 <jillr> extremely +1 ISO format please
19:25:28 <felixfontein> I don't want to end up where a zoo of different date formats is used everywhere
19:26:08 <jillr> I'd alternatively accept discordian dates, but only those 2 options  ;)
19:26:09 <sivel> felixfontein: I'd recommend talking with nitzmahone about that as well.  We discussed it, and had originally decided to 1) not validate it, 2) not parse it
19:26:27 <sivel> leaving it effectively as free form
19:26:44 <felixfontein> hmm, do you remember *why* you decided for that?
19:26:45 <nitzmahone> My samples and tests were definitely ISO format though :)
19:27:03 <jborean93> ISO all the way
19:27:03 <sivel> I could be convinced on validation that it meets a format, but maybe not that it adheres to a future date
19:27:09 <tremble> If you don't pick a format there will be confusion.
19:27:16 <felixfontein> enforcing ISO makes sure that this can easily be parsed by callback plugins and represented in whatever format people want
19:27:25 <nitzmahone> I'm not opposed to validating that, because I'm hoping we can use those to drive "it's time to remove X" decisions during release planning as well
19:27:48 <nitzmahone> But I'd also rather not be validating at runtime
19:28:04 <tremble> nitzmahone, Sanity test check?
19:28:20 <felixfontein> the problem is that right now, validation of deprecation versions and dates is completely disabled
19:28:35 <felixfontein> that's the next topic on the agenda (https://github.com/ansible/ansible/pull/66920) ;)
19:28:36 <nitzmahone> +1 to that, I assume we'll want that anyway, but it has to get finalized first :)
19:28:47 <jillr> So, generally this is a good idea but it needs reviews, please keep 67684 (tombstoning) in mind, maybe talk to nitz about date formats/validation, and please backport once accepted.
19:29:04 <felixfontein> sounds good :)
19:29:14 <felixfontein> does this need another discussion for backporting?
19:29:37 <jillr> I imagine that can happen in the backport PR?
19:30:34 <felixfontein> I mainly mean, do we want such a feature (even if it is different from this implementation) to be backported?
19:31:41 <sivel> felixfontein: I think only ansible-deprecated-version is disabled, both ansible-deprecated-no-version and ansible-invalid-deprecated-version are enabled
19:31:59 <sivel> so I think we can validate it via CI/sanity
19:32:28 <felixfontein> sivel: ah, true
19:33:13 <felixfontein> sivel: so I guess the question of the next agenda item is whether to validate the removal version resp. date
19:33:54 <jillr> #topic https://github.com/ansible/ansible/pull/66920
19:34:00 <sivel> felixfontein: it could be added, but disabled like it is. Otherwise it would start failing without someone taking explicit action
19:34:49 <felixfontein> but if it is disabled, essentially nobody will enable it, and a lot of people will not notice that stuff should be removed (or have been removed some time ago)
19:35:04 <sivel> felixfontein: yeah, I suppose it could be a per collection decision
19:35:42 <tremble> It really needs to be a non-voting failure.  It's run, it's visible, but it shouldn't block unrelated changes.
19:36:01 <felixfontein> tremble: yes, that would be great
19:37:08 <felixfontein> is there a mechanism in ansible-test to have failures which don't break everything?
19:37:14 <felixfontein> s/break/block/
19:39:09 <sivel> no
19:39:46 <sivel> not that I know of. It was talked about for the mccabe testing, but I don't think such a feature exists
19:41:30 <felixfontein> it would be nice to have that eventually
19:42:09 <jillr> sivel: that's a shippable limitation, not anisble-test, right?
19:42:21 <sivel> jillr: unknown
19:42:28 <jillr> zuul supports non-voting tests, and we have several collections there
19:42:34 <felixfontein> is there a way to disable certain tests in validate-modules?
19:42:37 <sivel> I mean ansible-test has nothing for it, whether that is a shippable limitation or not
19:42:46 <sivel> felixfontein: no, just ignores
19:43:04 <jillr> Goneri: do you know if we're currently using non-voting tests in zuul yet? or do you know anything relevant about^
19:43:11 <felixfontein> hmm, too bad
19:43:42 <felixfontein> it would be nice if it would be possible to enable (or disable) removal version checking somehow
19:44:00 <Goneri> well, we can turn non-voting any Zuul job.
19:44:43 <jillr> so if we added the tests proposed in https://github.com/ansible/ansible/pull/66920 as disabled by default, we could at least enable them for network and vmware collections
19:44:58 <jillr> would there be value in that?
19:45:43 <bcoca> not sure if we should remove those, or have a switch that skips them, there are still plugins in core that might want to keep current methods
19:47:26 <felixfontein> bcoca: you can always use ignore.txt for specific places which should be kept
19:48:30 <bcoca> unsure how that works, if you remove the test, there is no ignore to do ....
19:48:54 <bcoca> was saying 'switch' as collections would not have same reqs as core
19:49:13 <bcoca> that way we can add things to both sides and still share most of the utility/code
19:49:19 <tremble> Alternatively, have a bot that opens issues...
19:50:04 <felixfontein> bcoca: do you mean plugins for ansible-test, or ansible plugins? I'm not really sure what you meant with 'keep current methods'
19:50:06 <jillr> ok so, what's the specific thing that needs to be decided for this PR? whether it has an adequete mechanism for enable/disable?
19:50:38 <jillr> or whether CI can handle it's output sanely?
19:50:41 <felixfontein> I guess it needs a way to explicitly enable this then (without having to edit internals of ansible-test)
19:52:27 <jillr> does anyone disagree with^, or have a differing view of what needs to happen next?
19:52:47 <felixfontein> it would be really good if it is possible to run ansible-test with these tests enabled, so that ansible-base and collections can use it to find such removals when they want
19:53:16 <felixfontein> (being able to have warnings in CI would be even better, but that requires bigger changes to ansible-test itself I guess)
19:54:03 <jillr> felixfontein: do you have what you need to move forward?
19:54:11 <felixfontein> I think so, if nobody disagrees :)
19:54:19 <bcoca> ansible plugins
19:54:34 <jillr> ?
19:54:47 <bcoca> sorry, juggling 4 things, response to prev question to me
19:54:49 <jillr> oh sorry, I missed you were replying to felix's question above
19:54:53 <jillr> no worries
19:55:17 * bcoca now konws what happens when he even gives a hint of having extra bandwith
19:55:22 <felixfontein> :D
19:55:28 <felixfontein> you only found that out now?
19:55:34 <jillr> I think that's everything then - thanks folks!
19:55:41 <jillr> #endmeeting