ansible_community_meeting
LOGS
18:02:15 <dmsimard> #startmeeting Ansible Community Meeting
18:02:15 <zodbot> Meeting started Wed Nov 24 18:02:15 2021 UTC.
18:02:15 <zodbot> This meeting is logged and archived in a public location.
18:02:15 <zodbot> The chair is dmsimard. Information about MeetBot at https://fedoraproject.org/wiki/Zodbot#Meeting_Functions.
18:02:15 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic.
18:02:15 <zodbot> The meeting name has been set to 'ansible_community_meeting'
18:02:19 <andersson007_> o/
18:02:29 <dmsimard> #chair tadeboro andersson007_ felixfontein gundalow
18:02:29 <zodbot> Current chairs: andersson007_ dmsimard felixfontein gundalow tadeboro
18:02:38 <cyberpear> o/
18:02:49 <dmsimard> #topic Agenda https://github.com/ansible/community/issues/539
18:02:50 <cybette> o/
18:02:59 <acozine> o/
18:03:11 <dmsimard> #chair cybette acozine
18:03:11 <zodbot> Current chairs: acozine andersson007_ cybette dmsimard felixfontein gundalow tadeboro
18:03:22 <dmsimard> #chair cyberpear
18:03:22 <zodbot> Current chairs: acozine andersson007_ cyberpear cybette dmsimard felixfontein gundalow tadeboro
18:04:19 <dmsimard> briantist jillr jtanner lmodemal misc zbr: ping FYI :)
18:05:15 <acozine> Jill is out all week
18:06:07 <misc> mhh ?
18:06:07 <dmsimard> ack, with thanksgiving and holidays coming up we might have lower attendance but let's move forward with updates
18:06:21 <dmsimard> #topic Updates
18:06:50 <dmsimard> misc: you're in a list of people to ping for community meetings, feel free to hang out and chat :)
18:06:53 * gundalow waves
18:07:25 <felixfontein> oops, sorry :)
18:07:28 <felixfontein> o/
18:07:39 <felixfontein> I'm still busy with dinner and completely forgot the time...
18:07:45 <dmsimard> #info Ansible 5.0.0rc1 is available for testing: https://groups.google.com/g/ansible-announce/c/Y-RcyHoaY6k
18:09:16 <dmsimard> #info Link to the last bullhorn edition with the great new format: https://mailchi.mp/redhat/the-bullhorn-38
18:09:18 <felixfontein> so if there's no blocker, we'll have 5.0.0 final next week :)
18:09:41 <dmsimard> felixfontein: yes, I do want to discuss that in a topic today
18:10:14 <felixfontein> should we start with that?
18:10:39 <andersson007_> sounds like a right time
18:10:45 <cybette> +1
18:10:46 <felixfontein> #topic Ansible 5.0.0 release
18:10:47 <dmsimard> sure thing
18:11:08 <felixfontein> I guess the main question is: does anyone see a blocker?
18:11:17 <felixfontein> (resp. potential blocker)
18:12:07 <dmsimard> I have a potential blocker that I have explained here: https://github.com/ansible-community/community-topics/issues/29#issuecomment-977915982
18:13:17 <dmsimard> In summary, even without considering ~20k integration/unit test files that I would rather not ship, there are a lot of "junk" files that wind up in collection release tarballs (think .github directories or .gitignore files, .swp VI temporary files, etc.) and I would very much like to spin a 5.0.0rc2 with these files removed
18:13:25 <felixfontein> I think it's too late in the process for looking at that to make it a blocker
18:13:26 <andersson007_> all that stuff should be kicked out, imo
18:13:48 <felixfontein> we should either have looked at it for latest a beta, or for another release
18:14:02 <tadeboro> dmsimard: Last time I checked the status of the "let us put the Ansible package on a diet", we were stuck waiting on legal. And I would not consder this a blocker.
18:14:39 <gundalow> Removing files feels like a major change. Too big for an RC
18:15:00 <remindbot[m]> @cybette:ansible.im cyb-clock chimes every 15 minutes during the community meeting
18:17:12 <felixfontein> I'm not even sure whether it's a good idea to have such a major change in a later minor release (at least not without some prereleases)
18:17:22 <felixfontein> but we should definitely try to get something implemented for the next major release
18:17:25 <dmsimard> felixfontein, tadeboro: we've indeed long known that the situation was awful (to the point of once shipping an entire venv to the pypi package) and I'd rather not keep punting this away forever. As the person doing the releases nowadays, I feel accountable for what we ship and I am not satisfied with the quality of what we would end up shipping.
18:17:31 <cybette> while I'm +1 for removing the files, I also see trying to do it as an RC to be bad timing right before the release. beta would have been better
18:17:45 <felixfontein> (in that version, c.g and c.n will also lose their symlinks, which get duplicated by the tarball building)
18:17:50 <gundalow> Also, thinking a bit more about that, I widener if it should be done "at source", ie gitignore (I believe we have a good list on collection_template)
18:18:45 <dmsimard> gundalow: that was the idea behind https://github.com/ansible-collections/community.general/pull/3517 but the problem is that it's opt-out (ignore) vs opt-in, so unless you write every possible eventuality in the ignore list, you can still end up with junk
18:18:46 <github-linkbot> https://github.com/ansible-collections/community.general/pull/3517 | open, created 2021-10-05T20:56:25Z by dmsimard: galaxy.yml: exclude non-collection files from collection build [bug,stale_ci,has_issue,WIP] 
18:19:01 <felixfontein> I cannot say that I understand much of the legal situation; but I *think* it would be no problem if the ansible tarball on pypi still contains everything, but the wheel the user installs does not
18:19:18 <felixfontein> (even better: we publish wheels so that pip doesn't need to download the tarball)
18:21:11 <felixfontein> also ansible-core 2.13 will have wheels, as far as I understand it, so I guess we can also make sure that Ansible 6 has wheels published (and remove the current compatibility code which tries to avoid broken installs due to Ansible 2.9 / ansible-base 2.10 being present)
18:21:24 <felixfontein> (which right now is the only reason we cannot ship wheels)
18:22:35 <gundalow> A related annoyance I have, is that some collections are build locally, rather than on `git tag`, so you end up with whatever junk is on the person's laptop, rather than whats in the repo
18:23:19 <felixfontein> that's very annoying indeed; we should maybe start pointing this out to the people who do that
18:23:20 <dmsimard> gundalow: exactly -- and even if we do end up building straight from git, there's no guarantee that there won't be junk anyway
18:23:30 <andersson007_> which is getting especially relevant as we include more and more 3d party collection
18:23:37 <tadeboro> Relying on collection maintainers to keep their collecions slim isnot the most robust approach here since in the end, we have no control over what gets published on galaxy.
18:23:39 <andersson007_> collections
18:23:40 <felixfontein> I mean, building locally is fine, *but* you need to make sure to not include such files. which isn't too hard, but people have to think about it
18:24:45 <andersson007_> i don't remember if we have a requirement in the collection requirements
18:24:52 <andersson007_> corresponding one
18:24:58 <felixfontein> we probably have to do both things: 1) make sure collections don't include crap in their build process, 2) make sure our wheels don't contain unnecessary things (like tests and .gitignore files, maybe even remove docs?)
18:25:25 <tadeboro> Requirements are nice, but enforcing them on each release fr n different collections is not trivial.
18:25:48 <andersson007_> true
18:25:55 <felixfontein> enforcing it on release is also too late
18:26:01 <felixfontein> (for them to change it)
18:27:19 <tadeboro> By releases I meant releases of individual collections, not the ansible package.
18:27:39 <felixfontein> ah ok
18:28:08 <tadeboro> When we create the ansible package, the only thing we can do is filter out the crap and inform maintainers that they should change their way of building releases.
18:28:38 <dmsimard> tadeboro: we can most definitely log the files that "didn't make it" and let upstream know about it
18:29:18 <andersson007_> it shows a big issue - people don't review what they push
18:29:39 <andersson007_> no one
18:29:41 <felixfontein> I don't think we can remove files from the tarball, though, since that's our source. we can only remove things from the wheel. at least as long as legal isn't answering.
18:30:01 <remindbot[m]> @cybette:ansible.im cyb-clock chimes every 15 minutes during the community meeting
18:30:32 <dmsimard> It's a frustrating topic for me :)
18:30:43 <felixfontein> it's frustrating for everyone I think
18:31:09 <felixfontein> I can try looking into wheel building and stuff if nobody else wants to do that
18:31:17 <dmsimard> If we don't block on this, I want to make it a priority
18:31:20 <felixfontein> (I have zero experience with it, but I guess it's a nice thing to learn ;) )
18:31:30 <gundalow> Question: Are the collection packages and `ansible` package for users or contributors?
18:31:48 <dmsimard> felixfontein: I am also not familiar with wheel specifics
18:31:54 <felixfontein> gundalow: which collection package do you mean?
18:32:00 <felixfontein> +s
18:32:15 <felixfontein> the ansible package is mostly used by users, I *think*
18:32:31 <dmsimard> I believe he means the target audience for the galaxy tarballs (as in: they contain everything including tests vs just modules)
18:32:40 <gundalow> Yup,
18:33:11 <felixfontein> for galaxy, I guess both, though more for users
18:33:41 <andersson007_> definitely used not by me:) never fixed things in collection tarballs:)
18:33:41 <felixfontein> I'm not sure whether we can optimize the galaxy tarballs for users though (by leaving away tests), for legal reasons
18:35:01 <dmsimard> So let me put it bluntly -- I am willing to compromise on the tests (even if they make up over half the package) but are we seriously saying we are legally bound to ship .github, .gitignore and .swp files to PyPI ?
18:35:38 <felixfontein> I don't know.
18:35:45 <felixfontein> as long as we cannot get legal to comment on it, we don't know.
18:38:24 <dmsimard> like, this find from rc1 returns 1015 hits:
18:38:27 <dmsimard> find ansible_collections | grep -E ".gitignore|.github|.azure-pipelines|.swp|.orig|.DS_Store|.keep|.gitkeep|.vscode|.pytest_cache|.yamllint|.pre-commit-config.yaml|.plugin-cache.yaml|.pytest_cache|.mypy_cache|.zuul.yaml|.flake8|.circleci|.gitattributes|.ansible-lint|.travis.yml|.gitlab-ci.yml|.idea|.settings"
18:39:14 <dmsimard> output if you're curious: https://gist.github.com/dmsimard/4d53b6578f6a18f86013ffa94214af82
18:40:07 <andersson007_> if once they say that we can't remove the files we could put them back:)
18:40:17 <gundalow> I'll chase legal tomorrow
18:40:46 <andersson007_> looks awful..
18:41:12 <cybette> I think most of them are based in the US so we'll probably have to wait until next week (thanksgiving break)
18:41:39 <felixfontein> cybette: considering how long we're already waiting on an answer, even an answer in a month would be extremely quick :)
18:41:58 <cybette> felixfontein: true :P
18:43:20 <dmsimard> circling back to why I consider this a potential blocker, others have already mentioned how this could be considered a significant change (even if in practice, the ansible content remains untouched) and so it would be better to implement this for 5 than to wait for 6
18:43:28 <felixfontein> ok. regarding the topic on blockers for 5.0.0: it seems we don't have any. does anyone disagree?
18:44:13 <felixfontein> dmsimard: if we would want to fix this in 5, we should have started doing this at least one month ago. it's really too late for that to start with it now.
18:45:01 <remindbot[m]> @cybette:ansible.im cyb-clock chimes every 15 minutes during the community meeting
18:45:12 <dmsimard> felixfontein: it's not like I didn't try, I brought this up back in early october and attempted to escalate on the legal side as well
18:45:29 <dmsimard> I've been single handedly blocked by legal FUD
18:46:01 <cybette> :(
18:46:05 <dmsimard> I am willing to reluctantly side with the majority here but I'm not happy about it
18:46:13 <dmsimard> so let that be on the record :p
18:46:16 <felixfontein> dmsimard: I didn't see anyone working on solutions which don't require legal, like making the wheels not contain that stuff
18:47:00 <jtanner> why does the removal of files involve legal?
18:47:02 <felixfontein> while it's not a perfect fix, it would already improve the situation a lot
18:47:06 <shertel> dmsimard: It seems like some in the list are false positives, like `ansible_collections/cisco/ise/plugins/modules/aci_settings.py`
18:47:28 <dmsimard> felixfontein: right, it's the one approach that I did not yet consider -- the other two attempts being cleaning up the collection build ignore list upstream and cleaning up the tarball before uploading the package
18:47:34 <felixfontein> shertel: there are quite a few, like all the github modules in community.general. but the large majority is still superfluous :)
18:47:43 * shertel nods
18:47:56 <dmsimard> jtanner: something along the lines of GPL liability about providing source
18:48:10 <andersson007_> if someone puts a blue ray image in a collection, would we ship it?
18:48:38 <andersson007_> (i.e. wait for legal response)
18:48:53 <felixfontein> andersson007_: galaxy won't accept it, they have a size limit
18:49:16 <andersson007_> felixfontein: sad
18:49:16 <felixfontein> also we can still use an older verion of a collection if a newer version contains something too extreme
18:49:23 <dmsimard> shertel: good catch, I'm not sure why that wound up there
18:49:26 <felixfontein> but we can't just remove it on our side
18:49:43 <felixfontein> dmsimard: because . matches everything
18:49:56 <dmsimard> felixfontein: probably something like that
18:51:10 <dmsimard> FWIW I did discuss this briefly with core to determine if there was a potential improvement to the ansible-galaxy CLI but it seems we're largely stuck with historic decisions regarding what can and can't be in an ansible collection tarball
18:52:05 <felixfontein> since time is running out: do we need a formal vote on GO / NO GO or 5.0.0?
18:52:38 <dmsimard> barring any other issues that could come up, that was my only concern out of rc1
18:52:53 <felixfontein> resp. do we already want to decide it today, or, say, Thursday or Friday?
18:54:20 <cybette> do we have enough presence from the steering committee to vote?
18:54:39 <felixfontein> #chair
18:54:39 <zodbot> Current chairs: acozine andersson007_ cyberpear cybette dmsimard felixfontein gundalow tadeboro
18:54:45 <felixfontein> doesn't look like :)
18:54:50 <cybette> yeah..
18:55:08 <felixfontein> or well, actually if everyone is +1, there are enough
18:55:08 * cyberpear still here
18:55:33 <felixfontein> cyberpear: cool :)
18:55:56 <tadeboro> Do we even need to vote on 5.0.0? Since there does not seem to be any blockers, I think we are goo.
18:56:03 <tadeboro> s/goo/good/
18:56:12 <felixfontein> how about making it the other way around: we're GO until we decide we're not - in case someone brings up a blocker until say Friday, we can vote on it asynchronously in the issues repo
18:56:24 <cybette> +1
18:56:29 <felixfontein> what tadeboro said :)
18:56:54 <acozine> I'd be in favor of dmsimard's cleanup proposal. The longer we let it go on, the worse it will get. But I'm fine with releasing 5.0.0.
18:57:07 <acozine> so, not a blocker, but still a problem
18:57:39 <tadeboro> I also agree that the bloated package is a problem, but it is a bit late to change it for 5.0.0
18:57:46 <acozine> I have a hard stop at the top of the hour
18:57:49 <andersson007_> `Do we even need to vote on 5.0.0?` sounds like a good idea
18:57:52 <felixfontein> we could discuss next week whether we want to try to fix it in a minor release, or wait for 6.0.0 (and its alphas/betas)
18:58:07 <felixfontein> andersson007_: do you mean that we should vote, or not vote?
18:58:15 <andersson007_> not to vote
18:58:19 <felixfontein> :+1:
18:58:28 <acozine> +1 for not voting ;)
18:58:32 <felixfontein> I think we agree then, or at least the ones woho said something :)
18:58:43 <acozine> folks in the US - have a happy Thanksgiving holiday
18:58:44 <cybette> hehe yep
18:58:51 <acozine> folks outside the US, see you next week!
18:58:55 * acozine waves
18:59:01 <felixfontein> #info Right now, there seem to be no Ansible 5.0.0 blockers, and if none show up in time 5.0.0 will get released.
18:59:02 <cybette> thanks acozine , happy thanksgiving!
18:59:06 <felixfontein> bye acozine!
18:59:10 <acozine> #unchair acozine
18:59:10 <zodbot> Current chairs: andersson007_ cyberpear cybette dmsimard felixfontein gundalow tadeboro
18:59:22 <felixfontein> happy thanksgiving to everyone living in the US or also celebrating it this week
18:59:37 <felixfontein> #topic open floor
18:59:42 <felixfontein> does anyone have something for open floor? :)
18:59:48 <felixfontein> otherwise I'll close in a minute or so
19:01:32 <dmsimard> felixfontein: and indeed, those dots need backslashed in the grep pattern
19:01:44 <dmsimard> (that was the mistake)
19:02:04 <felixfontein> #endmeeting